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

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

3天内不再提示

多级分层分区和建模方案中涉及的主要时序和实现挑战

PCB线路板打样 来源:LONG 2019-08-09 15:57 次阅读

多级分层分区和实现涉及包含内部物理子分区的分区。换句话说,在这种方法中,对分区本身进行分层分割。考虑SoC分区方案的示例,如图1所示。级别0对应于整个芯片的单个平面实现,其中唯一被建模的物理接口是与外部世界有关的那个(以蓝色显示)。换句话说,在芯片内部,只有逻辑边界,没有物理边界。

多级分层分区和建模方案中涉及的主要时序和实现挑战

图1:SoC中典型的多级分层分区方案

跨越核心,APP_SUB_SYSTEM等的内部逻辑交互(以黑色显示)因此被覆盖在平面设计本身内。这种类型的方案本身具有最小的接口预算复杂性(在下一节中讨论),涉及分区间交互,因为只有一个分区。但是,这种方案不适用于大型设计,主要是由于EDA工具运行时间,内存和机器资源要求的限制。

为了简化这种设计方案,设计人员可以选择使用单级分层分区如第1级所示。在这种情况下,设计人员最终会得到4个物理分区或块,如表1所示。在这种方法中,工程资源方面的设计限制被放宽,但是分区间路径变得更加复杂,就预算而言,需要特别小心。将0级与1级进行比较,我们观察到在0级时只有外部接口路径导致了主要的不确定性,在1级中,几乎所有的分区间路径都为我们提供了I/O接口的类似不确定性和复杂性。然而,级别1和级别0(外部接口)的接口路径的性质或多或少相似,因此可以使用相同的方法和约束来对它们进行建模。级别0和级别1接口路径之间存在非常重要的差异。 0级接口路径由协议控制,其中一些协议具有为SoC给出的明确预算。 SoC只能遵守这些预算。另一方面,对于块间路径,预算编制位于设计者手中。没有标准协议来管理交互,预算分配通常是迭代的。

转向第2级,我们进一步将第1级的分区划分为更小的子块。有了这个,我们最终留下了7个独特的物理分区。这大大有助于减少工具运行时间和资源限制,因为设计已经分解成更小的部分;但是类似于1级,分区间路径&不确定性也在增加。在级别1的情况下,我们能够模拟类似于级别0的外部接口的分区接口;第2级带有更复杂的接口时序和实现,特别是如果涉及的路径跨越多个分区。此外,优化的好处也显着降低,因为跨物理边界的优化不会非常有效。

因此,在改进时序和实现关闭方面,多级分区通常可能是赌博。这种策略的回报取决于接口建模技术的质量以及物理分区本身所涉及的逻辑的成熟度曲线。在下一节中,我们将讨论有关多级分区方案的一些独特挑战及其可能的解决方案(如果有的话)。

表I:图1所示设计中各种分区的层次结构级别。

TOP(1)

分区级别 LEVEL 0(实例计数) LEVEL 1(实例计数) LEVEL 2(实例计数)
分层
TOP_SOG(1) TOP_SOG(1)
DUAL_CORE_TOP(2) DUAL_CORE_TOP (2)+核心(4)
GENERIC I/O CONTROLLER(2) GENERIC I/O控制器(2)+IO_FIFO(2)
APP_SUB_SYSTEM(1) APP_SUB_SYSTEM(1)+APP_CORE(1)
总分区计数 1个唯一的 2唯一+ 2复制 3个唯一+4个重复

多级分层时序收敛和实施中的挑战

分层时序收敛固有地存在其缺点,主要是由物理边界上的界面不确定性和波纹效应驱动。除了计时,物理限制进一步造成了实施周期的其他方面的瓶颈,如平面图关闭,引脚布局,泄漏减少等。负责这些的主要因素可分为以下几类:

a)物理不确定性:

物理不确定性反映了由物理隔离引起的关闭不确定性在实现期间的分层分区。物理不确定性通常由于三个因素而产生:

i。跨接口的不可预测的数据路径分布:

跨分区边界的数据路径分布在很大程度上取决于分区的物理成熟度和逻辑成熟度。由于这种不可预测性而出现的最常见挑战之一是跨接口边界的输入/输出延迟的复杂和迭代预算。除此之外,基于附加阶段的放置,CTS和路由跳跃的不确定性进一步使这个简单的任务更加迭代和依赖于实现。让我们考虑多级分区APP_SUB_SYSTEM的例子,如图1所示。我们可以清楚地看到,在TOP_SOG界面,有两类交互:APP_SUB_SYSTEM与TOP_SOG& APP_CORE与TOP_SOG可以建模如下:

