第1章 逻辑器件简介 1
1.1逻辑器件概述 1
1.1.1固定逻辑芯片 1
1.1.2简单PLD器件 2
1.1.3 CPLD器件 5
1.1.4 FPGA器件 5
1.1.5专用集成电路 9
1.2 Cyclone Ⅱ系列FPGA 10
1.2.1概述 10
1.2.2逻辑单元 12
1.2.3片内存储器 12
1.2.4片内乘法器 16
1.2.5输入输出模块 17
1.3 DE-70开发平台 19
1.3.1外观和组件 19
1.3.2 USB-Blaster的驱动安装 22
1.3.3 DE2-70开发板的使用 25
第2章 EDA技术基础知识 27
2.1数字逻辑系统设计过程 27
2.2 Quartus Ⅱ使用入门 29
2.2.1问题分析和设计 29
2.2.2利用Quartus Ⅱ完成电路仿真 31
2.2.3尝试自己设计一个实验 56
2.3 Verilog HDL语言简介 56
2.3.1 Verilog HDL语言程序的结构 56
2.3.2逻辑系统、变量和常量 58
2.3.3操作符和表达式 60
2.3.4电路设计的三种不同形式 61
第3章 组合逻辑电路设计 64
3.1选择器实验 64
3.1.1二选一多路选择器 64
3.1.2四选一多路选择器 65
3.1.3实现一个多路选择器 66
3.1.4实验内容 73
3.2译码器的设计 78
3.2.1 2-4译码器 78
3.2.2 3-8译码器 81
3.2.3实验内容 85
3.3编码器的设计 88
3.3.1 4-2编码器 88
3.3.2实验内容 92
3.4三态缓冲器和多路复用器 93
3.4.1一位三态缓冲器 94
3.4.2实验内容 94
3.5简单加法器和乘法器 96
3.5.1 1位加法器 96
3.5.2实现一个8位加法器 97
3.5.3实验内容 104
第4章 时序逻辑电路设计 106
4.1触发器和锁存器实验 106
4.1.1 RS锁存器 106
4.1.2时钟触发的RS锁存器 107
4.1.3 D锁存器 107
4.1.4时钟边沿触发的D触发器 108
4.1.5触发器设计中的非阻塞赋值语句 109
4.1.6实验内容 111
4.2寄存器实验 111
4.2.1寄存器 112
4.2.2移位寄存器 113
4.2.3实验内容 113
4.3计数器实验 115
4.3.1加法计数器 115
4.3.2减法计数器 115
4.3.3实验内容 116
4.4定时器 118
4.4.1开发板上的时钟信号 118
4.4.2实验内容 118
4.5存储器实验 119
4.5.1 DE2-70实验平台上的M4K 119
4.5.2单时钟简单双口RAM 119
4.5.3实验内容 122
第5章 状态机和简单数字系统设计 124
5.1状态机实验 124
5.1.1有限状态机 124
5.1.2简单状态机FSM 125
5.1.3状态机的编码方式 129
5.1.4实验内容 129
5.2雷鸟车尾灯控制器 130
5.2.1实验目的 130
5.2.2实验内容 130
5.2.3问题分析 130
5.3交通控制灯实验 132
5.3.1实验目的 132
5.3.2实验内容 132
第6章 简单接口控制器设计 133
6.1 PS/2接口原理及实现 133
6.1.1 PS/2接口简介 133
6.1.2 PS/2接口与FPGA的连接 135
6.1.3 PS/2键盘控制器的设计 136
6.2 LCD接口原理及实现 138
6.2.1 LCD简介 138
6.2.2 LCD与FPGA的连接 139
6.2.3 LCD的控制器HD44780 141
6.2.4 LCD显示控制器的设计 147
6.3 VGA接口原理及实现 154
6.3.1 VGA简介 154
6.3.2 VGA和FPGA的连接 155
6.3.3 VGA显示控制器的设计 157
附录 竞争、冒险和毛刺 160
附.1竞争、冒险和毛刺现象 160
附.2毛刺的消除方法 161
附.2.1利用冗余项法 161
附.2.2吸收法 162
附.2.3锁存法 162
附.2.4信号延时法 163
参考文献 164