课程简介:
数字逻辑仿真技术是针对数字电路设计与验证技术初学者的课程,是数字电路设计与验证工程师必须掌握的一项基本技能。该课程不仅是对数字逻辑仿真工具的描述,更重要的是对仿真技术的理论和工具的归纳,总结和升华,通过数字逻辑仿真技术的学习可以快速进入IC设计和验证领域,进而为掌握IC高级技术打下坚实的基础。
课程对象:
本课程适合于使用数字逻辑仿真器进行科研和IC设计验证的具有初级水平的学生和工程师,也适合于有志于从事IC设计验证工作,期望进入IC领域的相关人员。参加学习的学员只需要具有数字电路的基础知识即可完成本课程的学习。
课程大纲:
1.数字逻辑仿真基础 2.文本Debug 3.波形Debug 4.波形文件的后处理
5.RTL功能验证 6.Netlist仿真 7.代码覆盖率统计
获取技能:
①熟练掌握数字逻辑仿真工具VCS ②熟练掌握Makefile
③熟练掌握RTL debug技巧 ④熟练掌握Netlist Debug 技巧
⑤熟练掌握代码覆盖率的分析
数字逻辑仿真工具实践-VCS之课程概要
VCS(Verilog Compile Simulator)是SynoPSys公司的一款基于linux操作系统的数字IC仿真工具,也是目前数字IC设计/验证领域一款主流的仿真软件。在执行仿真的过程中,VCS首先把读入的RTL(Register Transfer Level)级代码(目前主要是Verilog和VHDL语言)进行编译,生成二进制可执行文件。其次,再执行这个二进制可执行文件,进行真正的仿真过程。VCS仿真工具更是数字IC设计/验证人员必须掌握的一项基本技能。
本课程主要针对数字IC设计/验证初学者,由浅入深、层层递进,用最通俗的语言对VCS的使用进行了全面的阐述,从VCS基本工作机制入手,结合具体实例对VCS主要的仿真命令进行讲解。
本课程最大的特色在于:首先,结合讲师多年从事数字IC设计的经验对VCS的理论知识进行全面的剖析。其次,在Linux操作系统下,结合具体的设计/验证实例对VCS工具的使用进行现场操作和演示,显著提升了教学效果,得到广大学员的一致好评。
本课程共分为7次,每次课程约一小时左右,具体如下:
第1课: VCS simulation basics。首先,以事件仿真队列作为切入点,介绍了VCS执行仿真的工作流程和基本原理。其次,介绍了VCS常用的基本命令、Linux操作、Vi编辑器的使用等。
第2课: VCS debugging basics。本节课程主要介绍了如何借助于VCS仿真对我们所写的Verilog/System verilog源文件进行debug。主要包括常见系统函数的使用、VCS命令行方式及VCS的图形界面方式等。
第3课: Debugging with DVE。本节课程主要针对VCS仿真工具的图形界面DVE(Discovery Visual Environment)进行全面的介绍,VCS的图形界面工作模式非常类似于WINDOWS的图形化操作,直观、明了,适合初学者。
第4课: Post-processing with VCD+ files。本节课程主要讲述如何在VCS执行仿真的过程中,把仿真的波形文件进行保存,在仿真结束之后可以借助于保存好的波形进行debug。
第5课:Debugging simulation mismatches。本节课程结合大量具体的RTL代码实例对常见的代码问题进行分析,意在让初学者在一开始就养成一个良好的写代码的习惯,提升工作效率,减少设计风险。
第6课: Fast Gate-level verification。本节主要讲述VCS在后仿真中的运用,重点介绍如何将时序信息反注到RTL网表文件中,并进行带有时序信息的后仿真过程,这也是SoC系统验证人员必须掌握的一门技术。
第7课: Code coverage。这是对验证工作的一个衡量,从Code coverage的概念入手,到Code coverage的分类,再到如何利用VCS工具进行Code coverage的收集和分析进行了深入剖析和讲解。