APP_SUB_SYSTEM - TOP_SOG预算公式:

的 的的

Logic_Distribution_Inside_APP_SUB_SYSTEM

+ Stage_Margin_APP_SUB_SYSTEM

+ Stage_Margin_TOP_SOG

APP_CORE - TOP_SOG预算公式:

Logic_Distribution_Inside_APP_CORE

+ Stage_Margin_APP_CORE

+ Stage_Margin_APP_SUB_SYSTEM

+ Logic_Distribution_Inside_APP_SUB_SYSTEM

+ Stage_Margin_TOP_SOG

上面的等式只是建议在为子预算建模时在多级分区设计中,必须考虑所有中间分区的阶段余量和逻辑分布(即路径开始和结束分区除外)。如果预算是从最高层开始的,那么这个预算也必须合理地分成相似的部分,以便正确实施和时间关闭。例如,让我们假设顶部给出了一个10ns的裕度(时钟周期的50%)到APP_CORE的IN2REG路径,时钟为20ns。现在,假设80%的逻辑位于APP_CORE内,而剩余的20%位于APP_SUB_SYSTEM内作为直通路径,这意味着在任何阶段APP_SUB_SYSTEM内的预算不应超过2ns,对于APP_CORE,它应限制在8ns。除此之外,还必须在此限制内对单个块阶段余量进行建模。

因此,设计人员必须将此路径建模为:

APP_CORE的I/P最大延迟= 20 - (0.8 * 10)= 12ns

I/P_port_budget + APP_CORE_stage_margin= 12ns

对于APP_SUB_SYSTEM的I/P到O/P最大延迟= 0.2 * 10 = 2ns

I/P_to_O/P_port_budget + APP_SUB_SYSTEM_margin= 2ns

虽然上述计算看起来相当简单,但问题在设计成熟,逻辑分布以及阶段边距发生变化时开始。因此,在多分区方案中,每个后续分区的数量变量将增加至少2,这通常会迫使设计人员进行多次迭代以使这些预算成熟,以实现正确的收敛时序收敛。

II。分区边界内外的不常见路径:

除逻辑分布外,不常见的时钟路径是另一个噩梦,在分层关闭的情况下困扰设计者。虽然不常见的路径不确定性的建模是与预算分布类似的类型的挑战,但是更加有害的方面来自与不常见路径相关联的不匹配的形式。不常见路径的一些常见后果是:

CPPR或CPPR降级的变化。

输入延迟的变化以及I/O建模

接口保持违规的大幅增加

由于时间窗口的变化引起的噪声变化

解决此类不匹配的唯一方法是减少跨越分区的不常见路径,并尝试对其进行建模,同时考虑与之相关的所有类型的不确定性。但是,随着分区级别的增加,不常见路径的建模和减少都会成为设计人员面临的主要挑战。在大多数情况下,由于非常见路径的余量通常有点悲观,因此当我们达到最低级别的分区时,通过每个分区级别关联的次要悲观倾向于累积到主要块中。

图2显示了一个典型示例,其中可以轻松地看到跨分区层次结构的不常见路径的变化。对于顶级分区TOP_SOG,非常见路径在Z之后立即开始,其中进一步进入APP_SUB_SYSTEM的层次结构,APP_CORE分别为Y和X.这意味着与TOP_SOG相比,在APP_CORE上应用时钟降额的影响要小得多,因此导致时序不匹配,这可能导致跨接口的保持违规大幅增加,并且由于APP_CORE与APP_SUB_SYSTEM不匹配而产生噪声变化。本身与TOP_SOG不匹配。

多级分层分区和建模方案中涉及的主要时序和实现挑战

图2:多级分层设计中不常见和常见路径的影响。

iii。常见路径不匹配:

之前我们讨论了多级分区设计中不常见路径的不利影响,但是与外部接口相关的公共路径也同样关注,特别是在噪音分析的情况下。公共路径延迟的简单改变可以在正常分析中传递小的CPPR调整,然而,这种延迟的改变可能在早先没有贡献的时序窗口中产生重叠;因此,降低噪声分布并在甚至REG2REG内部路径中产生违规,这些路径早先遇到噪声。引入更多级别的分区进一步增加了这种不匹配的可能性,因此即使在噪声之后也会对块级设计闭合的质量产生怀疑。

