CN101739491B - 用于合成期间的拥塞优化的方法和设备 - Google Patents

用于合成期间的拥塞优化的方法和设备 Download PDF

Info

Publication number
CN101739491B
CN101739491B CN2009102075209A CN200910207520A CN101739491B CN 101739491 B CN101739491 B CN 101739491B CN 2009102075209 A CN2009102075209 A CN 2009102075209A CN 200910207520 A CN200910207520 A CN 200910207520A CN 101739491 B CN101739491 B CN 101739491B
Authority
CN
China
Prior art keywords
circuit structure
design
logic
scan chain
measurability
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2009102075209A
Other languages
English (en)
Other versions
CN101739491A (zh
Inventor
J·K·阿达姆斯
王青舟
肖勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Synopsys Inc
Original Assignee
Synopsys Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Synopsys Inc filed Critical Synopsys Inc
Publication of CN101739491A publication Critical patent/CN101739491A/zh
Application granted granted Critical
Publication of CN101739491B publication Critical patent/CN101739491B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明涉及合成期间的拥塞优化。本发明的一个实施例提供一种用于在逻辑设计阶段期间优化电路设计以减少在布置和布线阶段期间的布线拥塞的系统。在操作期间,该系统识别电路设计中的第一电路结构,该第一电路结构预期会造成在布置和布线阶段期间的布线拥塞。接着,该系统生成第二电路结构,该第二电路结构在功能上与第一电路结构等同并且不会造成在布置和布线阶段期间的布线拥塞。然后,该系统用第二电路结构代替电路设计中的第一电路结构,由此缓和在布置和布线阶段期间的布线拥塞。

Description

用于合成期间的拥塞优化的方法和设备
技术领域
本发明一般地涉及电子设计自动化。更具体而言,本发明涉及用于在逻辑设计阶段期间优化电路设计以减少在布置和布线阶段期间的布线拥塞(routing congestion)的技术和系统。 
背景技术
在电路设计的网表上执行布线操作是可能耗费若干天完成的昂贵工艺。更糟糕的是,不能总是确保布线操作成功。在一些情形中,标准单元布线不成功,因为微芯片的区域没有足够的布线资源来对该区域中存在的信号互连进行布线。该情形通常称为布线拥塞。 
通常通过使用单元布置算法来缓和布线拥塞以弥补布线操作,并且从电路设计的网表中产生优化的物理实现。该布置算法试图将标准单元散布在其中算法认为将发生拥塞的物理实现区域中。然而,仍然存在其中布置算法无法解决物理实现上的每个拥塞问题的许多情况。 
发明内容
本发明的一个实施例提供一种包括方法与设备的系统,其可以在逻辑设计阶段期间优化电路设计以减少在布置和布线阶段期间的布线拥塞。逻辑合成阶段优化电路设计并且生成电路网表,该电路网表包括一组电路实例并描述实例之间的大量互连。在逻辑合成阶段之后执行布置和布线阶段,以针对网表的电路实例确定物理布置和针对网表的互连确定布线路径。 
在逻辑合成阶段期间,系统识别电路设计中的第一电路结构,该第一电路结构预期会造成在布置和布线阶段期间的布线拥塞。该 第一电路结构包括在第一组信号源和第一组信号负载之间的第一组互连,其中述第一组互连在第一电路结构中造成第一数量的交叉,且其中第一数量的交叉预期会造成在布置和布线阶段期间的布线拥塞。 
接着,系统生成第二电路结构,该第二电路结构在功能上与第一电路结构等同,并且不会造成在布置和布线阶段期间的布线拥塞。该第二电路结构包括在第二组信号源和第二组信号负载之间的第二组互连,其中第二组互连在第二电路结构中造成第二数量的交叉,该第二数量的交叉上大大少于第一数量的交叉。 
然后,系统用第二电路结构代替电路设计中的第一电路结构,由此大大减少电路设计中的交叉,这又减少在布置和布线阶段期间的布线拥塞。 
在一些实施例中,系统通过确定第一电路结构是否实现一组积和表达式来识别电路设计中的第一电路结构。该组积和表达式与一组公共的M个最小项相关联,且相应积和表达式是最多M个最小项的逻辑和(disjunction)。此外,为了生成第二电路结构,系统针对该组M个最小项来确定排序,并针对相应积和表达式生成最小项表。该最小项表包括与相应积和表达式相关联的该组最小项。接着,系统将最小项表划分成P个表分区,使得第一分区的最小项与第二分区不相交,且系统针对相应表分区生成积和电路结构。接着,系统针对相应积和表达式生成布尔或(OR)逻辑结构,以组合来自P个表分区的积和电路结构的输出。 
在一些实施例中,系统通过确定第一电路结构是否包括用于一个或更多个信号源的至少M个信号负载,来识别电路设计中的第一电路结构。此外,为了生成第二电路结构,系统选择与M个信号负载相关联的l级逻辑,并通过对所选择的逻辑执行最小切割划分,将所选择的逻辑划分成最多P个分区。然后,针对相应信号源,系统将相应分区的输入信号耦合到对应缓冲器的输出,并将该对应缓冲器的输入耦合到相应信号源。在这些实施例的一些变形中,系统可 以将相应缓冲器的输入耦合到对应输入缓冲器的输出,并将该对应输入缓冲器的输入耦合到对应的信号源。 
在一些实施例中,系统通过确定第一电路结构是否实现只读存储器(ROM)电路结构来识别电路设计中的第一电路结构。此外,为了生成第二电路结构,系统将ROM电路结构划分成最多P=2k个分区。ROM电路结构具有M位的地址输入,且相应分区具有M-k位的地址输入。然后,系统将相应分区的输出信号耦合到P路复用器的对应入口,使得P路复用器具有k位的选择输入。 
在一些实施例中,系统通过确定第一电路结构是否是复用器电路结构来识别电路设计中的第一电路结构。复用器具有最多N=2M个输入信号源,且具有M位的选择输入。此外,为了生成第二电路结构,系统将复用器电路结构划分成最多P=2k个分区,使得相应分区具有M-k位的选择输入。然后,系统将相应分区的输出信号耦合到P路复用器的对应入口,使得P路复用器具有k位的选择输入。 
在一些实施例中,系统通过确定电路结构是否由至少M个信号负载共享,来识别电路设计中的第一电路结构。此外,为了生成第二电路结构,系统选择与M个信号负载相关联的l级逻辑,并通过对所选择的逻辑执行最小切割划分,将所选择的逻辑划分成最多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解压缩器的可能实现。 
图7D图示了根据本发明实施例的缓和布线拥塞的、用于DFT解压缩器的示例性实现。 
图7E图示了根据本发明实施例的在DFT压缩器实现和扫描链阵列之间的布线拥塞。 
图7F图示了根据本发明实施例的已被优化从而缓和布线拥塞的、用于DFT压缩器的示例性实现。 
图8A图示了根据本发明实施例的ROM。 
图8B图示了根据本发明实施例的缓和布线拥塞的示例性ROM实现。 
图9A图示了根据本发明实施例的复用器。 
图9B图示了根据本发明实施例的缓和布线拥塞的示例性复用器实现。 
图10图示了根据本发明实施例的有利于在逻辑设计阶段期间优化电路设计以减少在布置和布线阶段期间的布线拥塞的示例性计算机系统。 
具体实施方式
呈现以下描述以使本领域技术人员能够实现和利用本发明,并 且在特定应用及其要求的背景下提供该描述。本领域技术人员将容易清楚对公开的实施例的各种修改,并且这里限定的一般原理可以适用于其它实施例和应用而不脱离本发明的精神和范围。因此,本发明不限于所示实施例,而是将被赋予以与这里公开的原理和特征一致的最广范围。 
在本具体实施方式中描述的数据结构和代码通常存储于计算机可读存储介质上,该介质可以是能够存储用于由计算机系统使用的代码和/或数据的任何设备或者介质。计算机可读存储介质包括但不限于易失性存储器、非易失性存储器、磁和光学存储设备(比如盘驱动器、磁带、CD(压缩盘)、DVD(数字多功能盘或者数字视频盘)或者现在已知或者以后开发的能够存储计算机可读介质的其它介质。 
在本具体实施方式中描述的方法和过程可以具体实现为代码和/或数据,该代码和/或数据可以存储在如上所述的计算机可读存储介质中。当计算机系统读取和执行存储在计算机可读存储介质中的代码和/或数据时,计算机系统执行具体实现为数据结构和代码并存储在计算机可读存储介质中的方法和过程。 
此外,下文描述的方法和过程可以包含在硬件模块中。例如,该硬件模块可以包括但不限于专用集成电路(ASIC)芯片、现场可编程门阵列(FPGA)以及其他现在已知或者以后开发的可编程逻辑器件。当该硬件模块被激活时,该硬件模块执行包含在该硬件模块中的方法和过程。 
集成电路(IC)设计流程
图1图示了根据本发明实施例的集成电路的设计和制作过程中的各种阶段。 
该IC设计过程通常从使用EDA过程(操作110)来实现的产品思想(操作100)开始。一旦设计定稿,通常就进行流片(tap-out)(事件140),此时经过制作过程(操作150)以及封装和组装过程 (操作160),产生已制成的微芯片(结果170)。 
EDA过程(操作110)包括下文描述的操作112-130,该描述仅用于示例目的,而不意味着限制本发明。具体而言,实际集成电路设计可以要求设计者在与这里描述的顺序不同的顺序中执行设计操作。 
系统设计(操作112):在这一阶段,设计者描述实现产品思想的功能。他们也可以进行假设(what-if)规划以精化该功能,执行成本分析等。硬件-软件架构划分可以出现在这一阶段。可以在这一阶段使用的来自Synopsys公司的示例性EDA软件产品包括ModelArchitect、 System Studio和 
Figure G2009102075209D00072
逻辑设计和功能验证(操作114):在这一阶段,编写用于系统中的模块的VHDL或者Verilog代码,并且检验该设计的功能准确性。更具体而言,检验该设计以保证它产生正确响应。可以在这一阶段使用的来自Synopsys公司的示例性EDA软件产品包括 
Figure G2009102075209D00074
MagellanTM、 ESP和 
Figure G2009102075209D00076
合成和可测性设计(操作116):在这一阶段,可以将VHDL/Verilog源代码转译成网表。可以针对目标技术优化网表,并且可以设计和实施测试以检验已制成的微芯片。可以在这一阶段使用的来自Synopsys公司的示例EDA软件产品包括Design 
Figure G2009102075209D00077
Physical 
Figure G2009102075209D00078
Test Compiler、Power CompilerTM、FPGA Compiler、 
Figure G2009102075209D00079
和 
Figure G2009102075209D000710
网表验证(操作118):在这一阶段,检验网表与时序约束的相符性和与VHDL/Verilog源代码的对应性。可以在这一阶段使用的来自Synopsys公司的示例性EDA软件产品包括 
Figure G2009102075209D000711
Figure G2009102075209D000712
和 
Figure G2009102075209D000713
设计规划(操作120):在这一阶段,构造并分析用于微芯片的整个布图规划以便进行定时和顶级布线。可以在这一阶段使用的来自Synopsys公司的示例性EDA软件产品包括AstroTM和IC Compiler产品。 
物理实现(操作122):在这一阶段出现布置(对电路元件的定位)和布线(对互连的布置)。可以在这一阶段使用的来自Synopsys公司的示例性EDA软件产品包括AstroTM和IC Compiler产品。 
分析和提取(操作124):在这一阶段,在晶体管级验证电路功能;这又允许假设的精化。可以在这一阶段使用的来自Synopsys公司的示例性EDA软件产品包括AstroRailTM、PrimeRail、 
Figure G2009102075209D00081
和Star-RCXTTM。 
物理验证(操作126):在这一阶段,检验设计以保证制造、电问题、光刻问题和电路的正确性。HerculesTM是可以在这一阶段使用的来自Synopsys公司的示例性EDA软件产品。 
分辨率增强(操作128):这一阶段涉及到对布局的几何形状操控以提高设计的可制造性。可以在这一阶段使用的来自Synopsys公司的示例性EDA软件产品包括Proteus/Progen、ProteusAF和PSMGen。 
掩膜数据预备(操作130):这一阶段提供用于产生掩膜以产生成品芯片的“流片”数据。可以在这一阶段使用的来自Synopsys公司的示例性EDA软件产品包括 
Figure G2009102075209D00082
系列产品。 
概述
作为布线拥塞的结果,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 
Figure G2009102075209D00101
Physical Test Compiler、Power CompilerTM、FPGA Compiler、 
Figure G2009102075209D00103
和 
Figure G2009102075209D00104
在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设计中的多个节点驱动一组公共的输出负载。该负载结构称为并行高扇出网表。对于这些情形,逻辑合成系统可以构建多个并行缓冲器树来驱动扇出节点的输出负载。如果缓冲器树实现不对应于输出负载的排序的结构,则在缓冲器树的输出和输出负载之间的互连会造成布线拥塞。 
图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中的对应缓冲器)的输出,并将该对应输入缓冲器的输入耦合到对应输入源。 
复用器控制信号缓冲
大复用器通常实现为复用器树,并且用于大复用器的控制信号可以具有在复用器树上的高扇出。对于这些情形,逻辑合成系统可以构建缓冲器树来驱动复用器树的控制信号负载。如果缓冲器树实现不对应于控制信号负载的排序的信号源结构,则在缓冲器树的输出和信号负载之间的互连会造成不期望的大量交叉,这会造成布线拥塞。 
图5A图示了根据本发明实施例的在缓冲器树510和复用器树512之间的布线拥塞。更具体而言,在缓冲器树510和复用器树512的控制信号负载之间的一组互连造成不期望的在互连之间的大量交叉,这会造成在缓冲器树510和复用器树512之间的布线拥塞。 
用于缓冲器树510的结构造成通过重置缓冲器的布置或者复用器树512的各个复用器的布置无法缓解的布线拥塞的类型。在一些实施例中,拓扑优化机构通过利用与目标复用器树的控制信号负载的排序匹配的输出节点顺序构建缓冲器树,从而优化缓冲器树。 
图5B图示了根据本发明实施例的已被优化从而缓和布线拥塞的缓冲器树520。更具体而言,在缓冲器树520和复用器树530的控制信号负载之间的一组互连使交叉数量最小化,这缓和了在缓冲器树520和复用器树530之间的布线拥塞。注意到,在缓冲器树520和复用器树530之间的交叉数量大大低于在缓冲器树510和复用器树512之间的交叉数量。 
在一些实施例中,拓扑优化机构通过先选择复用器树530的l 级逻辑,并通过对所选择的逻辑执行最小切割划分(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的l级逻辑,并通过对所选择的逻辑执行最小切割划分,将所选择的逻辑划分成最多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解压缩器和扫描链之间的互连在长度上最小。 
图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扫描链的输出负载。 
复用器和只读存储器(ROM)结构
图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图示了根据本发明实施例的缓和布线拥塞的示例性ROM 实现810。更具体而言,ROM实现810的划分结构利用分级结构,该分级结构防止逻辑合成机构实现在ROM分区之间的逻辑共享,由此缓和布线拥塞。 
ROM实现810包括P=2k个ROM(例如,ROM 812-818)以及P路复用器820。来自相应ROM(例如,ROM 812)的输出耦合到复用器820的对应输入端口,并且复用器820产生数据输出826,该数据输出826对应于ROM 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位。 
计算机系统
图10图示了根据本发明实施例的有利于在逻辑设计阶段期间优化电路设计以减少在布置和布线阶段期间的布线拥塞的示例性计算机系统1002。计算机系统1002包括处理器1004、存储器1006以及存储设备1008。此外,计算机系统1002可以耦合到显示设备1010和输入设备1012。 
存储设备1008存储操作系统1014、逻辑合成系统1016、优化逻辑拓扑1026以及网表1028。逻辑合成系统1016包括图形用户界面(GUI)1018、拓扑优化机构1020以及逻辑合成机构1022。 
在操作期间,逻辑合成系统1016从存储设备1008加载到存储器1006中并由处理器1004执行。逻辑合成系统1006将电路设计1024作为输入,并使用拓扑优化机构1020以及逻辑合成机构1022来生成网表1028,该网表1028可以缓和在布置和布线阶段期间的布线拥塞。 
仅出于示例和描述的目的呈现了对本发明实施例的前文描述。本意并非让它们穷举本发明或者使本发明限于公开的形式。因而,本领域技术人员将清楚许多修改和变形。此外,本意并非让上述公开内容限制本发明。本发明的范围由所附权利要求书限定。 

Claims (16)

1.一种用于在逻辑合成阶段期间优化电路设计以减少在布置和布线阶段期间的布线拥塞的方法,包括:
识别所述电路设计中的第一电路结构,其中所述第一电路结构包括在第一组信号源和第一组信号负载之间的第一组互连,其中所述第一组互连在所述第一电路结构中造成第一数量的交叉,且其中所述第一数量的交叉预期会造成在所述布置和布线阶段期间的布线拥塞;
生成功能上与所述第一电路结构等同的第二电路结构,其中所述第二电路结构包括在第二组信号源和第二组信号负载之间的第二组互连,其中所述第二组互连在所述第二电路结构中造成第二数量的交叉,所述第二数量的交叉大大少于所述第一数量的交叉;以及
用所述第二电路结构代替所述电路设计中的所述第一电路结构,由此大大减少所述电路设计中的交叉,这又减少在所述布置和布线阶段期间的布线拥塞。
2.根据权利要求1所述的方法,其中识别所述电路设计中的第一电路结构包括:确定所述第一电路结构是否实现一组积和表达式,其中所述一组积和表达式与一组公共的M个最小项相关联,且其中相应积和表达式是最多M个最小项的逻辑和;以及
其中生成所述第二电路结构包括:
针对所述一组公共的M个最小项来确定排序;
针对相应积和表达式生成最小项表,其中所述最小项表包括与相应积和表达式相关联的一组最小项;
将所述最小项表划分成P个表分区,其中第一分区的最小项与第二分区不相交;
针对相应表分区生成积和电路结构;以及
针对相应积和表达式生成布尔或逻辑结构,其中所述布尔或逻辑结构组合来自所述P个表分区的积和电路结构的输出。
3.根据权利要求1所述的方法,其中识别所述电路设计中的第一电路结构包括:确定所述第一电路结构是否包括用于一个或更多个信号源的至少M个信号负载;以及
其中生成所述第二电路结构包括:
选择与所述M个信号负载相关联的l级逻辑;
通过对所选择的逻辑执行最小切割划分,将所选择的逻辑划分成最多P个分区;以及
针对相应信号源:
将相应分区的输入信号耦合到对应缓冲器的输出;以及
将所述对应缓冲器的输入耦合到相应信号源。
4.根据权利要求1所述的方法,其中识别所述电路设计中的第一电路结构包括:确定所述第一电路结构是否实现只读存储器,其中所述只读存储器具有M位的地址输入;以及
其中生成所述第二电路结构包括:
将所述第一电路结构划分成最多P=2k个分区,其中相应分区具有M-k位的地址输入;以及
将相应分区的输出信号耦合到P路复用器的对应入口,其中所述P路复用器具有k位的选择输入。
5.根据权利要求1所述的方法,其中识别所述电路设计中的第一电路结构包括:确定所述第一电路结构是否是复用器,其中所述复用器具有最多N=2M个输入信号源,且具有M位的选择输入;以及
其中生成所述第二电路结构包括:
将所述第一电路结构划分成最多P=2k个分区,其中相应分区具有M-k位的选择输入;以及
将相应分区的输出信号耦合到P路复用器的对应入口,其中所述P路复用器具有k位的选择输入。
6.根据权利要求1所述的方法,其中识别所述电路设计中的第一电路结构包括:确定所述电路结构是否由至少M个信号负载共享;以及
其中生成所述第二电路结构包括:
选择与所述M个信号负载相关的l级逻辑;
通过对所选择的逻辑执行最小切割划分,将所选择的逻辑划分成最多P个分区;以及
产生用于信号负载的相应分区的所述第一电路结构的实例。
7.根据权利要求1所述的方法,其中识别所述电路设计中的第一电路结构包括:
确定所述第一电路结构是否实现用于M个可测性设计扫描链的解压缩逻辑,其中所述解压缩逻辑产生一组输出信号,其中相应输出信号驱动所述M个可测性设计扫描链中对应的可测性设计扫描链,且其中所述M个可测性设计扫描链中的相应可测性设计扫描链由寄存器链实现;以及
其中生成所述第二电路结构包括:
将所述M个可测性设计扫描链划分成P个扫描链分区;以及
通过与用于分区Pi中其它扫描链的局部可测性设计解压缩器实现共享逻辑,针对分区Pi中的相应可测性设计扫描链生成可测性设计解压缩器的局部实现。
8.根据权利要求1所述的方法,其中识别所述电路设计中的第一电路结构包括:
确定所述第一电路结构是否实现用于M个可测性设计扫描链的压缩逻辑,其中所述M个可测性设计扫描链中的相应可测性设计扫描链由寄存器链实现,其中所述压缩逻辑包括M个输入信号负载,且其中所述压缩逻辑产生用于所述M个可测性设计扫描链的压缩信号输出;以及
其中生成所述第二电路结构包括:
基于所述M个可测性设计扫描链的布置顺序确定所述M个可测性设计扫描链的排序;
基于所述压缩逻辑的M个信号负载的布置顺序来确定所述M个信号负载的排序;以及
基于所述压缩逻辑的M个输入信号负载和M个可测性设计扫描链的对应排序,将所述M个可测性设计扫描链的输出信号耦合到所述压缩逻辑的M个输入信号负载。
9.一种用于在逻辑合成阶段期间优化电路设计以减少在布置和布线阶段期间的布线拥塞的设备,包括:
用于识别所述电路设计中的第一电路结构的装置,其中所述第一电路结构包括在第一组信号源和第一组信号负载之间的第一组互连,其中所述第一组互连在所述第一电路结构中造成第一数量的交叉,且其中所述第一数量的交叉预期会造成在所述布置和布线阶段期间的布线拥塞;
用于生成功能上与所述第一电路结构等同的第二电路结构的装置,其中所述第二电路结构包括在第二组信号源和第二组信号负载之间的第二组互连,其中所述第二组互连在所述第二电路结构中造成第二数量的交叉,所述第二数量的交叉大大少于所述第一数量的交叉;以及
用于用所述第二电路结构代替所述电路设计中的所述第一电路结构的装置,由此大大减少所述电路设计中的交叉,这又减少在所述布置和布线阶段期间的布线拥塞。
10.根据权利要求9所述的设备,其中用于识别所述电路设计中的第一电路结构的装置包括:用于确定所述第一电路结构是否实现一组积和表达式的装置,其中所述一组积和表达式与一组公共的M个最小项相关联,且其中相应积和表达式是最多M个最小项的逻辑和;以及
其中用于生成所述第二电路结构的装置包括:
用于针对所述一组公共的M个最小项来确定排序的装置;
用于针对相应积和表达式生成最小项表的装置,其中所述最小项表包括与相应积和表达式相关联的一组最小项;
用于将所述最小项表划分成P个表分区的装置,其中第一分区的最小项与第二分区不相交;
用于针对相应表分区生成积和电路结构的装置;以及
用于针对相应积和表达式生成布尔或逻辑结构的装置,其中所述布尔或逻辑结构组合来自所述P个表分区的积和电路结构的输出。
11.根据权利要求9所述的设备,其中用于识别所述电路设计中的第一电路结构的装置包括:用于确定所述第一电路结构是否包括用于一个或更多个信号源的至少M个信号负载的装置;以及
其中用于生成所述第二电路结构的装置包括:
用于选择与所述M个信号负载相关联的l级逻辑的装置;
用于通过对所选择的逻辑执行最小切割划分,将所选择的逻辑划分成最多P个分区的装置;以及
用于针对相应信号源:
将相应分区的输入信号耦合到对应缓冲器的输出的装置;以及
将所述对应缓冲器的输入耦合到相应信号源的装置。
12.根据权利要求9所述的设备,其中用于识别所述电路设计中的第一电路结构的装置包括:用于确定所述第一电路结构是否实现只读存储器的装置,其中所述只读存储器具有M位的地址输入;以及
其中用于生成所述第二电路结构的装置包括:
用于将所述第一电路结构划分成最多P=2k个分区的装置,其中相应分区具有M-k位的地址输入;以及
用于将相应分区的输出信号耦合到P路复用器的对应入口的装置,其中所述P路复用器具有k位的选择输入。
13.根据权利要求9所述的设备,其中用于识别所述电路设计中的第一电路结构的装置包括:用于确定所述第一电路结构是否是复用器的装置,其中所述复用器具有最多N=2M个输入信号源,且具有M位的选择输入;以及
其中用于生成所述第二电路结构的装置包括:
用于将所述第一电路结构划分成最多P=2k个分区的装置,其中相应分区具有M-k位的选择输入;以及
用于将相应分区的输出信号耦合到P路复用器的对应入口的装置,其中所述P路复用器具有k位的选择输入。
14.根据权利要求9所述的设备,其中用于识别所述电路设计中的第一电路结构的装置包括:用于确定所述电路结构是否由至少M个信号负载共享的装置;以及
其中用于生成所述第二电路结构的装置包括:
用于选择与所述M个信号负载相关的l级逻辑的装置;
用于通过对所选择的逻辑执行最小切割划分,将所选择的逻辑划分成最多P个分区的装置;以及
用于产生用于信号负载的相应分区的所述第一电路结构的实例的装置。
15.根据权利要求9所述的设备,其中用于识别所述电路设计中的第一电路结构的装置包括:
用于确定所述第一电路结构是否实现用于M个可测性设计扫描链的解压缩逻辑的装置,其中所述解压缩逻辑产生一组输出信号,其中相应输出信号驱动所述M个可测性设计扫描链中对应的可测性设计扫描链,且其中所述M个可测性设计扫描链中的相应可测性设计扫描链由寄存器链实现;以及
其中用于生成所述第二电路结构的装置包括:
用于将所述M个可测性设计扫描链划分成P个扫描链分区的装置;以及
用于通过与用于分区Pi中其它扫描链的局部可测性设计解压缩器实现共享逻辑,针对分区Pi中的相应可测性设计扫描链生成可测性设计解压缩器的局部实现的装置。
16.根据权利要求9所述的设备,其中用于识别所述电路设计中的第一电路结构的装置包括:
用于确定所述第一电路结构是否实现用于M个可测性设计扫描链的压缩逻辑的装置,其中所述M个可测性设计扫描链中的相应可测性设计扫描链由寄存器链实现,其中所述压缩逻辑包括M个输入信号负载,且其中所述压缩逻辑产生用于所述M个可测性设计扫描链的压缩信号输出;以及
其中用于生成所述第二电路结构的装置包括:
用于基于所述M个可测性设计扫描链的布置顺序确定所述M个可测性设计扫描链的排序的装置;
用于基于所述压缩逻辑的M个信号负载的布置顺序来确定所述M个信号负载的排序的装置;以及
用于基于所述压缩逻辑的M个输入信号负载和M个可测性设计扫描链的对应排序,将所述M个可测性设计扫描链的输出信号耦合到所述压缩逻辑的M个输入信号负载的装置。
CN2009102075209A 2008-11-04 2009-10-26 用于合成期间的拥塞优化的方法和设备 Active CN101739491B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/264,432 US8024693B2 (en) 2008-11-04 2008-11-04 Congestion optimization during synthesis
US12/264,432 2008-11-04

Publications (2)

Publication Number Publication Date
CN101739491A CN101739491A (zh) 2010-06-16
CN101739491B true CN101739491B (zh) 2013-10-23

Family

ID=42133031

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2009102075209A Active CN101739491B (zh) 2008-11-04 2009-10-26 用于合成期间的拥塞优化的方法和设备
CN2009202679810U Expired - Lifetime CN201508554U (zh) 2008-11-04 2009-10-26 在逻辑合成阶段期间优化电路设计以减少布线拥塞的设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN2009202679810U Expired - Lifetime CN201508554U (zh) 2008-11-04 2009-10-26 在逻辑合成阶段期间优化电路设计以减少布线拥塞的设备

Country Status (2)

Country Link
US (1) US8024693B2 (zh)
CN (2) CN101739491B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8255196B2 (en) * 2008-08-25 2012-08-28 Fujitsu Limited Constructing a replica-based clock tree
US8719649B2 (en) * 2009-03-04 2014-05-06 Alcatel Lucent Method and apparatus for deferred scheduling for JTAG systems
US9002781B2 (en) 2010-08-17 2015-04-07 Fujitsu Limited Annotating environmental data represented by characteristic functions
US8874607B2 (en) * 2010-08-17 2014-10-28 Fujitsu Limited Representing sensor data as binary decision diagrams
US8930394B2 (en) * 2010-08-17 2015-01-06 Fujitsu Limited Querying sensor data stored as binary decision diagrams
US9138143B2 (en) 2010-08-17 2015-09-22 Fujitsu Limited Annotating medical data represented by characteristic functions
CN102385648B (zh) * 2010-08-31 2014-10-08 国际商业机器公司 一种芯片设计中减少拥塞的方法和系统
US9176819B2 (en) 2011-09-23 2015-11-03 Fujitsu Limited Detecting sensor malfunctions using compression analysis of binary decision diagrams
US9075908B2 (en) 2011-09-23 2015-07-07 Fujitsu Limited Partitioning medical binary decision diagrams for size optimization
US9189583B2 (en) 2012-12-26 2015-11-17 Synopsys, Inc. Look-up based buffer tree synthesis
WO2014105861A1 (en) * 2012-12-26 2014-07-03 Synopsys, Inc. Look-up based buffer tree synthesis
US8769469B1 (en) * 2012-12-27 2014-07-01 Texas Instruments Incorporated System and method of crossover determination in differential pair and bondwire pairs to minimize crosstalk
US8839061B2 (en) 2013-02-07 2014-09-16 Freescale Semiconductor, Inc. System and method for scan chain re-ordering
US8782582B1 (en) 2013-03-13 2014-07-15 Atrenta, Inc. Efficient method to analyze RTL structures that cause physical implementation issues based on rule checking and overlap analysis
US8745567B1 (en) 2013-03-14 2014-06-03 Atrenta, Inc. Efficient apparatus and method for analysis of RTL structures that cause physical congestion
US8826215B1 (en) 2013-05-24 2014-09-02 International Business Machines Corporation Routing centric design closure
US9293450B2 (en) * 2014-07-22 2016-03-22 Freescale Semiconductor, Inc. Synthesis of complex cells
US9423455B2 (en) * 2014-12-15 2016-08-23 Genesys Testware, Inc. Design-for-test techniques for a digital electronic circuit
CN111737944B (zh) * 2020-06-19 2023-03-24 展讯通信(上海)有限公司 芯片及其可测试性设计方法、装置
CN112883682B (zh) * 2021-03-15 2022-04-29 北京华大九天科技股份有限公司 集成电路的总体布线方法及设备和存储介质
CN117521567B (zh) * 2024-01-05 2024-04-26 深圳鸿芯微纳技术有限公司 电路的混合逻辑综合优化方法、装置及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1537376A (zh) * 2001-07-24 2004-10-13 �����ɷ� 可扩展和自动生成且基于多路复用器的集成电路分层级互连架构
CN1841389A (zh) * 2005-04-01 2006-10-04 阿尔特拉公司 产生等效的现场可编程门阵列和结构化专用集成电路的方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5914887A (en) * 1994-04-19 1999-06-22 Lsi Logic Corporation Congestion based cost factor computing apparatus for integrated circuit physical design automation system
US5587923A (en) * 1994-09-07 1996-12-24 Lsi Logic Corporation Method for estimating routability and congestion in a cell placement for integrated circuit chip
US6477688B1 (en) 1998-07-17 2002-11-05 David E. Wallace Logic equivalence leveraged placement and routing of an IC design
US6360352B2 (en) 1998-07-17 2002-03-19 David E. Wallace Digital circuit layout techniques
US6473885B1 (en) 1998-07-17 2002-10-29 Mentor Graphics Corporation Digital circuit layout techniques using circuit decomposition and pin swapping
US7178118B2 (en) * 2003-05-30 2007-02-13 Synplicity, Inc. Method and apparatus for automated circuit design
US7373615B2 (en) * 2004-02-17 2008-05-13 International Business Machines Corporation Method for optimization of logic circuits for routability

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1537376A (zh) * 2001-07-24 2004-10-13 �����ɷ� 可扩展和自动生成且基于多路复用器的集成电路分层级互连架构
CN1841389A (zh) * 2005-04-01 2006-10-04 阿尔特拉公司 产生等效的现场可编程门阵列和结构化专用集成电路的方法

Also Published As

Publication number Publication date
US8024693B2 (en) 2011-09-20
CN201508554U (zh) 2010-06-16
US20100115476A1 (en) 2010-05-06
CN101739491A (zh) 2010-06-16

Similar Documents

Publication Publication Date Title
CN101739491B (zh) 用于合成期间的拥塞优化的方法和设备
CN1841389B (zh) 产生等效现场可编程门阵列和结构化专用集成电路的方法
US9032343B1 (en) Integrating multiple FPGA designs by merging configuration settings
US8860458B2 (en) Integrated circuits with logic regions having input and output bypass paths for accessing registers
US9111060B2 (en) Partitioning designs to facilitate certification
US9514259B2 (en) Logic configuration method for reconfigurable semiconductor device
US20090271752A1 (en) Legalization of VLSI circuit placement with blockages using hierarchical row slicing
US20200333872A1 (en) Methods and apparatus for selectively extracting and loading register states
US20050268268A1 (en) Methods and systems for structured ASIC electronic design automation
CN106484942B (zh) 有效的集成电路配置数据管理
WO2005119440A2 (en) Methods and systems for mixed-mode physical synthesis in electronic design automation
EP4020214A1 (en) Modular error correction code circuitry
Mo et al. Whirlpool PLAs: a regular logic structure and their synthesis
US6367065B1 (en) Method and apparatus for N-Nary logic circuit design tool with precharge circuit evaluation
US7954077B2 (en) Integrated circuit design utilizing array of functionally interchangeable dynamic logic cells
Du Nguyen et al. Synthesizing HDL to memristor technology: A generic framework
JPH09305633A (ja) 論理回路最適化方法
US6345381B1 (en) Method and apparatus for a logic circuit design tool
US11163546B2 (en) Method and apparatus for supporting programmatic control of a compiler for generating high-performance spatial hardware
WO2009039566A1 (en) Reconfigurable numeric accelerator
KR20070097051A (ko) 동적으로 재구성 가능한 프로세서
EP0905632A2 (en) Method for reducing circuit area by grouping compatible storage devices
US6289497B1 (en) Method and apparatus for N-NARY hardware description language
US20180082720A1 (en) Pipelined interconnect circuitry having reset values holding capabilities
Zheng et al. An integrated circuit partitioning and TDM assignment optimization framework for multi-FPGA systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant