描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302635079丛书名: 计算机技术开发与应用丛书
●提供了丰富的实例和源代码,在学习基础语法的同时方便读者上机实践并加深理解
●提供了丰富的视频教程,方便参照和进一步学习
●简化了在实际工程项目中很少去使用的语法内容的介绍
●侧重对重点内容的学习介绍,帮助读者更快入门
●由易到难的循序渐进的参考实例,帮助读者更好吸收和理解设计和验证的大致过程
本书是面向数字芯片设计与验证的入门书籍,是微电子相关专业的基础课程。 本书以理论基础为核心,以参考实例为主线,帮助读者迅速建立数字芯片设计和验证的概念和设计基础,包括两篇:数字电路及Verilog篇讲解数字逻辑电路基础,硬件描述语言Verilog的基础语法,对应的实例分析,以及组合逻辑电路和时序逻辑电路的设计和验证的参考实例;SystemVerilog篇讲解包括兼顾设计和验证的语言SystemVerilog的基础语法,对应的实例分析,以及由简单到相对复杂的运算器的设计和验证的参考实例。 本书根据实际工程项目的经验,做了精简和重难点分析,并提供了丰富的实例和源代码供学习参考,通俗易懂,并且易于上机实践,提升学习效果,适合初学者入门,也可作为高等院校和培训机构相关专业的教学参考书。
数字电路及Verilog篇
第1章引言(15min)
1.1基础概念
1.1.1模拟信号和数字信号
1.1.2计算机和芯片的组成关系
1.1.3芯片设计的流程
1.1.4芯片设计的方向
1.1.5学习数字电路、Verilog和SystemVerilog的必要性
1.2设计与验证的常识
1.2.1设计与验证的关系
1.2.2验证方案要素
1.2.3测试平台组成
1.2.4覆盖率的分类
1.3本章小结
第2章数字逻辑电路基础(12min)
2.1数制及其表示
2.1.1数制
2.1.2有符号数
2.2布尔代数
2.3基本逻辑电路
2.3.1与门电路
2.3.2或门电路
2.3.3非门电路
2.3.4锁存器
2.3.5触发器
2.4逻辑电路结构
2.4.1建立时间和保持时间
2.4.2组合逻辑电路
2.4.3时序逻辑电路
2.5硬件描述的抽象级别
2.6本章小结
第3章Verilog基础(85min)
3.1数值表示
3.2数据类型
3.2.1变量
3.2.2线网
3.2.3参数
3.2.4字符串
3.3运算符
3.3.1基本运算符
3.3.2按位运算符
3.3.3逻辑运算符
3.3.4关系运算符
3.3.5移位运算符
3.3.6拼接运算符
3.3.7缩减运算符
3.3.8三目运算符
3.3.9复制运算符
3.3.10位选择运算符
3.3.11运算符的优先级别
3.4程序块语句
3.4.1顺序执行程序块
3.4.2并行执行程序块
3.4.3混合执行程序块
3.5结构语句
3.5.1initial语句
3.5.2always语句
3.6赋值语句
3.6.1阻塞和非阻塞赋值语句
3.6.2连线赋值语句
3.6.3强制赋值语句
3.7条件和循环语句
3.7.1条件语句
3.7.2循环语句
3.7.3程序块的自动生成
3.8任务和函数
3.8.1任务
3.8.2函数
3.9控制语句
3.9.1终止程序语句
3.9.2同步等待语句
3.10系统函数
3.10.1$display和$write,$time和$realtime
3.10.2$random
3.10.3$finish
3.10.4$readmemb和$readmemh
3.10.5$fopen、$fclose、$fdisplay和$fwrite
3.10.6$test$plusargs和$value$plusargs
3.10.7$realtobits和$bitstoreal
3.10.8$signed和$unsigned
3.10.9$monitor
3.11宏定义
3.11.1仿真时间单位和精度
3.11.2文件包含
3.11.3全局参数
3.11.4条件编译
3.12本章小结
第4章组合逻辑电路实例(46min)
4.1解码器
4.1.1真值表
4.1.2卡诺图及逻辑表达式
4.1.3电路图
4.1.4Verilog实现
4.1.5测试平台
4.1.6仿真验证
4.2加法器
4.2.1真值表
4.2.2卡诺图及逻辑表达式
4.2.3电路图
4.2.4Verilog实现
4.2.5测试平台
4.2.6仿真验证
4.3存储器
4.3.1Verilog实现
4.3.2测试平台
4.3.3仿真验证
4.4本章小结
第5章时序逻辑电路实例(84min)
5.1触发器
5.1.1Verilog实现
5.1.2测试平台
5.1.3仿真验证
5.2移位寄存器
5.2.1Verilog实现
5.2.2测试平台
5.2.3仿真验证
5.3计数器
5.3.1Verilog实现
5.3.2测试平台
5.3.3仿真验证
5.4状态机
5.4.1过程分析
5.4.2Verilog实现
5.4.3测试平台
5.4.4仿真验证
5.5本章小结
SystemVerilog篇
第6章SystemVerilog基础(169min)
6.1数据类型
6.1.1基本类型
6.1.2枚举类型
6.1.3字符串类型
6.1.4数组和队列类型
6.1.5自定义类型
6.1.6结构体和联合体类型
6.1.7常量
6.1.8变量转换
6.2运算符
6.3任务和函数
6.3.1Verilog与SystemVerilog的差异
6.3.2支持ref端口类型
6.4循环及其控制语句
6.4.1循环语句
6.4.2控制及结束语句
6.5结构语句
6.5.1final语句
6.5.2always_comb和always_ff语句
6.5.3末尾标签
6.6并行执行程序块语句
6.7控制语句
6.7.1wait fork等待语句
6.7.2iff条件控制语句
6.7.3inside匹配语句
6.7.4进程控制类
6.8分支语句
6.9面向对象编程
6.9.1面向对象的概念
6.9.2结构体和类
6.9.3类的封装
6.9.4类的继承
6.9.5类的多态
6.9.6类的模板
6.9.7类的静态和动态变量及方法
6.9.8类的复制和克隆
6.9.9类的参数化
6.10接口
6.10.1基本介绍
6.10.2端口分组
6.10.3时钟块
6.10.4虚接口和接口方法
6.11包
6.12断言
6.12.1立即断言
6.12.2并发断言
6.13随机化
6.13.1类的随机及约束
6.13.2随机种子
6.13.3单向约束
6.13.4双向约束
6.13.5权重分布
6.13.6约束开关控制
6.13.7随机开关控制
6.13.8随机回调方法
6.13.9检查器
6.13.10约束求解顺序
6.13.11权重分支
6.13.12软约束
6.13.13随机范围
6.14系统函数
6.14.1$isunknown
6.14.2$urandom_range
6.14.3$system
6.14.4$bits
6.14.5$typename
6.14.6$left、$right、$size、$dimensions
6.14.7$clog2
6.14.8$sformatf
6.14.9$fscanf
6.14.10$root
6.15宏函数
6.16线程间的通信
6.16.1旗语
6.16.2邮箱
6.16.3事件
6.17覆盖率收集
6.17.1基本介绍
6.17.2覆盖组
6.17.3设置覆盖仓
6.17.4设置采样条件
6.17.5参数化的覆盖组
6.17.6翻转覆盖率收集
6.17.7覆盖仓中的通配符
6.17.8交叉覆盖率
6.17.9忽略和非法覆盖仓
6.17.10覆盖率选项参数
6.17.11覆盖率方法接口
6.18绑定辅助代码
6.18.1绑定到模块
6.18.2绑定到接口
6.19与其他编程语言的通信
6.19.1基本介绍
6.19.2使用步骤
6.20本章小结
第7章参考实例
7.1对运算器的设计和验证
7.1.1设计说明
7.1.2设计实现
7.1.3测试计划
7.1.4搭建测试平台
7.1.5仿真验证
7.1.6覆盖率分析和提高
7.2对寄存器控制的运算器的设计和验证
7.2.1设计说明
7.2.2设计实现
7.2.3测试计划
7.2.4搭建测试平台
7.2.5仿真验证
7.3对基于APB总线的运算器的设计和验证
7.3.1设计说明
7.3.2设计实现
7.3.3测试计划
7.3.4搭建测试平台
7.3.5仿真验证
7.4本章小结
参考文献
前言
行业发展
芯片行业作为高科技设计和制造业,是人才、资本齐聚集的行业,既是科技信息行业的基础,也是大国博弈的必争之地。然而,芯片行业的发展无法一蹴而就,需要长期投入和积累,需要一代一代的人去努力。近年来,我国的芯片行业正在快速发展,需要更多的人才进入该行业,对于未来计划从事数字芯片设计与验证相关岗位的初学者来讲,希望本书可以起到一定的帮助作用。
本书内容
本书分为两篇共7章,数字电路及Verilog篇(第1~5章),SystemVerilog篇(第6章和第7章),两篇都包括了基础语法及对应的实例分析,并且上述内容根据实际工程项目的经验,做了内容的精简和重点、难点的分析和补充。
第1章介绍数字芯片设计的基础概念和常识,从而为学习后面的内容做铺垫。
第2章讲述数字逻辑电路基础,包括数制表示、门电路及分析、组合逻辑和时序逻辑电路。
第3章讲述Verilog硬件描述语言的基础语法并提供了实例代码以帮助读者理解。
第4章将第2章和第3章的内容串联在一起,讲述如何分析并使用Verilog硬件描述语言实现组合逻辑电路,并讲述如何基于Verilog硬件描述语言搭建测试平台,从而对组合逻辑电路设计做简单的功能验证。
第5章将第2章和第3章的内容串联在一起,讲述如何分析并使用Verilog硬件描述语言实现时序逻辑电路,然后讲述如何基于Verilog硬件描述语言搭建测试平台,从而对时序逻辑电路设计做简单的功能验证。
第6章讲述SystemVerilog这种兼顾硬件设计和验证的编程语言的基础语法并提供实例代码以帮助读者理解。
第7章以一个对初学者难度适中的运算器设计为例,讲述整个设计和验证的过程,从而将之前章节的内容都串联起来,对读者的学习效果进行巩固提升。
本书特色
(1) 不同于以往数字电路和Verilog的相关书籍,本书在提供基础语法的同时还提供了可以练习的案例和源代码,并且通过实例讲解,将设计和验证的概念串联在一起,使读者学习起来更加有针对性,更有效率。
(2) 本书侧重描述实际工程中的语法使用,而不只是简单地介绍基础的语法而脱离实际,因为事实上,有不少语法在实际工程中并不推荐去使用,因此在实际工程项目中几乎不会用到的内容本书将不进行讲解。
(3) 市面上相对缺乏对于SystemVerilog这种兼顾硬件设计和验证编程语言的图书,本书旨在引导广大读者更轻松、更容易且更贴近实际工程项目地学习相关语法知识,并教给读者如何去应用。
读者对象
(1) 相关专业的在校大学生。
(2) 相关领域的技术工程人员。
学习建议
(1) 本书内容由易到难,建议读者按照章节顺序进行学习,也可根据自身掌握情况适当跳过部分基础章节的内容进行学习。
(2) 本书语法基础及实例章节都提供了代码以供下载,建议读者下载后导入推荐的仿真环境中进行仿真运行,从而加深理解,提升学习效果。
(3) 本书作为数字电路设计和验证的入门书籍,较为详尽地讲述了常用于硬件设计的Verilog硬件描述语言,兼顾硬件设计和验证的SystemVerilog编程语言,并且提供了较为丰富的实例供读者练手,但依然难以穷尽所有细节。读者在阅读本书后,应根据在实际工作中的项目,参考相关语法标准,进一步学习Verilog、SystemVerilog及涉及的UVM验证方法学和脚本等内容。
资源下载提示
素材(源码)等资源: 扫描目录上方的二维码下载。
视频等资源: 扫描封底的文泉云盘防盗码,再扫描书中相应章节的二维码,可以在线学习。
本书所有的代码都在Synopsys VCS上经过了仿真验证(仿真运行的脚本在各个章节代码目录下,名称为run.do),并且提供了标注所在路径位置的代码供读者下载,未标注所在路径位置的代码都为说明性代码,相对比较简单,因此不提供下载。
仿真环境
建议使用Synopsys VCS I2014.03以上版本运行本书提供的实例代码。
致谢
写书时可爱的女儿才九个月,需要照顾和陪伴,而工作和写作占用了我大部分的时间,感谢家人,尤其是妻子的理解和支持。
本书一定还存在一些不足之处,恳请读者给予批评指正。
作者
2023年6月
评论
还没有评论。