考虑REG_REG路径跨越REG E和REG F在APP_CORE中如图所示图2.这是APP_CORE的完全内部路径,但是由于公共路径本身(直到X)的变化,从TOP_SOG和APP_SUB_SYSTEM级别看时钟边缘到达时延迟的变化会产生完全不同的时序窗口重叠,如图所示虽然这些路径可以通过过度优化来修复,以模拟这种不匹配,但仍然在设计执行期间,人们永远无法确定公共路径是否保持不变。

多级分层分区和建模方案中涉及的主要时序和实现挑战

图3:共用路径对多级分层设计中SI(噪声)时序窗口的影响。

b)物理限制:

在多级分区中作为物理分区的数量增加,因为物理限制导致放置问题。物理限制通常反映在有限的端口/引脚/宏放置或建模中。以下是在处理物理挑战时应考虑的一些关键点:

i。块和子块的所有相同端口应放置在附近,它们之间的布局逻辑最小。这些端口通常用于为TOP和子块提供连接,因此应使用最小缓冲区并且应非常小心地处理放置。循环路径中涉及的端口,宏和逻辑的放置,即in2reg,然后是reg2out,反之亦然,应该通过考虑时间以及DRV和DRC的合理余量来驱动,因为这些很可能是瓶颈。后期设计阶段。
iii。子块可能存在一些时序模型问题。例如,当使用典型的物理实现EDA工具(如Cadence EDI)时,我们通常会为子块指定接口逻辑模型(ILM)。使用ILM时,有一些端口(复位,扫描启用等),由于其大小限制,其相关逻辑未被转储到ILM内部(复位转到所有触发器,因此如果在ILM中保留复位逻辑,则ILM压缩将为低)。这导致在相同端口之间留下未优化的逻辑,因为它在EDI端不可见,如图4所示。为解决此类情况,可以使用以下一些替代方案:

在较高层次分区内的此类端口之间设置最大延迟,其预算取决于它们的定时时钟。在多个时钟的情况下,我们需要给它们最坏的情况预算,以便信号可以从块端口到达子块。

如果有少数端口正在通话并且它们之间具有未优化的逻辑,我们可以手动更改该逻辑,以便它们花费最少的时间并将它们设置为在实现端不接触。然而,这种方法并不是一个明确的长期解决方案,因为在每次优化之后生成手动定时ECO可能会变得很麻烦。

多级分层分区和建模方案中涉及的主要时序和实现挑战


图4:基于ILM建模的未优化复位路径。

c)亚优化优化&复制问题:

次优优化是分层设计的主要实现相关限制。随着硬分区数量的增加,对边界和接口逻辑的优化也会增加。当大量使用这种分区的复制块时,这成为一个更令人担忧的问题。考虑图1中的 dual_core_top 模块。与内部逻辑定时相比,两个复制内核中的接口逻辑仍然没有那么优化。

因此,如果用户要离开示波器25mW泄漏减少,对于单个核心似乎是一个小问题,但是将其乘以复制品的数量,在图1的设计中,用户现在错过了相当于4 * 25 = 100mW的泄漏减少平面设计。此外,对于复制的分区,设计人员主要有两个选项,要么针对最坏情况优化块,要么针对常见场景对其进行优化。对于前者,设计师很可能最终不会优化设计,而对于后者,设计师可能最终会遇到可能无法轻易解决的问题。

例如,假设a公共存储器数据总线到达四核顶部分区的4个核心,如图5所示。现在由于物理位置,核心4的时钟延迟和总线数据偏差可能比core1高200-250ps。现在对于略微满足的路径,这可能会导致最佳角落中最近的core1的额外保持违规,而core4中的设置违规在最坏的角落中最远,而在core2和core3处不会出现此类违规。因此,如果设计者选择修复这些违规,尽管没有核心具有相同的设置以及关键路径,但是由于复制和物理放置,这种情况仍然可能存在。

多级分层分区和建模方案中涉及的主要时序和实现挑战

图5:复制在四核类似块内的多级分层分区中的影响。

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

    关注

    17

    文章

    2968

    浏览量

    21647
  • 华强PCB
    +关注

    关注

    8

    文章

    1831

    浏览量

    27719
  • 华强pcb线路板打样

    关注

    5

    文章

    14629

    浏览量

    42976
