第1章 硬件描述语言 1
1.1 什么是硬件描述语言HDL 1
1.2 基本逻辑电路的HDL 1
1.2.1 与门逻辑电路的描述 1
1.2.2 与非门逻辑电路的描述 4
1.2.3 非门逻辑电路的描述 5
1.2.4 或门逻辑电路的描述 6
1.2.5 或非门逻辑电路的描述 6
1.3 逻辑仿真 7
1.2.6 缓冲器逻辑电路的描述 7
1.3.1 顶层模块的编写 8
1.3.2 寄存器定义 8
1.3.3 线网定义 8
1.3.4 底层模块的调用 9
1.3.5 输入信号波形的描述 9
1.3.6 二与门逻辑电路的仿真结果 10
第2章 仿真器的获取、安装及运行 11
2.1 如何得到ISE WebPACK ModelSim XE仿真器? 11
2.2 通过网站下载和安装ISE WebPACK ModelSim XE仿真器 11
2.3 建立一个新的工程文件 20
2.4 一个最简单的仿真实例 21
第3章 组合逻辑电路 31
3.1 数据选择器 31
3.1.1 2-1数据选择器的描述 31
3.1.2 真值表和逻辑表达式 31
3.1.3 2-1数据选择器的Verilog-HDL描述 32
3.1.4 4-1数据选择器的逻辑电路 33
3.1.5 4-1数据选择器的Verilog-HDL描述 33
3.1.6 条件操作符的使用方法 34
3.1.7 数据选择器的行为描述方式 35
3.1.8 case语句的使用方法 36
3.1.9 if_else语句的使用方法 37
3.1.10 function函数 38
3.1.11 用于仿真的顶层模块 38
3.1.12 数据选择器的仿真结果 39
3.2 数据比较器 41
3.2.1 最简单的数据判断方法 41
3.2.2 2位数据比较器 41
3.2.3 2位数据比较器的Verilog-HDL描述 42
3.2.4 数据比较器的数据宽度扩展 45
3.2.5 全比较器的Verilog-HDL描述 47
3.3.1 二进制编码器 49
3.3 编码器 49
3.3.2 二进制编码器的Verilog-HDL描述 50
3.4 译码器 52
3.4.1 BCD码译码器 52
3.4.2 非完全描述的逻辑函数和逻辑表达式的简化 53
3.4.3 BCD码译码器的Verilog-HDL描述 55
3.4.4 BCD码译码器的仿真结果 56
4.1.1 异步RS触发器的逻辑符号 57
4.1.2 异步RS触发器的Verilog-HDL描述 57
4.1 异步RS触发器 57
第4章 触发器 57
4.1.3 异步RS触发器的仿真结果 59
4.1.4 always块语句 59
4.2 同步RS触发器 60
4.2.1 同步RS触发器的逻辑符号 60
4.2.2 同步RS触发器的Verilog-HDL描述 61
4.2.3 同步RS触发器的仿真结果 62
4.3 异步T触发器 62
4.3.1 异步T触发器的逻辑符号 62
4.3.2 异步T触发器的Verilog-HDL描述 63
4.4.1 同步T触发器的逻辑符号 64
4.3.3 异步T触发器的仿真结果 64
4.4 同步T触发器 64
4.4.2 同步T触发器的Verilog-HDL描述 65
4.4.3 同步T触发器的仿真结果 66
4.5 同步D触发器 66
4.5.1 同步D触发器的逻辑符号 66
4.5.2 同步D触发器的Verilog-HDL描述 67
4.5.3 同步D触发器的仿真结果 68
4.6 带有复位端的同步D触发器 68
4.6.1 带有复位端的同步D触发器的逻辑符号 68
4.6.2 带有复位端的同步D触发器的Verilog-HDL描述 69
4.6.3 带有复位端的同步D触发器的仿真结果 70
4.7 同步JK触发器 70
4.7.1 同步JK触发器的逻辑符号 70
4.7.2 同步JK触发器的Verilog-HDL描述 72
4.7.3 同步JK触发器的仿真结果 73
第5章 时序逻辑电路 74
5.1 寄存器 74
5.1.1 寄存器的组成原理 74
5.1.2 寄存器的Verilog-HDL描述 75
5.1.3 寄存器的仿真结果 76
5.2 移位寄存器 77
5.2.1 串行输入并行输出移位寄存器的组成 77
5.2.2 并行输入串行输出移位寄存器的组成 78
5.2.3 移位寄存器的Verilog-HDL描述 79
5.2.4 移位寄存器的仿真结果 81
5.3 计数器 82
5.3.1 二进制非同步计数器 82
5.3.2 四进制非同步计数器 82
5.3.3 下降沿触发型的计数器及2N进制非同步计数器的组成 84
5.3.4 非同步计数器的Verilog-HDL描述 85
5.3.5 多层次结构的Verilog-HDL设计 87
5.3.6 非同步计数器的仿真结果 88
5.3.7 同步计数器 89
5.3.8 同步计数器的Verilog-HDL描述 90
5.3.9 同步任意进制计数器的Verilog-HDL描述 91
5.3.10 同步计数器的仿真结果 92
第6章 基于Verilog-HDL的硬件电路的实现 95
6.1 硬件系统设计到实现的基本流程 95
6.2.1 Xilinx下载电缆的连接方法 97
6.2.2 下载接口电路的组成 97
6.2 下载电缆的制作 97
6.2.3 制作中需要注意的事项 99
6.3 JTAG标准 99
6.3.1 何为JTAG 99
6.3.2 JTAG的信号线及功能 100
6.4 Xilinx公司的CPLD 100
6.4.1 何为CPLD 100
6.4.2 XC9500系列 101
6.5.1 如何将仿真与硬件联系起来 103
6.5.2 WebPACK Project Navigator编译实例 103
6.5 WebPACK Project Navigator的使用方法 103
6.5.3 编译结果的报告 114
第7章 应用系统设计实例(多功能测试器) 116
7.1 多功能测试器的制作 116
7.1.1 在硬件开发中提出的问题 116
7.1.2 多功能测试器的设计思想 117
7.1.3 硬件电路的组成 118
7.2 100MHz计数器的制作及其在超声波测量中的应用 121
7.3 可编程单脉冲发生器 124
7.3.1 由系统功能描述时序关系 125
7.3.2 流程图的设计 126
7.3.3 系统功能的描述 127
7.3.4 逻辑框图 128
7.3.5 延时模块的描述及仿真 128
7.3.6 功能模块Verilog-HDL描述的模块化方法 132
7.3.7 输入检测模块的描述及仿真 133
7.3.8 计数模块的描述 136
7.3.9 可编程单脉冲发生器的系统仿真 137
7.4 可编程单脉冲发生器的硬件实测 141
8.2.1 存储器与波形数据 143
8.2 数字式波形生成的基础知识 143
8.1 直接数字频率合成器DDS 143
第8章 应用系统设计实例(直接数字频率合成器) 143
8.2.2 波形发生器的系统组成 144
8.2.3 采用DDS方式的波形发生器 144
8.2.4 DDS设计中的参数选择 146
8.3 基于XC9572的DDS设计 147
8.3.1 基于XC9572的DDS 147
8.3.2 加法器的Verilog-HDL描述 149
8.3.3 DDS的Verilog-HDL描述 155
8.3.4 DDS的仿真结果 158
8.3.5 目标文件的下载与硬件调试 160
8.3.6 基于VB的波形数据生成方法 161
第9章 Verilog HDL的系统设计实例(并行接口电路) 165
9.1 打印口数据传送接口电路的设计 165
9.1.1 打印口接口电路的应用问题 165
9.1.2 微机打印口的基本结构 165
9.1.3 打印口的数据格式 166
9.2 基于打印口的数据传送 167
9.2.1 用打印口实现数据传送的基本方案 167
9.2.2 并行接口电路的系统组成 167
9.2.3 时序设计方法 171
9.2.4 代码分配时应考虑的问题 173
9.3 数据传送电路的Verilog-HDL描述 174
9.3.1 译码器的Verilog-HDL描述 174
9.3.2 并行接口电路的Verilog-HDL描述 174
9.3.3 与8255有数据交换情况下的仿真方法 176
9.3.4 并行接口电路读写操作的仿真结果 178
9.4 系统调试方法 181
9.4.1 印刷电路板及其连接电缆 181
9.4.2 并行接口板的安装及系统调试技术 182
9.4.3 并行接口板与微机间的通信 184
9.4.4 DLL库的生成方法 188