Verilog HDL数字设计与综合.pdf

Verilog HDL数字设计与综合.pdf
 

书籍描述

编辑推荐
《Verilog HDL数字设计与综合(第2版)》由帕尔尼卡所著,《Verilog HDL数字设计与综合(第2版)》从用户的角度全面阐述了Verilog HDL语言的重要细节和基本设计方法,并详细介绍了Verilog 2001版的主要改进部分。全书从基本概念讲起,并逐渐过渡到编程语言接口以及逻辑综合等高级主题。 《Verilog HDL数字设计与综合(第2版)》适合电子、计算机、自动控制等专业的学习数字电路设计的大学本科高年级学生阅读,也适合数字系统设计工程师和已具有多年Verilog设计工作经验的资深工程师参考。

作者简介
作者:(美国)萨米尔•帕尔尼卡(Samir Palnitkar) 译者:夏宇闻 胡燕祥 刁岚松 等

目录
第一部分 Verilog基础知识
第1章 Verilog HDL数字设计综述
1.1 数字电路CAD技术的发展历史
1.2 硬件描述语言的出现
1.3 典型设计流程
1.4 硬件描述语言的意义
1.5 Verilog HDL的优点
1.6 硬件描述语言的发展趋势
第2章 层次建模的概念
2.1 设计方法学
2.2 四位脉动进位计数器
2.3 模块
2.4 模块实例
2.5 逻辑仿真的构成
2.6 举例
2.7 小结
2.8 习题
第3章 基本概念
3.1 词法约定
3.2 数据类型
3.3 系统任务和编译指令
3.4 小结
3.5 习题
第4章 模块和端口
4.1 模块
4.2 端口
4.3 层次命名
4.4 小结
4.5 习题
第5章 门级建模
5.1 门的类型
5.2 门延迟
5.3 小结
5.4 习题
第6章 数据流建模
6.1 连续赋值语句
6.2 延迟
6.3 表达式、操作符和操作数
6.4 操作符类型
6.5 举例
6.6 小结
6.7 习题
第7章 行为级建模
7.1 结构化过程语句
7.2 过程赋值语句
7.3 时序控制
7.4 条件语句
7.5 多路分支语句
7.6 循环语句
7.7 顺序块和并行块
7.8 生成块
7.9 举例
7.10 小结
7.11 习题
第8章 任务和函数
8.1 任务和函数的区别
8.2 任务
8.3 函数
8.4 小结
8.5 习题
第9章 实用建模技术
9.1 过程连续赋值
9.2 改写参数
9.3 条件编译和执行
9.4 时间尺度
9.5 常用的系统任务
9.6 小结
9.7 习题
第二部分 Verilog高级主题
第10章 时序和延迟
10.1 延迟模型的类型
10.2 路径延迟建模
10.3 时序检查
10.4 延迟反标注
10.5 小结
10.6 习题
第11章 开关级建模
11.1 开关级建模元件
11.2 举例
11.3 小结
11.4 习题
第12章 用户自定义原语
12.1 UDP的基础知识
12.2 表示组合逻辑的UDP
12.3 表示时序逻辑的UDP
12.4 UDP表中的缩写符号
12.5 UDP设计指南
12.6 小结
12.7 习题
第13章 编程语言接口
13.1 PLI的使用
13.2 PLI任务的连接和调用
13.3 内部数据表示
13.4 PLI库子程序
13.5 小结
13.6 习题
第14章 使用VeriIog HDL进行逻辑综合
14.1 什么是逻辑综合
14.2 逻辑综合对数字设计行业的影响
14.3 Verilog HDL综合
14.4 逻辑综合流程
14.5 门级网表的验证
14.6 逻辑综合建模技巧
14.7 时序电路综合举例
14.8 小结
14.9 习题
第15章 高级验证技术
15.1 传统的验证流程
15.2 断言检查
15.3 形式化验证
15.4 小结
第三部分 附 录
附录A 强度建模和高级线网类型定义
附录B PLI子程序清单
附录C 关键字、系统任务和编译指令
附录D 形式化语法定义
附录E Verilog有关问题解答
附录F Verilog举例
参考文献
译者后记

