0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

时序(Timing)对功能ECO有多重要

sanyue7758 来源:NanDigits 2023-07-05 14:06 次阅读

功能ECO与时序ECO的关系

功能ECO主要指当RTL更新后对后端APR网表做的功能方面的改动。功能ECO可以由手工或者自动化工具完成,得到ECO网表。再由后端布局布线工具(如ICC2、Innovus)读入ECO网表,进行ECO Place和ECO Route

时序ECO主要指为了解决后端ECO Route时的setup和hold时序违例,可以用后端工具指令、外部工具(本厂或者第三方)、人工替换Cell、优化DRC等方法完成。

5b043b56-1af0-11ee-962d-dac502259ad0.jpg

从上图可以看出,功能ECO主要是由前端工程师做,时序ECO主要是由后端工程师做。前端工程师做完一版功能ECO后,需要对ECO网表进行LEC检查,确认ECO网表与新RTL等价,之后再把验证无误的ECO网表交给后端工程师。

后端工程师拿到ECO网表后,到ICC2/Innovus里做后端实现,并解决DRC、时序等问题。在PostMask ECO时,ECO网表的很小的改动都可以可能引起DRC和时序的违例,原因可能是:Cell太远、连线太长、驱动能力不够、绕线拥挤等。遇到时序问题,首先是利用后端工具来优化。小时序问题可以手工或者用Timing ECO工具优化过去,大时序问题就需要前端工程师进行返工。

前端工程师返工时,有哪些办法呢?一是,挑选距离近的sparecell;二是,尽量复用现有stdcell,减少改动的连线的根数;三是,从RTL层面简化修改方案,能不新加DFF就不加,能复用现成的信号就复用现成的信号。四是,与项目经理、产品经理、市场部一起对BUG进行排序,优先解决影响客户使用的BUG,软件绕不过去的BUG,放弃一些次要的BUG。

所以功能ECO常常需要迭代好几次,才能得到一个折中的结果。当然如果必须要解决的BUG太多,或者后端无法实现,那么就只能走Full layer Tapeout,但芯片交付客户也会多晚几个月。现在芯片市场竞争异常激烈,你的产品不行,别人顶上,客户可能就没了。

NanDigits GOF ECO的方案

我们一直在思考如何才能减少功能ECO的迭代次数,让前端工程师在做功能ECO时就能够提早看到时序的影响,并在功能ECO的同时就解决掉时序问题。我们尝试、实践、并成功开发出多个方案。

第一,是前端逻辑层面,自研了LEC(逻辑等价性)算法,利用这个算法能够精准找到新RTL与老APR网表的差异,这会大大缩小ECO的范围。

第二,原创了RTL Patch ECO,在APR网表里写RTL,这种方法可以找到更精准的修改点,弥补了算法在少数案例中表现不佳的情况。

第三,自研了在APR网表中查找RTL等价net的功能。由于综合优化、后端优化,人工在网表中查找rtl等价net是非常麻烦的事情。点一下按钮或者一个命令,GOF ECO就会通过分析网表、两根net做LEC等方式找到等价net。这对手工ECO网表、网表不等价debug等提供了便利。

第四,GOF ECO支持读入DEF/LEF,从中得到每个cell的物理信息。在spare cell映射时考虑这些cell位置信息,挑选出修改点附近更合适的spare cell。当附近没有某个cell时,会做等价变换,用附近的其它cell代替。

第五,GOF ECO实现了spare cell类型的约束,前端工程师可以根据当前spare cell的类型和数量,来指导工具实现更优化的方案。

第六,最新发布的GOF ECO实现了类似PT的report_timing的功能,这样前端工程师在功能ECO的同时就可以评估时序,不需要等后端同事迭代,就能够提前知道当前功能ECO结果在后端实现的难度和风险。也可以同时评估多个ECO方案,择优提供给后端。另外,前端工程师还可以利用GOF API来提前解决一部分时序问题,不需要全部丢给后端。不但减轻了后端的压力,还减少了ECO迭代次数,缩短了ECO时间,加速了芯片交付客户的进度。




审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • RTL
    RTL
    +关注

    关注

    1

    文章

    385

    浏览量

    59795
  • DRC
    DRC
    +关注

    关注

    2

    文章

    149

    浏览量

    36183
  • ECO
    ECO
    +关注

    关注

    0

    文章

    52

    浏览量

    14900
  • apr
    apr
    +关注

    关注

    0

    文章

    11

    浏览量

    6480

原文标题:时序(Timing)对功能ECO有多重要

