网站运营有前途吗,做柜子好的设计网站,锐仕方达猎头公司,网页视频下载手机之前听说过一句话#xff0c;没有修过ECO的人生是不完整的。最近就给我整得再次完整了。。。。。。 最近赶项目#xff0c;RTL freeze之后#xff0c;后仿发现出了bug#xff08;还好拦下来了#xff0c;不然头更大#xff09;#xff0c;于是做了一次function ECO… 之前听说过一句话没有修过ECO的人生是不完整的。最近就给我整得再次完整了。。。。。。 最近赶项目RTL freeze之后后仿发现出了bug还好拦下来了不然头更大于是做了一次function ECO记录下流程。。。。项目还是delay了。。。。。永远记得checklist一定得过 RTL freeze就是说从今天起大家谁也不能再修改RTL了。RTL freeze是一个分水岭。在freeze之前你仿真也好看代码也好FPGA验证也好发现的任何bug都可以通过修改RTL的方式进行直接更正。但是freeze之后被freeze的RTL将会进行综合STA然后送给后端人员做floor plan电源综合时钟综合布局布线等等。这些后端流程都是极其耗时的而且通常不可逆的。 闲话扯完了下面进入正题。 Conformal是Cadence家的一款形式验证驱动的等效、低功耗和ECO解决方案使用可为用户提供独立的等效性检查解决方案支持从RTL到PR的最终网表验证设计。要做ECO的话需要Conformal ECO XL 或 GXL license。目前主要大厂都用它做ECO。S家的formality主要是我不知道如何自动生成ECO脚本不过去年好像出了视频年后抽空学习一下。。。。 ECO的介绍就不多提了见
数字后端——ECO_沧海一升的博客-CSDN博客对ECOengineering change order进行简单介绍https://blog.csdn.net/qq_21842097/article/details/121717450 Conformal支持Flattened ECO Flow和Hierarchical ECO Flow。这里主要说明Flattened ECO Flow这也是官方推荐的。Flattened下工具会将 ECO 分析重点放在从平面比较中确定的非等效关键点上且更容易设置所有 ECO 补丁都可以用一个命令创建。 FLOW如下 1、使用 SET ECO OPTION -flat 命令setup mode指定运行 FEF 流:
SET FLATTEN MODEL -ECO
SET FLATTEN MODEL -ENABLE_ANALYZE_HIER_COMPARE 它还会自动将以下选项添加到 ANALYZE HIER_COMPARE 命令
-CONstraints
-NOEXact_pin_match
-FUNCTION_Pin_mapping
-INPUT_OUTPUT_Pin_equivalence
-THRESHOLD 0 //便于工具确定所有模块边界 2、为ANALYZE HIER_COMPARE命令增加额外指令。 3、使用 ADD COMPARE POINTS -all 和 COMPARE 命令开始flatten设计之间的比较。 这里主要是确定非一致性的关键点。 4、使用 COMPARE ECO HIERARCHY 命令根据模块边界由步骤 1 确定将非一致性点在步骤 2 中确定分解为其子模块。 5、使用 ANALYZE ECO -hierarchical 命令创建所有必要的patches。 6、分别使用 APPLY PATCH 和 OPTIMIZE PATCH 命令应用和优化patches。 下面主要说下function ECOpre-mask的流程这次我跑的就是这个只能说不幸中的万幸吧。。。 流程如下 1、将旧 RTL 与旧网表进行比较。应该结果是等价的这里需要通过添加扫描约束来禁用扫描。 2、综合修改后的RTL。一般来说用与创建旧网表相同的综合工具、版本和脚本。 尽量减少任何更改。 3、将新 RTL 与新网表进行比较。应该结果是等价的。 4、将旧 RTL 与新 RTL 进行比较。结果是不等价的。这里需要注意的是新的RTL读入为Golden design旧的RTL读入为Revised design。 5、比较旧网表和新网表。 6、使用旧网表和新网表创建 ECO patch文件。在验证了第 5 步中的所有非等价点都是由功能更改引起的之后使用 Conformal 为每个非等价模块创建一个patch文件。 在此步骤中使用的任何 ADD ECO PIN 命令也必须用于第 7 步和第 8 步。如果在创建 ECO patch 文件期间进行了任何展平则必须对第 7 步和第 8 步执行相同的展平。 7、应用patch并写出 ECO 网表。在分析所有 ECO 模块后使用patch文件创建 ECO 网表然后写出尚未映射或优化的网表。 8、优化补丁。这一步有点类似综合。 9、ECO网表进行等价性检查。一致性检查必不可少。 还是看脚本比较直接。ANALYZE ECO 命令会为每个非等价模块创建patch文件。 patch文件定义了一个patch模块并包含将改变设计功能的更改。 patch模块名称是附加了 _eco 的原始非等价模块名称。我这里主要是对比了两个网表然后进行处理
set log file eco.log -replaceset flatten model -eco
set flatten model -gated_clock
set flatten model -enable_analyze_hier_compareread library xxx.lib -replace -libertyread design r2.v -golden -replace
read design r1.v -revised -replace
//
//等价的写法
//set x conversion e -both
//read design r1.v -golden -replace
//read design r2.v -revised -replace
//report design data
report black boxuniquify -all -nolibrary -revised
add module attribute mod* -eco_module -noflatten -bothset system mode lec
analyze hier -eco_aware
add compare point -all
compare
compare eco hierarchy
analyze eco patch.v -preserve_clock -replace -hierarchical
//analyze 有-ecopin_dofile选项来增加eco pins这次没用到set system mode setup
apply patch -golden -keephierarchy -auto
optimize_patch -workdir working_directory \-library lib_file_list \-sdc sdc_filename \-instancenaming “ECOinst_%d” \-netnaming “ECOnet_%d” \-sequentialnaming “ECOreg_%s” \-synexec “genus” \-verbose
report eco changes -script -file xxx.script -replace
write eco design -newfile eco.v -replace -report ECOprelogics.rpt