在逻辑合成阶段期间优化电路设计以减少布线拥塞的设备的制作方法

文档序号:6591752阅读:276来源:国知局
专利名称:在逻辑合成阶段期间优化电路设计以减少布线拥塞的设备的制作方法
技术领域
本实用新型一般地涉及电子设计自动化。更具体而言,本实用新型涉及用于 在逻辑设计阶段期间优化电路设计以减少在布置和布线阶段期间的布线拥塞(routing congestion)的技术和系统。
背景技术
在电路设计的网表上执行布线操作是可能耗费若干天完成的昂贵工艺。更糟糕的 是,不能总是确保布线操作成功。在一些情形中,标准单元布线不成功,因为微芯片的区域 没有足够的布线资源来对该区域中存在的信号互连进行布线。该情形通常称为布线拥塞。 通常通过使用单元布置算法来缓和布线拥塞以弥补布线操作,并且从电路设计的 网表中产生优化的物理实现。该布置算法试图将标准单元散布在其中算法认为将发生拥塞 的物理实现区域中。然而,仍然存在其中布置算法无法解决物理实现上的每个拥塞问题的 许多情况。

发明内容根据本实用新型的一方面,提供一种用于在逻辑合成阶段期间优化电路设计以减 少在布置和布线阶段期间的布线拥塞的设备。该设备可以包括识别装置,被配置用于识别 所述电路设计中的第一电路结构,其中所述第一电路结构包括在第一组信号源和第一组信 号负载之间的第一组互连,其中所述第一组互连在所述第一电路结构中造成第一数量的交 叉,且其中所述第一数量的交叉预期会造成在所述布置和布线阶段期间的布线拥塞;生成 装置,被配置用于生成功能上与所述第一电路结构等同的第二电路结构,其中所述第二电 路结构包括在第二组信号源和第二组信号负载之间的第二组互连,其中所述第二组互连在 所述第二电路结构中造成第二数量的交叉,所述第二数量的交叉大大少于所述第一数量的 交叉;以及代替装置,备配置用于用所述第二电路结构代替所述电路设计中的所述第一电 路结构,由此大大减少所述电路设计中的交叉,这又减少在所述布置和布线阶段期间的布 线拥塞。 在一个实施例中,所述识别装置包括确定装置,被配置用于确定所述第一电路结 构是否实现一组积和表达式,其中所述一组积和表达式与一组公共的M个最小项相关联, 且其中相应积和表达式是最多M个最小项的逻辑和;以及其中所述生成装置包括排序确 定装置,用于针对所述一组M个最小项来确定排序;最小项表生成装置,用于针对相应积和 表达式生成最小项表,其中所述最小项表包括与相应积和表达式相关联的一组最小项;划 分装置,用于将所述最小项表划分成P个表分区,其中第一分区的最小项与第二分区不相 交;积和电路结构生成装置,用于针对相应表分区生成积和电路结构;以及布尔或0R逻辑 结构生成装置,用于针对相应积和表达式生成布尔或OR逻辑结构,其中所述布尔或逻辑结 构组合来自所述P个表分区的积和电路结构的输出。 在一个实施例中,所述识别装置包括确定装置,用于确定所述第一电路结构是否包括用于一个或更多个信号源的至少M个信号负载;以及其中所述生成装置包括选择装 置,用于选择与所述M个信号负载相关联的1级逻辑;划分装置,用于通过对所选择的逻辑 执行最小切割划分,将所选择的逻辑划分成最多P个分区;以及针对相应信号源第一耦合 装置,用于将相应分区的输入信号耦合到对应缓冲器的输出;以及第二耦合装置,用于将所 述对应缓冲器的输入耦合到相应信号源。 在一个实施例中,所述识别装置包括确定装置,用于确定所述第一电路结构是否 实现只读存储器ROM,其中所述ROM具有M位的地址输入;以及其中所述生成装置包括划 分装置,被配置用于将所述第一电路结构划分成最多P = 2k个分区,其中相应分区具有M-k 位的地址输入;以及耦合装置,被配置用于将相应分区的输出信号耦合到P路复用器的对 应入口 ,其中所述P路复用器具有k位的选择输入。 在一个实施例中,所述识别装置包括确定装置,用于确定所述第一电路结构是否 是复用器,其中所述复用器具有最多N = 2M个输入信号源,且具有M位的选择输入;以及其 中所述生成装置包括划分装置,用于将所述第一电路结构划分成最多P = 2k个分区,其中 相应分区具有M-k位的选择输入;以及耦合装置,用于将相应分区的输出信号耦合到P路复 用器的对应入口 ,其中所述P路复用器具有k位的选择输入。 在一个实施例中,所述识别装置包括确定装置,用于确定所述电路结构是否由至 少M个信号负载共享;以及其中所述生成装置包括选择装置,用于选择与所述M个信号负 载相关的1级逻辑;划分装置,用于通过对所选择的逻辑执行最小切割划分,将所选择的逻 辑划分成最多P个分区;以及产生装置,用于产生用于信号负载的相应分区的所述第一电 路结构的实例。 在一个实施例中,所述识别装置包括确定装置,被配置用于确定所述第一电路结 构是否实现用于M个可测性设计(DFT)扫描链的解压縮逻辑,其中所述解压縮逻辑产生一 组输出信号,其中相应输出信号驱动对应的DFT扫描链,且其中相应DFT扫描链由寄存器链 实现;以及其中所述生成装置包括划分装置,被配置用于将所述M个扫描链划分成P个扫 描链分区;以及生成装置,被配置用于通过与用于分区Pi中其它扫描链的局部DFT解压縮 器实现共享逻辑,针对分区Pi中的相应DFT扫描链生成DFT解压縮器的局部实现。 在一个实施例中,所述识别装置包括确定装置,用于确定所述第一电路结构是否 实现用于M个可测性设计DFT扫描链的压縮逻辑,其中相应DFT扫描链由寄存器链实现,其 中所述压縮逻辑包括M个输入信号负载,且其中所述压縮逻辑产生用于所述M个DFT扫描 链的压縮信号输出;以及其中所述生成装置包括第一确定装置,用于基于所述M个DFT扫 描链的布置顺序确定所述M个DFT扫描链的排序;第二确定装置,用于基于所述压縮逻辑的 M个信号负载的布置顺序来确定所述M个信号负载的排序;以及耦合装置,用于基于所述压 縮逻辑的M个输入信号负载和M个DFT扫描链的对应排序,将所述M个DFT扫描链的输出 信号耦合到所述压縮逻辑的M个输入信号负载。 本实用新型的一个实施例提供一种包括方法与设备的系统,其可以在逻辑设计阶 段期间优化电路设计以减少在布置和布线阶段期间的布线拥塞。逻辑合成阶段优化电路设 计并且生成电路网表,该电路网表包括一组电路实例并描述实例之间的大量互连。在逻辑 合成阶段之后执行布置和布线阶段,以针对网表的电路实例确定物理布置和针对网表的互 连确定布线路径。[0013] 在逻辑合成阶段期间,系统识别电路设计中的第一电路结构,该第一电路结构预
期会造成在布置和布线阶段期间的布线拥塞。该第一电路结构包括在第一组信号源和第
一组信号负载之间的第一组互连,其中述第一组互连在第一电路结构中造成第一数量的交
叉,且其中第一数量的交叉预期会造成在布置和布线阶段期间的布线拥塞。 接着,系统生成第二电路结构,该第二电路结构在功能上与第一电路结构等同,并
且不会造成在布置和布线阶段期间的布线拥塞。该第二电路结构包括在第二组信号源和
第二组信号负载之间的第二组互连,其中第二组互连在第二电路结构中造成第二数量的交
叉,该第二数量的交叉上大大少于第一数量的交叉。 然后,系统用第二电路结构代替电路设计中的第一电路结构,由此大大减少电路 设计中的交叉,这又减少在布置和布线阶段期间的布线拥塞。 在一些实施例中,系统通过确定第一电路结构是否实现一组积和表达式来识别电 路设计中的第一电路结构。该组积和表达式与一组公共的M个最小项相关联,且相应积和 表达式是最多M个最小项的逻辑和(disjunction)。此外,为了生成第二电路结构,系统针 对该组M个最小项来确定排序,并针对相应积和表达式生成最小项表。该最小项表包括与 相应积和表达式相关联的该组最小项。接着,系统将最小项表划分成P个表分区,使得第一 分区的最小项与第二分区不相交,且系统针对相应表分区生成积和电路结构。接着,系统针 对相应积和表达式生成布尔或(0R)逻辑结构,以组合来自P个表分区的积和电路结构的输 出。 在一些实施例中,系统通过确定第一电路结构是否包括用于一个或更多个信号源 的至少M个信号负载,来识别电路设计中的第一电路结构。此外,为了生成第二电路结构, 系统选择与M个信号负载相关联的1级逻辑,并通过对所选择的逻辑执行最小切割划分,将 所选择的逻辑划分成最多P个分区。然后,针对相应信号源,系统将相应分区的输入信号耦 合到对应缓冲器的输出,并将该对应缓冲器的输入耦合到相应信号源。在这些实施例的一 些变形中,系统可以将相应缓冲器的输入耦合到对应输入缓冲器的输出,并将该对应输入 缓冲器的输入耦合到对应的信号源。 在一些实施例中,系统通过确定第一电路结构是否实现只读存储器(ROM)电路结 构来识别电路设计中的第一 电路结构。此外,为了生成第二电路结构,系统将ROM电路结构 划分成最多P = 2k个分区。ROM电路结构具有M位的地址输入,且相应分区具有M-k位的 地址输入。然后,系统将相应分区的输出信号耦合到P路复用器的对应入口 ,使得P路复用 器具有k位的选择输入。 在一些实施例中,系统通过确定第一电路结构是否是复用器电路结构来识别电路 设计中的第一电路结构。复用器具有最多N二 2M个输入信号源,且具有M位的选择输入。 此外,为了生成第二电路结构,系统将复用器电路结构划分成最多P = 2k个分区,使得相应 分区具有M-k位的选择输入。然后,系统将相应分区的输出信号耦合到P路复用器的对应 入口 ,使得P路复用器具有k位的选择输入。 在一些实施例中,系统通过确定电路结构是否由至少M个信号负载共享,来识别 电路设计中的第一电路结构。此外,为了生成第二电路结构,系统选择与M个信号负载相关 联的1级逻辑,并通过对所选择的逻辑执行最小切割划分,将所选择的逻辑划分成最多P个 分区。然后,系统针对信号负载的P个分区中的每个分区产生第一电路结构的实例,并将相应实例的输出耦合到对应分区的对应输入。 在一些实施例中,系统通过确定第一电路结构是否实现用于M个可测性设计 (DFT)扫描链的解压縮逻辑,来识别电路设计中的第一电路结构。解压縮逻辑产生一组输 出信号,其中相应输出信号驱动对应的DFT扫描链,且相应DFT扫描链由寄存器链实现。此 外,为了生成第二电路结构,系统将M个扫描链划分成P个扫描链分区。然后,系统通过与 分区Pi中其它扫描链相关联的定制DFT解压縮器实现共享逻辑,针对分区Pi中的相应DFT 扫描链生成DFT解压縮器的定制实现。 在一些实施例中,系统通过确定第一电路结构是否实现用于M个可测性设计 (DFT)扫描链的压縮逻辑,来识别电路设计中的第一电路结构,其中相应DFT扫描链由寄存 器链实现。压縮逻辑包括M个输入信号负载,并产生用于M个DFT扫描链的压縮信号输出。 此外,为了生成第二电路结构,系统先基于M个DFT扫描链的布置顺序确定该M个DFT扫描 链的排序,并基于压縮逻辑的M个信号负载的布置顺序来确定该M个信号负载的排序。然 后,系统基于压縮逻辑的M个输入信号负载和M个DFT扫描链的对应排序,将M个DFT扫描 链的输出信号耦合到压縮逻辑的M个输入信号负载。