文章出处:【微信号:处芯积律,微信公众号:处芯积律】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    ENOB是什么? ENOB对于选择示波器多重要

    ENOB是什么?ENOB说明了什么?如何判断ENOB的大小?ENOB对于选择示波器多重要
    发表于 05-06 09:26

    内存时序究竟有多重要呢?究竟该如何去选择内存条呢?

    内存时序究竟有多重要呢?究竟该如何去选择内存条呢?DDR内存时序是高一些好还是低一些好?
    发表于 06-18 08:20

    嵌入式架构多重要

    嵌入式架构多重要?要做到嵌入式应用的代码逻辑清晰,且避免重复的造轮子,没有好的应用架构怎么行?如果没有好的架构,移植将会是一件很痛苦的事情。如果没有好的架构,复用是最大的难题,没法更大限度的复用原有的代码。接下来嵌入式ARM便和大家分享一下,嵌入式架构那些事儿……
    发表于 07-22 06:00

    单片机中的系统时钟多重要

    一、单片机中的系统时钟多重要?系统时钟就好比人的心脏,芯片没有时钟就是一块废料。51单片机不需要配置时钟,因为一个时钟管理所有的功能资源。STM32单片机低功耗的原因之一在于时钟。每个功能
    发表于 07-29 09:30

    嵌入式架构多重要

    嵌入式架构多重要?要做到嵌入式应用的代码逻辑清晰,且避免重复的造轮子,没有好的应用架构怎么行?如果没有好的架构,移植将会是一件很痛苦的事情。如果没有好的架构,复用是最大的难题,没法更大限度的复用
    发表于 10-27 08:15

    单片机中的系统时钟多重要

    单片机中的系统时钟多重要?STM32芯片的时钟简介,时钟从哪里来?芯片的系统时钟从哪里来?系统时钟如何向下分配时钟资源?
    发表于 11-02 07:24

    详细介绍时序基本概念Timing arc

    时序分析基本概念介绍——Timing Arc
    的头像 发表于 01-02 09:29 2.4w次阅读
    详细介绍<b class='flag-5'>时序</b>基本概念<b class='flag-5'>Timing</b> arc

    时序约束资料包】培训课程Timing VIVADO

    好的时序是设计出来的,不是约束出来的 时序就是一种关系,这种关系的基本概念哪些? 这种关系需要约束吗? 各自的详细情况哪些? 约束的方法
    发表于 08-06 15:08 545次阅读

    AppleID是什么 苹果官方科普多重要

    虽然时常和Apple ID打交道,但你知道Apple ID多重要吗?今天,苹果官方公众号进行了全面科普,再也不要把自己的Apple ID借给别人了。
    的头像 发表于 03-08 11:39 5707次阅读

    详解Xilinx FPGA的ECO功能

    ECO 指的是 Engineering Change Order ,即工程变更指令。目的是为了在设计的后期,快速灵活地做小范围修改,从而尽可能的保持已经验证的功能时序ECO 是从
    的头像 发表于 08-02 09:18 3863次阅读
    详解Xilinx FPGA的<b class='flag-5'>ECO</b><b class='flag-5'>功能</b>

    什么是ECOECO的应用场景和实现流程

    ECO指的是 Engineering Change Order ,即工程变更指令。目的是为了在设计的后期,快速灵活地做小范围修改,从而尽可能的保持已经验证的功能时序
    的头像 发表于 04-23 09:06 5278次阅读
    什么是<b class='flag-5'>ECO</b>?<b class='flag-5'>ECO</b>的应用场景和实现流程

    什么是时序路径timing path呢?

    今天我们要介绍的时序分析概念是 **时序路径** (Timing Path)。STA软件是基于timing path来分析timing的。
    的头像 发表于 07-05 14:54 2219次阅读
    什么是<b class='flag-5'>时序</b>路径<b class='flag-5'>timing</b> path呢?

    时序分析基本概念介绍—Timing Arc

    今天我们要介绍的时序基本概念是Timing arc,中文名时序弧。这是timing计算最基本的组成元素,在昨天的lib库介绍中,大部分时序
    的头像 发表于 07-06 15:00 3524次阅读
    <b class='flag-5'>时序</b>分析基本概念介绍—<b class='flag-5'>Timing</b> Arc

    Vivado时序问题分析

    有些时候在写完代码之后呢,Vivado时序报红,Timing一栏很多时序问题。
    的头像 发表于 01-05 10:18 2166次阅读

    pcb应变测试多重要?一文了解!

    pcb应变测试多重要?一文了解!
    的头像 发表于 02-24 16:26 1090次阅读