嵌入式 > 技术百科 > 详情

以一种混合的设计流程克服层次化设计的局限(一)

发布时间:2023-04-28 发布时间:
|
在平面设计流程中,布局和布线资源总是可见的和可用的。然后设计者可以进行布线优化并避免拥塞从而达到高质量设计优化。但很长的工具运行时间和大存储空间需求,使得大型的优化密集的设计对平面设计的需求减少了。

另一方面,传统的层次化设计优化流程极大地减少了工具的运行时间和对存储空间的需求。这些设计流程允许设计者将一项设计分成许多块并分别并行优化这些模块。但传统的层次化设计流程会导致穿过这些模块的关键路径和布置在这些模块周围的关键网络的时序达不到最理想的程度。

因此,开发出来一种混合层次化设计流程以克服高性能dsp应用中的挑战。传统的层次化设计流程无法实现时序收敛,而混合层次化设计流程成功地实现了此项设计。

混合层次化设计流程综合了传统平面设计优化和层次化设计优化流程的优点。与平面设计优化相比,它可以对一个大型设计进行分层次的、高效、高质量结果的优化。借助混合层次化流程,设计工程师能对穿越模块的关键顶层网络进行布线。在顶层设计优化中可以对全局时序路径中的模块进行进一步的优化。

混合层次化流程克服了传统层次化设计优化方法的局限性,因为全局网络不需要布置在模块的周围。此外,模块优化对于模块平面布置的质量和模块时序预算的精确性较不敏感。

借助混合层次化设计流程,在没有折衷优化目标的情况下完成高效、可预知的设计成为可能。它利用先进的设计技术将现有设计工具的能力发挥到了极致。

层次化设计的局限性

通常,在层次化设计中很难为每个模块做出良好的i/o预算,因为在布局前设计者没有对顶层全局路径时序和模块间布线进行精确预测。由此导致的时序约束可能会产生问题,因为在传统层次化流程的顶层设计优化中,不能改变模块化i/o路径的时序。

在传统层次化流程中,模块在被整合到顶层设计中时均被视为黑匣子。因此,它们成为了布局和布线的障碍。必须将模块互连网络布在模块之间的通道内,这些布线往往比较长,并且会导致时序和信号完整性问题。设计者可以在通道中插入信号重复器和网络分插器以解决有问题的布线,但是这种策略也有可能不起作用。图1为导致长信号布线的全层次化设计的简单示意图。

通道化平面布置也可能会导致内核约束布局中的布线阻塞,尤其是在有很多跨芯片连接的设计中。因此,比起平面方法传统层次化时序收敛方法通常需要更多的芯片面积。混合层次化流程

混合层次化设计流程引入了伪模块的概念。设计中的有些部分如果被建模成黑匣子,将会使顶层设计发生时序违例和布线阻塞,这时可用伪模块对这些部分建模。设计者分别对这些伪模块同其它常规模块并行地进行优化,但是在顶层设计优化过程中他们不将伪模块视作黑匣子,而是将伪模块的优化的网表和单元布局整合在顶层设计中。然后,伪模块布局和布线资源在顶层设计优化中成为了可见的,可以穿过伪模块对跨芯片网络进行布线(图2)。

设计者也可以优化顶层伪模块i/o路径逻辑,在此过程中他们可以得到穿过伪模块i/o路径的全局路径的精确时序。即使一个伪模块的网表出现在顶层设计中,顶层设计优化仍然是非常有效的,因为在将伪模块整合在顶层设计中之前就对其进行了优化。这样的“预优化”显著地减小了顶层设计中违例的数量和规模,并因此而减少了优化运行时间。混合流程与传统层次化流程的第一个区别是,混合设计将设计分成了三类子设计:模块、伪模块和胶合逻辑模块。每一种子设计都具有特别的约束条件。

一个模块可以在顶层优化中被建模成一个黑匣子而不会引起主要问题。就像在传统层次化设计中一样,设计者可分别并行处理每个模块的时序收敛。模块中所插入的布置在模块i/o管脚附近的一个i/o缓冲环确保了良好的模块时序质量,并可防止在将模块整合到顶层设计中时可能违反天线规则的情况。

伪模块则是对时序要求很严格的一类子设计,它没有经过良好的i/o预算,或者因为必须被布置在很多全局网络将要布线的区域而不适合建模成黑匣子。

一个胶合逻辑模块是指一个负责完成多个跨芯片网络间全局信号传递的子设计。很难对这一类型的子设计进行局部优化而又不造成阻塞和顶层设计中全局网络和和设计规则的破坏。因此,鉴于全局信号路径和布线阻塞问题,设计者需要在顶层设计优化中对胶合逻辑模块进行优化。

预算、布局和平面规划

在混合方法中,设计者可以采用基于布局的预算摘要和rtl预算相结合的方法推导出i/o时序预算。在设计的“管道清洁(pipe-cleaning)”时序收敛后,可以依照布局后时序对预算进行提炼。(管道清洁时序收敛是指在完全编码和验证前初步设计上的从rtl到布局的时序收敛。)在混合流程中,伪模块i/o预算不如常规模块i/o预算那么关键,因为设计者可以在顶层优化中优化伪模块的i/o路径。

在传统的层次化流程中,适当的物理约束,如针脚侧分配和针脚布置联锁对于实现高质量的针脚分配是必要的。在混合层次时序收敛流程中,只要针脚布置在正确的一侧,伪模块针脚分配就不需要是最理想的,因为在伪模块优化中针脚仅作引导i/o单元布局之用。伪模块i/o连接穿过其i/o单元,这样可以在必要时作进一步的顶层优化。

与基于功能的模块划分相比,混合流程中的划分需要考虑更多的物理实现和时序收敛要求。划分过程与平面布局相结合。

设计者可以从顶层平面布局图中得到伪模块平面布局图。伪模块平面布局的尺寸取决于已定义的单元用途,并要考虑潜在的局部布线拥塞和穿过伪模块的全局路径的数量。该尺寸也取决于目标制作工艺,因为布线资源随工艺而变化。对于一个深亚微米cmos工艺,根据55%至75%的单元面积利用率来确定伪模块的尺寸是一个好方法。由于穿过伪模块的全局网络布线的影响,在将已优化的伪模块整合到顶层设计中时,更高的单元利用率往往会导致重大的伪模块时序变化。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
光纤通道的实时数字图像存储