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

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

3天内不再提示

如何对待时序问题

倩倩 来源:芯司机 作者:芯司机 2022-09-07 10:41 次阅读

4798dd0a-2e52-11ed-ba43-dac502259ad0.jpg

时序问题几乎贯穿整个ASIC实现流程的所有环节,也许大家从教材上或者网上了解了很多解决时序问题的方法。但我今天想从实际项目出发,以一个PD工程师的角度来说说时序问题。

首先,ASIC流程都是有不同部门协调来完成,主要包括设计,综合和PR等环节,他们也为同一个时序目标而努力,PR作为最后一个环节,也是时序能否收敛的最重要环节。

如果PR人员发现post-layout后时序不满足怎么办呢?是不是立马采用各种修复的方法,或者找前端反馈,找设计人员修改呢?别急,凡事都有个流程,特别是协调合作,最能体现个人的综合素质的。

当通过ICC或者PT的report_timing 报出有时序问题的路径时,可以按照以下思路来解决:

1

检查这条path是否合法,比如可能是条异步的path,或者半周期的path,这时可以找设计人员确认这是否是一条合法的path,或许是约束写错了,或者designer不小心写了一个负沿的寄存器

2

如果合法,需要确认这条path本来逻辑就很长,还是因为PR的floorplan导致的。如果你发现时序路径上有一连串的buffer, 那很可能是floorplan导致这条path的cell之间距离很远,工具插入了很多buffer。

3

如果是floorplan导致,可以尝试在placement时把这条path group起来,加大权重使得工具优先对待这条path。

4

如果不是floorplan导致,那可以通过在pre-layout时报一下这条路径,以确认这条路径在综合时就已经有很大的时序违规了。

5

如果是逻辑问题,建议还是自己先研究一下原因,以便在找设计人员的“麻烦”的时能给出一些建议,比如是不是有些很大fanout的cell,或者一串复杂的逻辑门,或者是否有很深的逻辑深度。

6

设计人员可能告诉你这是一个多周期path,甚至是条不用check的path,这样就轻松了,直接加timing exception,甚至不用修就可以了。

7

如果设计人员告诉你这是条真实的单周期path,这时还是先建议设计人员修改代码,当然PR阶段还是有手段可以解决,但要给自己保留一点余地,同时修改代码是一劳永逸的问题。

8

如果设计人员说不能修改,或者项目已经过了RTL freeze这个节点,那只能依赖后端的手段来实现了。

9

到这个时候,才是你后端人员发挥的时候了,比如可以采用high effort的post-route时序优化命令,ECO修复方法,或者利用useful skew技术,通过调整时钟延时来修复,当然路径前后有得借才行。

10

如果还是不能解决,项目允许而且库也支持,可以采用低阈值电压的Cell(LVT)来替换一些cell,以修复setup。当然LVT的使用也会引起功耗的增加,这个需要从全局去考虑,比如项目只允许使用0.5%的LVT。

11

如果所有办法都不行,那没辙,只能采用终极手段了,那就是:“不好意思,臣妾做不到啊,降频吧”!!!

审核编辑 :李倩

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

    关注

    34

    文章

    1184

    浏览量

    120265
  • 寄存器
    +关注

    关注

    31

    文章

    5304

    浏览量

    119901
  • 时序
    +关注

    关注

    5

    文章

    385

    浏览量

    37255

原文标题:后端老司机讲述:如何对待时序问题

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

