RTL仿真教程 Version Author Date Modify V1.0 SixRoom 2011/05/17 创建文件 做了一年的芯片设计,实在感觉力不从心,终于决定要回到嵌入式开发上来,今后可能很少再涉足SOC 验证这个行业了,特将自己的仿真验证的一点心得写下来,供大家参考。 一个芯片的设计分为前端设计和后端设计,下面才是所谓的BSP 开发和系统开发。 一般来说,前端设计包括RTL 设计和仿真验证(Verification),主要负责逻辑实现,通常是使用Verilog/VHDL 之类语言,进行行为级的描述: RTL 设计主要是使用硬件描述语言实现功能模块电路,做的出色的话可以从模块设计上升到芯片构架设计师。 Verification 是在RTL 代码release 以后进行功能和时序仿真,一般包括前仿、VMM 验证(白盒)和FPGA 验证(黑盒)。 后端,则是主要负责将前端的设计变成真正的schematic(版图)&layout(布局),流片,量产。 芯片设计行业的前后端其实很类似于嵌入式开发中的PCB 制作:前端相当于使用CAD 软件绘制原理图,后端进行布局布线并做出PCB 板。 我们这里主要介绍仿真,仿真也是包括前仿和后仿: 前仿(功能仿真、代码仿真)的主旨在于验证电路的功能是否 符 合 设计要求 ,其特点是不考虑 电路门 延 迟 与 线延 迟 ,主要是验证电路与 理想 情况 是否 一致 ,在芯片设计的最 初 阶 段 发现问 题 。 后仿(门 级仿真和时序列 仿真)是指 对 使用综 合 软件综 合 后生 成的门 级网 表 进行仿真,不加 入时延 文件的仿真就 是门 级仿真,可以检 验综 合 后的功能是否 满 足功能要求 ,其速 度 比 功能仿真要慢 ,比 时序仿真要快 。在门 级仿真的基 础 上加 入时延 文件(.sdf)的仿真就 是时序仿真,比 较 真实地 反 映 了逻辑的时延 与 功能。综 合 考虑 电路的路径 延 迟 与 门 延 迟 的影响 ,验证电路能否 在一定时序条 件下满 足设计构想 的过 程,是否 存 在时序违 规 。 常用的后仿方 式有 VMM 验证(白盒)和FPGA 验证(黑盒): VMM 仿真验证方 法 是synopsys 公 司 在多 年的工 程实践 中总 结 出来的一种 方法 学 ,主要是在linux 环 境 下搭 建硬件模型 ,然 后编 写激 励 (TestBench)进行仿真验证,一般分为BFM 和SDV,主要工 具 使用VCS 和RVDS,当然 也可以使用Modelsim 等 工 具 代 替 , ...