培训对象: 数字IC设计工程师、FPGA开发工程师、ASIC前端设计人员、硬件设计初学者。
培训目标:
掌握Verilog HDL语法规范和编码风格。
能够进行可综合的RTL代码设计和编写。
熟练编写测试激励(Testbench)进行功能验证。
具备代码规范检查和综合前仿真能力。
培训内容介绍:
一、数字IC设计流程概述: 了解数字IC前端设计的完整流程(规格定义、RTL编码、功能验证、逻辑综合、形式验证)。
二、Verilog语法基础: 掌握模块定义、数据类型、操作符、赋值语句(连续赋值、过程赋值)等基础语法。
三、可综合RTL编码风格: 区分可综合与不可综合语法,掌握组合逻辑和时序逻辑的标准编码风格。
四、有限状态机(FSM)设计: 学习单进程、双进程、三进程状态机的编码方法,处理状态编码(二进制、格雷码、独热码)。
五、同步与异步设计: 理解同步电路设计原则,处理跨时钟域信号,使用两级同步器和异步FIFO。
六、代码规范与检查: 建立团队代码规范(命名规则、注释要求、缩进风格),使用工具进行代码规范检查。
七、Testbench编写基础: 创建测试激励模块,生成时钟和复位,产生激励信号,监控输出响应。
八、仿真工具使用: 使用Modelsim/VCS进行RTL仿真,查看波形,调试代码错误。
九、断言(Assertion)验证: 编写SVA断言检查设计属性,自动验证协议符合性。
十、功能覆盖率收集: 定义覆盖点(Coverpoint)和交叉覆盖(Cross),收集功能覆盖率评估验证完整性。
十一、RTL与门级仿真一致性: 对比RTL仿真与综合后门级仿真的结果,发现综合引入的问题。
十二、实战项目:I2C控制器设计: 完成从规格分析、RTL编码、功能验证到代码规范检查的完整前端设计。