收藏 人收藏

    评论

    相关推荐

    锁存器的基本输出时序

    在深入探讨锁存器的输出时序时,我们需要详细分析锁存器在不同控制信号下的行为表现,特别是控制信号(如使能信号E)的电平变化如何影响数据输入(D)到输出(Q)的传输过程。以下是对锁存器输出时序的详细描述,旨在全面覆盖其工作原理和时序
    的头像 发表于 08-30 10:43 394次阅读

    时序逻辑电路有记忆功能吗

    时序逻辑电路确实具有记忆功能 。这一特性是时序逻辑电路与组合逻辑电路的本质区别之一。
    的头像 发表于 08-29 10:31 328次阅读

    时序逻辑会产生锁存器吗

    时序逻辑电路本身并不直接“产生”锁存器,但锁存器是时序逻辑电路中的重要组成部分。时序逻辑电路(Sequential Logic Circuits)与组合逻辑电路(Combinational
    的头像 发表于 08-28 11:03 338次阅读

    FPGA电源时序控制

    电子发烧友网站提供《FPGA电源时序控制.pdf》资料免费下载
    发表于 08-26 09:25 0次下载
    FPGA电源<b class='flag-5'>时序</b>控制

    电源时序器属于控制继电器吗

    电源时序器和控制继电器是两种不同的电子设备,电源时序器通过控制继电器实现对电源设备的顺序控制,而控制继电器则用于实现电路的通断控制。电源时序器(Power Sequencer)和控制继电器
    的头像 发表于 07-08 14:30 456次阅读

    电源时序器输出电压多少伏

    电源时序器是一种电子设备,用于控制多个电源的开启和关闭顺序,以确保设备按照正确的顺序启动和关闭。电源时序器广泛应用于工业自动化、电力系统、通信系统等领域。 一、电源时序器的工作原理 电源时序
    的头像 发表于 07-08 14:19 557次阅读

    电源时序器的原理及使用方法是什么

    电源时序器是一种用于控制多个电源设备按照一定顺序开启或关闭的电子设备。它广泛应用于音响、舞台灯光、电视广播、工业自动化等领域。本文将介绍电源时序器的原理及使用方法。 一、电源时序器的原理 电源
    的头像 发表于 07-08 14:16 1934次阅读

    FPGA工程的时序约束实践案例

    详细的原时钟时序、数据路径时序、目标时钟时序的各延迟数据如下图所示。值得注意的是数据路径信息,其中包括Tco延迟和布线延迟,各级累加之后得到总的延迟时间。
    发表于 04-29 10:39 648次阅读
    FPGA工程的<b class='flag-5'>时序</b>约束实践案例

    时序电路的分类 时序电路的基本单元电路有哪些

    时序电路是一种能够按照特定的顺序进行操作的电路。它以时钟信号为基准,根据输入信号的状态和过去的状态来确定输出信号的状态。时序电路广泛应用于计算机、通信系统、数字信号处理等领域。根据不同的分类标准
    的头像 发表于 02-06 11:25 2302次阅读

    时序电路包括两种类型 时序电路必然存在状态循环对不对

    时序电路是由触发器等时序元件组成的数字电路,用于处理时序信号,实现时序逻辑功能。根据时序元件的类型和组合方式的不同,
    的头像 发表于 02-06 11:22 1210次阅读

    Vivado时序问题分析

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

    电源时序规格及控制框图

    电源时序规格及控制框图
    的头像 发表于 12-15 09:31 670次阅读
    电源<b class='flag-5'>时序</b>规格及控制框图

    电源时序规格:电源导通时的时序工作

    电源时序规格:电源导通时的时序工作
    的头像 发表于 12-08 18:21 771次阅读
    电源<b class='flag-5'>时序</b>规格:电源导通时的<b class='flag-5'>时序</b>工作

    电源的时序控制

    电子发烧友网站提供《电源的时序控制.pdf》资料免费下载
    发表于 11-23 14:30 4次下载
    电源的<b class='flag-5'>时序</b>控制

    基于FPGA的时序分析设计方案

    时钟的时序特性主要分为抖动(Jitter)、偏移(Skew)、占空比失真(Duty Cycle Distortion)3点。对于低速设计,基本不用考虑这些特征;对于高速设计,由于时钟本身的原因造成的时序问题很普遍,因此必须关注。
    发表于 11-22 09:29 655次阅读
    基于FPGA的<b class='flag-5'>时序</b>分析设计方案