图1图示了根据本实用新型实施例的集成电路的设计和制作过程中的各种阶段。 图2图示了根据本实用新型实施例的能够产生可以缓和布线拥塞的用于电路设 计的网表的逻辑合成系统。 图3A图示了根据本实用新型实施例的造成布线拥塞的、用于多个关联SoP逻辑树 的逻辑结构。 图3B图示了根据本实用新型实施例的被划分成SoP逻辑结构的最小项表。 图3C图示了根据本实用新型实施例的已被优化从而缓和布线拥塞的、用于多个 关联SoP逻辑树的逻辑结构。 图3D图示了根据本实用新型实施例的用于构建优化的SoP逻辑结构的过程。 图4A图示了根据本实用新型实施例的造成布线拥塞的、用于多个并行高扇出缓 冲器树的逻辑结构。 图4B图示了根据本实用新型实施例的已被优化从而缓和布线拥塞的多个并行缓 冲器树。 图5A图示了根据本实用新型实施例的在缓冲器树和复用器树之间的布线拥塞。 图5B图示了根据本实用新型实施例的已被优化从而缓和布线拥塞的缓冲器树。 图6A图示了根据本实用新型实施例的在长距离上共享逻辑的逻辑结构。 图6B图示了根据本实用新型实施例的在局部区域上共享逻辑以缓和布线拥塞的 逻辑结构。 图7A图示了根据本实用新型实施例的DFT扫描链阵列。 图7B图示了根据本实用新型实施例的用于多个扫描链的DFT解压縮器的示例性 模块级实现。 图7C图示了根据本实用新型实施例的在长距离上执行逻辑共享的、用于DFT解压 縮器的可能实现。[0038] 图7D图示了根据本实用新型实施例的缓和布线拥塞的、用于DFT解压縮器的示例 性实现。 图7E图示了根据本实用新型实施例的在DFT压縮器实现和扫描链阵列之间的布 线拥塞。 图7F图示了根据本实用新型实施例的已被优化从而缓和布线拥塞的、用于DFT压 縮器的示例性实现。 图8A图示了根据本实用新型实施例的R0M。 图8B图示了根据本实用新型实施例的缓和布线拥塞的示例性ROM实现。 图9A图示了根据本实用新型实施例的复用器。 图9B图示了根据本实用新型实施例的缓和布线拥塞的示例性复用器实现。 图10图示了根据本实用新型实施例的有利于在逻辑设计阶段期间优化电路设计 以减少在布置和布线阶段期间的布线拥塞的示例性计算机系统。 图11是根据本实用新型实施例的用于在逻辑合成阶段期间优化电路设计以减少 在布置和布线阶段期间的布线拥塞的设备的示意图。
具体实施方式呈现以下描述以使本领域技术人员能够实现和利用本实用新型,并且在特定应用 及其要求的背景下提供该描述。本领域技术人员将容易清楚对公开的实施例的各种修改, 并且这里限定的一般原理可以适用于其它实施例和应用而不脱离本实用新型的精神和范 围。因此,本实用新型不限于所示实施例,而是将被赋予以与这里公开的原理和特征一致的 最广范围。 在本具体实施方式
中描述的数据结构和代码通常存储于计算机可读存储介质上, 该介质可以是能够存储用于由计算机系统使用的代码和/或数据的任何设备或者介质。计 算机可读存储介质包括但不限于易失性存储器、非易失性存储器、磁和光学存储设备(比 如盘驱动器、磁带、CD(压縮盘)、DVD(数字多功能盘或者数字视频盘)或者现在已知或者 以后开发的能够存储计算机可读介质的其它介质。 在本具体实施方式
中描述的方法和过程可以具体实现为代码和/或数据,该代码 和/或数据可以存储在如上所述的计算机可读存储介质中。当计算机系统读取和执行存储 在计算机可读存储介质中的代码和/或数据时,计算机系统执行具体实现为数据结构和代 码并存储在计算机可读存储介质中的方法和过程。 此外,下文描述的方法和过程可以包含在硬件模块中。例如,该硬件模块可以包括 但不限于专用集成电路(ASIC)芯片、现场可编程门阵列(FPGA)以及其他现在已知或者以 后开发的可编程逻辑器件。当该硬件模块被激活时,该硬件模块执行包含在该硬件模块中 的方法和过程。 集成电路(IC)设计流程 图1图示了根据本实用新型实施例的集成电路的设计和制作过程中的各种阶段。 该IC设计过程通常从使用EDA过程(操作110)来实现的产品思想(操作100)开 始。 一旦设计定稿,通常就进行流片(t即-out)(事件140),此时经过制作过程(操作150) 以及封装和组装过程(操作160),产生已制成的微芯片(结果170)。[0054] EDA过程(操作110)包括下文描述的操作112-130,该描述仅用于示例目的,而不 意味着限制本实用新型。具体而言,实际集成电路设计可以要求设计者在与这里描述的顺 序不同的顺序中执行设计操作。 系统设计(操作112):在这一阶段,设计者描述实现产品思想的功能。他们也可 以进行假设(what-if)规划以精化该功能,执行成本分析等。硬件-软件架构划分可以出 现在这一阶段。可以在这一阶段使用的来自Synopsys公司的示例性EDA软件产品包括
ModelArchitect、Saber⑧、System studio和DesignWare⑧。 逻辑设计和功能验证(操作114):在这一阶段,编写用于系统中的模块的VHDL或 者Verilog代码,并且检验该设计的功能准确性。更具体而言,检验该设计以保证它产生正 确响应。可以在这一阶段使用的来自Synopsys公司的示例性EDA软件产品包括VCS⑧、
Vera 、 DesignWare 、MagellanTM、Formality 、ESP禾口Leda⑧。 合成和可测性设计(操作116):在这一阶段,可以将VHDL/Verilog源代码转译成 网表。可以针对目标技术优化网表,并且可以设计和实施测试以检验已制成的微芯片。可 以在这一阶段使用的来自Synopsys公司的示例EDA软件产品包括Design Compiler 、 Physical Compiler⑧、Test Compi 1 er、 Power Compi 1 erTM、 FPGA Compiler、
TetraMAX⑧和DesignWare⑧。 网表验证(操作118):在这一阶段,检验网表与时序约束的相符性和与VHDL/ Verilog源代码的对应性。可以在这一阶段使用的来自Synopsys公司的示例性EDA软件产
品包括Formality⑧、Prime丁ime⑧和VCS⑧。 设计规划(操作120):在这一阶段,构造并分析用于微芯片的整个布图规划以便 进行定时和顶级布线。可以在这一阶段使用的来自Synopsys公司的示例性EDA软件产品 包括Astr。TM禾口 IC Compiler产品。 物理实现(操作122):在这一阶段出现布置(对电路元件的定位)和布线(对互 连的布置)。可以在这一阶段使用的来自Synopsys公司的示例性EDA软件产品包括Astro 和IC Compiler产品。 分析和提取(操作124):在这一阶段,在晶体管级验证电路功能;这又允许假设的 精化。可以在这一阶段使用的来自Synopsys公司的示例性EDA软件产品包括Astr0RailTM、 PrimeRail、PrimeTime⑧和Star-RCXT 。 物理验证(操作126):在这一阶段,检验设计以保证制造、电问题、光刻问题和电 路的正确性。Hercules 是可以在这一阶段使用的来自Synopsys公司的示例性EDA软件
广PR o 分辨率增强(操作128):这一阶段涉及到对布局的几何形状操控以提高设计的可 制造性。可以在这一阶段使用的来自Synopsys公司的示例性EDA软件产品包括Proteus/ Progen、 ProteusAF禾口 PSMGen。 掩膜数据预备(操作130):这一阶段提供用于产生掩膜以产生成品芯片的"流片" 数据。可以在这一阶段使用的来自Synopsys公司的示例性EDA软件产品包括CATS⑧系 列产品。 概述[0066] 作为布线拥塞的结果,IC设计过程中的布置和布线阶段可能无法生成电路设计的 物理实现。当电路设计的物理实现包括相当大数量的在电路设计的互连之间的交叉时布线 拥塞发生,而与在物理实现中如何布置电路设计的逻辑实例无关,并且与在物理实现中如 何对互连进行布线无关。 电路设计的物理实现上的布线拥塞很大程度上受到电路设计的网表拓扑的影响。
网表拓扑是在逻辑合成期间作出的大量强制性决定的结果。这些决定中的许多决定被认为
可以减小裸片尺寸或改进所制成的微芯片的性能。反而言之,存在这些尺寸和性能优化是
物理实现上布线拥塞的原因的场合,这实际上削减了所预期的性能增益。 本实用新型的实施例提供逻辑合成系统,其可以生成缓和布线拥塞的网表拓扑。
该逻辑合成系统通过促成在逻辑合成过程期间的决定,避免预期会造成布线拥塞的网表拓
扑,从而在IC设计过程的早期缓和布线拥塞问题。更具体而言,一些实施例通过避免在长
距离上共享逻辑的网表拓扑来缓和布线拥塞,而其它实施例通过避免造成不期望的在电路
设计的互连之间的大量交叉的网表拓扑来缓和布线拥塞。 在一些实施例中,从通常的尺寸和性能优化的角度而言,为缓和布线拥塞而通过 逻辑合成系统执行的优化可能是不直观的(counter-intuitive)。通过逻辑合成系统执行 的优化可以通过重建用于电路结构的逻辑拓扑(该电路结构包括不期望的在电路设计的 互连之间的大量交叉),而不采用促成在多个信号负载之中逻辑共享的特定尺寸和性能优 化,来缓和布线拥塞。 图2图示了根据本实用新型实施例的能够产生可以缓和布线拥塞的用于电路设 计208的网表212的逻辑合成系统200。逻辑合成系统200包括拓扑优化机构202和逻辑 合成机构204。 在操作期间,拓扑优化机构202接收电路设计208,并且可以生成用于电路设计 208的优化逻辑拓扑210。这样做时,拓扑优化机构202将电路设计208的逻辑拓扑操控为 如下逻辑拓扑,该逻辑拓扑可以防止逻辑合成系统200生成已知会造成布线拥塞的网表结 构。在该实施例的一些变形中,在逻辑合成系统200使用逻辑合成机构204从优化逻辑拓 扑210生成网表212之前,拓扑优化机构202从电路设计208生成优化逻辑拓扑210。在 其它变形中,在逻辑合成机构204从电路设计208生成网表212的同时,拓扑优化机构202 生成用于逻辑合成机构204的优化逻辑拓扑210。在另外的其他变形中,拓扑优化机构202 从逻辑合成机构204所产生的网表,生成以优化网表形式的优化逻辑拓扑210。 在一些实施例中,逻辑合成机构204可以通过现有的EDA软件产品实现,包括来自 Synopsys公司的Design Compiler 、 Physical Compiler 、 Test Compil er、 Power
Compiler 、 fpga Compiler、TetraMAX⑧和DesignWare㊣。 在IC设计流程的物理实现阶段期间,布置和布线机构206接收作为输入的网表 212,并生成物理实现214。通过拓扑优化机构202对电路设计208的逻辑拓扑作出的修改 有效地增加了布置和布线机构206可以从网表212生成物理实现214的可能性。在一些实 施例中,布置和布线机构206可以通过现有的EDA软件产品实现,包括来自Synopsys公司 的AstroTM和IC Compiler产品。 积和逻辑结构 积和(SoP)逻辑结构通常用于实现析取范式的布尔表达式。最小项(即,布尔表达式中的积)通常使用布尔与(AND)逻辑门实现,并且通常使用多个布尔或逻辑门将该表 达式的最小项组合成逻辑和。 一些应用,包括只读存储器(ROM)器件,实现多个的大SoP逻 辑结构,这些大SoP逻辑结构基于一组公共的最小项(即,关联布尔或树)。如果关联布尔 或逻辑树不实现对应于最小项的公共排序的信号负载结构,则在布尔与逻辑门与布尔或逻 辑门之间的互连会造成布线拥塞。 图3A图示了根据本实用新型实施例的造成布线拥塞的、用于多个关联SoP逻辑树 的逻辑结构300。逻辑结构300包括三个逻辑级,其中第一逻辑级包括多个布尔与门,第二 至第四逻辑级通过多个关联的布尔或逻辑树实现。更具体而言,在第一逻辑级的信号源和 第二逻辑级的信号负载之间的一组互连造成不期望的大量交叉,这造成第一和第二逻辑级 之间的布线拥塞。类似地,在第二逻辑级的信号源和第三逻辑级的信号负载之间的一组互 连造成不期望的大量交叉,这造成第二和第三逻辑级之间的布线拥塞。 逻辑结构300内的关联布尔或逻辑树的逻辑结构造成通过重置逻辑单元的布置 无法缓解的布线拥塞的类型。换言之,重置布尔与逻辑门和布尔或逻辑门将不会减少交叉 数量。在一些实施例中,拓扑优化机构通过基于最小项的公共排序构建用于逻辑结构的关 联布尔或逻辑树来优化关联SoP逻辑结构。为此,拓扑优化机构可以构建用于给定布尔逻 辑表达式的SoP逻辑结构,其保持了一组最小项的给定排序。 图3B图示了根据本实用新型实施例的被划分成SoP逻辑结构320的最小项表 310。在一些实施例中,拓扑优化机构通过先将M个最小项的表(例如,最小项表310)划分 成最多P个分区(例如,分区321-324),并针对相应分区生成SoP逻辑结构,从而构建SoP 逻辑结构320。然后,拓扑优化机构通过使用布尔或逻辑门325组合分区321-324的SoP结 构来完成优化的SoP逻辑结构320。在一些实施例中,P个分区中的相应最小项分区用来构 建M/P个最小项的SoP逻辑结构,其中第一分区的最小项与第二分区不相交。在一些实施 例中,表310中的最小项的顺序对应于用于多个关联SoP逻辑结构的最小项的排序。 图3C图示了根据本实用新型实施例的已被优化从而缓和布线拥塞的、用于多个 关联SoP逻辑树的逻辑结构330。逻辑结构330包括三个逻辑级,其中第一逻辑级包括多个 布尔与门,第二至第四逻辑级包括多个布尔或门。更具体而言,在第一逻辑级的信号源和第 二逻辑级的信号负载之间的一组互连使交叉数量最小化,这缓和了第一和第二逻辑级之间 的布线拥塞。类似地,在第二逻辑级的信号源和第三逻辑级的信号负载之间的一组互连使 交叉数量最小化,这缓和了第二和第三逻辑级之间的布线拥塞。注意到,在逻辑结构330中 的交叉数量相对于图3A的逻辑结构300中的交叉数量大大降低。 图3D图示了根据本实用新型实施例的用于构建优化的SoP逻辑结构的过程。系 统开始于确定用于SoP逻辑结构的最小项的表(操作342)。接着,系统将最小项的表划分 成最多k个组(操作344)。然后,针对相应组(操作345),系统构建SoP逻辑结构(操作 346)。然后系统使用布尔或逻辑结构连接来自用于分区的SoP逻辑结构的输出(操作348)。 并行高扇出缓冲器树 通常IC设计中的多个节点驱动一组公共的输出负载。该负载结构称为并行高扇 出网表。对于这些情形,逻辑合成系统可以构建多个并行缓冲器树来驱动扇出节点的输出 负载。如果缓冲器树实现不对应于输出负载的排序的结构,则在缓冲器树的输出和输出负 载之间的互连会造成布线拥塞。[0083] 图4A图示了根据本实用新型实施例的造成布线拥塞的、用于多个并行高扇出缓 冲器树410的逻辑结构。并行缓冲器树410驱动多个输出负载412。更具体而言,在每个缓 冲器树的输出和输出负载412之间的一组互连造成不期望的大量交叉,这造成在并行缓冲 器树410和输出负载412之间的布线拥塞。 并行缓冲器树410的缓冲器树结构造成通过重置缓冲器的布置或者输出负载412 的布置无法缓解的布线拥塞的类型。注意到,对于图4A的示例性图示,相应缓冲器树驱动 输出负载412的每个节点。在一些实施例中,拓扑优化机构通过利用与输出负载412的布 置顺序匹配的输出节点顺序构建并行高扇出缓冲器树,来优化并行高扇出缓冲器树。 图4B图示了根据本实用新型实施例的已被优化从而缓和布线拥塞的多个并行缓 冲器树420。并行缓冲器树420驱动多个输出负载430。更具体而言,在每个缓冲器树的输 出和输出负载430之间的一组互连使交叉数量最小化,这缓和了在并行缓冲器树420与输 出负载430之间的布线拥塞。注意到,在并行缓冲器树420与输出负载430之间的交叉数 量大大低于图4A中的并行缓冲器树410与输出负载412之间的交叉数量。 在一些实施例中,拓扑优化机构通过先将一组输出负载划分成最多P个分区(例 如,分区432-436),并针对相应分区生成一组并行缓冲器(例如,并行缓冲器424-428),从 而构建优化的并行缓冲器树结构420。然后,拓扑优化机构通过将至该组并行缓冲器(例 如,并行缓冲器424-428)的输入耦合到对应的一组输入源来完成优化的并行缓冲器树结 构420。在这些实施例的一些变形中,系统可以将相应缓冲器(例如,并行缓冲器424中的 缓冲器)的输入耦合到对应输入缓冲器(例如,并行缓冲器422中的对应缓冲器)的输出, 并将该对应输入缓冲器的输入耦合到对应输入源。 g用器控制信号缓冲 大复用器通常实现为复用器树,并且用于大复用器的控制信号可以具有在复用器 树上的高扇出。对于这些情形,逻辑合成系统可以构建缓冲器树来驱动复用器树的控制信 号负载。如果缓冲器树实现不对应于控制信号负载的排序的信号源结构,则在缓冲器树的 输出和信号负载之间的互连会造成不期望的大量交叉,这会造成布线拥塞。 图5A图示了根据本实用新型实施例的在缓冲器树510和复用器树512之间的布 线拥塞。更具体而言,在缓冲器树510和复用器树512的控制信号负载之间的一组互连造 成不期望的在互连之间的大量交叉,这会造成在缓冲器树510和复用器树512之间的布线 拥塞。 用于缓冲器树510的结构造成通过重置缓冲器的布置或者复用器树512的各个复 用器的布置无法缓解的布线拥塞的类型。在一些实施例中,拓扑优化机构通过利用与目标 复用器树的控制信号负载的排序匹配的输出节点顺序构建缓冲器树,从而优化缓冲器树。 图5B图示了根据本实用新型实施例的已被优化从而缓和布线拥塞的缓冲器树 520。更具体而言,在缓冲器树520和复用器树530的控制信号负载之间的一组互连使交叉 数量最小化,这缓和了在缓冲器树520和复用器树530之间的布线拥塞。注意到,在缓冲器 树520和复用器树530之间的交叉数量大大低于在缓冲器树510和复用器树512之间的交 叉数量。 在一些实施例中,拓扑优化机构通过先选择复用器树530的1级逻辑,并通过对所 选择的逻辑执行最小切割划分(min-cutpartitioning)来将所选择的逻辑划分成最多P个分区(例如,分区532-538),从而构建优化的缓冲器树520。接着,拓扑优化机构针对相应 分区(例如,分区532)生成缓冲器,将该缓冲器的输出信号耦合到该分区的信号负载(即, 复用器树的控制信号),并通过将至该组缓冲器(例如,缓冲器523-526)的输入耦合到控 制信号源来完成优化的缓冲器树520。在这些实施例的一些变形中,系统可以将相应缓冲 器(例如,缓冲器523)的输入耦合到输入缓冲器(例如,缓冲器522)的输出,并将该输入 缓冲器的输入耦合到控制信号源。 共享逻辑结构 图6A图示了根据本实用新型实施例的在长距离上共享逻辑的逻辑结构600。共享 逻辑602接受少量信号作为输入,并提供相对多个的信号作为输出(例如,共享信号603) 以驱动多个信号负载(例如,信号负载604-618)。更具体而言,信号负载604-618可以离开 共享逻辑602在长距离上存在,并且不可能将信号负载604-618置于IC的物理实现中共享 逻辑602局部的区域中,因为信号负载604-618与不同逻辑模块(例如,逻辑模块620-624) 相关联。这会由于在IC的物理实现当中在共享逻辑602和信号负载604-618之间对共享 信号603进行布线造成大量互连,而造成布线拥塞。 将共享逻辑602耦合到信号负载604-618的共享信号603造成通过重置共享逻辑 602的布置无法缓解的布线拥塞的类型,因为共享逻辑602只能在IC的物理实现上信号负 载604-618的子集的局部布置。在一些实施例中,拓扑优化机构通过针对成组的局部信号 负载(即,在IC的物理实现上可以彼此布置在预定距离内的信号负载)复制共享逻辑来优 化共享逻辑结构。 图6B图示了根据本实用新型实施例的在局部区域上共享逻辑以缓和布线拥塞的 逻辑结构650。更具体而言,针对一组局部信号负载(例如,信号负载661-663)创建共享逻 辑(例如,共享逻辑652)的实例。该共享逻辑结构允许电路从共享逻辑获益,而不遭受由 布线拥塞引起的面积开销。 在一些实施例中,拓扑优化机构通过先选择共享逻辑结构650的1级逻辑,并通 过对所选择的逻辑执行最小切割划分,将所选择的逻辑划分成最多P个分区(例如,分区 670-674),从而构建优化的共享逻辑结构650。然后,拓扑优化机构针对相应分区(例如,分 区670)生成共享逻辑(例如,共享逻辑652)的实例,并将该实例化的共享逻辑的输出信号 耦合到相应分区的信号负载(例如,信号负载661-663)。 可测性设计(DFT)扫描链 图7A图示了根据本实用新型实施例的DFT扫描链阵列700。 DFT扫描链阵列700 包括解压縮器702、多个扫描链(例如,扫描链704-710)以及压縮器712。用于DFT扫描链 阵列700的理想物理实现使解压縮器702和压縮器712之间的布线最少化。换言之,针对 相应扫描链的寄存器布置并布线为局部寄存器组,扫描链布置为彼此紧密靠近,并且将解 压縮器和压縮器耦合到扫描链706-710的互连信号在长度上应为最小。 图7B图示了根据本实用新型实施例的用于多个扫描链的DFT解压縮器的示例性 模块级实现。该DFT解压縮器的示例性实现包括与对应扫描链(例如,扫描链720)关联的 多个局部解压縮器(例如,局部解压縮器722)。换言之,DFT解压縮器实现为局部解压縮器 的分布式集合。此外,局部解压縮器的输出信号驱动对应扫描链的输入信号。基于分布式 解压縮器的该DFT解压縮器实现使得在DFT解压縮器和扫描链之间的互连在长度上最小。[0101] 图7C图示了根据本实用新型实施例的在长距离上执行逻辑共享的、用于DFT解压 縮器的可能实现。DFT解压縮器实现730是试图将用于DFT解压縮器的逻辑门数量最小化 的逻辑合成操作的结果,并且包括一组布尔与逻辑门,该组布尔与逻辑门实现用于该组分 布式局部解压縮器的最小项。注意到,在用于布尔与逻辑门和布尔或逻辑门的输出信号之 间的一组互连造成不期望数量的信号源在一组分布式信号负载之中共享,这会造成在布尔 与逻辑门和布尔或逻辑门之间的布线拥塞。在一些实施例中,拓扑优化机构通过将逻辑共 享限制为彼此紧密靠近的成对扫描链,来优化用于该组分布式局部解压縮器的实现。 图7D图示了根据本实用新型实施例的缓和布线拥塞的、用于DFT解压縮器的示例 性实现。拓扑优化机构通过将可以共享逻辑的成对扫描链限制为那些彼此在预定接近程度 内的成对扫描链,来实现逻辑的局部共享。在一个实施例中,DFT解压縮器实现740通过以 下方式构建将扫描链划分成P个分区,并通过与用于分区Pi中其它扫描链的局部DFT解 压縮器实现共享逻辑,来针对分区Pi中的相应扫描链生成DFT解压縮器的局部实现。当优 化用于解压縮器实现740的实现时,拓扑优化机构可以使分区742中的扫描链共享逻辑,可 以使分区744中的扫描链共享逻辑,并且可以使分区746中的扫描链共享逻辑。注意到,在 解压縮器实现740中的一组分布式信号负载之中共享的信号源数量大大低于在图7C的解 压縮器实现730中的数量。 图7E图示了根据本实用新型实施例的在DFT压縮器实现750和扫描链阵列752之 间的布线拥塞。DFT压縮器实现750包括实现异或树结构的多个异或逻辑门,其中异或逻辑 门的输入信号耦合到扫描链阵列的输出信号。更具体而言,在用于DFT压縮器实现750的 输入信号和扫描链阵列752的输出信号之间的一组互连造成不期望的大量交叉,这会造成 在DFT压縮器实现750和扫描链阵列752之间的布线拥塞。 用于DFT压縮器实现750的结构造成通过重置异或逻辑门的布置或者扫描链阵列 752中扫描链的排序无法缓解的布线拥塞的类型。此外,不希望重置扫描链阵列752中扫描 链的排序,因为这样做会引起用于DFT解压縮器实现的现有实现在比期望距离更长的距离 上共享逻辑。在一些实施例中,拓扑优化机构通过利用与扫描链阵列752的输出信号的排 序匹配的输出节点顺序重构异或逻辑树,从而优化DFT压縮器实现750。 图7F图示了根据本实用新型实施例的已被优化从而缓和布线拥塞的、用于DFT压 縮器的示例性实现。DFT压縮器实现760包括实现异或树结构的多个异或逻辑门,其中异或 逻辑门的输入信号耦合到扫描链阵列的输出信号。更具体而言,在用于DFT压縮器实现760 的输入信号与扫描链阵列762的输出信号之间的一组互连使交叉数量最小化,这缓和了在 DFT压縮器实现760和扫描链阵列762之间的布线拥塞。注意到,在扫描链阵列762和压縮 器实现760之间的交叉数量大大低于在图7E的扫描链阵列752和压縮器实现750之间的 交叉数量。 在一些实施例中,拓扑优化机构通过针对扫描链阵列752中的一组扫描链确定布
置顺序,并使用与异或逻辑树的输入信号的排序匹配的、来自扫描链阵列的输出信号的排
序来构建用于DFT压縮器的异或逻辑树,从而构建优化的DFT压縮器实现760。换言之,拓
扑优化机构构建优化的DFT压縮器实现760,其中异或逻辑树的给定输入逻辑门是一对相
邻DFT扫描链的输出负载。 g用器和只i卖存储器(ROM)结构[0108] 图8A图示了根据本实用新型实施例的ROM 800。 ROM 800可能会合成在会由于逻 辑共享造成布线拥塞的电路结构中。更具体而言,ROM 800可以使用多个关联SoP逻辑结 构实现,其中ROM 800的给定输出通过对应的SoP逻辑结构实现。这会造成如图3A所示且 在对应段落中描述的布线拥塞。在一些实施例中,拓扑优化机构通过使用香农(Shannon) 分解将ROM 800划分成P = 2k个更小的ROM,从而优化用于ROM 800的实现,其中k为正整 数。在这些实施例的一些变形中,拓扑优化机构将ROM 800划分成四个更小的ROM。 图8B图示了根据本实用新型实施例的缓和布线拥塞的示例性R0M实现810。更具 体而言,ROM实现810的划分结构利用分级结构,该分级结构防止逻辑合成机构实现在ROM 分区之间的逻辑共享,由此缓和布线拥塞。 R0M实现810包括P = 2k个R0M(例如,R0M 812-818)以及P路复用器820。来自 相应ROM(例如,ROM 812)的输出耦合到复用器820的对应输入端口 ,并且复用器820产生 数据输出826,该数据输出826对应于R0M 800的数据输出804。在一些实施例中,用于ROM 812-818的地址输入822耦合到N位地址矢量的最高有效的N_k位,并且复用器820的选择 输入824耦合到N位地址矢量的最低有效的k位。在其它实施例中,用于ROM 812-818的 地址输入822耦合到N位地址矢量的最低有效的N-k位,并且复用器820的选择输入824 耦合到N位地址矢量的最高有效的k位。 图9A图示了根据本实用新型实施例的复用器900。复用器900包括M位的数据输 入902和N位的选择输入904。复用器900可能会合成到会由于逻辑共享造成布线拥塞的 电路结构中。更具体而言,复用器900可以使用高扇出缓冲器树来实现,这会造成如图5A所 示且在对应段落中描述的布线拥塞。在一些实施例中,拓扑优化机构通过将复用器900划 分成P = 2k个更小的复用器来优化用于复用器900的实现,其中k为正整数。在这些实施 例的一些变形中,拓扑优化机构将复用器900划分成四个更小的复用器。 图9B图示了根据本实用新型实施例的缓和布线拥塞的示例性复用器实现910。更 具体而言,复用器实现910的划分结构利用分级结构,该分级结构防止逻辑合成机构实现 高扇出缓冲器树,由此缓和布线拥塞。 复用器实现910包括P二2k个复用器分区(例如,复用器912-918)以及P路输出 复用器920。 M位数据矢量(例如,数据输入902)划分成P组数据输入位,其中给定组(例 如,数据输入922)耦合到用于对应复用器分区(例如,复用器912)的输入端口。此外,来 自相应复用器分区的输出耦合到复用器920的对应输入端口,并且复用器920产生数据输 出928,该数据输出928对应于复用器900的数据输出906。在一些实施例中,用于复用器 912-918的选择输入924耦合到选择输入904的最高有效的N-k位,并且复用器920的选择 输入926耦合到选择输入904的最低有效的k位。在其它实施例中,用于复用器912-918 的选择输入924耦合到选择输入904的最低有效的N-k位,并且复用器920的选择输入926 耦合到选择输入904的最高有效的k位。 i十算机系统和设备 图10图示了根据本实用新型实施例的有利于在逻辑设计阶段期间优化电路设计 以减少在布置和布线阶段期间的布线拥塞的示例性计算机系统1002。计算机系统1002包 括处理器1004、存储器1006以及存储设备1008。此外,计算机系统1002可以耦合到显示 设备1010和输入设备1012。[0116] 存储设备1008存储操作系统1014、逻辑合成系统1016、优化逻辑拓扑1026以及 网表1028。逻辑合成系统1016包括图形用户界面(GUI) 1018、拓扑优化机构1020以及逻 辑合成机构1022。 在操作期间,逻辑合成系统1016从存储设备1008加载到存储器1006中并由处理 器1004执行。逻辑合成系统1006将电路设计1024作为输入,并使用拓扑优化机构1020 以及逻辑合成机构1022来生成网表1028,该网表1028可以缓和在布置和布线阶段期间的 布线拥塞。 图11是根据本实用新型的实施例的用于在逻辑合成阶段期间优化电路设计以减 少在布置和布线阶段期间的布线拥塞的设备的示意图。该设备1100包括识别装置1101, 被配置用于识别所述电路设计中的第一电路结构,其中所述第一电路结构包括在第一组信 号源和第一组信号负载之间的第一组互连,其中所述第一组互连在所述第一电路结构中造 成第一数量的交叉,且其中所述第一数量的交叉预期会造成在所述布置和布线阶段期间的 布线拥塞;生成装置1102,被配置用于生成功能上与所述第一电路结构等同的第二电路结 构,其中所述第二电路结构包括在第二组信号源和第二组信号负载之间的第二组互连,其 中所述第二组互连在所述第二电路结构中造成第二数量的交叉,所述第二数量的交叉大大 少于所述第一数量的交叉;以及代替装置1103,备配置用于用所述第二电路结构代替所述 电路设计中的所述第一电路结构,由此大大减少所述电路设计中的交叉,这又减少在所述 布置和布线阶段期间的布线拥塞。 在一个实施例中,所述识别装置1101包括确定装置,被配置用于确定所述第一 电路结构是否实现一组积和表达式,其中所述一组积和表达式与一组公共的M个最小项相 关联,且其中相应积和表达式是最多M个最小项的逻辑和;以及其中所述生成装置1102包 括排序确定装置,用于针对所述一组M个最小项来确定排序;最小项表生成装置,用于针 对相应积和表达式生成最小项表,其中所述最小项表包括与相应积和表达式相关联的一组 最小项;划分装置,用于将所述最小项表划分成P个表分区,其中第一分区的最小项与第二 分区不相交;积和电路结构生成装置,用于针对相应表分区生成积和电路结构;以及布尔 或OR逻辑结构生成装置,用于针对相应积和表达式生成布尔或OR逻辑结构,其中所述布尔 或逻辑结构组合来自所述P个表分区的积和电路结构的输出。 在一个实施例中,所述识别装置1101包括确定装置,用于确定所述第一电路结 构是否包括用于一个或更多个信号源的至少M个信号负载;以及其中所述生成装置1102包 括选择装置,用于选择与所述M个信号负载相关联的1级逻辑;划分装置,用于通过对所 选择的逻辑执行最小切割划分,将所选择的逻辑划分成最多P个分区;以及针对相应信号 源第一耦合装置,用于将相应分区的输入信号耦合到对应缓冲器的输出;以及第二耦合 装置,用于将所述对应缓冲器的输入耦合到相应信号源。 在一个实施例中,所述识别装置1101包括确定装置,用于确定所述第一电路结 构是否实现只读存储器ROM,其中所述ROM具有M位的地址输入;以及其中所述生成装置 1102包括划分装置,被配置用于将所述第一电路结构划分成最多P二2k个分区,其中相应 分区具有M-k位的地址输入;以及耦合装置,被配置用于将相应分区的输出信号耦合到P路
复用器的对应入口 ,其中所述P路复用器具有k位的选择输入。
在一个实施例中,所述识别装置1101包括确定装置,用于确定所述第一电路结构是否是复用器,其中所述复用器具有最多N二 2M个输入信号源,且具有M位的选择输入;以及其中所述生成装置1102包括划分装置,用于将所述第一电路结构划分成最多P = 2k个分区,其中相应分区具有M-k位的选择输入;以及耦合装置,用于将相应分区的输出信号
耦合到P路复用器的对应入口 ,其中所述P路复用器具有k位的选择输入。 在一个实施例中,所述识别装置1101包括确定装置,用于确定所述电路结构是否由至少M个信号负载共享;以及其中所述生成装置1102包括选择装置,用于选择与所述M个信号负载相关的1级逻辑;划分装置,用于通过对所选择的逻辑执行最小切割划分,将所选择的逻辑划分成最多P个分区;以及产生装置,用于产生用于信号负载的相应分区的所述第一电路结构的实例。 在一个实施例中,所述识别装置1101包括确定装置,被配置用于确定所述第一电路结构是否实现用于M个可测性设计(DFT)扫描链的解压縮逻辑,其中所述解压縮逻辑产生一组输出信号,其中相应输出信号驱动对应的DFT扫描链,且其中相应DFT扫描链由寄存器链实现;以及其中所述生成装置1102包括划分装置,被配置用于将所述M个扫描链划分成P个扫描链分区;以及生成装置,被配置用于通过与用于分区Pi中其它扫描链的局部DFT解压縮器实现共享逻辑,针对分区Pi中的相应DFT扫描链生成DFT解压縮器的局部实现。 在一个实施例中,所述识别装置1101包括确定装置,用于确定所述第一电路结构是否实现用于M个可测性设计DFT扫描链的压縮逻辑,其中相应DFT扫描链由寄存器链实现,其中所述压縮逻辑包括M个输入信号负载,且其中所述压縮逻辑产生用于所述M个DFT扫描链的压縮信号输出;以及其中所述生成装置1102包括第一确定装置,用于基于所述M个DFT扫描链的布置顺序确定所述M个DFT扫描链的排序;第二确定装置,用于基于所述压縮逻辑的M个信号负载的布置顺序来确定所述M个信号负载的排序;以及耦合装置,用于基于所述压縮逻辑的M个输入信号负载和M个DFT扫描链的对应排序,将所述M个DFT扫描链的输出信号耦合到所述压縮逻辑的M个输入信号负载。 仅出于示例和描述的目的呈现了对本实用新型实施例的前文描述。本意并非让它们穷举本实用新型或者使本实用新型限于公开的形式。因而,本领域技术人员将清楚许多修改和变形。此外,本意并非让上述公开内容限制本实用新型。本实用新型的范围由所附权利要求书限定。
权利要求一种用于在逻辑合成阶段期间优化电路设计以减少在布置和布线阶段期间的布线拥塞的设备,其特征在于包括识别装置,被配置用于识别所述电路设计中的第一电路结构,其中所述第一电路结构包括在第一组信号源和第一组信号负载之间的第一组互连,其中所述第一组互连在所述第一电路结构中造成第一数量的交叉,且其中所述第一数量的交叉预期会造成在所述布置和布线阶段期间的布线拥塞;生成装置,被配置用于生成功能上与所述第一电路结构等同的第二电路结构,其中所述第二电路结构包括在第二组信号源和第二组信号负载之间的第二组互连,其中所述第二组互连在所述第二电路结构中造成第二数量的交叉,所述第二数量的交叉大大少于 所述第一数量的交叉;以及代替装置,备配置用于用所述第二电路结构代替所述电路设计中的所述第一电路结构,由此大大减少所述电路设计中的交叉,这又减少在所述布置和布线阶段期间的布线拥塞。
2. 如权利要求1的设备,其特征在于,所述识别装置包括确定装置,被配置用于确定 所述第一电路结构是否实现一组积和表达式,其中所述一组积和表达式与一组公共的M个 最小项相关联,且其中相应积和表达式是最多M个最小项的逻辑和;以及其中所述生成装置包括排序确定装置,用于针对所述一组M个最小项来确定排序;最小项表生成装置,用于针对相应积和表达式生成最小项表,其中所述最小项表包括 与相应积和表达式相关联的一组最小项;划分装置,用于将所述最小项表划分成P个表分区,其中第一分区的最小项与第二分 区不相交;积和电路结构生成装置,用于针对相应表分区生成积和电路结构;以及 布尔或OR逻辑结构生成装置,用于针对相应积和表达式生成布尔或OR逻辑结构,其中 所述布尔或逻辑结构组合来自所述P个表分区的积和电路结构的输出。
3. 如权利要求1的设备,其特征在于,所述识别装置包括确定装置,用于确定所述第 一电路结构是否包括用于一个或更多个信号源的至少M个信号负载;以及其中所述生成装置包括选择装置,用于选择与所述M个信号负载相关联的1级逻辑;划分装置,用于通过对所选择的逻辑执行最小切割划分,将所选择的逻辑划分成最多P 个分区;以及针对相应信号源第一耦合装置,用于将相应分区的输入信号耦合到对应缓冲器的输出;以及 第二耦合装置,用于将所述对应缓冲器的输入耦合到相应信号源。
4. 如权利要求1的设备,其特征在于,所述识别装置包括确定装置,用于确定所述第 一电路结构是否实现只读存储器R0M,其中所述ROM具有M位的地址输入;以及其中所述生成装置包括划分装置,被配置用于将所述第一电路结构划分成最多P = 2k个分区,其中相应分区 具有M-k位的地址输入;以及耦合装置,被配置用于将相应分区的输出信号耦合到P路复用器的对应入口,其中所 述P路复用器具有k位的选择输入。
5. 如权利要求1的设备,其特征在于,所述识别装置包括确定装置,用于确定所述第一电路结构是否是复用器,其中所述复用器具有最多N = 2M个输入信号源,且具有M位的 选择输入;以及其中所述生成装置包括划分装置,用于将所述第一电路结构划分成最多P二2k个分区,其中相应分区具有M-k 位的选择输入;以及耦合装置,用于将相应分区的输出信号耦合到P路复用器的对应入口 ,其中所述P路复 用器具有k位的选择输入。
6. 如权利要求1的设备,其特征在于,所述识别装置包括确定装置,用于确定所述电路结构是否由至少M个信号负载共享;以及 其中所述生成装置包括选择装置,用于选择与所述M个信号负载相关的1级逻辑;划分装置,用于通过对所选择的逻辑执行最小切割划分,将所选择的逻辑划分成最多P 个分区;以及产生装置,用于产生用于信号负载的相应分区的所述第一电路结构的实例。
7. 如权利要求1的设备,其特征在于,所述识别装置包括确定装置,被配置用于确定所述第一电路结构是否实现用于M个可测性设计(DFT)扫 描链的解压縮逻辑,其中所述解压縮逻辑产生一组输出信号,其中相应输出信号驱动对应 的DFT扫描链,且其中相应DFT扫描链由寄存器链实现;以及其中所述生成装置包括划分装置,被配置用于将所述M个扫描链划分成P个扫描链分区;以及 生成装置,被配置用于通过与用于分区&中其它扫描链的局部DFT解压縮器实现共享 逻辑,针对分区Pi中的相应DFT扫描链生成DFT解压縮器的局部实现。
8. 如权利要求1的设备,其中所述识别装置包括确定装置,用于确定所述第一电路结构是否实现用于M个可测性设计DFT扫描链的压 縮逻辑,其中相应DFT扫描链由寄存器链实现,其中所述压縮逻辑包括M个输入信号负载, 且其中所述压縮逻辑产生用于所述M个DFT扫描链的压縮信号输出;以及其中所述生成装置包括第一确定装置,用于基于所述M个DFT扫描链的布置顺序确定所述M个DFT扫描链的 排序;第二确定装置,用于基于所述压縮逻辑的M个信号负载的布置顺序来确定所述M个信 号负载的排序;以及耦合装置,用于基于所述压縮逻辑的M个输入信号负载和M个DFT扫描链的对应排序, 将所述M个DFT扫描链的输出信号耦合到所述压縮逻辑的M个输入信号负载。
专利摘要本实用新型的一个实施例提供一种用于在逻辑合成阶段期间优化电路设计以减少在布置和布线阶段期间的布线拥塞的设备。该设备可以包括识别装置,用于识别所述电路设计中的第一电路结构,其中所述第一电路结构包括在第一组信号源和第一组信号负载之间的第一组互连,其中所述第一组互连在所述第一电路结构中造成第一数量的交叉,且其中所述第一数量的交叉预期会造成在所述布置和布线阶段期间的布线拥塞;生成装置,用于生成功能上与所述第一电路结构等同的第二电路结构;以及代替装置,备配置用于用所述第二电路结构代替所述电路设计中的所述第一电路结构。
文档编号G06F17/50GK201508554SQ20092026798
公开日2010年6月16日 申请日期2009年10月26日 优先权日2008年11月4日
发明者J·K·阿达姆斯, 王青舟, 肖勇 申请人:新思科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1