本书从实用的角度介绍了硬件描述语言VeriogHDL。通过动手实践,体验VerilogHDL的语法结构、功能等内涵。在前五章,以简单的实例列举了VerilogHDL的用法;在后四章,以应用系统为例详细讲解了系统设计的全过程。书中的全部例子都给出了仿真结果,其源代码都在本书所附的CDROM中,并均经过验证无误。\r\n 本书的前半部分特别适合于初学者,也可作为工程技术人员的参考内容。后半部分很适合工程开发和研究人员参考。本书除了介绍VerilogHDL外,还涉及到VB编程、VC++和DLL的开发等知识,以及接口等领域的问题,书中都进行了详尽的讲解。
第1章 硬件描述语言\r\n\r\n1.1 什么是硬件描述语言HDL\r\n1.2 基本逻辑电路的HDL\r\n1.2.1 与门逻辑电路的描述\r\n1.2.2 与非门逻辑电路的描述\r\n1.2.3 非门逻辑电路的描述\r\n1.2.4 或门逻辑电路的描述\r\n1.2.5 或非门逻辑电路的描述\r\n1.2.6 缓冲器逻辑电路的描述\r\n1.3 逻辑仿真\r\n1.3.1 顶层模块的编写\r\n1.3.2 寄存器定义\r\n1.3.3 线网定义\r\n1.3.4 底层模块的调用\r\n1.3.5 输入信号波形的描述\r\n1.3.6 二与门逻辑电路的仿真结果\r\n\r\n第2章 仿真器的获取、安装及运行\r\n\r\n2.1 如何得到ISE WebPACK ModelSim XE仿真器?\r\n2.2 通过网站下载和安装ISE WebPACK ModelSim XE仿真器\r\n2.3 建立一个新的工程文件\r\n2.4 一个最简单的仿真实例\r\n\r\n第3章 组合逻辑电路\r\n\r\n3.1 数据选择器\r\n3.1.1 2-1数据选择器的描述\r\n3.1.2 真值表和逻辑表达式\r\n3.1.3 2-1数据选择器的VerilogHDL描述\r\n3.1.4 4-1数据选择器的逻辑电路\r\n3.1.5 4-1数据选择器的VerilogHDL描述\r\n3.1.6 条件操作符的使用方法\r\n3.1.7 数据选择器的行为描述方式\r\n3.1.8 case语句的使用方法\r\n3.1.9 if_else语句的使用方法\r\n3.1.10 function函数\r\n3.1.11 用于仿真的顶层模块\r\n3.1.12 数据选择器的仿真结果\r\n3.2 数据比较器\r\n3.2.1 最简单的数据判断方法\r\n3.2.22 位数据比较器\r\n3.2.32 位数据比较器的VerilogHDL描述\r\n3.2.4 数据比较器的数据宽度扩展\r\n3.2.5 全比较器的VerilogHDL描述\r\n3.3 编码器\r\n3.3.1 二进制编码器\r\n3.3.2 二进制编码器的VerilogHDL描述\r\n3.4 译码器\r\n3.4.1 BCD码译码器\r\n3.4.2 非完全描述的逻辑函数和逻辑表达式的简化\r\n3.4.3 BCD码译码器的VerilogHDL描述\r\n3.4.4 BCD码译码器的仿真结果\r\n\r\n第4章 触发器\r\n\r\n4.1 异步RS触发器\r\n4.1.1 异步RS触发器的逻辑符号\r\n4.1.2 异步RS触发器的VerilogHDL描述\r\n4.1.3 异步RS触发器的仿真结果\r\n4.1.4 always块语句\r\n4.2 同步RS触发器\r\n4.2.1 同步RS触发器的逻辑符号\r\n4.2.2 同步RS触发器的VerilogHDL描述\r\n4.2.3 同步RS触发器的仿真结果\r\n4.3 异步T触发器\r\n4.3.1 异步T触发器的逻辑符号\r\n4.3.2 异步T触发器的VerilogHDL描述\r\n4.3.3 异步T触发器的仿真结果\r\n4.4 同步T触发器\r\n4.4.1 同步T触发器的逻辑符号\r\n4.4.2 同步T触发器的VerilogHDL描述\r\n4.4. 3 同步T触发器的仿真结果\r\n4.5 同步D触发器\r\n4.5.1 同步D触发器的逻辑符号\r\n4.5.2 同步D触发器的VerilogHDL描述\r\n4.5.3 同步D触发器的仿真结果\r\n4.6 带有复位端的同步D触发器\r\n4.6.1 带有复位端的同步D触发器的逻辑符号\r\n4.6.2 带有复位端的同步D触发器的VerilogHDL描述\r\n4.6.3 带有复位端的同步D触发器的仿真结果\r\n4.7 同步JK触发器\r\n4.7.1 同步JK触发器的逻辑符号\r\n4.7.2 同步JK触发器的VerilogHDL描述\r\n4.7.3 同步JK触发器的仿真结果\r\n\r\n第5章 时序逻辑电路\r\n\r\n5.1 寄存器\r\n5.1.1 寄存器的组成原理\r\n5.1.2 寄存器的VerilogHDL描述\r\n5.1.3 寄存器的仿真结果\r\n5.2 移位寄存器\r\n5.2.1 串行输入并行输出移位寄存器的组成\r\n5.2.2 并行输入串行输出移位寄存器的组成\r\n5.2.3 移位寄存器的VerilogHDL描述\r\n5.2.4 移位寄存器的仿真结果\r\n5.3 计数器\r\n5.3.1 二进制非同步计数器\r\n5.3.2 四进制非同步计数器\r\n5.3.3 下降沿触发型的计数器及2N进制非同步计数器的组成\r\n5.3.4 非同步计数器的VerilogHDL描述\r\n5.3.5 多层次结构的VerilogHDL设计\r\n5.3.6 非同步计数器的仿真结果\r\n5.3.7 同步计数器\r\n5.3.8 同步计数器的VerilogHDL描述\r\n5.3.9 同步任意进制计数器的VerilogHDL描述\r\n5.3.10 同步计数器的仿真结果\r\n\r\n第6章 基于VerilogHDL的硬件电路的实现\r\n\r\n6.1 硬件系统设计到实现的基本流程\r\n6.2 下载电缆的制作\r\n6.2.1 Xilinx下载电缆的连接方法\r\n6.2.2 下载接口电路的组成\r\n6.2.3 制作中需要注意的事项\r\n6.3 JTAG标准\r\n6.3.1 何为JTAG\r\n6.3.2 JTAG的信号线及功能\r\n6.4 Xilinx公司的CPLD\r\n6.4.1 何为CPLD\r\n6.4.2 XC9500系列\r\n6.5 WebPACK Project Navigator 的使用方法\r\n6.5.1 如何将仿真与硬件联系起来\r\n6.5.2 WebPACK Project Navigator编译实例\r\n6.5.3 编译结果的报告\r\n\r\n第7章 应用系统设计实例(多功能测试器)\r\n\r\n7.1 多功能测试器的制作\r\n7.1.1 在硬件开发中提出的问题\r\n7.1.2 多功能测试器的设计思想\r\n7.1.3 硬件电路的组成\r\n7.2 100 MHz计数器的制作及其在超声波测量中的应用\r\n7.3 可编程单脉冲发生器\r\n7.3.1 由系统功能描述时序关系\r\n7.3.2 流程图的设计\r\n7.3.3 系统功能的描述\r\n7.3.4 逻辑框图\r\n7.3.5 延时模块的描述及仿真\r\n7.3.6 功能模块VerilogHDL描述的模块化方法\r\n7.3.7 输入检测模块的描述及仿真\r\n7.3.8 计数模块的描述\r\n7.3.9 可编程单脉冲发生器的系统仿真\r\n7.4 可编程单脉冲发生器的硬件实测\r\n\r\n第8章 应用系统设计实例(直接数字频率合成器)\r\n\r\n8.1 直接数字频率合成器DDS\r\n8.2 数字式波形生成的基础知识\r\n8.2.1 存储器与波形数据\r\n8.2.2 波形发生器的系统组成\r\n8.2.3 采用DDS方式的波形发生器\r\n8.2.4 DDS设计中的参数选择\r\n8.3 基于XC9572的DDS设计\r\n8.3.1 基于XC9572的DDS\r\n8.3.2 加法器的VerilogHDL描述\r\n8.3.3 DDS的VerilogHDL描述\r\n8.3.4 DDS的仿真结果\r\n8.3.5 目标文件的下载与硬件调试\r\n8.3.6 基于VB的波形数据生成方法\r\n\r\n第9章 Verilog HDL的系统设计实例(并行接口电路)\r\n\r\n9.1 打印口数据传送接口电路的设计\r\n9.1.1 打印口接口电路的应用问题\r\n9.1.2 微机打印口的基本结构\r\n9.1.3 打印口的数据格式\r\n9.2 基于打印口的数据传送\r\n9.2.1 用打印口实现数据传送的基本方案\r\n9.2.2 并行接口电路的系统组成\r\n9.2.3 时序设计方法\r\n9.2.4 代码分配时应考虑的问题\r\n9.3 数据传送电路的VerilogHDL描述\r\n9.3.1 译码器的VerilogHDL描述\r\n9.3.2 并行接口电路的VerilogHDL描述\r\n9.3.3 与8255有数据交换情况下的仿真方法\r\n9.3.4 并行接口电路读写操作的仿真结果\r\n9.4 系统调试方法\r\n9.4.1 印刷电路板及其连接电缆\r\n9.4.2 并行接口板的安装及系统调试技术\r\n9.4.3 并行接口板与微机间的通信\r\n9.4.4 DLL库的生成方法\r\n\r\n参考文献
近年来科学技术的发展十分迅猛,特别是电子信息技术的发展更是日新月异。在我们生活的周围,已经越来越看不到与电子技术无关的东西了。从各种家电到办公自动化设备、通信设备、多媒体外围设备等领域,无处不有数字技术的应用。与过去的模拟电子技术相比,数字技术更有其广阔的应用前景。
数字技术的飞速发展得益于大规模集成电路技术的发展和其硬件成本的不断下降。著者在20世纪70年代,为了买两只用于放大器的功率放大晶体管,需要花费工资10%的投入,并且还是分立元件。而现在,按一般工资收入考虑,用10%的工资额度已经可以买一台收音机了。更不用说用20~30元即可买一只具有成千上万个元件的集成电路。这些良好的外围环境为我们提供了得天独厚的学习条件,可以使我们在短时间内掌握更多的东西。
但另一方面,大量的信息的涌现,大量的书籍的问世,大量需要学习的东西的出现,使得当今的人们有时不知从何处下手来获取知识。这些年来,由于社会对人才的需求,各大专院校也在不断扩招学生,为社会培养了大量的人才。同时,应该注意到:由于有的地方硬件设施方面还不能满足需要,使得接受教育的人仅仅掌握了些理论知识,而缺乏实践的能力。
读书就像吃饭的过程,而实践就像消化的过程。如果学了的东西不用于实践,就不能使学到的知识巩固和发展。在学习过程中,如果能做到边学习边实践,将会有很好的学习效果。 正是出于这样一种思考,著者力求从实践的角度编写了本书。本书不是讲解VerilogHDL的历史、理论和特点,而是以动手为主。通过动手实践,体验VerilogHDL的语法、结构、功能等内涵。在前五章,以简单的实例列举了VerilogHDL的用法,给出了仿真结果。在其后的章节里,以应用系统为例,详细讲解了系统设计的全过程。著者力图通过几个实际例子,给读者以启发,使得读者能够通过阅读本书增长自己的系统设计和开发的能力。
为此,本书所附CDROM中将本书的全部实例收录在内,这些实例全部通过了验证。第7章以后的设计实例,不仅有VerilogHDL的例子,也附了包括VB、VC++等源程序,甚至将DLL的生成方法也详尽地作了说明。
在本书的编写过程中,太原理工大学2002级计算机系研究生李媛媛对本书的全部软件进行了验证,并参加了部分语言的设计和调试工作。在此,著者表示深切的感谢。在编写过程中,参考了许多有关VerilogHDL和VHDL方面的书籍,这些书都为本人提供了十分有益的参考。在此,对这些书的作者表示谢意。
本书存在的不足和错误之处,恳请广大读者给予批评指正。
作者邮件地址:lab@xiaominglab.com。
编著者
2002年9月