本书基于企业实际需求,理论结合实例,由易到难讲解了数字集成电路常用验证方法、流程规范和UVM高级验证方法。
主要内容包括:数字集成电路验证技术的发展、数字集成电路验证基础、数字集成电路验证的常用Verilog编程语法、被测电路功能点Case抽取、断言、带有约束条件的随机激励、覆盖率、结果自动对比、UVM验证、仿真验证EDA工具、实例解析、综合项目实例。
本书可供集成电路验证的入门级读者,以及集成电路、芯片、半导体及相关行业的工程技术人员使用,还可作为教材供高校相关专业师生学习参考。
丛国涛:1、松下电器软件开发(大连)有限公司从事集成电路设计与验证工作8年,开发过数码相机芯片、数字电视芯片、车载摄像头处理芯片等10+颗芯片,并且具有带领10人左右团队进行集成电路开发的经验。 2、大连东软信息学院集成电路设计与集成电路系统专业担任专业课教师,已执教5年,讲授《数字集成电路验证》《数字系统设计实践》等多门集成电路专业课程。作为课程负责人的《数字集成电路验证》获得辽宁省虚拟仿真实验项目(2020年),获得校级“专创融合”课程(2020年),获得校级线上线下混合式课程(2021年)。 3、参加《全国电子信息类专业课程实验案例设计竞赛》等教学竞赛,获得全国三等奖、辽宁省一等奖、二等奖、三等奖各1次。 4、参与集成电路设计与集成系统专业的辽宁省本科专业建设,参与辽宁省教育厅的教改项目建设《产学研融合背景下集成电路创新创业人才培养模式的探索与实践》。 5、作为负责学生实践工作的系副主任,组织学生参加学科竞赛活动,集成系学生在《大学生集成电路创新创业大赛》等重要赛事多次获得国家一等奖等奖项,学校获得东北赛区优秀组织奖,本人获得辽宁省组织工作先进个人。大创指导教师1次,省级大创指导教师3次,企业横向项目10项,发明专利1项(2021年),软件著作权1项(2018年),参与发表论文期刊8篇。
第1章  数字集成电路验证技术的发展  	  001
1.1  数字集成电路验证的概念及地位  	  001
1.1.1 验证的概念    	    001
1.1.2 验证在设计流程中的地位    	    002
1.2  功能验证  	  003
1.2.1 功能验证过程  	  003
1.2.2 功能验证相关技术  	  004
1.2.3 功能验证相关语言  	  006
1.2.4 功能验证相关方法  	  007
1.2.5 功能验证相关研究热点  	  008
1.3  验证的历史、现在与将来  	  009
习题    	  011
第2章  数字集成电路验证基础  	  012
2.1  集成电路芯片开发流程  	  012
2.1.1 系统设计  	  012
2.1.2 功能设计  	  013
2.1.3 功能验证  	  016
2.1.4 DFT设计/逻辑综合  	  016
2.1.5 版图设计验证  	  017
2.1.6 时序验证  	  017
2.1.7 芯片试做与芯片测试  	  017
2.2  验证的概念和分类  	  018
2.3  验证与设计、测试的区别  	  019
2.4  验证环境的基本结构  	  019
2.4.1 验证环境的概念  	  019
2.4.2 验证环境的结构框图  	  019
2.4.3 简单验证环境的书写结构  	  021
2.5  验证流程  	  023
习题    	  024
第3章  数字集成电路验证的常用Verilog编程语法  	  025
3.1  验证常用Verilog语法  	  026
3.1.1 assign语法  	  026
3.1.2 always语法  	  027
3.1.3 initial、`timescale、#语法  	  027
3.1.4 `define、parameter语法  	  029
3.1.5 `include语法  	  031
3.1.6 wait、@语法  	  032
3.1.7 for、repeat、while、forever语法  	  034
3.1.8 fork…join语法  	  035
3.1.9 task语法  	  037
3.1.10 event语法  	  039
3.2  验证常用Verilog系统函数  	  040
3.2.1 $display、$write、$time、$finish系统函数  	  040
3.2.2 文件操作系统函数  	  041
3.2.3 $random系统函数  	  046
习题    	  047
第4章  被测电路功能点Case抽取  	  048
4.1  Case抽取原则  	  049
4.2  Case表的制作方法  	  050
习题    	  051
第5章  断言  	  052
5.1  断言的基本概念和应用  	  053
5.2  断言的SVA语法结构  	  053
5.2.1 SVA基本结构  	  053
5.2.2 SVA与设计的连接  	  054
5.3  断言中常用的SVA语法  	  056
5.3.1 SVA基本语法  	  056
5.3.2 系统函数  	  058
5.3.3 覆盖率属性  	  059
5.3.4 断言验证库  	  059
习题    	  060
第6章  带有约束条件的随机激励  	  061
6.1  随机激励的概念和应用  	  061
6.2  随机激励的约束条件  	  062
习题    	  066
第7章  覆盖率  	  067
7.1  覆盖率的概念和应用  	  067
7.2  覆盖率的种类  	  068
7.2.1 代码覆盖率  	  068
7.2.2 断言覆盖率  	  070
7.2.3 功能覆盖率  	  070
7.3  代码覆盖率的实现方法  	  071
7.3.1 Modelsim仿真工具运行代码覆盖率  	  071
7.3.2 VCS仿真工具运行代码覆盖率  	  073
7.4  功能覆盖率的实现方法  	  074
7.4.1 通过Verilog编程实现功能覆盖率  	  074
7.4.2 通过SystemVerilog编程实现功能覆盖率  	  077
习题    	  082
第8章  结果自动对比  	  083
8.1  结果自动对比的概念和应用  	  083
8.2  期待值模型的构建方法  	  084
8.3  结果自动对比的实现  	  084
8.3.1 构造期待值模型的方式  	  085
8.3.2 读取期待值数据的方式  	  087
8.3.3 将被测电路输出打印结果文件与期待值结果文件直接比较的方式  	  089
习题    	  090
第9章  UVM验证  	  091
9.1  事务级验证的概念  	  092
9.2  UVM验证环境的特点和结构  	  092
9.2.1 UVM验证平台的结构  	  092
9.2.2 被测电路  	  093
9.2.3 interface  	  094
9.2.4 driver  	  094
9.2.5 monitor  	  096
9.2.6 sequence与sequencer  	  098
9.2.7 agent  	  099
9.2.8 reference model  	  101
9.2.9 scoreboard  	  102
9.2.10 env  	  104
9.2.11 测试用例  	  105
9.2.12 tb_top  	  107
9.2.13 UVM环境的启动  	  108
9.3  UVM基础  	  109
9.3.1 uvm_component, uvm_object派生关系  	  109
9.3.2 UVM的树形结构  	  112
9.3.3 field automation机制  	  113
9.3.4 config_db机制  	  115
9.4  UVM验证环境的运行  	  116
9.4.1 phase机制  	  116
9.4.2 objection机制  	  118
习题    	  119
第10章  仿真验证EDA工具  	  120
10.1  常用仿真验证EDA工具  	  120
10.2  Modelsim工具简介  	  121
10.3  Modelsim的使用方法  	  121
10.3.1 【方式二】的使用方法 	  122
10.3.2 【方式三】的使用方法  	  124
10.4  Modelsim中UVM验证环境的运行方法  	  125
习题    	  127
第11章  实例解析  	  128
11.1  被测电路功能点Case抽取实例解析  	  128
11.2  断言应用实例解析  	  134
11.3  随机激励应用实例解析  	  142
11.4  覆盖率应用实例解析  	  147
11.5  结果自动对比应用实例解析  	  155
11.6  UVM验证实例解析  	  166
第12章  综合项目实例  	  183
12.1  UART传输电路的功能验证项目  	  183
12.2  图像JPEG编码DCT模块的功能验证项目  	  206
参考文献  	  222