第1章 EDA概述 1
1.1 EDA技术及其发展 1
1.1.1 EDA技术的发展历程 1
1.1.2 EDA技术的主要内容 3
1.1.3 EDA技术的发展趋势 3
1.2 硬件描述语言 4
1.2.1 硬件描述语言的起源 5
1.2.2 HDL语言的特征 6
1.3 EDA技术的层次化设计方法与流程 7
1.3.1 EDA技术的层次化设计方法 7
1.3.2 EDA技术的设计流程 9
1.4 EDA工具软件简介 13
1.4.1 MAX+plus Ⅱ 13
1.4.2 Quartus Ⅱ 14
1.4.3 其他仿真软件 15
1.5 IP核 16
1.6 互联网上的EDA资源 18
第2章 可编程逻辑器件 20
2.1 可编程逻辑器件的发展历程及特点 20
2.1.1 可编程逻辑器件的发展历程 20
2.1.2 可编程逻辑器件的特点 21
2.2 可编程逻辑器件分类 22
2.2.1 按集成度分 22
2.2.2 按编程特性分 23
2.2.3 按结构分 24
2.3 简单PLD 24
2.3.1 PLD中阵列的表示方法 24
2.3.2 PROM 26
2.3.3 PLA器件 27
2.3.4 PAL器件 28
2.3.5 GAL器件 29
2.4 CPLD 30
2.4.1 传统CPLD的基本结构 30
2.4.2 最新CPLD的基本结构 32
2.5 FPGA 33
2.5.1 传统FPGA的基本结构 33
2.5.2 最新FPGA的基本结构 35
2.6 可编程逻辑器件的发展趋势 36
2.6.1 先进工艺 36
2.6.2 处理器内核 38
2.6.3 硬核与结构化ASIC 39
2.6.4 低成本器件 40
第3章 Quartus Ⅱ开发系统 43
3.1 Quartus Ⅱ简介 43
3.1.1 Quartus Ⅱ 9.0的特点 43
3.1.2 Quartus Ⅱ系统安装许可与技术支持 44
3.1.3 Quartus Ⅱ设计流程 45
3.2 Quartus Ⅱ 9.0设计入门 55
3.2.1 启动Quartus Ⅱ 9.0 55
3.2.2 设计输入 60
3.2.3 编译综合 66
3.2.4 仿真测试 67
3.2.5 硬件测试 71
3.3 基于原理图输入的Quartus Ⅱ设计 74
3.4 基于文本输入的Quartus Ⅱ设计 81
3.5 基于LPM可定制宏功能模块的Quartus Ⅱ设计 86
3.6 基于混合输入方式的Quartus Ⅱ设计 97
3.7 嵌入式逻辑分析仪的使用 100
3.7.1 Quartus Ⅱ的SignalTap Ⅱ原理 101
3.7.2 SignalTap Ⅱ使用流程 101
3.7.3 在设计中嵌入SignalTap Ⅱ逻辑分析仪 102
3.8 实验 109
3.8.1 实验3-1 Quartus Ⅱ原理图输入设计法 109
3.8.2 实验3-2 4-16线译码器的EDA设计 110
3.8.3 实验3-3 基于MSI芯片设计计数器 111
3.8.4 实验3-4 LPM宏功能模块使用 112
3.8.5 实验3-5 Quartus Ⅱ设计正弦信号发生器 115
第4章 VHDL设计基础 121
4.1 VHDL的基本组成 121
4.1.1 实体 122
4.1.2 构造体 125
4.1.3 程序包 129
4.1.4 库 130
4.1.5 配置 132
4.2 VHDL语言的基本要素 135
4.2.1 VHDL语言的标识符 135
4.2.2 VHDL语言的客体 136
4.2.3 VHDL语言的数据类型 138
4.2.4 VHDL语言的运算操作符 145
4.3 VHDL语言的基本语句 147
4.3.1 顺序描述语句 147
4.3.2 并行语句 156
4.4 实验 167
4.4.1 实验4-1 应用VHDL完成简单组合电路设计 167
4.4.2 实验4-2 算术加法运算电路的VHDL设计 169
4.4.3 实验4-3 应用VHDL完成简单时序电路设计 171
4.4.4 实验4-4 设计VHDL加法计数器 173
4.4.5 实验4-5 设计移位运算器 175
第5章 基于Nios Ⅱ的SOPC软硬件设计 183
5.1 Nios Ⅱ处理器系统 183
5.1.1 Nios Ⅱ嵌入式处理器简介 183
5.1.2 Nios Ⅱ处理器结构 185
5.1.3 Nios Ⅱ处理器运行模式 186
5.1.4 寄存器文件 186
5.1.5 算术逻辑单元ALU 187
5.1.6 异常和中断控制 188
5.1.7 存储器与I/O组织 189
5.2 Avalon交换结构总线 191
5.2.1 Avalon总线基本概念 191
5.2.2 Avalon总线特点 194
5.2.3 Avalon总线为外设提供的服务 194
5.2.4 Avalon总线传输模式 195
5.3 SOPC技术简介 195
5.3.1 SOPC概念 195
5.3.2 SOPC设计流程 196
5.4 基于Nios Ⅱ的SOPC开发实例 205
5.4.1 硬件部分 205
5.4.2 软件部分 213
5.5 实验 219
5.5.1 实验5-1 LCD显示实验 219
5.5.2 实验5-2 按键控制数码管递增实验 223
5.5.3 实验5-3 自定义PWM组件实验 226
第6章 EDA技术的应用 246
6.1 组合逻辑电路的设计应用 246
6.1.1 编码器设计 246
6.1.2 译码器的设计 248
6.1.3 多路选择器的设计 251
6.1.4 加法器设计 253
6.1.5 数值比较器 258
6.1.6 算术逻辑运算器 259
6.2 时序逻辑电路的设计应用 262
6.2.1 触发器 262
6.2.2 锁存器和寄存器 266
6.2.3 计数器 271
6.3 状态机的设计 279
6.3.1 有限状态机的VHDL建模 280
6.3.2 Moore状态机VHDL设计 285
6.3.3 Mealy状态机VHDL设计 287
6.4 存储器的设计 288
6.4.1 ROM的设计 289
6.4.2 RAM的设计 290
6.4.3 FIFO的设计 291
6.5 EDA综合设计 293
6.5.1 简易数字钟的设计 293
6.5.2 出租车自动计费器EDA设计 297
6.5.3 数字密码锁EDA设计 304
附录1 DE2-70实验板引脚配置信息 316
附录1-1 时钟信号引脚配置信息 316
附录1-2 拨动开关引脚配置信息(上位高电平,下位低电平) 316
附录1-3 按钮开关引脚配置(弹跳开关,可作手动时钟,按下为低电平) 316
附录1-4 LED引脚配置(LEDR为红色,LEDG为绿色) 317
附录1-5 7段共阳极数码管引脚配置 317
附录1-6 LCD模块引脚配置 319
附录1-7 ADV7123引脚配置信息 319
附录1-8 音频编解码芯片引脚配置 320
附录1-9 RS-232引脚配置 320
附录1-10 PS/2引脚配置 321
附录1-11 以太网芯片引脚配置 321
附录1-12 TV解码芯片引脚配置 321
附录1-13 I2C bus引脚配置 322
附录1-14 红外线接收器IR引脚配置 322
附录1-15 USB(ISP1362)引脚配置 322
附录1-16 SRAM引脚配置 323
附录1-17 DRAM引脚配置 325
附录1-18 Flash引脚配置 327
附录1-19 SD卡插槽引脚配置 328
附录1-20 GPIO引脚配置信息 328
附录2 GW48EDA系统使用说明 330
参考文献 334