【目录】
第1章 EDA技术概述 001
1.1 EDA技术及其发展 002
1.2 Top-down设计与IP核复用 004
1.2.1 Top-down设计 004
1.2.2 Bottom-up设计 005
1.2.3 IP复用技术与SoC 005
1.3 数字设计的流程 006
1.3.1 设计输入 007
1.3.2 综合 007
1.3.3 布局布线 008
1.3.4 仿真 008
1.3.5 编程配置 009
1.4 常用的EDA工具软件 009
1.5 EDA技术的发展趋势 012
013
第2章 FPGA/CPLD器件 014
2.1 PLD器件概述 015
2.1.1 PLD器件的发展历程 015
2.1.2 PLD器件的分类 015
2.2 PLD的基本原理与结构 017
2.2.1 PLD器件的基本结构 017
2.2.2 PLD电路的表示方法 018
2.3 低密度PLD的原理与结构 019
2.4 CPLD的原理与结构 023
2.4.1 宏单元结构 023
2.4.2 典型CPLD的结构 024
2.5 FPGA的原理与结构 025
2.5.1 查找表结构 025
2.5.2 Cyclone IV器件结构 027
2.6 FPGA/CPLD的编程元件 030
2.7 边界扫描测试技术 033
2.8 FPGA/CPLD的编程与配置 035
2.8.1 在系统可编程 035
2.8.2 FPGA器件的配置 036
2.8.3 Cyclone IV器件的编程 037
2.9 Intel的FPGA/CPLD器件 040
2.10 FPGA/CPLD的发展趋势 043
043
第3章 Quartus Prime使用指南 044
3.1 Quartus Prime原理图设计 046
3.1.1 半加器原理图设计输入 046
3.1.2 1位全加器设计输入 049
3.1.3 1位全加器的编译 050
3.1.4 1位全加器的仿真 052
3.1.5 1位全加器的下载 055
3.1.6 配置数据固化与脱机运行 059
3.2 基于IP核的设计 061
3.2.1 模24方向可控计数器 062
3.2.2 4×4无符号数乘法器 068
3.3 SignalTap II的使用方法 074
3.4 Quartus Prime的优化设置与时序分析 078
082
第4章 Verilog设计初步 085
4.1 Verilog的历史 086
4.2 Verilog模块的结构 086
4.3 Verilog基本组合电路设计 090
4.4 Verilog基本时序电路设计 092
095
第5章 Verilog语言要素 096
5.1 概述 097
5.2 常量 098
5.2.1 整数(Integer) 098
5.2.2 实数(Real) 099
5.2.3 字符串(Strings) 100
5.3 数据类型 101
5.3.1 net型 101
5.3.2 variable型 102
5.4 参数 103
5.4.1 参数parameter 103
5.4.2 Verilog-2001中的参数声明 104
5.4.3 参数的传递 105
5.4.4 localparam 105
5.5 向量 106
5.6 运算符 107
112
第6章 Verilog语句语法 113
6.1 过程语句 114
6.1.1 always过程语句 114
6.1.2 initial过程语句 118
6.2 块语句 119
6.2.1 串行块begin-end 119
6.3 赋值语句 119
6.3.1 持续赋值与过程赋值 119
6.2.2 并行块fork-join 120
6.3.2 阻塞赋值与非阻塞赋值 122
6.4 条件语句 123
6.4.1 if-else语句 123
6.4.2 case语句 125
6.5 循环语句 128
6.5.1 for语句 129
6.5.2 repeat、while、forever语句 130
6.6 编译指示语句 131
6.7 任务与函数 133
6.7.1 任务(task) 133
6.7.2 函数(function) 135
6.8 顺序执行与并发执行 138
6.9 Verilog-2001语言标准 139
6.9.1 Verilog-2001和增强的语法结构 140
6.9.2 属性及PLI接口 147
149
第7章 Verilog设计的层次与风格 151
7.1 Verilog设计的层次 152
7.2 门级结构描述 152
7.2.1 Verilog门元件 152
7.2.2 门级结构描述 155
7.3 行为描述 155
7.4 数据流描述 156
7.5 不同描述风格的设计 157
7.5.1 半加器设计 158
7.5.2 1位全加器设计 159
7.5.3 加法器的级连 160
7.6 多层次结构电路的设计 161
7.6.1 模块例化 161
7.6.2 用paramete行参数传递 163
7.6.3 用defpara行参数重载 165
7.7 基本组合电路设计 165
7.8 基本时序电路设计 169
7.9 三态逻辑设计 171
7.10 锁相环模块应用 173
179
第8章 Verilog有限状态机设计 180
8.1 有限状态机 181
8.2 有限状态机的Verilog描述 183
8.2.1 用三个always块描述 183
8.2.2 用两个过程描述 185
8.2.3 单过程描述方式 187
8.3 状态编码 188
8.3.1 常用的编码方式 188
8.3.2 状态编码的定义 190
8.3.3 用属性状态编码方式 192
8.4 有限状态机设计要点 193
8.4.1 复位和起始状态的选择 193
8.4.2 多余状态的处理 195
8.5 有限状态机应用实例 196
8.5.1 用有限状态机控制流水灯 196
8.5.2 用有限状态机控制A/D采样 199
200
第9章 Verilog驱动常用I/O外设 202
9.1 4×4矩阵键盘 203
9.2 标准PS/2键盘 207
9.3 字符液晶 213
9.4 汉字图形点阵液晶 220
9.5 VGA显示器 226
9.6.1 VGA显示原理与时序 226
9.6.2 VGA彩条信号发生器 228
9.6.3 VGA图像显示与控制 233
9.6 乐曲演奏电路 239
245
第10章 Verilog设阶 248
10.1 设计的可综合性 249
10.2 流水线设计技术 251
10.3 资源共享 254
10.4 阻塞赋值与非阻塞赋值 256
10.5 加法器设计 259
10.5.1 行位加法器 260
10.5.2 超位加法器 261
10.5.3 流水线加法器 264
10.6 乘法器设计 265
10.6.1 并行乘法器 265
10.6.2 布斯乘法器 266
10.6.3 查找表乘法器 269
10.7 奇数分频与小数分频 269
10.7.1 奇数分频 269
10.7.2 半整数分频与小数分频 270
0 275
第11章 Verilog Test Bench仿真 276
11.1 系统任务与系统函数 277
11.2 用户自定义元件 281
11.2.1 组合电路UDP元件 281
11.2.2 时序逻辑UDP元件 283
11.3 延时模型的表示 284
11.3.1 时间标尺定义`timescale 285
11.3.2 延时的表示与延时说明块 285
11.4 Test Bench测台 286
11.5 组合和时序电路的仿真 289
11.5.1 组合电路的仿真 289
11.5.2 时序电路的仿真 291
11.6 ModelSim SE仿真实例 292
11.6.1 图形界能仿真 293
11.6.2 命令行方能仿真 296
11.6.3 时序仿真 297
1 299
第12章 Verilog设计实例 300
12.1 脉宽调制与电机驱动 301
12.1.1 PWM信号 301
12.1.2 用PWM驱动蜂鸣器 302
12.1.3 用PWM驱动电机 305
12.2 超声波测距 309
12.3 整数开方运算 313
12.4 Cordic算法及实现 317
12.4.1 Cordic算法及其原理 317
12.4.2 Cordic算法的实现 319
2 325
附录A Verilog HDL(IEEE Std 1364-1995)关键字 326
附录B Verilog HDL(IEEE Std 1364-2001)关键字 327
参考文献 328
返回顶部