Conformal 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到P&R的最终网表验证设计。要做ECO的话需要Conformal ECO XL 或 GXL license。目前主要大厂都用它做ECO。(S家的formality主要是我不知道如何自动生成ECO脚本,不过去年好像出了视频,年后抽空学习一下。。。。)

        ECO的介绍就不多提了,见:

数字后端——ECO_沧海一升的博客-CSDN博客对ECO(engineering 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 ECO(pre-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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/253477.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Zabbix discoverer processes more than 75% busy

原文发表于cu&#xff1a;2016-06-22 Zabbix discoverer processes more than 75% busy原因及处理。 一&#xff0e;现象 配置了discovery任务后&#xff0c;zabbix dashboard 告警如下&#xff1a; Zabbix discoverer processes more than 75% busy 二&#xff0e;原因 1. 配置…

图像紫边消除(depurple)

图像紫边广泛存在于目前的手机摄像头、数码相机、监控摄像头等数字成像系统所得图像中,当我们使用这些设备在逆光、大光圈等条件下拍摄时,所得图像的局部区域,特别是高反差区域(亮暗对比反差很大的图像区域,比如天空、灯管与物体相接的边缘)会比较容易观察到紫边,解决图…

Swift 性能相关

起初的疑问源自于「在 Swift 中的, Struct:Protocol 比 抽象类 好在哪里&#xff1f;」。但是找来找去都是 Swift 性能相关的东西。整理了点笔记&#xff0c;供大家可以参考一下。 一些疑问 在正题开始之前&#xff0c;不知道你是否有如下的疑问&#xff1a; 为什么说 Swift 相…

HTTPS 路径配置

1: 首先安装 fiddlercertmaker.exe 文件2:Tools -> HTTPS 3: Connections 勾中Allow remote computer to connect转载于:https://www.cnblogs.com/eason-d/p/7492177.html

CMOS图像传感器——相位对焦

之前介绍了许多自动对焦的方案 自动对焦方法学习_沧海一升的博客-CSDN博客自动对焦的各类方法学习介绍https://blog.csdn.net/qq_21842097/article/details/121373263 在里面提到了遮蔽像素相位检测法,原理上算是相位检测法(Phase Detection Auto Focus,PDAF)的一种。…

Spring Cloud Config 和Spring Cloud Bus实现配置中心

2019独角兽企业重金招聘Python工程师标准>>> Spring Cloud是很多组件的集合&#xff0c;Spring将常用的技术框架进行包装和整合&#xff0c;如mybatis zookeeper rabbitmq redis等等&#xff0c;还有一些科技公司贡献出来的一些经过生产环境验证的组件如奈飞公司贡献…

CMOS图像传感器——闪烁(flicker)现象

一、概述 闪烁(Flicker),通常发生在室内场景,曝光时间设置如果不是光源能量周期的整数倍,则图像不同位置处积累的信号强度不同,并呈周期性变化,这是单帧图像的情况。在视频序列上,如果满足一定条件,视频会出现条纹模式在垂直方向上缓慢移动。 二、形成原因 1、光源 …

CMOS图像传感器——图像传感器噪声

图像传感器噪声取决于图像传感器的制作工艺、内部结构及内部补偿技术等原因,噪声反应了图像传感器的内部特性。CMOS图像传感器基本原理见: CMOS图像传感——概述_沧海一升的博客-CSDN博客_cmos图像传感器CMOS图像传感器基本介绍https://blog.csdn.net/qq_21842097/article/d…

TI Davinci DM6441嵌入式Linux移植攻略——UBL移植篇

目录(?)[] 一DM6441的Boot过程简介二DM6441的UBL移植 CCS文件夹Common文件夹GNU文件夹 移植DDR2移植Nand Flash其它 声明&#xff1a;本文参考网友zjb_integrated的文章《TI Davinci DM6446开发攻略——UBL移植》和《DAVINCI DM365-DM368开发攻略——U-BOOT-2010.12及UBL的移…

python接口自动化测试(二)-requests.get()

环境搭建好后&#xff0c;接下来我们先来了解一下requests的一些简单使用&#xff0c;主要包括&#xff1a; requests常用请求方法使用&#xff0c;包括&#xff1a;get&#xff0c;postrequests库中的Session、Cookie的使用其它高级部分&#xff1a;认证、代理、证书验证、超时…

数字图像处理——图像锐化

图像增强是图像处理的一个重要环节,早期的图像处理就是从图像增强开始的,人们研究对质量低的图像进行处理以获得改善质量后的图像。现今的图像增强还为后续的图像处理,如图像信息提取、图像识别等,提供更高识别度的图像。 从图像处理技术来看,图像的摄取、编码、传输和处理…

DAVINCI DM365-DM368开发攻略——U-BOOT-2010.12及UBL的移植

从盛夏走到深秋&#xff0c;我们继续DAVINCI DM365-DM368的开发。说来惭愧&#xff0c;人家51CTO热情支持本博客&#xff0c;而本人却一直没有像其他博客之星一样频繁更新博客&#xff0c;心里确实说不过去。管理公司确实很累&#xff0c;有更急的客户的项目要做&#xff0c;我…

SerDes接口——架构与电路

随着通信技术的飞速发展&#xff0c;高速串行互连以其结构简单&#xff0c;不需要传输同步时钟&#xff0c;相比并行传输有更高数据传输效率的优点&#xff0c;成为现代通信和数据传输的重要组成部分。随着对数据传输速率要求的不断提高&#xff0c;SERDES应运而生。它是一种时…

Springboot分模块开发详解(2):建立子工程

1.创建base-entity 选中base工程&#xff0c;右键创建一个新的maven工程 自动选择了base这个目录存放子工程 创建后&#xff0c;pom.xml修改成如下内容&#xff1a; <?xml version"1.0"?> <projectxsi:schemaLocation"http://maven.apache.org/POM/4…

图像去雾算法学习

现有的图像采集设备对外界环境的干扰非常敏感,在雾霾环境中,获取的户外图像往往退化严重,主要表现为场景特征信息模糊、对比度低、色彩失真,不利于计算机视觉系统对图像真实特征的提取,从而影响其后续的分析、理解、识别等一系列处理,很大程度上降低了视觉系统的实际应用…

训练与解码

BW算法是对某一个HMM(一个音素)进行训练&#xff0c;需要该HMM对应的观察向量(一段音频)&#xff0c;如何让一段文本中的某个音素找到对应一整段音频中的一小段音频&#xff1f;需要用到对齐来找到所有的[音素-音频]的配对。 训练时也需要解码 1&#xff0c;设训练的一句话有n…

CMOS 图像传感器——Color Filter Array

在介绍CMOS图像传感器的工作原理时候说道,像点(Sensor感光的基本单元叫做“像点”)吸收入射光后会有一定概率激发出电子,这个过程叫做光电转换。光子激发出电子会被像点下方的电场捕获并存储起来备用。像点的作用可以类比成一个盛水的小桶,它可以在一定范围内记录其捕获的…

我的一点企业做云经验

最近&#xff0c;经常有朋友问我在企业做云的经验&#xff0c;也有人问我OpenStack二次开发项目经验。正好这方面也有点经历&#xff0c;那现在就把我过往有关经历整理整理&#xff0c;总结出几条心得体会&#xff0c;分享给大家。 技术&#xff1a;我们OpenStack二次开发做了什…

【leetcode】910. Smallest Range II

题目如下&#xff1a; 解题思路&#xff1a;我的思路是先找出最大值。对于数组中任意一个元素A[i]来说&#xff0c;如果A[i] K 是B中的最大值&#xff0c;那么意味着从A[i1]开始的元素都要减去K&#xff0c;即如果有A[i] K > A[-1] - K&#xff0c;那么A[i] K 就可以作为…

CMOS图像传感器架构的演变

01、 引言 图像传感器目前用于多种应用。自 1969 年电荷耦合器件 (CCD) 发明以来&#xff0c;固态图像传感器已蔓延到各种消费市场&#xff0c;例如小型摄像机和数码相机。自 2005年以来已成为主流固态图像传感器的 CMOS 图像传感器在为 CCD 开发的技术的基础上不断发展。除了…