词条 | 面向数字系统综合的Verilog编码风格 |
释义 | 《面向数字系统综合的Verilog编码风格》是针对Verilog HDL的综合教材,适用于计算机和电子类相关专业的高年级本科生和研究生,同时也可作为从事数字电路设计人员的参考书。 基本信息作者:(美)史密斯(Smith,D.R.),(美)弗兰曾(Franzon,P.D.) 著,汤华莲,田泽 译 ISBN:10位[7560618707] 13位[9787560618708] 出版社:西安电子科技大学出版社 出版日期:2007-11-1 定价:¥30.00 元 内容提要Verilog HDL是当今国际上一种主流的标准化硬件描述语言,目前已出版有多本详细介绍该语言语法和结构的教材。本书的不同之处在于其重点介绍的并不是语法本身,而是以电路综合为目标,通过大量实例来说明具有不同特点的可综合的编码风格。全书共分17章,覆盖了Verilog基本语法、仿真测试、面向FPGA和标准单元的逻辑综合、可综合的代码风格和VLSI设计方法学等关键内容,最后还简要描述了混合技术的设计。 目录第1章 概论 参考文献 第2章 基本语法结构 2.1 预备知识 2.1.1 标识符 2.1.2 运算符 2.1.3 值 2.1.4 表达式 2.2 数据类型 2.2.1 连线型 2.2.2 寄存器型 2.2.3 整型 2.2.4 实型 2.2.5 时间 2.2.6 事件 2.2.7 位矢量 2.2.8 拼接和复制 2.2.9 数组 2.2.10 参数 2.2.11 编译预处理指令 2.3 模块 2.3.1 端口连接规则 2.3.2 端口列表 2.3.3 层级名 2.4 结论 练习 参考文献 第3章 结构和行为描述 3.1 概述 3.2 基本门 3.2.1 采用基本门组成的结构化模块 3.2.2 用户自定义元件 3.3 建模层次 3.4 编码风格 3.5 可综合的运算符 3.6 连续赋值语句 练习 参考文献 第4章 仿真 4.1 仿真器的种类 4.2 VCS仿真器的使用 4.3 测试平台(testbenches) 4.4 调试 练习 第5章 过程描述 5.1 always块 5.1.1 块语句 5.1.2 多周期执行的always块 5.2 函数和任务 5.3 阻塞型和非阻塞型赋值 5.4 控制结构 5.4.1 IF语句 5.4.2 循环语句 5.4.3 举例 5.5 条件结构的综合 5.6 举例——组合逻辑模块 5.7 触发器与锁存器 5.8 存储器 5.9 总结 练习 参考文献 第6章 单个模块的设计方法 6.1 概述 6.2 基本设计方法 6.3 设计规格 6.4 构建设计 6.5 设计实例1——一个简单的减法计数器 6.5.1 设计规格 6.5.2 确定控制策略 6.5.3 确定RTL级结构 6.5.4 用Verilog描述设计 6.5.5 验证设计的正确性 6.6 设计实例2——无符号并一串乘法器 6.6.1 确定控制策略 6.6.2 确定RTL结构 6.6.3 用verilog描述设计 6.7 定义触发器的另一种方法 6.8 普遍存在的问题以及解决方法 6.8.1 额外锁存器 6.8.2 不完整的同步定义(敏感列表) 6.8.3 线或逻辑的无意识产生 6.8.4 循环结构的不正确使用 6.9 调试方法 6.10 总结 练习 第7章 单个模块的验证 7.1 概述 7.2 测试向量源 7.3 测试平台的编写方法 7.3.1 绝对时间和相对时间 7.3.2 读取测试向量文件 7.4 综合后验证 7.5 形式验证 7.5.1 等价性检测 7.5.2 模型检测 7.6 系统级验证 7.7 总结 练习 第8章 有限状态机风格 8.1 概述 8.2 状态机的综合 8.2.1 经典模型 8.2.2 直接描述风格 8.2.3 间接描述风格 8.3 举例 练习 参考文献 第9章 控制点编码风格 9.1 概述 9.2 参数化模块的例化 9.3 控制点描述风格 9.4 使用厂家的单元 9.5 结论 练习 参考文献 第10章 复杂度管理——大型设计 10.1 上层设计的步骤 10.2 设计划分 10.3 控制器设计风格 10.4 直接编码风格举例——运动估计器 10.5 间接描述方式举例——高速缓冲存储器Cache 10.6 另一个间接方式描述举例——MIPS200 10.6.1 MIPS200测试 10.6.2 对MIPS200 testbench的说明 10.6.3 MIPS的R]rL和控制点描述 10.7 总结 练习 参考文献 第11章 时序、面积及功耗的优化 11.1 概述 11.2 设计中的时序问题 11.2.1 延时计算 11.2.2 边沿触发器的时序设计 11.2.3 锁存器的时序设计 11.2.4 时序意识的设计 11.3 低功耗设计 11.3.1 CMOS电路中的功耗 11.3.2 针对低功耗的设计技术 11.3.3 低功耗设计中的CAD工具 11.4 设计中的面积问题 11.5 总结 练习 参考文献 第12章 设计编译 12.1 概述 12.2 运行实例——闹钟 12.3 建立 12.4 调用综合 练习 参考文献 第13章 面向标准单元的综合 13.1 概述 13.2 综合流程 13.3 总结 练习 参考文献 第14章 面向FPGA的综合 14.1 以现场可编程门阵列(FPGA)作为目标工艺 14.2 Altera工具的使用 14.3 Xilinx工具的使用 14.4 存储器阵列的实现 14.4.1 用查找表作为存储器(例如Xilinx) 14.4.2 用内嵌阵列块作为存储器(例如Altera) 14.5 用内嵌阵列作为ROM 14.6 FPGA报告 14.7 门级仿真 14.7.1 一些常见的疑惑 14.7.2 下载应用设计 14.8 总结 练习 参考文献 第15章 门级仿真与测试 15.1 ad.hoc测试技术 15.2 综合中的扫描插入 15.3 内建自测试 练习 参考文献 第16章 其他编码风格 16.1 概述 16.2 行为编译器风格 16.2.1 布斯乘法器 16.2.2 行为编译器——总结 16.3 自定时风格 16.4 封装风格 16.5 未来HDL的发展 练习 参考文献 第17章 混合设计技术 17.1 概述 17.2 数字/模拟 17.3 硬件/软件 17.3.1 大规模硬件设计的仿真 17.3.2 软/硬件协同设计 17.3.3 嵌入核的设计 17.3.4 SOC(System-On-a-Chip)的设计语言 17.4举例 参考文献 附录 Venlog设计实例 精彩书摘导语本书试图通过选择简单的Verilog语言和标准化的方法来实现这一目标,使高年级的本科生和研一的学生在一个学期内就可以通过门级仿真,理解中等规模到更加复杂的电路设计。本书既不是对Verilog语言的完整描述,也不是对仿真、综合和FPGA芯片配置工具的完整介绍,读者可以查阅相应参考手册来了解这些内容。然而通过使用本书并配合一些实例,学生就能够在一个学期之内完成一些有趣的项目。当然,这需要认真地学习一个学期。可以预计,以后工业界对具有这方面专门知识人才的需求甚至会超过对那些具有系统软件专业知识人才的需求。通过本书的学习,读者将具有驾驭完整设计过程的自信,可以完成更加复杂的设计并且可以有更多的闲暇时间来查阅各种手册。 第1章 概论目前在一个芯片上可以集成5000万个以上的有源器件,而且芯片的复杂度还在不断提高,因此设计者已经不可能用基于电路图的方法来设计硬件了。现在集成电路设计几乎完全来自于高级描述及综合。尽管这一领域的方法学还没有很好的建立,但是为了能跟上芯片复杂度迅猛提高的步伐,设计工具也在快速的发展中。 为了加深对这个演变过程的认识,很有必要回顾一下随着早期器件工艺的变化,设计方法学是如何发展的。在1980以前的大规模集成电路(LSI)时代,芯片设计工程师“用手和膝盖趴在地上”来裁剪和粘贴放大的芯片版图。或许这就是为什么把芯片版图设计称为平面布置(floorplan)的缘故。随着超大规模集成电路(VLSl,被定义为芯片上的晶体管数超过10万个的集成电路)的出现,以前的那种设计方法已经不可行了,伴随着出现了一些诸如原理图输入、版图编辑、参数提取以及仿真工具等计算机辅助设计工具,设计工程师能够采用更多高级的方法进行设计。此时,通过对版图规则进行抽象和简化…,使得这些技术易于被在校大学生掌握。随着器件制造工艺继续发展到深亚微米级线宽时代,芯片上可以集成1亿个甚至更多有源器件并且时钟可达1GHz。这时很难在版图和门级上来理解相应的电路。因此,高级的文本描述(语言)及综合取代了电路原理图输入方式,芯片复杂度现在由这些工具报告中所给出的门数来定义④。在主流的动态CMOS工艺中,每个这样的门大概对应5 个有源器件(晶体管),目前芯片集成度在20万至l000万个门范围内。本书中的设计实例当然比这个规模小得多。 这种演变与上一代软件工程学的发展非常类似。人们不愿意阅读由软件编译器生成的汇编代码,而是更喜欢在源代码中进行调试。同样地,对于一个像“闹钟电路”这样简单的描述,综合器将会把不到两页的高级源代码转变为超过40页的门级电路图,那么我们更愿意对高级源代码而不是对门级电路图进行调试。 然而在技术发展的现阶段,硬件编译与软件编译并不完全相同,可以通过图1.1和图1.2做比较。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。