cisen / blog

Time waits for no one.
129 stars 20 forks source link

cadence genus相关 #1056

Open cisen opened 2 years ago

cisen commented 2 years ago

总结

常用命令

根据关键词,找到层次结构 get_cells -hierarchical l2_dataram 或者 find / -instance l2_dataram这个应该更常用。另外注意,层次分隔符/不能用表示。 find /designs/TopInst/instances_hier/SubInst -instance l2_dataram*在某个层次结构下,查找。

根据实例名称,找出所有pin脚位置 get_pins -of_objects [get_cells -hierarchical l2_dataram]

根据实例名称,找出指定名称的pin脚位置 get_pins -of_objects [get_cells -hierarchical l2_dataram] -filter "lib_pin_name =~ Q*"

根据实例名称,找出其调用module get_references [get_cells -hierarchical l2_dataram]

根据module名称,找出对应的层次结构 get_cells -hierarchical -filter "ref_name=~ ModuleName"

保存genus工具运行的session 适合关闭综合步骤后,能快速返回之前的综合环境里。 适合debug或者report;比如综合结束后,想report更多信息,如果没有保存session,那么就得重新综合。

get_attribute set_attribute 综合的name rule,加前缀和后缀。可解决命名唯一化的问题。 change_name -subdesign -prefix ${TOPMODULE} -suffix _0 1 report timing只能report WNS;report qor可以report WNS/TNS等。 WNS: WorstNegativeSlack。 TNS: TotalNegativeSlack。

report qor

v2-2414101b0e985e7217ba068e0965678e_r

genus_user.pdf

cisen commented 2 years ago

Cadence Genus综合总结

一、工具用途:Genus进行逻辑综合

二、综合的flow:基本流程,不加scanchain:

10304663-ea348e6e3675114a

10304663-fe51c718b4e04446

此处备注:

syn_generic:将RTl代码映射到系统自带逻辑库 syn_map:映射到本地目的工艺库

三、三种Low_power的方法:

1.多工作模式Multi-VT library:SVT / HVT /LVT 在cell delay上:HVT > SVT > LVT ;在power上:HVT < SVT < LVT, 综合时尽量使用HVT。 2.power gate: 3.clock gating:时钟门控技术: 通过关闭芯片中暂时用不到的功能和时钟,从而实现节省电源功耗的问题。 数字功耗来源:1.静态功耗:漏电流的影响 .........................2.动态功耗:开关功耗和短路功耗。 ..........开关功耗:电路在开关过程中对输出节点的负载电容充放电所消耗的功耗。 ..........短路功耗:在某个电压输入范围内,NMOS和PMOS管都导通,这时就 会出现电源 ............................到地的直流导通电流,这就是开关过程中的短路功耗。

四、LEC:logic Equivalence check.

1.形式验证分类:1.等价性验证:其一RTL&netlist gate level,其二,gate level &gate level. ............................2.基于模型的验证:时态逻辑模型规范,受电路规模的影响。 ............................3.基于定理的验证:时态和规范用公理证明

2.重要命令: .......write_do_lec -golden_design rtl -revised_design > rtl_to_final.tcl/final.v .......lec -dofile rtl_to_final.tcl

3.做lec一般有两种方法,一种是你在做综合的时候,顺便就生成dofile,以备LEC。 另一种就是直接写脚本来做,一般流程是:1,设置golden和revised file ; 2,设置naming rule,blackbox之类;3,读Lib;4,设置约束(dft相关的东西);5,设置system_mode以及compare之类的(R2N和N2N稍有区别);6,产生report。

cisen commented 2 years ago

http://blog.eetop.cn/blog-1592-6946163.html Genus 是 C 家的综合工具,优质,好用。 Genus 内含一个小工具,可以生成各种不同 flow 的模板,可以帮助用户快速上手。看懂这些模板里的命令,加加减减,就可以有自己的综合脚本了。

image.png

生成一个最 basic 的模板

write_template -outfile genus_template_basic.tcl

生成一个带 DFT/scan chAIn的模板。

write_template -outfile genus_template_dft.tcl -dft

生成一个低功耗设计模板, CPF guided low power design。现在有了 UPF,CPF 可以淘汰了,但 flow 还是差不多的,模板作为参考还是有价值的。

write_template -outfile genus_template_dft_cpf.tcl -dft -cpf

每个设计可能都会有一些特殊的地方。 模板只是提供一个起步。最终综合出一个非常优化的电路,还是需要深入理解自己的设计,customize 脚本,加上一些特殊的设置,指导工具优化。

Genus 支持 Conformal。 模板里的 write_do_lec 生成 Conformal 的脚本。 通常无需改动,或小改一下,就可以跑 Conformal LEC 了,省去不少时间。

Genus 还支持 ET (Encounter Test),Modus。 模板里的 write_et_atpg 生成 ET, Modus 脚本,快速上手 ATPG。

做 mixed signal 的朋友,如果购买 IC6.x,Spectre,再买 Genus, Innovus 可以有非常大的折扣,几乎免费。