设计与验证Verilog HDL
2006-8
人民邮电
吴继华
228
359000
无
本书以实例讲解的方式对HDL语言的设计方法进行介绍。全书共分9章,第1章至第3章主要介绍了Verilog HDL语言的基本概念、设计流程、语法及建模方式等内容;第4章至第6章主要讨论如何合理地使用Verilog HDL语言描述高性能的可综合电路;第7章和第8章重点介绍了如何编写测试激励以及Verilog的仿真原理;第9章展望HDL语言的发展趋势。 本书配有一张光盘,光盘中收录了书中示例的工程文件、设计源文件及说明文件等。另外为了配合读者进一步学习,光盘中还提供了Verilog 1995和Verilog 2001这两个版本的IEEE标准文献,读者可以从中查阅Verilog的语法细节。 本书围绕设计和验证两大主题展开讨论,内容丰富,实用性强,可作为高等院校通信工程、电子工程、计算机、微电子和半导体等相关专业的教材,也可作为硬件工程师和IC工程师的参考书。
第1章 HDL设计方法简介 11.1 设计方法的变迁 11.2 Verilog语言的特点 21.2.1 Verilog的由来 21.2.2 HDL与原理图 21.2.3 Verilog和 VHDL 31.2.4 Verilog和C语言 41.3 HDL的设计与验证流程 51.4 问题与思考 7第2章 Verilog语言基础 92.1 Top-Down和Bottom-Up 92.2 Verilog的3种描述方法 102.2.1 实例 102.2.2 3种描述方法 132.3 基本词法 142.4 模块和端口 152.5 编译指令 162.6 逻辑值与常量 172.6.1 逻辑值 172.6.2 常量 182.7 变量类型 192.7.1 线网类型 192.7.2 寄存器类型 192.7.3 变量的物理含义 202.7.4 驱动和赋值 202.8 参数 222.9 Verilog中的并发与顺序 222.10 操作数、操作符和表达式 232.10.1 操作符 232.10.2 二进制数值 262.10.3 操作数 262.11 系统任务和系统函数 282.11.1 显示任务 282.11.2 文件输入/输出任务 282.11.3 其他系统任务和系统函数 292.12 小结 292.13 问题与思考 29第3章 描述方式和设计层次 313.1 描述方式 313.2 数据流描述 313.2.1 数据流 313.2.2 连续赋值语句 313.2.3 延时 333.2.4 多驱动源线网 343.3 行为描述 363.3.1 行为描述的语句格式 363.3.2 过程赋值语句 403.3.3 语句组 433.3.4 高级编程语句 443.4 结构化描述 503.4.1 实例化模块的方法 523.4.2 参数化模块 533.5 设计层次 573.5.1 系统级和行为级 573.5.2 RTL级 593.5.3 门级 603.5.4 晶体管级 603.5.5 混合描述 603.6 实例:CRC计算与校验电路 603.6.1 CRC10校验,行为级 613.6.2 CRC10计算电路,RTL级 623.7 小结 643.8 问题与思考 64第4章 RTL概念与RTL级建模 654.1 RTL与综合的概念 654.2 RTL级设计的基本要素和步骤 654.3 常用的RTL级建模 674.3.1 阻塞赋值、非阻塞赋值和连续赋值 674.3.2 寄存器电路建模 684.3.3 组合逻辑建模 704.3.4 双向端口与三态信号建模 724.3.5 Mux建模 734.3.6 存储器建模 744.3.7 简单的时钟分频电路 754.3.8 串并转换建模 774.3.9 同步复位和异步复位 774.3.10 使用case和if...else语句建模 814.3.11 可综合的Verilog语法子集 874.4 设计实例:CPU读写PLD寄存器接口 874.5 小结 924.6 问题与思考 92第5章 RTL设计与编码指导 935.1 一般性指导原则 935.1.1 面积和速度的平衡与互换原则 945.1.2 硬件原则 1035.1.3 系统原则 1055.2 同步设计原则和多时钟处理 1075.2.1 同步设计原则 1075.2.2 亚稳态 1095.2.3 异步时钟域数据同步 1115.3 代码风格 1135.3.1 代码风格的分类 1135.3.2 代码风格的重要性 1135.4 结构层次设计和模块划分 1145.4.1 结构层次化编码(Hierarchical Coding) 1145.4.2 模块划分的技巧(Design Partitioning) 1155.5 组合逻辑的注意事项 1165.5.1 always组合逻辑信号敏感表 1165.5.2 组合逻辑反馈环路 1175.5.3 脉冲产生器 1185.5.4 慎用锁存器(Latch) 1195.6 时钟设计的注意事项 1205.6.1 内部逻辑产生的时钟 1205.6.2 Ripple Counter 1215.6.3 时钟选择 1215.6.4 门控时钟 1215.6.5 时钟同步使能端 1225.7 RTL代码优化技巧 1235.7.1 使用Pipelining技术优化时序 1235.7.2 模块复用与资源共享 1235.7.3 逻辑复制 1255.7.4 香农扩展运算 1275.8 小结 1295.9 问题与思考 130第6章 如何写好状态机 1316.1 状态机的基本概念 1316.1.1 状态机是一种思想方法 1316.1.2 状态机的基本要素及分类 1336.1.3 状态机的基本描述方式 1336.2 如何写好状态机 1346.2.1 评判FSM的标准 1346.2.2 RTL级状态机描述常用的语法 1356.2.3 推荐的状态机描述方法 1386.2.4 状态机设计的其他技巧 1516.3 使用Synplify Pro分析FSM 1546.4 小结 1576.5 问题与思考 157第7章 逻辑验证与Testbench编写 1597.1 概述 1597.1.1 仿真和验证 1597.1.2 什么是Testbench 1607.2 建立Testbench,仿真设计 1617.2.1 编写仿真激励 1627.2.2 搭建仿真环境 1727.2.3 确认仿真结果 1737.2.4 编写Testbench时需要注意的问题 1757.3 实例:CPU接口仿真 1777.3.1 设计简介 1777.3.2 一种Testbench 1787.3.3 另外一种Testbench 1827.4 结构化Testbench 1837.4.1 任务和函数 1847.4.2 总线功能模型(BFM) 1847.4.3 测试套具(Harness) 1857.4.4 测试用例(Testcase) 1857.4.5 结构化Testbench 1867.5 实例:结构化Testbench的编写 1887.5.1 单顶层Testbench 1887.5.2 多顶层Testbench 1917.6 扩展Verilog的高层建模能力 1927.7 小结 1937.8 问题与思考 193第8章 Verilog语义和仿真原理 1958.1 从一个问题说起 1958.2 电路与仿真 1968.2.1 电路是并行的 1968.2.2 Verilog是并行语言 1978.2.3 Verilog仿真语义 1978.3 仿真原理 1988.3.1 Verilog的仿真过程 1988.3.2 仿真时间 2028.3.3 事件驱动 2038.3.4 进程 2038.3.5 调度 2048.3.6 时序控制(Timing Control) 2058.3.7 进程、事件和仿真时间的关系 2058.3.8 Verilog语言的不确定性 2058.4 分层事件队列与仿真参考模型 2068.4.1 分层事件队列 2068.4.2 仿真参考模型 2068.5 时序模型与延时 2078.5.1 仿真模型(Simulation Model) 2078.5.2 时序模型(Timing Model) 2088.5.3 案例分析 2088.5.4 在Verilog语言中增加延时 2108.6 再谈阻塞与非阻塞赋值 2138.6.1 本质 2138.6.2 案例分析 2168.7 如何提高代码的仿真效率 2198.8 防止仿真和综合结果不一致 2198.9 小结 2208.10 问题与思考 220第9章 设计与验证语言的发展趋势 2219.1 设计与验证语言的发展历程 2219.1.1 HDL语言 2219.1.2 C/C++和私有的验证语言 2229.1.3 Accellera和IEEE的标准化工作 2229.2 硬件设计语言的发展现状和走向 2239.2.1 HDL的竞争 2239.2.2 一些尝试 2239.2.3 下一代的Verilog语言 2239.2.4 SystemC 2249.3 验证语言的发展现状和走向 2259.3.1 验证方法 2259.3.2 HVL标准化进程 2259.3.3 HVL的新需求 2269.4 总结和展望 2269.5 小结 2269.6 问题与思考 226附录 Verilog关键字列表 227
无
Verilog程序,难在测试。本书教系统的介绍了测试技巧和手段,对编写Verilog源程序及测试程序有教大帮助。
很不错的设计与验证的书,是edacn论坛的大牛写的,原先下了pdf,看着麻烦,买本书实在
内容讲的很实际,适合初学者,从头建立一套严谨的设计方案
书不厚,不过内容很精辟,值得一读!
此书写得很好,对于初学者可以养成良好的习惯。老手可以更深刻的理解一些概念!好书!
浓缩就是精华·1
非常适合初学者....虽然有点贵,,,还是值.....
以前学过后来图书馆的一直被借走似乎就没有被换回来过所以买一本来变收藏边看看~
十分适合初学者
这本书主要侧重讲述的硬件描述语言verilog的设计和验证部分,对于这个方面是一本很好的参考和查阅工具书,光盘也很实用。顶下!
对于有一点verilog基础的人看这本书应该受益匪浅的,讲到了很多设计的设计。
适合对CPLD,FPGA有一定了解的读者,书籍的内容很简练,侧重FPGA可综合和仿真方面,内容很实用。
书还可以,适合入门级!