文摘
版权页:

Verilog HDL数字设计与综合

插图:

Verilog HDL数字设计与综合

1.数据检查器
2.协议检查器
数据检查器比较仿真的每一个输出值,与预期的输出值相对照,并快速检查该值。如果存在不同之处,仿真可以立刻停止,输出错误信息。如果没有错误信息,就认为成功地完成了仿真。通常用记分板来实现数据检查器。记分板通常用来提示某事务已经完成并核查和记录数据是否已在适当的接口接收。记分板要确保即使在符合协议的情况下,DUT中的数据也不会丢失,还要确保接收的数据正确。
协议检查器快速地检查每个输入和输出接口是否满足数据协议。如果违反了协议,仿真可以立即停止,并显示错误信息。如果没有错误信息,就认为成功地完成了仿真。
自我检查的方法使设计者可以运行数以千计的测试,而无需分析每个测试的正确性。如果有失败的测试,设计者可以进一步检查转储文件和日志文件,判断错误的原因。15.1.5 覆盖
覆盖帮助设计者判断到什么时候验证工作可以认为是完整的了。目前已经开发出各种各样的方法用于量化验证过程,共有两种类型的覆盖:结构覆盖和功能覆盖。
结构覆盖
结构覆盖处理Verilog HDL代码的结构,汇报什么时候已经覆盖到结构的关键部分。目前有3种主要类型的结构覆盖:
1.代码覆盖。代码覆盖的基本假设是未经测试的代码可能存在潜在的错误。然而,代码覆盖只是检查RTL代码做得如何好,到什么程度,而不是测试设计的功能。代码覆盖不汇报验证是否完成,只是报告验证还不完全,直到代码覆盖达到100%为止。因此,代码覆盖虽然有用,但它不是一个完整的衡量标准。
2.翻转覆盖。这是一种最古老的覆盖测量,在历史上用于制造业的测试。翻转覆盖监视仿真期间翻转的逻辑位。如果某一位没有从0到1或者从1到0翻转,它就没有得到充分的验证。
翻转覆盖不能确保验证的完整性。它不能保证特定的、代表高层次功能的位翻转序列已经出现。翻转覆盖不能缩短验证过程。当工程师试图翻转某个根据设计规范不应该翻转的位时,它甚至可能延长验证过程。翻转覆盖是非常低层次的覆盖,把特定位与高层次测试计划项目关联起来是非常繁琐的。
3.分支覆盖。分支覆盖检查控制流程中所有可能的分支是否都测试过了。这种覆盖程度的度量是必要的,但不是充分的。
功能覆盖
功能覆盖从系统的角度检查设计。功能覆盖确保所有合法的输入激励值在任何时刻的任意组合都已经被测试过。此外,功能覆盖也能提供有限状态机的覆盖测试,包括状态和状态转移。
可以通过在RTL代码中插入覆盖点,或者用断言语句实现覆盖的方式来增强功能覆盖的测试程度。例如,当收到一个中断或者内部的FWO满时,判断是否所有事务都已测试完毕。通过这种方式,增强了功能覆盖程度的度量。

内容简介
《Verilog HDL数字设计与综合(第2版)》由帕尔尼卡所著,《Verilog HDL数字设计与综合(第2版)》从用户的角度全面阐述了Verilog HDL语言的重要细节和基本设计方法,并详细介绍了Verilog 2001版的主要改进部分。《Verilog HDL数字设计与综合(第2版)》重点关注如何应用Verilog语言进行数字电路和系统的设计和验证,而不仅仅讲解语法。全书从基本概念讲起,并逐渐过渡到编程语言接口以及逻辑综合等高级主题。书中的内容全部符合Verilog HDL IEEE 1364—2001标准。

购买书籍

当当网购书 京东购书 卓越购书

PDF电子书下载地址

相关书籍

搜索更多