FPGA
1、综合 将Verilog转化为LUT级别单元2、打包 将LUT级别单元转化为CLB级别单元
3、布局 将用到的CLB单元放到FPGA阵列上4、布线 确定单元之间的连接路径
设计会Verilog 验证会systemVerilog和UVM
数字IC设计流程
前端:SPEC定义RTL编写DV验证
SPEC定义(规格定义文档)专门写这个的。定义芯片的各项参数指标,会划分很多个,然后编写代码,进行验证,验证之后继续修改定义,一直循环。
MRD–SPEC0、1、2–DUT0、1、2
MRD市场调研文档,分析MRD,做多个SPEC定义文档。
中端: DC–FM verification–STA
DC design compiler:逻辑综合,将RTL代码翻译成门级网表netlist,也就是将电路打平成,与或非等逻辑构成的电路,综合完成仍需验证,成为后仿,post-sim
STA static timing analysis:检查set up time和hold time是否满足,是否存在timing violation,如果存在,寄存器的采样结果可能不稳定
FM formal verification:STA是时序上,Formal是功能上验证打平后的网表,功能有没有影响,工具可完成。
后端:DFT–FloorPlan–CTS–Place&Routing–Layout
DFT design for test:在芯片设计之初,会设计一些测试电路,
用来测试芯片功能,比如:bist,scan.与DV的区别:DV:验证设计
出来的跟spec一致,DFT:验证生产出来的跟设计一致。
FloorPlan :布局规划,要考虑place routing,最终目的是布局合理,减小芯片die size,一个好的 Floorplan能大量节约成本。
CTS clock tree synthesis:时钟树综合,数字芯片基于clock驱动,时钟单独布线,确保clock在到达各个寄存器时,延迟最小。
Place&Routing ;Layout :物理版图实现,最终以GDSII文件的形式交给foundry生产。
数字验证工程师的定位:
基本职责:尽可能多的找到芯片bug,确保设计符合spec。中级职责:完善验证flow,开发自动化工具。高级职责:开发验证环境,引入新的flow,如最近开始火的HLS
数字验证的工作内容:
1、理解DUT feature,interface
2、与designer,verifier leader review
3、code review,use sv,uvm
4、Run pass smoke case,sanity case
5、Run pass regression tests
6、run pass DTC tests(direct test cases),including register
walk,memory ECC and parity check ,CPU noise tests etc
7、collect coverage ,including line,toogle ,FSM etc
8、add cases to make coverage nearly 100%
9、coverage review
10、write verification document