收藏 人收藏

    评论

    相关推荐

    关于功能验证、时序验证、形式验证、时序建模的论文

    半定制/全定制混合设计的特点,提出并实现了一套半定制/全定制混合设计流程功能和时序验证的方法。论文从模拟验证、等价性验证和全定制设计的功能验证三个方面对FF-DX的分支控制部件进行功能验证。对于模拟
    发表于 12-07 17:40

    FPGA学习指南合集:Verilog HDL那些事儿(建模篇,时序篇,整合篇)

    的控制精度。这显然是非常“传统”而且“古老”的方法,虽然有效但往往就是最费精神和时间的。相反的,主动式是一种讲求在代码上和想象上实现“精密控时”的设计方法。主动式的设计方法是基于“理想时序”“建模
    发表于 04-20 15:45

    智能手机实现环境光感测遇到的主要挑战有哪些?如何克服这些挑战

    本文介绍在智能手机实现环境光感测遇到的主要挑战,以及如何克服这些挑战,以实现背光灯更高的反应灵
    发表于 03-08 07:25

    多片段时序数据建模预测实践资料分享

    时序数据建模分析已经有很多相关的应用了,在这个领域里面LSTM网络绝对是占据着非常重要的作用,自从LSTM网络提出以来,陆陆续续又出现了很多相关的变种网络,传统的时序建模工作
    发表于 06-30 07:52

    PCB如何进行分区布线?

    PCB如何进行分区布线?    设计分区可以分解为物理分区和电气分区。物理分区
    发表于 03-25 11:54 2417次阅读

    一种分层递阶机制的实时多层建模方法

    端口对现有元模型技术进行扩展,采用可扩展标记语言( XML)实现端口的描述,利用基于信道的端口消息传递机制完成不同层模型之间通信。实际实时控制系统建模结果表明,与单层模型相比,分层递阶的建模
    发表于 01-16 16:24 0次下载
    一种<b class='flag-5'>分层</b>递阶机制的实时多层<b class='flag-5'>建模</b>方法

    基于Linux 的两种分层存储实现方案

    ,如何在 Linux 主机上,使用 Linux 现有的机制,实现数据的分层存储?本文主要介绍了 Linux 平台上两种不同的实现分层存储的
    发表于 06-04 06:24 2947次阅读
    基于Linux 的两种<b class='flag-5'>分层</b>存储<b class='flag-5'>实现</b><b class='flag-5'>方案</b>

    在ADIsimRF配置和仿真多级器件

    本视频,我们将介绍如何在ADIsimRF建模多级器件。
    的头像 发表于 06-03 01:47 3574次阅读
    在ADIsimRF<b class='flag-5'>中</b>配置和仿真<b class='flag-5'>多级</b>器件

    如何在ADIsimRF建模多级器件

    本视频,我们将介绍如何在ADIsimRF建模多级器件。
    的头像 发表于 07-31 06:13 2368次阅读

    RP Fiber Power多级放大器建模方案解析

    和包层泵浦)。在这里,我们想分享一些关于如何用我们的软件RP Fiber Power建模这样的多级放大器的想法。 每个阶段一个脚本 概念上最简单的方法是为不同的阶段使用单独的模拟脚本,或者使用交互式表单对它们建模。这可能是一种适
    的头像 发表于 05-24 17:28 1702次阅读
    RP Fiber Power<b class='flag-5'>中</b>的<b class='flag-5'>多级</b>放大器<b class='flag-5'>建模</b><b class='flag-5'>方案</b>解析

    多轴机器人和机床时序挑战综述

    多轴机器人和机床时序挑战综述
    发表于 05-29 14:08 11次下载

    在MATLAB/simulink建模时的两种不同实现方式

    导读:本期文章主要介绍在MATLAB/simulink建模时的两种不同实现方式,一种是直接用现成的文件库的模块进行搭建,一种是用Sfun
    的头像 发表于 09-15 10:07 1828次阅读

    MATLAB/simulink两种实现建模方式的优势

    导读:本期文章主要介绍在MATLAB/simulink建模时的两种不同实现方式,一种是直接用现成的文件库的模块进行搭建,一种是用Sfun
    的头像 发表于 09-15 10:10 4907次阅读

    使用PyMC进行时间序列分层建模

    在统计建模领域,理解总体趋势的同时解释群体差异的一个强大方法是分层(或多层)建模
    的头像 发表于 06-19 16:26 594次阅读
    使用PyMC进行时间序列<b class='flag-5'>分层</b><b class='flag-5'>建模</b>

    低功耗系统在降低功耗的同时保持精度所涉及时序因素和解决方案

    本文将介绍低功耗系统在降低功耗的同时保持精度所涉及时序因素和解决方案,以满足测量和监控应用的要求。
    的头像 发表于 07-11 16:16 639次阅读
    低功耗系统在降低功耗的同时保持精度所<b class='flag-5'>涉及</b>的<b class='flag-5'>时序</b>因素和解决<b class='flag-5'>方案</b>