Verilog HLD 数字系统设计与验证
分類: 图书,计算机/网络,行业软件及应用,
作者: 乔庐峰 编著
出 版 社: 电子工业出版社
出版时间: 2009-4-1字数:版次: 1页数: 255印刷时间:开本: 16开印次:纸张:I S B N : 9787121082924包装: 平装编辑推荐
本书特色
◎语法贪绍清晰简洁,配套例题针对性强,包括必要的顶层电路图、设计代码、电路综合结果、验证代码和仿真结果,有助于读者全面理解
◎将状态机的设计独立成章,总结了种常用状态机设计风格,并通过典型例题进行对照分析
◎加强了对常用系统函数和任务的内容讲述,给出典型例题并辅以解释说明,使读者易于理解
◎重视数字系统的设计验证,采用专门的章节进行全面分析
◎深入讨论数字电路设计中的时钟问题。详细分析静态定时分析方法的原理,并讨论多时钟并存时的时钟域划分和同步化设计等问题
◎部分例题源于实际的工程设计项目,可供程技术人员直接参考使用
内容简介
本书全面介绍如何使用Verilog HDL进行数字电路设计、仿真和验证。全书共分为Verilog HDL语法基础与基本电路单元设计、系统设计与验证和附录三个组成部分。本书以Verilog-1995和verilog-2001标准为基础,重视电路仿真与验证,紧密结合设计实践,可以帮助读者掌握规范的电路设计方法。书中大量的例题可直接用于读者的设计实践,具有良好的参考价值。
本书适合通信工程、电子工程及相关专业的高年级本科生、硕士生作为教材使用,同时也可供进行集成电路设计和可编程逻辑器件设计的工程师参考使用。
目录
第一部分 语法基础与基本电路单元设计
第1章 引言
1.1 VerilogHDL语言的产生与发展
1.2 设计流程
1.3 VerilogHDL在电路仿真中的应用
1.3.1 使用Verilog建立电路模型
1.3.2 编写测试代码testbench
1.4 VerilogHDL在电路综合中的应用
思考与练习
第2章 Verilog代码结构
2.1 模块的结构
2.1.1 Verilog中的标识符
2.1.2 Verilog中端口和内部变量的定义
2.1.3 注释语句
2.1.4 内部功能描述语句
2.2 电路功能描述方式
2.2.1 数据流描述方式
2.2.2 行为描述方式
2.2.3 结构描述方式
2.2.4 混合描述方式
思考与练习
第3章 Verilog中的常量、变量与数据类型
3.1 常量
3.1.1 数值的表示方法
3.1.2 参数型常量
3.2 变量
3.2.1 wire类型的变量
3.2.2 reg类型的变量
3.2.3 integer类型的变量
3.2.4 memory类型的变量
3.3 块语句与变量的赋值
3.3.1 块语句
3.3.2 阻塞赋值和非阻塞赋值
思考与练习
第4章 操作符/运算符
4.1 算术操作符
4.2 关系操作符
4.3 相等关系操作符
4.4 逻辑操作符
4.5 按位操作符
4.6 缩位(归约)操作符
4.7 移位操作符
4.8 条件操作符
4.9 并位(位拼接)操作符
4.10 操作符的优先级
思考与练习
第5章 条件语句与循环语句
5.1 if-else语句
5.1.1 if-else语句的语法结构
5.1.2 if-else语句与锁存器
5.2 case,casez和casex语句
5.2.1 case语句
5.2.2 casez和casex语句
5.2.3 case语句与锁存器
5.3 循环语句
5.3.1 forever循环语句
5.3.2 repeat循环语句
5.3.3 while循环语句
5.3.4 for循环语句
思考与练习
第6章 任务与函数
6.1 任务
6.1.1 任务定义
6.1.2 任务调用
6.1.3 任务定义与调用举例
6.2 函数
6.2.1 函数的定义
6.2.2 函数的调用
6.2.3 函数定义与调用举例
6.3 任务与函数的异同小结
思考与练习
第7章 用户定义的原语
7.1 UDP的定义
……
第8章 状态机
第9章 系统任务与编译预处理
第10章 常用基本电路单元设计
第二部分 系统设计与验证
第11章 静态定时分析、时钟与同步化设计
第12章 Verilog设计验证技术
第13章 典型复杂电路设计与分析
第14章 通信系统中的异步复用电路
第15章 通用异步收发器的设计与验证
第16章 Viterbi译码器电路
附录A 可编程逻辑器件
附录B ModelSim SE使用指南
附录C Xilinx ISE+modelSim使用指南
附录D Altera Quartus II+Synplify Pro+ModelSim使用指南
附录E Verilog(IEEE Std-1364-1995)关键字
参考文献
书摘插图
第1章 引言
1.1 Verilog HDL语言的产生与发展
Verilog HDL(Verilog HDL:Verilog Hardware Description Language)是一种硬件描述语言,可以对电子电路和系统的行为进行描述。基于这种描述,结合相关的软件工具,可以得到所期望的实际的电路与系统。
Verilog HDL从20世纪80年代初由GDA(Gateway Design Automation)公司最早推出,到现在被全球范围内的众多设计者所接受,已经经历了20多年的时间。
Verilog HDL(经常又称为Verilog)最初是GDA公司为其数字逻辑仿真器产品配套开发的硬件描述语言,用于建立硬件电路的模型。那时它只是一种专用语言,但随着这种仿真器产品及其后续版本Verilog-XL的出现和广泛应用,Vefilog也因为其使用的方便性和实用性而逐渐被众多设计者所接受,影响力不断扩大。
1 987年,著名的电子设计自动化(EDA:Electronic Design Automation)厂商Synopsys公司开始使用Verilog语言作为其综合工具的标准输入语言。
1989年,另一个著名的EDA厂商Cadence公司收购了GDA公司,然后把Verilog HDL进行了公开发布。随后,一个名为OVI(Open Verilog HDL International)的组织成立了,专门负责Verilog的发展和标准化推动工作。到了l993年,几乎所有专用集成电路设计厂商都开始支持Verilog,并且认为Verilog-XL是最好的电路仿真软件。同时,OVI推出2.0版本的Verilog规范。美国电气和电子工程师协会(IEEE:Institute of Electrical and Electronics Engineers)接受了将OVI的Verilog HDL 2.0作为IEEE标准的提案,并于1995年12月制定了Verilog的国际标准IEEE 1364.1995。此后,IEEE在2001年又发布了更为完善和丰富的IEEE 1364-2001标准。这两个标准的发布极大地推动了Verilog在全球的发展。
Verilog语言被广泛使用的基本原因在于它是一种标准语言,与设计工具和实现工艺无关,从而可以方便地进行移植和重用。Verilog语言的两个最直接的应用领域是可编程逻辑器件和专用集成电路(ASIC:Application Specific Integrated Circuits)的设计,其中可编程逻辑器件包括复杂可编程逻辑器件(CPLD:Complex Programmable Logic Devices)和现场可编程门阵列(FPGA:Field Programmable Gate Arrays)。一段Verilog代码编写完成后,用户可以使用Altera或Xilinx等厂商生产的可编程逻辑器件来实现整个电路,或者将其提交给专业的代工厂用于ASIC的生产,这也是目前许多复杂的商用芯片(例如微控制器)所采用的实现方法。
关于Verilog语言,最后需要说明的是,它不同于常规的顺序执行的计算机程序(program),Verilog从根本上讲是并发执行的,因此我们通常称之为Verilog代码(code),而不是Verilog程序。
……