CN107300948A - 具有多位时钟门控单元的集成电路 - Google Patents
具有多位时钟门控单元的集成电路 Download PDFInfo
- Publication number
- CN107300948A CN107300948A CN201610230326.2A CN201610230326A CN107300948A CN 107300948 A CN107300948 A CN 107300948A CN 201610230326 A CN201610230326 A CN 201610230326A CN 107300948 A CN107300948 A CN 107300948A
- Authority
- CN
- China
- Prior art keywords
- clock
- signal
- clock gating
- gating unit
- gate
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 claims abstract description 48
- 238000013461 design Methods 0.000 claims abstract description 42
- 230000004048 modification Effects 0.000 claims abstract description 17
- 238000012986 modification Methods 0.000 claims abstract description 17
- 230000006870 function Effects 0.000 claims description 17
- 238000006073 displacement reaction Methods 0.000 claims description 10
- 230000005611 electricity Effects 0.000 claims description 8
- 238000009826 distribution Methods 0.000 claims description 7
- 230000009467 reduction Effects 0.000 abstract description 17
- 238000011144 upstream manufacturing Methods 0.000 abstract description 5
- 102100022785 Creatine kinase B-type Human genes 0.000 description 24
- 101100410782 Arabidopsis thaliana PXG1 gene Proteins 0.000 description 15
- 101100410783 Arabidopsis thaliana PXG2 gene Proteins 0.000 description 15
- 101000815628 Homo sapiens Regulatory-associated protein of mTOR Proteins 0.000 description 13
- 101000652747 Homo sapiens Target of rapamycin complex 2 subunit MAPKAP1 Proteins 0.000 description 13
- 101000648491 Homo sapiens Transportin-1 Proteins 0.000 description 13
- 102100028748 Transportin-1 Human genes 0.000 description 13
- 101001047117 Homo sapiens Creatine kinase B-type Proteins 0.000 description 6
- 230000000295 complement effect Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 4
- 101100392125 Caenorhabditis elegans gck-1 gene Proteins 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 101100457316 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) MIP6 gene Proteins 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000012938 design process Methods 0.000 description 2
- 239000012212 insulator Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 102100023701 C-C motif chemokine 18 Human genes 0.000 description 1
- 101100392126 Caenorhabditis elegans gck-3 gene Proteins 0.000 description 1
- -1 GCK2 Proteins 0.000 description 1
- 229910001218 Gallium arsenide Inorganic materials 0.000 description 1
- 101100382881 Homo sapiens CCL18 gene Proteins 0.000 description 1
- 230000018199 S phase Effects 0.000 description 1
- 229910000577 Silicon-germanium Inorganic materials 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 230000001808 coupling effect Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 230000004907 flux Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 150000004767 nitrides Chemical class 0.000 description 1
- 238000012536 packaging technology Methods 0.000 description 1
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 1
- 229920005591 polysilicon Polymers 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000035899 viability Effects 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/0008—Arrangements for reducing power consumption
- H03K19/0016—Arrangements for reducing power consumption by using a control or a clock signal, e.g. in order to apply power supply
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/10—Distribution of clock signals, e.g. skew
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/06—Clock generators producing several clock signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3237—Power saving characterised by the action undertaken by disabling clock generation or distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/396—Clock trees
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/20—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
- H03K19/21—EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2117/00—Details relating to the type or aim of the circuit design
- G06F2117/04—Clock gating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/06—Power analysis or power optimisation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Architecture (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明涉及具有多位时钟门控单元的集成电路。一种多位时钟门控单元在集成电路(IC)中被用来代替一位时钟门控单元以降低功耗。一种物理设计方法被用来形成该集成电路的时钟树。门控时钟单元的初始位置以各自的初始时钟输入路径来限定。所选的时钟门控单元被移动到它们可以邻接的修改后位置。邻接的单元通过替换为具有多个门控信号输入、相应的受门控时钟输出及共同的时钟输入路径的多位时钟门控单元来合并。与相应的时钟门控单元在移动和合并之前的时钟路径的总电容相比,时钟路径的上游电容及所产生的多位时钟门控单元自身的电容的总电容可获得净降低。
Description
技术领域
本发明涉及集成电路,并且更特别地涉及使用多位时钟门控单元来降低集成电路的功耗。
背景技术
功耗在诸如片上***(SOC)之类的大集成电路(IC)中是关键性的,这类大的集成电路可能具有数百万个晶体管。广泛使用的用于降低动态功耗的技术是在集成电路的某些部分不需要操作时使用时钟门控单元来关闭它们的时钟。但是,时钟门控单元自身会消耗大量的电力并且会增加集成电路的复杂度。
若能拥有可降低集成电路的时钟树的功耗和复杂度的方式将会是有利的。
发明内容
第一方面,本发明的一种实施例提供一种集成电路(IC),具有用于将时钟信号分发给所述集成电路的元件的时钟树且包括多位时钟门控单元,所述多位时钟门控单元包括:
时钟输入路径;
用于接收各自的时钟门控信号的多个门控信号输入;
相应的多个受门控时钟输出,受所述各自的时钟门控信号控制,且提供各自的受门控时钟信号;以及
耦接于各自的门控信号输入与所述相应的受门控时钟输出之间的多个门控信号路径,
其中所述门控信号路径在所述受门控时钟输出处控制所述受门控时钟信号以选择性地中断所述时钟信号对所述集成电路的所述元件的分发。
根据第一方面所述的集成电路的一个实施方式,还包括具有下述一个或多个技术特征所构成的独立实施例:其中所述多位时钟门控单元具有用于接收所述时钟信号且为所述门控信号路径共用的至少一个时钟缓冲器。
根据第一方面所述的集成电路的一个实施方式,还包括具有下述一个或多个技术特征所构成的独立实施例:其中所述多位时钟门控单元具有用于接收扫描启用信号的扫描启用输入,其中当所述扫描启用信号被断言时,由所述各自的时钟门控信号对所述受门控时钟输出的控制被覆盖。
根据第一方面所述的集成电路的一个实施方式,还包括具有下述一个或多个技术特征所构成的独立实施例:其中所述多位时钟门控单元在各自的门控信号路径中具有多个输入门,并且其中所述输入门接收所述扫描启用信号和所述各自的时钟门控信号,并且具有受所述扫描启用信号控制的至少一个公共元件。
根据第一方面所述的集成电路的一个实施方式,还包括具有下述一个或多个技术特征所构成的独立实施例:其中所述输入门对所述扫描启用信号和所述各自的时钟门控信号执行逻辑NOR函数。
根据第一方面所述的集成电路的一个实施方式,还包括具有下述一个或多个技术特征所构成的独立实施例:其中所述门控信号路径包括:在所述输入时钟信号的一相位期间阻断由所述时钟门控信号对所述受门控时钟输出的控制的各自的开关;各自的门控信号缓冲器;以及各自的正反馈路径,用于在所述开关阻断由所述时钟门控信号对所述受门控时钟输出的控制的相位期间保持所述门控信号缓冲器的输出,其中所述正反馈路径包括由所述时钟信号控制的公共元件。
根据第一方面所述的集成电路的一个实施方式,还包括具有下述一个或多个技术特征所构成的独立实施例:其中所述受门控时钟输出具有在所述各自的受门控时钟输出处控制所述受门控时钟信号的多个输出门,其中所述输出门具有受所述时钟信号控制的至少一个公共元件。
第二方面,本发明的一种实施例提供一种使用电子设计自动化(EDA)工具的集成电路(IC)的物理设计的方法,其中所述集成电路包括用于将输入时钟信号分发给所述集成电路的元件的时钟树,并且其中所述时钟树包括受时钟门控信号控制以选择性地中断所述时钟信号对所述集成电路的所述元件的分发的多个时钟门控单元,所述方法包括:
以各自的初始时钟输入路径和初始的受门控时钟输出路径来限定所述时钟门控单元的初始位置;
将所选择的各个所述时钟门控单元从所述初始位置移动到至少两个所述所选的时钟门控单元邻接的修改后位置;以及
合并邻接的时钟门控单元,其中合并包括:将邻接的时钟门控单元替换为多位时钟门控单元,其中所述多位时钟门控单元具有时钟输入路径、用于接收所述邻接的时钟门控单元的各自的时钟门控信号的多个门控信号输入、以及所述各自的时钟门控信号控制的多个相应的受门控时钟输出路径,并且
其中所产生的多位时钟门控单元的所述时钟输入路径的电容低于所述相应的时钟门控单元在移动和合并之前的所述时钟输入路径的总电容。
根据第二方面所述的方法的一个实施方式,还包括具有下述一个或多个技术特征所构成的独立实施例:其中移动所选择的各个所述时钟门控单元包括:将至少一个时钟门控单元沿着初始时钟输入路径移动到修改后的位置。
根据第二方面所述的方法的一个实施方式,还包括具有下述一个或多个技术特征所构成的独立实施例:其中所选择的时钟门控单元的所述移动由临界点限制,所述临界点选自拐点、交叉点、重叠点、线上点和最大位移点中的至少一个。
根据第二方面所述的方法的一个实施方式,还包括具有下述一个或多个技术特征所构成的独立实施例:其中所述方法包括移动选择的时钟门控单元的多次迭代,并且至少所选的迭代包括移动多位时钟门控单元。
根据第二方面所述的方法的一个实施方式,还包括具有下述一个或多个技术特征所构成的独立实施例:其中所述多位时钟门控单元具有耦接于各自的门控信号输入与所述相应的受门控时钟输出之间的多个门控信号路径,其中所述门控信号路径在所述各自的受门控时钟输出处控制所述受门控时钟信号。
根据第二方面所述的方法的一个实施方式,还包括具有下述一个或多个技术特征所构成的独立实施例:其中所述多位时钟门控单元具有用于接收时钟信号且为所述门控信号路径所共用的至少一个时钟缓冲器。
根据第二方面所述的方法的一个实施方式,还包括具有下述一个或多个技术特征所构成的独立实施例:其中所述多位时钟门控单元具有用于接收在被断言时覆盖由所述各自的时钟门控信号对所述受门控时钟输出的控制的扫描启用信号的扫描启用输入。
根据第二方面所述的方法的一个实施方式,还包括具有下述一个或多个技术特征所构成的独立实施例:其中所述多位时钟门控单元在各自的门控信号路径中具有多个输入门,并且其中所述输入门接收所述扫描启用信号和所述各自的时钟门控信号,并且具有受所述扫描启用信号控制的至少一个公共元件。
根据第二方面所述的方法的一个实施方式,还包括具有下述一个或多个技术特征所构成的独立实施例:其中所述门控信号路径包括:在所述输入时钟信号的一相位期间阻断由所述时钟门控信号对所述受门控时钟输出的控制的各自的开关;各自的门控信号缓冲器;以及各自的正反馈路径,用于在所述开关阻断由所述输入门对所述受门控时钟输出的控制的相位期间保持所述门控信号缓冲器的所述输出,其中所述正反馈路径包括由所述时钟信号控制的公共元件。
根据第二方面所述的方法的一个实施方式,还包括具有下述一个或多个技术特征所构成的独立实施例:其中所述受门控时钟输出具有在所述各自的受门控时钟输出处控制所述受门控时钟信号的多个输出门,并且其中所述输出门具有受所述时钟信号控制的至少一个公共元件。
第三方面,本发明的一种实施例提供一种使用电子设计自动化(EDA)工具进行集成电路(IC)的物理设计的方法,其中所述集成电路包括用于将输入时钟信号分发给所述集成电路的元件的时钟树,并且其中所述时钟树包括受时钟门控信号控制以选择性地中断所述时钟信号对所述集成电路的元件的分发的多个时钟门控单元,所述方法具有连续迭代,每次迭代都包括:
以各自的初始时钟输入路径和初始的受门控时钟输出路径来限定时钟门控单元的初始位置;以及
将所选的时钟门控单元从所述初始位置沿着所述相应的时钟输入路径移动到具有各自的修改后的时钟输入路径和修改后的受门控时钟输出路径的修改后位置,
其中沿着所述相应的时钟输入路径的所述移动由临界点限制,所述临界点选自拐点、交叉点、重叠点、线上点和最大位移点中的至少一种,并且
其中所述修改后的时钟输入路径的电容小于所述初始时钟输入路径的相应电容。
根据第三方面所述的方法的一个实施方式,还包括具有下述一个或多个技术特征所构成的独立实施例:其中对于至少两个时钟门控单元的所述修改后位置邻接的所选迭代,还包括合并所述邻接的时钟门控单元,
其中合并包括将所述邻接的时钟门控单元替换为多位时钟门控单元,所述多位时钟门控单元具有时钟输入路径、用于接收所述各自的时钟门控信号的多个门控信号输入以及所述各自的时钟门控信号控制的多个所述相应的修改后的受门控时钟输出路径,以及
其中所产生的多位时钟门控单元的所述修改后的时钟输入路径的电容低于所述相应的时钟门控单元在移动和合并之前的所述初始时钟输入路径的总电容;以及
根据包括所述多位时钟门控单元的所产生的物理设计来制造集成电路。
附图说明
通过参考下面关于附图所示的本发明的实施例的描述,将可以最佳地理解本发明及其目的和优点。附图中的元件仅出于简洁和清晰起见而示出,且并不一定按比例绘制。
图1是常规集成电路(IC)的示意性框图;
图2是用于执行集成电路(例如,图1的集成电路)的物理设计的本发明的方法的示例性电子设计自动化(EDA)工具的示意性框图;
图3是根据本发明的一种实施例的集成电路(例如,图1的集成电路)的物理设计的方法的流程图;
图4至8是在由图3的方法中的迭代限定的初始位置和后续修改后的位置的集成电路的元的示意性表示;
图9是时钟门控单元的数量的典型统计分布对它们在给定时间于集成电路(例如,图1的集成电路)中被启用的概率的图表;
图10是根据本发明的一种实施例的合并两个时钟门控单元的实例的示意性框图;以及
图11是根据本发明的一种实施例的在合并之后的时钟门控单元的电路原理图。
具体实施方式
图1示出了可以使用包括根据本发明的物理设计方法在内的方法设计并制作的常规集成电路(IC)100的实例,但是如同本领域技术人员所应当清楚的,使用本发明的方法(将在下文详细描述)修改了常规的设计。集成电路100具有通过包括总线106在内的内核互连与存储器104连接的一个或多个处理器内核102。集成电路100包含指令单元108、执行单元110,以及算术逻辑单元112、高速缓存114,连同其他模块(未具体示出)。集成电路100还具有至少一个时钟发生器116以及用于将输入时钟信号分发给集成电路100的时钟控制元件(例如,寄存器和触发器)的至少一个时钟树118。键合焊盘120以键合丝线122与输入/输出(I/O)针脚(未示出)连接。集成电路100还包含外设Px1至Pxm和Py1至Pyn。外设可以包含其功能可以是例如通信、电源管理或内置式自检测(BIST)的模块。应当理解,集成电路100仅仅是可以根据下文所描述的方法来设计的集成电路的一个示例,并且其他类型的集成电路也使用本发明来设计,例如,SOC和ASIC,而且本发明并不限于像丝线键合一样的特定组装工艺。
图2是在本发明的一种实施例中可以用于执行集成电路(例如,集成电路100)的设计方法中的常规的电子设计自动化(EDA)工具200的示意性框图。EDA工具200包含与存储器204耦接的处理器202以及与存储器204耦接的附加存储器或存储装置206。EDA工具200还包含显示器件208、输入/输出接口210和软件212。软件212包含操作***软件214、应用程序216和数据218。除了其他方面外,应用程序216还能够包含市场上可购得的用于体系结构设计、功能和逻辑设计、电路设计、物理设计及验证的模块。数据218可以包括体系结构设计、功能和逻辑设计、电路设计、物理设计、修改后的或校正后的物理设计,以及标准单元及其他构件的库,变量具有不同的特性。EDA工具200在本技术领域中一般是已知的,除了用来实施集成电路的物理设计的方法的软件外。当软件或程序正在处理器202上执行时,处理器变为用于执行运行于处理器202上的软件或应用代码的步骤或指令的“装置加功能(means-for)”。也就是,对于与指令关联的不同指令和不同数据,处理器202的内部电路由于不同的寄存器值等而采取不同的状态,如同本领域技术人员所了解的。因而,本文所描述的任何装置加功能(means-for)结构在其执行本文所公开的方法的步骤时都涉及处理器202。
图3示出了根据本发明的一种实施例的将EDA工具(例如,EDA工具200)与用于执行下文所描述的方法的附加软件一起使用来进行集成电路(例如,集成电路100)的物理设计的方法300。方法300包括:以硬件描述语言(HDL)定义功能和逻辑体系结构(302),得出寄存器传送层(RTL)设计(304),详尽制作物理设计(306),物理设计的验证和签收(sign-off)(308),以及集成电路的制造或制作310。物理设计的详尽制作306可以包括:将RTL设计划分成组(312),例如,逻辑组、时钟组及电源环和带(power rings and straps),平面规划(floor planning)(314),逻辑和寄存器及关联的元件的布局(316),可以包括缓冲器添加、调整大小和优化的时钟树合成(318),信号路由(320)以及时序闭合(timing closure)(322)。
在方法300中,时钟树118最初包含受时钟门控信号G1至G9控制的多个时钟门控单元CGC1至CGC9(图4)。时钟门控单元选择性地中断时钟信号CKB通过时钟门控单元对集成电路的各个部分的分发。方法300包括:在324,以各自的初始时钟输入路径IIP1至IIP9和受门控时钟输出(受门控时钟输出信号GCK1至GCK9)来限定时钟门控单元CGC1至CGC9的初始位置。然后,在326和328,所选的时钟门控单元CGC1至CGC4、CGC6和CGC9被从初始位置移动到至少两个时钟门控单元在其中邻接的修改后的位置(CGC1和CGC2、CGC8和CGC9,如图5所示,以及CGC1、CGC2和CGC3,如图6所示)。在326和330,邻接的时钟门控单元被合并。该合并(326和330)包括以多位时钟门控单元(在图7中的CGC1+2+3和CGC8+9,在图10中的1004)替换邻接的时钟门控单元(如图6中的CGC1、CGC2、CGC3处以及CGC8、CGC9处,以及图10中的1000和1002处所示),该多位时钟门控单元具有时钟输入路径(在图7中的MIP1+2+3和MIP8+9,在图10中的MIP1+2),用于接收各自的时钟门控信号G1、G2、G3、G8和G9的多个门控信号输入以及各自时钟控制信号所控制的多个相应的受门控时钟输出GCK1、GCK2、GCK3,和GCK8、GCK9。迭代可以包括在合并邻接的时钟门控单元之前一起移动它们,例如,CGC1、CGC2(图6),或者可以包括在合并它们之后移动多位时钟门控单元,例如,CGC8+9(图8)。所产生的多位时钟门控单元(CGC1+2+3、CGC8+9、1004)的修改后的时钟输入路径(在图7和8中的MIP1+2+3、MIP8+9,在图10中的MIP1+2)的电容低于在移动和合并之前相应的时钟门控单元(CGC1、CGC2和CGC3,以及CGC8和CGC9,在图10中的1000和1002)的初始时钟输入路径(在图4中的IIP1+IIP2+IIP3、IIP8+IIP9,在图6中的IIP8+MIP9,在图10中的IIP1+IIP2)的总电容。
时钟输入路径的电容(上游电容)的降低通过使用公共时钟输入路径,例如,多位时钟门控单元CGC1+2+3的MIP1+2+3,而不是时钟门控单元CGC1、CGC2和CGC3的多个初始时钟输入路径IIP1、IIP2和IIP3来提供。另外,公共时钟输入路径(例如,MIP1+2+3)的长度可以短于初始时钟输入路径IIP1、IIP2和IIP3中的一个或多个。时钟输入路径的上游电容的降低提供了时钟树118的动态功耗的降低。即使到时钟门控单元给其分发时钟信号的集成电路的元件的时钟输出路径的下游电容后续有增加,下游电容仅在时钟门控单元分发受门控时钟信号GCLKx时消耗动态功率。在时钟门控单元中断时钟信号GCLKx时,下游电容不消耗动态功率,使得净效果通常是时钟输入和输出路径的有效动态功耗的净降低。如图9所示,该图是时钟门控单元允许时钟分发的概率的典型统计分布的图表,大多数的时钟门控单元允许时钟的分发小于5%的时间,并且加长下游的时钟路径仅会相应地损失(penalize)极小的下游功耗。另外,将邻接的时钟门控单元合并成多位时钟门控单元给在时钟门控单元内的动态功耗的降低提供了另外的机会。在本发明的一种实施例中,考虑到由任何合并引起的上游电容的降低以及多位时钟门控单元自身的电容的任何降低,由下游路径的统计性激活(statisticalactivation)加权的下游电容的增加得到更多补偿。主动性的移动(aggressive move)(在其可行性(viability)方面还存在着疑问),功耗的降低能够被检查到。
在方法300中,移动所选的时钟门控单元(326)可以包括沿着初始时钟输入路径移动时钟门控单元;这能够通过避免重复初始路由过程来实现设计过程的简化,这种重复是修改时钟输入路径的路由将会涉及的。移动所选的时钟门控单元(326)可以包括移动至少一个单输出时钟门控单元CGC1至CGC4、CGC6、CGC8和CGC9。单输出时钟门控单元的移动(和合并)(326)可以被认为是具有高置信度的可接受性的安全移动。所选的时钟门控单元可以作为组(在图6中的CGC1和CGC2)或单独地(在图5和6中的CGC1至CGC4、CGC6和CGC9)进行移动。安全动作能够至少半自动地进行,取决于时钟门控单元的初始位置的拓扑结构。
所选的时钟门控单元的移动会受临界点限制,如同本文所限定的,这些临界点选自包含下列项的组中:拐点、交叉点、重叠点、线上点(in-line point)和最大位移点中的至少一个。位于端点的时钟门控单元被认为是适合于安全移动的,除非该端点同时是重叠点。初始的或修改后的位置可以对应于组的不止一个的限定,并且组并不限于所提到的临界点。如同本文所使用的,这些表述指的是:
-拐点是时钟输入路径改变方向的点;
-线上点是另一个时钟树或逻辑单元已经重叠位于时钟输入路径上的点;
-交叉点是两个或更多个时钟输入路径会聚或分离的点;
-重叠点是其中一个的位置已经由路由过程固定的两个时钟树元件很接近或重叠的点;
-最大位移点是沿着时钟输入路径位于相对初始位置的最大位移处的修改后位置;最大位移可以由设计者设定为合适的值,例如,选定数量的路由轨迹;以及
-端点是在时钟输入路径的末端的位置。
临界点的实例示于附图中。在图4中,拐点的一个实例是节点416;交叉点的实例是节点402、404、408、414;重叠点的一个实例是节点412;线上点的实例是节点418和420。在图5中,节点404变为线上点。在图8中,节点802是最大位移点。
安全动作可以不代表能够获得的最大功率降低。方法300可以包括移动至少一个多位时钟门控单元CGC8+9(328),该移动可以被认为是主动性的移动,主动性的移动很可能(但不一定)会节省功耗并且其可接受性应当被检查。方法300可以包括移动所选的时钟门控单元(328)的多次迭代,并且至少所选的迭代包括移动多位时钟门控单元CGC8+9,其中如果设计标准332是令人满意的,则所选的迭代被保留(330),并且其中如果设计标准是不令人满意的,则回复到前次迭代的结果(334)。在本发明的另一种实施例(未示出)中,所选的迭代包括合并所选的邻接的时钟门控单元CGC8和CGC9(330),移动所产生的多位时钟门控单元CGC8+9(328),并且在主动性的移动之后验证设计标准(332),合并和移动被保留,除非在334处设计标准是不令人满意的。
验证设计标准代表较大功率降低的机会可能会或者可能不会正当(justify)的物理设计过程的复杂性。因此,在336做出关于功率降低是否关键的判断,并且如果不是关键的,则移动和合并(328,330)被省略并且方法300结束于338。
在332设计标准可以选自包含下列项的至少一个的组中:
-涉及所产生的多位时钟门控单元CGC1+2+3、CGC8+9、1004的时钟树的选择的最小功耗降低;
-涉及所产生的多位时钟门控单元CGC1+2+3、CGC8+9、1004的完全设计100的路由拥塞(routing congestion)的可接受性;
-所产生的多位时钟门控单元CGC1+2+3、CGC8+9、1004的受门控时钟信号输出的驱动能力的充分性
-相应的时钟门控单元自身(在所输入的时钟信号CKB与时钟启用信号SE之间)以及所产生的多位时钟门控单元CGC1+2+3、CGC8+9、1004的受门控时钟输出路径的时序松弛(time slack)的可接受性。
如图11所示,在1100,多位时钟门控单元1100可以具有耦接于各自的门控信号输入1102、1104与相应的受门控时钟输出1106、1108之间的多个门控信号路径G1、CLO1、CLOB1;G2、CLO2、CLOB2,其中门控信号路径控制在各自的受门控时钟输出1106、1108处的受门控时钟信号GCKB1、GCKB2。多位时钟门控单元1100可以具有至少一个时钟缓冲器1110,其接收时钟信号CKB并且对门控信号路径G1、CLO1、CLOB1;G2、CLO2、CLOB2是公共的。
根据本发明的一种实施例,集成电路(例如,包含用于将输入时钟信号CKB分发给该集成电路的元件的时钟树118的集成电路100)的物理设计的方法300具有连续的迭代。每次迭代都包括以各自的初始时钟输入路径IIP1至IIP9和初始的受门控时钟输出路径(信号GCK1至GCK9)来限定时钟门控单元CGC1至CGC9的初始位置。在326和328,所选的时钟门控单元CGC1至CGC4、CGC6和CGC9沿着相应的时钟输入路径IIPx从初始位置移动到具有各自修改后的时钟输入路径MIPx和修改后的受门控时钟输出路径的修改后位置。沿着相应的时钟输入路径IIPx的移动由临界点限制,如同本文所限定的,该临界点选自包含下列项的组中:拐点、交叉点、重叠点、线上点和最大位移点中的至少一个。修改后的时钟输入路径MIPx的电容小于初始时钟输入路径IIPx的相应电容。
在方法300中,对于至少所选的迭代,至少两个时钟门控单元(CGC1和CGC2、CGC8和CGC9)的修改后位置可以是邻接的,并且邻接的时钟门控单元可以合并(326和330)。合并326和330包括将邻接的时钟门控单元(如图6中的CGC1、CGC2、CGC3处,以及CGC8、CGC9处,以及图10中的1000和1002处所示)替换为多位时钟门控单元(在图7中的CGC1+2+3和CGC8+9,在图10中的1004),该多位时钟门控单元具有时钟输入路径(在图7中的MIP1+2+3和MIP8+9,在图10中的MIP1+2)、接收各自的时钟门控信号G1、G2、G3和G8、G9的多个门控信号输入以及各自的时钟门控信号G1、G2、G3和G8、G9所控制的多个相应的修改后的受门控时钟输出路径。所产生的多位时钟门控单元的修改后的时钟输入路径(MIP1+2+3、MIP8+9、MIP1+2)的电容低于相应的时钟门控单元(图4的CGC1、CGC2和CGC3、CGC8和CGC9,图10的1000和1002)在移动和合并之前的初始时钟输入路径(IIP1+IIP2+IIP3;IIP8+IIP9;IIP1+IIP2)的总电容。
本发明的一种实施例包含用于存储用于EDA工具(例如,包含处理器202以及与处理器耦接的存储器204、206的200)的指令的非易失性计算机可读存储介质,该处理器在指令被执行时促使EDA工具执行集成电路的物理设计的方法300。
根据本发明的一种实施例,集成电路(IC)(例如,100)具有用于将时钟信号CLK分发给集成电路的元件的且包含图8和11所示的在1004和1100处的多位时钟门控单元(图7的CGC1+2+3、CGC8+9,图10的1004)的时钟树118。多位时钟门控单元1004、1100包含:
-时钟输入路径(MIP1+2);
-用于接收各自的时钟门控信号G1、G2的多个门控信号输入1102、1104;
-受各自的时钟门控信号G1、G2控制的多个相应的受门控时钟输出1106、1108;以及
-耦接于各自的门控信号输入1102、1104与相应的受门控时钟输出1106、1108之间的多个门控信号路径G1、CLO1、CLOB1;G2、CLO2、CLOB2,门控信号路径G1、CLO1、CLOB1;G2、CLO2、CLOB2控制在受门控时钟输出1106、1108处的受门控时钟信号GCKB1、GCKB2,以选择性地中断时钟信号CKB通过多位时钟门控单元1004、1100到集成电路的各个部分的分发。
输入时钟信号CKB可以是对门控信号路径G1、CLO1、CLOB1;G2、CLO2、CLOB2公共的,这允许多位时钟门控单元1004、1100自身与单独的时钟门控单元1002和1004相比呈现给输入时钟信号CKB的电容降低,除了时钟输入路径的上游电容的降低外还提供了更多的功率降低。
多位时钟门控单元1100可以具有至少一个时钟缓冲器1110,其接收时钟信号CKB并且是对门控信号路径G1、CLO1、CLOB1;G2、CLO2、CLOB2公共的。
多位时钟门控单元1100可以具有用于接收在被断言时覆盖(override)由各自的时钟门控信号GCKB1、GCKB2对受门控时钟输出1106、1108的控制的扫描启用信号SE的扫描启用输入。多位时钟门控单元1100可以在各自的门控信号路径G1、CLO1、CLOB1;G2、CLO2、CLOB2中具有多个输入门1102、1104,其中输入门1102、1104接收扫描启用信号SE和各自的时钟门控信号G1、G2,并且具有受扫描启用信号SE控制的至少一个公共元件1112。输入门1102、1104可以对扫描启用信号和各自的时钟门控信号执行逻辑NOR功能。
门控信号路径G1、CLO1、CLOB1;G2、CLO2、CLOB2可以包含:(i)用于在输入时钟信号CKB相位内阻断由时钟门控信号G1、G2对受门控时钟输出1106、1108的控制的各自的开关1114、1116;(ii)各自的门控信号缓冲器1118、1120;以及(iii)用于在开关1114、1116阻断由时钟门控信号对受门控时钟输出1106、1108的控制的相位内保持门控信号缓冲器1118、1120的输出的各自的正反馈路径1122、1124。正反馈路径1122、1124包含受时钟信号CKB控制的公共元件1126、1128。
受门控时钟输出1106、1108可以具有用于在各自的受门控时钟输出处控制受门控时钟信号GCKB1、GCKB2的多个输出门1130、1132,并且其中输出门具有受时钟信号控制的至少一个公共元件1134。
不同的门控信号路径所共用的元件而不是总是被阻断的各自的门控信号路径的单独元件的使用,提供了时钟树118的动态功耗的降低,并且节省了芯片面积。
更具体地,图4至8示出了移动和合并(326和328,330)的简化实例。应当意识到,集成电路将会典型地涉及移动和合并比为了简单起见而示出的9个时钟门控单元要多得多的时钟门控单元。图4示出了初始的单输出时钟门控单元CGC1至CGC9在它们的初始位置的情形400的一个示例,这些单输出时钟门控单元CGC1至CGC9全都是具有各自的单独初始时钟输入路径IIP1至IIP9的端点。图5示出了在时钟树合成过程中的第一迭代500,在该第一迭代500中,所选的时钟门控单元CGC1至CGC4、CGC6和CGC9被从初始位置(如图5所示,在虚线中)移动(326和328)到修改后的位置(在实线中),这些移动由虚线箭头所强调。在该实例中,时钟门控单元CGC1和CGC2被移动到它们邻接于共同的拐点402处的修改后位置,该拐点402同样是交叉点。时钟门控单元CGC3被移动到修改后位置,该修改后位置在图4所示的情形400中是交叉点404并且然后变为后续迭代500的线上点。
时钟树118包含具有时钟输入路径IIPB的且给时钟树118外的逻辑元件供应所缓冲的时钟的缓冲器406。缓冲器406的位置及其时钟输入路径IIPB由在时钟树合成中的布局和路由过程限定,并且无法在没有至少部分重复时钟树合成过程的情况下改变。时钟门控单元CGC4的时钟输入路径IIP4叠加于缓冲器406的时钟输入路径IIPB上,直到重叠点408,该重叠点408构成了限制时钟门控单元CGC4的移动以进一步降低输入路径MIP4的电容的临界点,如图5所示。
时钟树118包含为设计目的而提供的逻辑元件410,例如,“与(AND)”、“或(OR)”门和“多位复用器”(mux)单元,以及为时钟树合成目的逻辑单元410,例如,“缓冲器”或“反相器”单元。逻辑元件410具有时钟输入路径IIPL,并且逻辑元件410的位置以及它们的时钟输入路径IIPL同样无法在没有至少部分重复时钟树合成过程的情况下改变。时钟门控单元CGC7的时钟输入路径IIP7叠加于逻辑元件410的时钟输入路径IIPL上,直到重叠点412,该重叠点412构成了可通过时钟门控单元CGC7的移动来防止时钟输入路径IIP7的电容的降低的临界点。时钟门控单元CGC6的时钟输入路径IIP6叠加于逻辑元件410的时钟输入路径IIPL上,直到交叉点414,但其不防止时钟门控单元CGC6被移动到拐点416,该拐点416是在第一迭代期间限制时钟门控单元CGC6的移动的临界点。时钟门控单元CGC5位于线上点418,在该线上点418处,它的时钟输入路径IIP5叠加于时钟门控单元CGC6的逻辑元件和MIP6的时钟输入路径IIPL上,从而防止了可降低时钟输入路径的电容的时钟门控单元CGC5的移动。时钟门控单元CGC9被移动到修改后位置,该修改后位置是线上点,并且是拐点和交叉点420,在该点处它与时钟门控单元CGC8邻接。
图6示出了在时钟树合成300中的另一个迭代600。在迭代600中,时钟门控单元CGC1和CGC2被一起移动到线上点404,与时钟门控单元CGC3邻接。应当意识到,时钟门控单元CGC1和CGC2能够在被移动到线上点404之前于迭代600中合并,但是在该实例中在合并之前一起移动它们更简单,因为它们二者将会随后与时钟门控单元CGC3合并。该移动构成了然后被验证是否符合设计标准(332和334)的主动性移动。时钟门控单元CGC6被移动到交叉点414,在该交叉点414处,它的时钟输入路径MIP6叠加于时钟输入路径IIPL上并且防止可时钟输入路径的电容的时钟门控单元CGC6的进一步移动。时钟门控单元CGC4、CGC5和CGC7无法被进一步移动,因为它们已经位于线上点408、418和重叠点414。时钟门控单元CGC8和CGC9在该迭代600中能够可任选地一起移动,但是在本实例中被留在原位。
图7示出了在时钟树合成300中的另一个迭代700,在该迭代700中,时钟门控单元CGC1、CGC2和CGC3被合并以形成具有修改后的共同的时钟输入路径MIP1+2+3的多位时钟门控单元CGC1+2+3,并且时钟门控单元CGC8和CGC9被合并以形成具有修改后的时钟输入路径MIP8+9的多位时钟门控单元CGC8+9。
图8示出了在时钟树合成300中的另一个迭代800,在该迭代800中,多位时钟门控单元CGC8+9在迭代700中沿着时钟输入路径MIP8+9从初始位置移动到作为位于由设计者设定的最大位移处的临界点的修改后位置802。多位时钟门控单元CGC8+9的移动构成了主动性移动,该主动性移动然后被验证是否符合设计标准(332和334)。
下面是能够用于执行主动性移动(328)及合并(330)的验证(332和334)的算法的实例:
*在该算法中,最近的临界点意指最近的“拐点”,“交叉点”或“线上点”。
**最大步幅能够由设计者定义,例如20个跟踪或2行,或者另外的距离。
功率降低标准的一个实例由下式给出:
换言之,修改后的功耗(g1fCLV2+g2fCLV2)必须小于合并之前的总的初始功耗fCLV2
其中f是时钟频率,g是代表修改后的输入和输出路径的电容被充电的时间比例的因子,CL是路径或线路的电容,而V是时钟电压。
关于路由拥塞是否可接受的标准的一个实例是路由通道(gcell)溢出是否在控制之下。
关于所产生的多位时钟门控单元的受门控时钟信号输出(驱动能力)的驱动电流是否充分的标准一个实例是在所合并的时钟门控单元的输出处的时钟过渡t的过渡时间增量Δt是否低于t*20%,该数字由设计者选择。
关于所合并的多位时钟门控单元的受门控时钟信号输出的时序松弛是否可接受的标准的一个实例是受门控时钟输出信号的时序松弛ts是否为正(ts>0)。
图11示出了在作为互补型金属-氧化物-半导体(CMOS)而为人所知的技术中(具有数对类型相反的场效应晶体管(FET))的多位时钟门控单元1100的一个实例。众所周知,FET的门不一定是金属,而是可以具有另一种导电材料,例如,多晶硅,并且氧化物可以至少部分由其他店绝缘体代替,例如,氮化物。
多位时钟门控单元1100被示于图11中,用于单元1004的情形。单元1100在所示的实例中具有用于接收各自的时钟门控信号G1、G2的两个门控信号输入门1102、1104,但是应当意识到,可以设置多于两个的门控信号输入,例如,三个门控信号输入。门控信号路径G1、CLO1、CLOB1;G2、CLO2、CLOB2被耦接于各自的门控信号输入门1102、1104与相应的受门控时钟输出1106、1108之间。为不同的门控信号路径共用的元件由虚线矩形包络框标识(避免了这些元件的复制)。
时钟输入信号CKB通过时钟输入路径MIP1+2在具有分别包含互补的MOSFET对的两个连续的反相器级的时钟缓冲器1110处被接收,第一反相器级提供反相时钟信号CKBB,并且第二反相器级提供双反相的时钟信号CKBB。所缓冲的时钟信号CKBB和CKBB在单元1100内部被共同供应给门控信号路径G1、CLO1、CLOB1;G2、CLO2、CLOB2,避免了缓冲器的复制。
在每个输入门1102、1104中,门控信号G1或G2在其源-漏路径串联连接的各自的互补MOSFET对的栅极上被接收。各自的N型MOSFET 1136、1138在其栅极上接收扫描启用信号SE,并且具有与相应的互补MOSFET对的N型MOSFET的源-漏路径并联连接的其源-漏路径。输入门1102、1104的输出1140、1142位于连接各自的互补MOSFET对的源-漏路径的节点处。P型MOSFET 1112具有串联连接在电压源VDD与为门控信号路径G1、CLO1、CLOB1;G2、CLO2、CLOB2所共用的互补MOSFET对两者的源-漏路径之间的它的源-漏路径,并且它的栅极接收扫描启用信号SE。
输入门1102、1104是NOR门。在操作中,当扫描启用信号SE为高(被断言)时,公共的P型MOSFET 1112截止,并且N型MOSFET 1136、1138导通,从而使输出1140、1142向下拉低到地电位。同样,当门控信号G1或G2为高(被断言)时,互补MOSFET对的N型MOSFET导通,从而使输出1140、1142向下拉低到地电位。扫描启用信号SE的断言覆盖由时钟门控信号GCKB1、GCKB2两者对受门控时钟输出1106、1108的控制,并且使时钟门控单元1100变为不可工作以中断输出时钟信号GCKB1和GCKB2,例如,为了内部测试的目的。当扫描启用信号SE为低(被取消断言)时,在输出1140、1142上的信号相对于时钟门控信号G1、G2反相。
输入门1102、1104的输出1140、1142与各自的开关1114、1116连接。每个开关1114、1116都具有其源-漏路径并联连接的各自的互补MOSFET对。每个对的N型MOSFET的栅极接收反相时钟信号CKBB,并且每个对的P型MOSFET的栅极接收双反相的时钟信号CKBBB。在操作中,在输入时钟信号CKB为高的时钟相位内,在开关1114、1116内的每个对的两个MOSFET截止,从而阻断由输入门1102、1104对受门控时钟输出1106、1108的控制。在输入时钟信号CKB为低的时钟相位内,在开关1114、1116内的每个对的两个MOSFET导通,并且在开关1114、1116的输出处的信号CLO1,CLO2跟随在输入门的输出1140、1142处的反相门控信号,从而将控制传递到受门控时钟输出1106、1108。开关及随后的环路结构被用作锁存功能:当CKB为低时,锁存器是透明的并接收新的门信号值,当CKB为高时,开关截止并且锁存器保持前一时段的值。
输出信号CLO1、CLO2在输入时钟信号CKB为高的时钟相位内由反馈逻辑1122、1124驱动。输出信号CLO1,CLO2被输入到各自的锁存器;以在该时钟相位内使信号变稳定。锁存器具有各自的门控信号缓冲器1118、1120,并且各自的正反馈路径1122、1124在开关1114、1116截止的时钟相位内保持门控信号缓冲器1118、1120的输出。每个门控信号缓冲器1118、1120都具有其栅极接收作为输入的信号CLO1、CLO2且其源-漏路径串联连接从而形成反相器的一对互补的MOSFET。来自反相器1118、1120的输出信号CLOB1、CLOB2被输入在正反馈路径1122和1124中的各自的反相器,这两个正反馈路径1122和1124的输出与门控信号缓冲器1118、1120的输入连接。正反馈路径1122、1124仅在开关1114、1116截止的时钟相位内可操作,而在相反的时钟相位内不干扰门控信号。为了该目的,在正反馈路径1122和1124中,P型MOSFET 1126连接在电压源VDD与反相器的源-漏路径的并联连接之间。同样地,N型MOSFET 1128连接在地线与反相器的源-漏路径的并联连接之间。MOSFET 1126和1128的栅极分别接收反相时钟信号CKBB和双反相的时钟信号CKBBB,并且MOSFET1126和1128仅在开关1114、1116截止的时钟相位内是导通的。MOSFET 1126和1128为正反馈路径1122和1124共用,从而避免了复制。
每个输出门1130、1132都具有其源-漏路径并联连接在电压源VDD与各自的N型MOSFET的漏极之间的、其源极通过N型MOSFET1134的源-漏路径与地线连接的两个P型MOSFET,而输出门1130、1132的输出被从用于连接N型MOSFET的漏极和P型MOSFET的漏极的节点获得。MOSFET 1134的栅极接收输入时钟信号CKB,并且MOSFET 1134为输出门1130、1132共用,从而避免了复制。受门控时钟信号GCKB1、GCKB2通过由反相器形成的各自的缓冲器1144、1146从门1130、1132的输出获得。
在操作中,在信号CLOB1、CLOB2为高时,门1130、1132通过反相的输入时钟信号CKB,并且缓冲器1144、1146的反相器重新建立受门控时钟信号GCKB1、GCKB2的时钟相位。在信号CLOB1、CLOB2为低时,门1130、1132使它们的输出保持为高,并且缓冲器1144、1146的反相器将受门控时钟信号GCKB1、GCKB2向下保持于地电位,从而中断在该受门控时钟信号输出处的时钟信号的分发。
在前面的说明中,本发明已经参考本发明的实施例的具体示例进行了描述。但是,应当很明显的是,在不脱离所附权利要求书所阐明的本发明的更广泛的精神和范围的情况下可以在其中进行各种修改和更改。
例如,本文所描述的集成电路能够包括具有任何半导体材料或材料组合的半导体基板,例如,砷化镓、硅锗、绝缘体上硅(SOI)、硅、单晶硅等,以及上述材料的组合。
本文所描述的连接可以是适合于与各自的节点、单元或器件(例如,经由中间器件)进行信号传输的任何类型的连接。因此,除非另有暗示或声明,否则连接可以是直接连接或间接连接。连接可以关于作为单个连接、多个连接、单向连接或双向连接来示出和描述。但是,不同的实施例可以改变连接的实施方式。例如,可以使用单独的单向连接,而不是双向连接,或反过来。同样地,多个连接可以用串行地或按时间复用的方式来传输多个信号的单个连接代替。同样,传送多个信号的单个连接可以被分离成传送这些信号的子集的各个不同的连接。因此,存在着用于传输信号的许多选项。
尽管在实例中已经描述了具体的导电类型或电位极性,但是应当清楚,导电类型和电位极性可以反过来。
本文所描述的每个信号可以被设计为正逻辑或负逻辑。在负逻辑信号的情形中,信号为低电平有效的,在其中逻辑真态对应于逻辑电平0。在正逻辑信号的情形中,信号为高电平有效的,在其中逻辑真态对应于逻辑电平1。注意,本文所描述的任何信号都能够被设计为正逻辑信号或负逻辑信号。因此,在可替换的实施例中,被描述为正逻辑信号的那些信号可以被实施为负逻辑信号,并且被描述为负逻辑信号的那些信号可以被实施为正逻辑信号。
当提及分别给信号、状态位或类似装置赋予其逻辑真或逻辑假态时,本文使用了术语“断言(assert)”或“置位(set)”和“否定(negate)”(或者“取消断言(de-assert)”或“清除(clear)”)。如果逻辑真态为逻辑电平1,则逻辑假态为逻辑电平0。并且如果逻辑真态为逻辑电平0,则逻辑假态为逻辑电平1。
本领域技术人员应当意识到,在逻辑块之间的界线仅仅是说明性的,并且可替换的实施例可以合并逻辑块或电路元件,或者将功能的可替换分解强加于不同的逻辑块或电路元件上。因而,应当理解,本文所示出的体系结构仅仅是示例性的,并且实际上,可实现同样功能的许多其他体系结构都能够被实施。类似地,用于实现同样功能的任何构件布局都有效地“关联”,使得所期望的功能得以实现。因此,为实现特定功能而结合的任何两个构件都能够被看作是彼此“关联的”,使得所期望的功能得以实现,不管体系结构或中间构件如何。同样地,这样关联的任何两个构件同样能够被看作是彼此“在操作上连接的”或者“在操作上耦接的”,以实现所期望的功能。
而且,本领域技术人员应当意识到,在以上所描述的操作之间的界线仅仅是说明性的。多个功能可以被结合成单个操作,单个操作可以分布于另外的操作中,并且操作可以至少在时间上部分重叠地执行。而且,尽管可替换的实施例可以包括特定操作的多个实例,并且操作的顺序可以在各种其他实施例中变动。
同样,例如,集成电路的实例或其某些部分可以被实现为例如任何适当类型的硬件描述语言的物理电路的软件或代码表示或者可转换成物理电路的逻辑表示。
在权利要求书中,词语“包含”或“具有”并不排除存在除了权利要求书中所列出的那些元件或步骤之外的其他元件或步骤。而且,本文所使用的词语“一(a)”或“一个(an)”被定义为一个或多个。同样,诸如“至少一个”和“一个或多个”之类的介绍性短语在权利要求书中的使用不应被看作为暗示着,不定冠词“一(a)”或“一个(an)”对另外的权利要求要件的引入将包含该所引入的权利要求要件的任何特定的权利要求限制于仅包含一个这样的要件的发明,即使同一权利要求包含了介绍性短语“一个或多个”或者“至少一个”和不定冠词,例如,“一(a)”或“一个(an)”。对于定冠词的使用同样如此。除非另外声明,诸如“第一”和“第二”之类的词语被用来任意地区分这样的词语所描述的元件。因而,这些词语并不一定意在指示此类元件的时间先后或其他顺序。某些措施在相互不同的权利要求内被引用的这一事实并非指出这些措施的结合不能被有利地使用。
Claims (10)
1.一种集成电路(IC),具有用于将时钟信号分发给所述集成电路的元件的时钟树且包括多位时钟门控单元,所述多位时钟门控单元包括:
时钟输入路径;
用于接收各自的时钟门控信号的多个门控信号输入;
相应的多个受门控时钟输出,受所述各自的时钟门控信号控制,且提供各自的受门控时钟信号;以及
耦接于各自的门控信号输入与所述相应的受门控时钟输出之间的多个门控信号路径,
其中所述门控信号路径在所述受门控时钟输出处控制所述受门控时钟信号以选择性地中断所述时钟信号对所述集成电路的所述元件的分发。
2.根据权利要求1所述的集成电路,其中所述多位时钟门控单元具有用于接收所述时钟信号且为所述门控信号路径共用的至少一个时钟缓冲器。
3.根据权利要求1所述的集成电路,其中所述多位时钟门控单元具有用于接收扫描启用信号的扫描启用输入,其中当所述扫描启用信号被断言时,由所述各自的时钟门控信号对所述受门控时钟输出的控制被覆盖。
4.根据权利要求3所述的集成电路,其中所述多位时钟门控单元在各自的门控信号路径中具有多个输入门,并且其中所述输入门接收所述扫描启用信号和所述各自的时钟门控信号,并且具有受所述扫描启用信号控制的至少一个公共元件。
5.根据权利要求4所述的集成电路,其中所述输入门对所述扫描启用信号和所述各自的时钟门控信号执行逻辑NOR函数。
6.根据权利要求4所述的集成电路,其中所述门控信号路径包括:
在所述输入时钟信号的相位期间阻断由所述时钟门控信号对所述受门控时钟输出的控制的各自的开关;
各自的门控信号缓冲器;以及
各自的正反馈路径,用于在所述开关阻断由所述时钟门控信号对所述受门控时钟输出的控制的相位期间保持所述门控信号缓冲器的输出,
其中所述正反馈路径包括由所述时钟信号控制的公共元件。
7.根据权利要求1所述的集成电路,其中所述受门控时钟输出具有在所述各自的受门控时钟输出处控制所述受门控时钟信号的多个输出门,其中所述输出门具有受所述时钟信号控制的至少一个公共元件。
8.一种使用电子设计自动化(EDA)工具的集成电路(IC)的物理设计的方法,其中所述集成电路包括用于将输入时钟信号分发给所述集成电路的元件的时钟树,并且其中所述时钟树包括受时钟门控信号控制以选择性地中断所述时钟信号对所述集成电路的所述元件的分发的多个时钟门控单元,所述方法包括:
以各自的初始时钟输入路径和初始的受门控时钟输出路径来限定所述时钟门控单元的初始位置;
将所选择的各个所述时钟门控单元从所述初始位置移动到至少两个所选的时钟门控单元邻接的修改后位置;以及
合并邻接的时钟门控单元,其中合并包括:将邻接的时钟门控单元替换为多位时钟门控单元,其中所述多位时钟门控单元具有时钟输入路径、用于接收所述邻接的时钟门控单元的各自的时钟门控信号的多个门控信号输入、以及所述各自的时钟门控信号控制的多个相应的受门控时钟输出路径,并且
其中所产生的多位时钟门控单元的所述时钟输入路径的电容低于所述相应的时钟门控单元在移动和合并之前的所述时钟输入路径的总电容。
9.根据权利要求8所述的方法,其中:
移动所选择的各个所述时钟门控单元包括:将至少一个时钟门控单元沿着初始时钟输入路径移动到修改后的位置;并且
所选择的时钟门控单元的所述移动由临界点限制,所述临界点选自包含下列项的组中:拐点、交叉点、重叠点、线上点和最大位移点中的至少一个。
10.根据权利要求8所述的方法,其中所述多位时钟门控单元具有耦接于各自的门控信号输入与所述相应的受门控时钟输出之间的多个门控信号路径,其中所述门控信号路径在所述各自的受门控时钟输出处控制所述受门控时钟信号,并且
其中所述门控信号路径包括:
在所述输入时钟信号的相位期间阻断由所述时钟门控信号对所述受门控时钟输出的控制的各自的开关;
各自的门控信号缓冲器;以及
各自的正反馈路径,用于在所述开关阻断由所述输入门对所述受门控时钟输出的控制的相位期间保持所述门控信号缓冲器的所述输出,
其中所述正反馈路径包括由所述时钟信号控制的公共元件。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610230326.2A CN107300948A (zh) | 2016-04-14 | 2016-04-14 | 具有多位时钟门控单元的集成电路 |
US15/356,626 US9838013B2 (en) | 2016-04-14 | 2016-11-20 | Integrated circuit with multi-bit clock gating cells |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610230326.2A CN107300948A (zh) | 2016-04-14 | 2016-04-14 | 具有多位时钟门控单元的集成电路 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107300948A true CN107300948A (zh) | 2017-10-27 |
Family
ID=60039586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610230326.2A Withdrawn CN107300948A (zh) | 2016-04-14 | 2016-04-14 | 具有多位时钟门控单元的集成电路 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9838013B2 (zh) |
CN (1) | CN107300948A (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10650112B1 (en) * | 2017-12-21 | 2020-05-12 | Apple Inc. | Multi-bit clock gating cell to reduce clock power |
US11190186B2 (en) * | 2020-04-08 | 2021-11-30 | Samsung Electronics Co., Ltd. | Clock gating cell with low power and integrated circuit including the same |
CN112380806B (zh) * | 2020-12-05 | 2022-06-17 | 浙江大学 | 一种高效多比特寄存器聚类合并方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1831830A (zh) * | 2006-04-13 | 2006-09-13 | 复旦大学 | 一种时钟树的拓扑结构优化方法 |
US20120139590A1 (en) * | 2010-12-01 | 2012-06-07 | James Edward Myers | Integrated circuit, clock gating circuit, and method |
CN102799698A (zh) * | 2011-05-26 | 2012-11-28 | 国际商业机器公司 | 一种用于专用集成电路的时钟树规划的方法和*** |
US20130099844A1 (en) * | 2011-10-21 | 2013-04-25 | Canon Kabushiki Kaisha | Clock distribution circuit and method of forming clock distribution circuit |
US8629548B1 (en) * | 2012-10-11 | 2014-01-14 | Easic Corporation | Clock network fishbone architecture for a structured ASIC manufactured on a 28 NM CMOS process lithographic node |
CN104077427A (zh) * | 2013-03-28 | 2014-10-01 | 国际商业机器公司 | 跨时钟域的时钟树构建方法和***、集成电路及制造方法 |
CN105334906A (zh) * | 2015-10-29 | 2016-02-17 | 中国人民解放军国防科学技术大学 | 纳米工艺下多级门控时钟网络优化方法 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3528413B2 (ja) * | 1996-04-19 | 2004-05-17 | ソニー株式会社 | 関数クロック発生回路並びにそれを用いたイネーブル機能付きd型フリップフロップおよび記憶回路 |
US6321366B1 (en) * | 1997-05-02 | 2001-11-20 | Axis Systems, Inc. | Timing-insensitive glitch-free logic system and method |
US5987614A (en) * | 1997-06-17 | 1999-11-16 | Vadem | Distributed power management system and method for computer |
US6300809B1 (en) * | 2000-07-14 | 2001-10-09 | International Business Machines Corporation | Double-edge-triggered flip-flop providing two data transitions per clock cycle |
KR100719360B1 (ko) * | 2005-11-03 | 2007-05-17 | 삼성전자주식회사 | 디지털 로직 프로세싱 회로, 그것을 포함하는 데이터 처리 장치, 그것을 포함한 시스템-온 칩, 그것을 포함한 시스템, 그리고 클록 신호 게이팅 방법 |
WO2008133739A2 (en) * | 2006-12-01 | 2008-11-06 | The Regents Of The University Of Michigan | Clock distribution network architecture for resonant-clocked systems |
US7971086B2 (en) * | 2007-02-06 | 2011-06-28 | D. S. P. Group Ltd. | Integrated waking/while-awake power management system with breaking distance timer for high wake-up latency portion of hardware |
WO2008100520A2 (en) * | 2007-02-12 | 2008-08-21 | Mentor Graphics Corporation | Low power scan testing techniques and apparatus |
US7882461B2 (en) | 2007-05-29 | 2011-02-01 | Magma Design Automation, Inc. | Method for optimized automatic clock gating |
US7458050B1 (en) | 2008-03-21 | 2008-11-25 | International Business Machines Corporation | Methods to cluster boolean functions for clock gating |
US7902878B2 (en) | 2008-04-29 | 2011-03-08 | Qualcomm Incorporated | Clock gating system and method |
US8572418B2 (en) | 2009-03-12 | 2013-10-29 | Qualcomm Incorporated | Moving clock gating cell closer to clock source based on enable signal propagation time to clocked storage element |
DE102009029784A1 (de) * | 2009-06-18 | 2010-12-30 | Atmel Automotive Gmbh | Integrierter Schaltkreis und Standardzelle eines integrierten Schaltkreises |
US8225245B2 (en) | 2009-10-30 | 2012-07-17 | Oracle America, Inc. | Method of implementing physically realizable and power-efficient clock gating in microprocessor circuits |
WO2012143759A1 (en) * | 2011-04-20 | 2012-10-26 | Freescale Semiconductor, Inc. | Electronic device and method |
US8959382B2 (en) * | 2011-12-30 | 2015-02-17 | Silicon Laboratories Inc. | Controlling communication of a clock signal to a peripheral |
US20130194016A1 (en) * | 2012-01-31 | 2013-08-01 | Shmuel Wimer | System and method for generating a clock gating network for logic circuits |
US9411912B1 (en) * | 2012-11-30 | 2016-08-09 | Cadence Design Systems, Inc. | Clock topology planning for reduced power consumption |
US9515661B2 (en) * | 2014-05-09 | 2016-12-06 | Semiconductor Energy Laboratory Co., Ltd. | Circuit, semiconductor device, and clock tree |
US9391614B2 (en) * | 2014-07-29 | 2016-07-12 | Arm Limited | Clock state control for power saving in an integrated circuit |
US9571341B1 (en) * | 2014-10-01 | 2017-02-14 | Netspeed Systems | Clock gating for system-on-chip elements |
US10248750B2 (en) * | 2015-05-04 | 2019-04-02 | Samsung Electronics Co., Ltd. | Power savings method in a clock mesh-based design through a smart decloning technique |
-
2016
- 2016-04-14 CN CN201610230326.2A patent/CN107300948A/zh not_active Withdrawn
- 2016-11-20 US US15/356,626 patent/US9838013B2/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1831830A (zh) * | 2006-04-13 | 2006-09-13 | 复旦大学 | 一种时钟树的拓扑结构优化方法 |
US20120139590A1 (en) * | 2010-12-01 | 2012-06-07 | James Edward Myers | Integrated circuit, clock gating circuit, and method |
CN102799698A (zh) * | 2011-05-26 | 2012-11-28 | 国际商业机器公司 | 一种用于专用集成电路的时钟树规划的方法和*** |
US20130099844A1 (en) * | 2011-10-21 | 2013-04-25 | Canon Kabushiki Kaisha | Clock distribution circuit and method of forming clock distribution circuit |
US8629548B1 (en) * | 2012-10-11 | 2014-01-14 | Easic Corporation | Clock network fishbone architecture for a structured ASIC manufactured on a 28 NM CMOS process lithographic node |
CN104077427A (zh) * | 2013-03-28 | 2014-10-01 | 国际商业机器公司 | 跨时钟域的时钟树构建方法和***、集成电路及制造方法 |
CN105334906A (zh) * | 2015-10-29 | 2016-02-17 | 中国人民解放军国防科学技术大学 | 纳米工艺下多级门控时钟网络优化方法 |
Also Published As
Publication number | Publication date |
---|---|
US20170302277A1 (en) | 2017-10-19 |
US9838013B2 (en) | 2017-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhou et al. | An ultra-low voltage level shifter using revised Wilson current mirror for fast and energy-efficient wide-range voltage conversion from sub-threshold to I/O voltage | |
Rose et al. | Leveraging memristive systems in the construction of digital logic circuits | |
Wanhammar | DSP integrated circuits | |
Kim et al. | An optimal gate design for the synthesis of ternary logic circuits | |
Lin | Introduction to VLSI systems: a logic, circuit, and system perspective | |
Chen et al. | Buffer delay change in the presence of power and ground noise | |
Chen et al. | Low-power technology mapping for FPGA architectures with dual supply voltages | |
Rai et al. | Technology mapping flow for emerging reconfigurable silicon nanowire transistors | |
EP3216051A1 (en) | SUPER CMOS (SCMOStm) DEVICES ON A MICROELECTRONIC SYSTEM | |
CN107300948A (zh) | 具有多位时钟门控单元的集成电路 | |
Pradeep et al. | Design and development of high performance MOS current mode logic (MCML) processor for fast and power efficient computing | |
Amarú et al. | Logic optimization and synthesis: Trends and directions in industry | |
Kumar et al. | Design of 2T XOR gate based full adder using GDI technique | |
Chen et al. | Technology mapping and clustering for FPGA architectures with dual supply voltages | |
Sharma et al. | Area and power analysis of adiabatic 2× 1 multiplexer design on 65nm CMOS technology | |
Liu et al. | Asynchronous computing in sense amplifier-based pass transistor logic | |
Janwadkar et al. | Design and performance evaluation of hybrid full adder for extensive PDP reduction | |
Le Huy et al. | Null convention logic primitive element architecture for ultralow power high performance portable digital systems | |
Muttreja et al. | Threshold voltage control through multiple supply voltages for power-efficient FinFET interconnects | |
Sanadhya et al. | D flip-flop design by adiabatic technique for low power applications | |
Le Huy et al. | Optimising Power-Performance in SOI-based Null Convention Logic | |
Kim et al. | Clock buffer and flip-flop co-optimization for reducing peak current noise | |
Nezamfar et al. | Energy–performance tunable logic | |
Chen et al. | Technology mapping for hot-carrier reliability enhancement | |
Goda | Silicon germanium HBT BiCMOS field programmable gate arrays for fast reconfigurable computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Texas in the United States Applicant after: NXP America Co Ltd Address before: Texas in the United States Applicant before: Fisical Semiconductor Inc. |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20171027 |