一 前端设计:
1. 主要目的:输出最优的逻辑网表
2. 主要流程:
1)系统架构/模块的设计 :整个设计的蓝图,个人理解重中之重,前期的深思熟虑可大大减小后期返工,缩短设计周期。该阶段未明确用什么工具和语言进行建模?
----这一步一般是架构师根据需求进行架构设计
2)系统架构/模块的验证 :主要的高级语言如C/C++, SV等,主流工具为:?;主流验证方法:UVM?
----这一步是架构验证,我们这里叫做ESL建模,一般用systemc进行建模,对架构进行仿真
3)模块设计 :主要语言为hdl如verilog,VHDL等,也有网友说电路图和状态转移图作为设计输入,不过对后两种理解不多。工具:普通文本编辑即可,vim等等
----这一步,设计同事根据架构师撰写的FS和AS,理解架构意图,撰写DS,并根据DS基于Verilog语言编写RTL代码
4)功能仿真(前仿) :验证设计功能是否满足要求,主要工具:Synopsys家的VCS, Verdi,Mentor的Modelsim以及Cadence的Xcelium,Incisive系列(NC-Verilog...);主要语言为:SV,哪些脚本语言?
----这一步,验证同事同步学习FS和AS,分解测试点,制定验证计划,进行功能验证,基于system Verilog语言,以前用VMM验证方法学,现在用UVM,工具我们用的是VCS
5)逻辑综合 :将RTL等设计转为门级网表,门级网表与提供的约束,综合库等相关。主要工具:Synopsys的Design Compile,Synplify;Cadence的PKS。
----这一步由设计同事完成,85%、95%、100%阶段都会输出网表,进行资源、功耗等方面的评估等等
6)验证 :主要是验证综合后的网表文件是否满足时序和所需功能要求,主要为Synopsys的Prime Time 和Formality。
----这一步由验证同事完成,即门仿和后仿,但也不是所有的模块都进行门仿和后仿。另外据说有些公司是不搞后仿的,但是我们一直在坚持这做门仿和后仿 |