CN103946848A - 用于片上系统中存储器和逻辑电路的布局 - Google Patents
用于片上系统中存储器和逻辑电路的布局 Download PDFInfo
- Publication number
- CN103946848A CN103946848A CN201280057348.3A CN201280057348A CN103946848A CN 103946848 A CN103946848 A CN 103946848A CN 201280057348 A CN201280057348 A CN 201280057348A CN 103946848 A CN103946848 A CN 103946848A
- Authority
- CN
- China
- Prior art keywords
- memory
- logical circuit
- memory circuitry
- data
- circuit
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 claims description 33
- 238000000034 method Methods 0.000 claims description 31
- 238000004891 communication Methods 0.000 claims description 28
- 230000005039 memory span Effects 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000002123 temporal effect Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000000712 assembly Effects 0.000 description 3
- 238000000429 assembly Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 238000006880 cross-coupling reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002040 relaxant effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 235000013599 spices Nutrition 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/06—Arrangements for interconnecting storage elements electrically, e.g. by wiring
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/02—Disposition of storage elements, e.g. in the form of a matrix array
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/02—System on chip [SoC] design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L27/00—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
- H01L27/02—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
- H01L27/0203—Particular design considerations for integrated circuits
- H01L27/0207—Geometrical layout of the components, e.g. computer aided design; custom LSI, semi-custom LSI, standard cell technique
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L27/00—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
- H01L27/02—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
- H01L27/04—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body
- H01L27/10—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body including a plurality of individual components in a repetitive configuration
- H01L27/105—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body including a plurality of individual components in a repetitive configuration including field-effect components
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)
- Architecture (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
- Static Random-Access Memory (AREA)
Abstract
一种集成电路包括多个存储器电路(300)和多个逻辑电路(302)。多个存储器电路沿多个行和多个列布置在裸片(600)上。每个存储器电路包括多个存储器单元。多个逻辑电路沿多个行和多个列布置在多个存储器电路之间的裸片上。多个逻辑电路被配置为与一个或多个存储器电路进行通信。
Description
相关申请的交叉引用
本申请要求2012年11月19日提交的美国发明申请No.13/680,530的优先权,以及2011年11月22日提交的美国临时申请No.61/563,001的权益。上述申请的公开内容通过引用全文并入于此。
技术领域
本公开总体上涉及集成电路(IC),并且更具体地涉及片上系统(SOC)中存储器和逻辑电路的布局。
背景技术
本文所提供的背景技术描述是为了一般性地呈现公开内容的背景的目的。当前名义的发明人的工作,到这一背景技术章节中描述该工作的程度上,以及该描述的可能在提交时以其他方式不够资格作为现有技术的方面,既不明确地也不隐含地承认为相对于本公开内容的现有技术。
片上系统(SOC)通常包括处理器和存储器用于处理数据。SOC可以用于处理许多设备中的数据。例如,SOC可以用于处理存储设备(包括硬盘驱动(HDD)、光盘驱动和固态盘)中的数据。另外,SOC可以用于处理通信设备(包括智能电话、路由器、网络交换机等)中的数据。
现在参考图1,HDD100包括硬盘控制器(HDC)SOC102、多个读/写头104和磁介质106。HDC SOC102控制HDD100的操作。读/写头104在磁介质106上读/写数据。HDC SOC102包括处理器108、存储器110和读/写通道模块(通常被称为读通读模块)112。处理器108处理与HDD100相关的数据。处理器108使用存储器110来处理数据。读通读模块112使用读/写头104在磁介质106上读取和写入数据。读通读模块112可以编码和调制待在磁介质106上写入的数据,并且可以解调和解码从磁介质106读取的数据。读通读模块112还可以对读取数据执行纠错。
现在参考图2,通信设备200包括SOC202用于控制通信设备200的操作。如果通信设备200是无线通信设备,则该通信设备200还可以包括一个或多个天线204。SOC202包括处理器206、存储器208和通信模块210。处理器206处理与通信设备200有关的数据。处理器206使用存储器208处理该数据。通信模块210包括发射器模块212用于发射数据,并且接收器模块214用于接收数据。通信模块210可以编码和调制待发射的数据,并且可以解调和解码所接收的数据。通信模块210还可以对所接收的数据执行纠错。
发明内容
一种集成电路包括多个存储器电路和多个逻辑电路。多个存储器电路沿多个行和多个列布置在裸片上。每个存储器电路包括多个存储器单元。多个逻辑电路沿多个行和多个列布置在多个存储器电路之间的裸片上。多个逻辑电路被配置为与一个或多个存储器电路进行通信。
在其他特征中,多个行和多个列被布置在远离裸片周界的区域中。
在其他特征中,存储器单元包括基于锁存器的随机访问存储器单元。
在其他特征中,逻辑电路包括组合逻辑电路和时序逻辑电路中的至少一种。
在其他特征中,存储器电路具有预定的存储器容量。
在其他特征中,多个存储器电路中的至少一个存储器电路具有与所述多个存储器电路中的其他存储器电路不同的存储器容量。
在其他特征中,逻辑电路中的至少一个逻辑电路被配置为处理在存储设备的读取或写入操作期间的信号,其中存储设备包括硬盘驱动、光盘驱动或固态盘,并且用于存储由一个或多个存储器电路中的处理生成的数据。
在其他特征中,逻辑电路中的至少一个逻辑电路被配置为处理在通信设备的发射或接收操作期间的信号,并且用于存储由一个或多个存储器电路中的处理生成的数据。
在其他特征中,逻辑电路中的第一逻辑电路被配置为(i)从存储器电路中的第一存储器电路获取第一数据,(ii)通过处理第一数据生成第二数据,以及(iii)在存储器电路的第二存储器电路中存储第二数据。逻辑电路的第二逻辑电路被配置为(i)从存储器电路的第二存储器电路获取第二数据,(ii)通过处理第二数据生成第三数据,以及(iii)在存储器电路的第一存储器电路中存储第三数据。逻辑电路的第一逻辑电路被配置为处理第三数据。
在其他特征中,一种系统包括输入模块和处理模块。输入模块被配置为接收数据,该数据包括(i)待布置在裸片上的存储器电路和逻辑电路的列表,(ii)存储器电路和逻辑电路的输入和输出信号的时序,以及(iii)裸片的区域。处理模块被配置为处理该数据,确定被配置为与多个存储器电路通信的多个逻辑电路的区域是否大于或等于多个存储器电路的区域的预定百分比,以及响应于多个逻辑电路的区域大于或等于多个存储器电路的区域的预定百分比在裸片区域上以阵列类型布局布置存储器电路和逻辑电路。
在其他特征中,处理模块被配置为确定包括阵列类型布局的行和列之间间隔的参数。
在其他特征中,处理模块被配置为根据存储器电路和逻辑电路的输入和输出信号的时序以阵列类型布局分布逻辑电路。
在其他特征中,处理模块被配置为根据存储器电路和逻辑电路的连接以阵列类型布局分布逻辑电路。
在其他特征中,一种方法包括接收数据,该数据包括(i)待布置在裸片上的存储器电路和逻辑电路的列表,(ii)存储器电路和逻辑电路的输入和输出信号的时序,以及(iii)裸片的区域。该方法进一步包括处理该数据,确定被配置为与多个存储器电路通信的多个逻辑电路的区域是否大于或等于多个存储器电路的区域的预定百分比。该方法进一步包括响应于多个逻辑电路的区域大于或等于多个存储器电路的区域的预定百分比在裸片区域上以阵列类型布局布置存储器电路和逻辑电路。
在其他特征中,该方法进一步包括确定包括阵列类型布局的行和列之间间隔的参数。
在其他特征中,该方法进一步包括根据存储器电路和逻辑电路的输入和输出信号的时序以阵列类型布局分布逻辑电路。
在其他特征中,该方法进一步包括根据存储器电路和逻辑电路的连接以阵列类型布局分布逻辑电路。
根据详细描述、权利要求和附图,本公开内容的进一步适用性领域将变得清楚。详细描述和具体示例意图为仅用于举例说明的目的并且不意图为限制本公开内容的范围。
附图说明
从详细描述和附图,本公开内容将变得更完全地被理解,在这些附图中:
图1是硬盘驱动(HDD)的功能框图;
图2是通信设备的功能框图;
图3是图1的HDD读取通道模块或者图2的通信设备的通信模块的功能框图;
图4描绘了包括存储器电路和可配置逻辑块(CLB)的布局的片上系统(SOC),其中存储器电路沿布局边界布置,并且CLB被布置在布局的中心;
图5描绘了包括存储器电路和CLB的布局的SOC,其中存储器电路的第一集合和第二集合分别沿布局的周界和中心布置,并且CLB被布置在存储器电路的第一集合和第二集合之间;
图6描绘了包括以阵列布置的存储器电路和CLB的布局的SOC;
图7是用于确定图6的布局的可行性和参数的布局设备的功能框图;以及
图8是用于确定图6的布局的可行性和参数的方法的流程图。
具体实施方式
存储器和逻辑电路(例如,读取通道模块112或通信模块210的逻辑电路)可以通过不同方式布置在裸片上。例如,在第一布置中,存储器电路可以沿裸片的周界布置,并且逻辑电路可以被布置在裸片的中心。在第二布置中,存储器电路的第一部分可以沿周界布置,存储器电路的第二部分可以被布置在中心,并且逻辑电路可以被布置在第一部分与第二部分之间。
本公开涉及以阵列类型布局在裸片上布置存储器和逻辑电路。以阵列类型布局布置存储器和逻辑电路提供若干益处。例如,阵列类型布局相比于第一布置和第二布置更有效地利用裸片区域。即,相比于使用第一布置和第二布置时在使用阵列类型布局时,更多的存储器和逻辑电路可以被布置在给定裸片区域上。换言之,针对给定数目的存储器和逻辑电路,相比于第一布置或第二布置阵列类型布局使用更少的裸片。另外,相比于使用第一布置和第二布置时在使用阵列类型布局时,存储器电路与逻辑电路之间的通信可以更快。
现在参考图3,读取通道模块112或通信模块210可以使用多个存储器电路300-1、300-2、300-3(统称为存储器电路300)和多个可配置逻辑块(CLB)302-1、302-2、302-3(统称为CLB302)在SOC中实现。每个CLB302可以包括组合逻辑电路和/或时序逻辑电路。每个CLB302可以被配置为执行一个或多个不同的操作。每个存储器电路300可以包括多个存储器单元。例如,每个存储器电路300可以包括基于锁存器的随机访问存储器(LBRAM)的多个存储器单元。每个存储器电路300可以具有预定存储器容量(若干KB、MB或GB)。存储器电路300中的某些存储器电路可以具有与存储器电路300中的剩余存储器电路不同的存储器容量。虽然仅示出了三个存储器电路300和三个CLB302,但是可以使用N个存储器电路300和N个CLB302,其中N为大于1的整数。
一个CLB302可以与一个或多个存储器电路300通信。一个CLB302可以与一个或多个CLB302通信。一个存储器电路300可以与一个或多个存储器电路300通信。由第一CLB302处理的数据可以在第一存储器电路300中存储;由第二CLB302处理的数据可以在第二存储器电路300中存储;等。另外,第一CLB302可以处理第二存储器电路300中存储的数据,等。另外,当纠错(例如,使用迭代处理)时,第一CLB302可以更新由第二CLB302处理的数据,并且由第一CLB302更新的数据可以由第二CLB302和/或第三CLB302再次处理,等。
现在参考图4,示出了包括存储器电路300和CLB302的布局402的SOC400。SOC400可以包括附加组件。例如,SOC400可以包括处理器404和附加存储器406用于处理与SOC400相关的数据,通信模块408用于与SOC400外部的组件通信,以及功率管理模块410用于管理SOC400的一个或多个组件的功耗。
在布局402中,存储器电路300沿布局402的周界(即,平行于SOC400的周界)布置,并且CLB302被布置在布局402的中心。因此,存储器电路300围绕着CLB302。CLB302与存储器电路300之间的信号路径可以比两个CLB302之间的信号路径更长。因此,CLB至存储器电路通信可以比CLB至CLB通信更慢。因此,存储器集中处理(例如,纠错中涉及的迭代处理)的速度可能是无法接受的。另外,布局402易于未充分利用,因此浪费裸片区域。
备选地,虽然未示出,但是存储器电路300和CLB302的多个部分可以颠倒。即,CLB302可以沿布局402的周界布置,而存储器电路300可以被布置在布局402的中心。因此,CLB302将围绕着存储器电路300。在这种布置中,虽然CLB至存储器电路通信的速度可以相对于布局402得到改进,但是CLB至CLB通信的速度可能相对于布局402被降低。
现在参考图5,示出了包括存储器电路300和CLB302的布局502的SOC500。SOC500可以包括SOC400中不同于布局402的一个或多个组件。在布局502中,第一多个存储器电路300沿SOC500的周界布置,并且第二多个存储器电路300被布置在布局502的中心。CLB302布置在第一多个存储器电路300与第二多个存储器电路300之间。第二多个存储器电路300可以使用与第一多个存储器电路300不同类型的存储器。然而,布局502无法相对于布局402显著改进CLB至存储器电路通信的速度。
现在参考图6,示出了包括存储器电路300和CLB302的布局602的SOC600。SOC600可以包括SOC400中不同于布局402的一个或多个组件。在布局602中,存储器电路300不沿SOC600的周界布置。相反,存储器电路300沿多个行和列以阵列布置。该行和列平行于SOC600的侧面。CLB302也沿着行和列以阵列布置在存储器电路300之间。该阵列位于远离SOC600的周界的区域中。
因此,第一CLB302可以沿行布置在两个存储器电路300之间,并且第二CLB302可以沿列布置在两个存储器电路300之间。第三CLB302可以布置在矩形对角线的交叉点,该矩形的四个顶点是位于沿第一列(或第一行)的两个邻近存储器电路300以及沿第二列(或第二行)的两个邻近存储器电路300,其中第一列(或第一行)与第二列(或第二行)邻近。
CLB302可以被布置,使得CLB302与存储器电路300之间的信号路径使用以下所述的布局设备进行优化。因此,布局602相对于布局402和502显著改进了CLB至存储器电路通信的速度。另外,布局602比布局402和502更有效地利用SOC600的裸片区域。因此,针对给定裸片区域,布局602可以比布局402和502利用更多数目的CLB302和/或存储器电路300。备选地,针对给定数目的CLB302和存储器电路300,布局602比布局402和502占有更少的裸片区域。因此,针对给定数目的CLB302和存储器电路300,使用布局602的SOC600的裸片大小可以小于分别使用布局402的SOC400和使用布局502的SOC500。
现在参考图7,布局设备700包括输入模块702、处理模块704和输出模块706。布局设备700确定布局602是否可以用于给定电路设计或其一部分(即,确定布局602的可行性),并且确定包括行和列的行/列间隔和构件的布局602的参数。
如下文所解释,输入模块702接收多个输入。处理模块704执行用于处理多个输入并且确定布局602的可行性和参数的软件程序。输出模块706输出处理结果,包括布局602的可行性和参数。
现在参考图8,示出了用于确定布局602的可行性和参数的方法800。在802,控件接收多个输入,包括电路互连(例如,网表)、时序约束(例如,时钟限定等)和裸片区域。在804,控件确定与每个存储器电路300以及彼此通信的CLB302的数目。在806,控件确定与存储器电路300组通信的CLB302的区域。在808,控件确定与多个存储器电路300通信的CLB302的区域是否与CLB302与之通信的存储器电路300的区域具有可比性(例如,占其预定百分比)。
在810,如果CLB302的区域与存储器电路300的区域不具有可比性,则控件确定阵列类型布局对于CLB302和存储器电路300不可行。在812,如果CLB302的区域与存储器电路300的区域具有可比性,则控件确定阵列类型布局对于CLB302和存储器电路300可行并且确定阵列类型布局的参数。阵列类型布局的参数包括行/列间隔;存储器电路300周围的CLB302的分组、分布和位置;等。
在814,控件首先基于时序约束其次基于CLB302与存储器电路300之间的互连性在存储器电路300周围分布CLB302。例如,在与存储器电路300组通信的CLB302组中,如果CLB302使用具有不严格的时序要求(即,较长信号路径),则控件可以将该CLB302置于相对于分组中CLB302的剩余部分距CLB302组和/或存储器电路300组更远的地方。
在一个实现中,输入可以包括电路连接性信息(例如,网表,通常以Verilog)、时序约束(例如,时钟限定、延迟等)等。输入还可以包括电路的时序模型(例如,库文件、Spice数据等)。如果区域没有包括在时序模型中,则输入还可以包括电路的物理信息(例如,使用Milkway数据库)。
在静态时序分析(STA)环境中,软件程序确定与每个存储器电路300通信的CLB302的区域和计数。具体地,软件程序通过去往每个存储器电路300的有效时序路径生成CLB302的集合。集合通过时序松弛阈值以及传递管道深度(即,时序路径的层级数)驱动。另外,软件程序获得存储器电路与CLB集合的交叉。
软件程序可以使用不同标准用于确定CLB302和存储器电路300的阵列类型布局是否有益,并且确定阵列的参数。例如,第一标准可以是CLB区域的最大交叉与交叉的存储器区域的比率。第二标准可以是CLB交叉的绝对区域和交叉的存储器的绝对区域。软件程序可以确定CLB交叉的密度(即,与共同CLB302通信的CLB302的数目)。针对每个时序开始点(通常为CLB302中的触发器),软件程序可以通过小于阈值的松弛从开始点生成时序路径的集合,并且可以存储时序路径中包括的所有CLB扇出。软件程序可以找到集合的交叉以确定CLB互连比率。第三标准可以是交叉CLB、STA驱动的绝对大小。这些标准是存储器电路300之间以及CLB302之间交叉耦合、时序驱动互连的量的测量。这些值用于确定CLB302和存储器电路300的阵列类型布局是否有益并且确定阵列的参数(例如,行/列间隔等)。
因此,软件程序执行以下分析,该分析考虑了组件之间互连性以及组件之间信号路径的时序。基于该分析,软件程序生成关于以阵列放置组件的可行性以及针对该阵列的参数(例如,阵列中组件的位置、间隔等)的数据,而不是用户提供电路列表以及用于以阵列布置组件的参数(例如,用于以阵列放置电路的位置)。
前述描述本质上仅为说明性的并且决不意图为限制本公开内容、它的应用、或者使用。能够以多种形式来实施本公开内容的宽泛教导。因此,尽管本公开内容包括特定的示例,但是不应当如此限制本公开内容的真实范围,因为其他修改将在研究附图、说明书、以及下列权利要求时变得清楚。为了清楚的目的,相同的参考标号在附图中将被用来标识类似的元素。如本文所使用的,短语A、B和C中的至少一个应当被解释为使用非排他逻辑“或”来意指逻辑的(A或B或C)。应当理解,不更改本公开内容的原理,可以按照不同顺序(或者并发地)执行方法内的一个或多个步骤。
如文本所使用的,术语模块可以指代以下各项、是以下各项的一部分、或者包括以下各项:专用集成电路(ASIC);电子电路;组合逻辑电路;现场可编程门阵列(FPGA);执行代码的处理器(共享的、专用的、或者组);提供所描述的功能的其他适当硬件部件;或者上述中的一些或者全部的组合,诸如在片上系统中。术语模块可以包括存储由处理器所执行的代码的存储器(共享的、专用的、或者组)。
如上文所使用的,术语代码可以包括软件、固件、和/或微代码,并且可以指代程序、例程、函数、类、和/或对象。如上文所使用的,术语共享意味着可以使用单个(共享)处理器来执行来自多个模块的一些或者所有代码。另外,单个(共享)存储器可以存储来自多个模块的一些或者所有代码。如上文所使用的,术语组意味着可以使用处理器组来执行来自单个模块的一些或者所有代码。另外,可以使用存储器组来存储来自单个模块的一些或者所有代码。
文本所描述的这些装置和方法可以由一个或多个处理器所执行的一个或多个计算机程序来实施。这些计算机程序包括存储在非瞬态有形计算机可读介质上的处理器可执行指令。这些计算机程序还可以包括所存储的数据。非瞬态有形计算机可读介质的非限制示例是非易失性存储器、磁性存储装置、以及光学存储装置。
权利要求书(按照条约第19条的修改)
1.一种集成电路,包括:
多个存储器电路,沿多个行和多个列布置在裸片上,其中每个存储器电路包括多个存储器单元;以及
多个逻辑电路,沿所述多个行和所述多个列布置在所述多个存储器电路之间的所述裸片上,
其中所述多个逻辑电路被配置为与所述存储器电路中的一个或多个存储器电路通信,
其中所述多个行和所述多个列被布置在所述裸片的区域中,以及
其中所述集成电路的处理器、附加存储器、通信模块和功率管理模块中的一个或多个(i)沿所述裸片的周界以及(ii)围绕所述区域布置。
2.根据权利要求1所述的集成电路,其中所述存储器单元包括基于锁存器的随机访问存储器单元。
3.根据权利要求1所述的集成电路,其中所述逻辑电路包括组合逻辑电路和时序逻辑电路中的至少一种。
4.根据权利要求1所述的集成电路,其中所述存储器电路具有预定的存储器容量。
5.根据权利要求1所述的集成电路,其中所述多个存储器电路中的至少一个存储器电路具有与所述多个存储器电路中的其他存储器电路不同的存储器容量。
6.根据权利要求1所述的集成电路,其中所述逻辑电路中的至少一个逻辑电路被配置为:
处理在存储设备的读取或写入操作期间的信号,其中所述存储设备包括硬盘驱动、光盘驱动或固态盘;以及
存储由所述存储器电路中的一个或多个存储器电路中的处理生成的数据。
7.根据权利要求1所述的集成电路,其中所述逻辑电路中的至少一个逻辑电路被配置为:
处理在通信设备的发射或接收操作期间的信号;以及
存储由所述存储器电路中的一个或多个存储器电路中的处理生成的数据。
8.根据权利要求1所述的集成电路,其中:
所述逻辑电路中的第一逻辑电路被配置为(i)从所述存储器电路中的第一存储器电路获取第一数据,(ii)通过处理所述第一数据生成第二数据,以及(iii)在所述存储器电路中的第二存储器电路中存储所述第二数据;以及
所述逻辑电路中的第二逻辑电路被配置为(i)从所述存储器电路中的所述第二存储器电路获取所述第二数据,(ii)通过处理所述第二数据生成第三数据,以及(iii)在所述存储器电路中的所述第一存储器电路中存储所述第三数据,
其中所述逻辑电路中的所述第一逻辑电路被配置为处理所述第三数据。
9.一种系统,包括:
输入模块,被配置为接收数据,所述数据包括(i)待布置在裸片上的存储器电路和逻辑电路的列表,(ii)所述存储器电路和所述逻辑电路的输入和输出信号的时序,以及(iii)所述裸片的区域;以及
处理模块,被配置为
处理所述数据,
确定被配置为与多个所述存储器电路通信的多个所述逻辑电路的区域是否大于或等于所述多个所述存储器电路的区域的预定百分比,以及
响应于所述多个所述逻辑电路的所述区域大于或等于所述多个所述存储器电路的所述区域的所述预定百分比,在所述裸片的所述区域上以阵列类型布局布置所述存储器电路和所述逻辑电路。
10.根据权利要求9所述的系统,其中所述处理模块被配置为确定包括在所述阵列类型布局的行和列之间的间隔的参数。
11.根据权利要求9所述的系统,其中所述处理模块被配置为根据所述存储器电路和所述逻辑电路的输入和输出信号的所述时序以所述阵列类型布局分布所述逻辑电路。
12.根据权利要求9所述的系统,其中所述处理模块被配置为根据所述存储器电路和所述逻辑电路的连接以所述阵列类型布局分布所述逻辑电路。
13.一种方法,包括:
接收数据,所述数据包括(i)待布置在裸片上的存储器电路和逻辑电路的列表,(ii)所述存储器电路和所述逻辑电路的输入和输出信号的时序,以及(iii)所述裸片的区域;
处理所述数据;
确定被配置为与多个所述存储器电路通信的多个所述逻辑电路的区域是否大于或等于所述多个所述存储器电路的区域的预定百分比;以及
响应于所述多个所述逻辑电路的所述区域大于或等于所述多个所述存储器电路的所述区域的所述预定百分比,在所述裸片的所述区域上以阵列类型布局布置所述存储器电路和所述逻辑电路。
14.根据权利要求13所述的方法,进一步包括确定包括在所述阵列类型布局的行和列之间的间隔的参数。
15.根据权利要求13所述的方法,进一步包括根据所述存储器电路和所述逻辑电路的输入和输出信号的所述时序以所述阵列类型布局分布所述逻辑电路。
16.根据权利要求13所述的方法,进一步包括根据所述存储器电路和所述逻辑电路的连接以所述阵列类型布局分布所述逻辑电路。
17.根据权利要求1所述的集成电路,其中:
所述多个逻辑电路中的第一逻辑电路沿所述多个行中的一个行布置在所述多个存储器电路中的两个存储器电路之间;以及
所述多个逻辑电路中的第二逻辑电路沿所述多个列中的一个列布置在所述多个存储器电路中的两个存储器电路之间。
18.根据权利要求1所述的集成电路,其中所述多个逻辑电路中的一个逻辑电路布置在矩形对角线的交叉点,所述矩形的四个顶点是所述多个存储器电路中位于沿第一列的两个邻近存储器电路以及所述多个存储器电路中沿第二列的两个邻近存储器电路,并且其中所述第一列与所述第二列邻近。
19.根据权利要求1所述的集成电路,其中所述多个逻辑电路中的一个逻辑电路布置在矩形对角线的交叉点,所述矩形的四个顶点是所述多个存储器电路中位于沿第一行的两个邻近存储器电路以及所述多个存储器电路中沿第二行的两个邻近存储器电路,并且其中所述第一行与所述第二行邻近。
Claims (17)
1.一种集成电路,包括:
多个存储器电路,沿多个行和多个列布置在裸片上,其中每个存储器电路包括多个存储器单元;以及
多个逻辑电路,沿所述多个行和所述多个列布置在所述多个存储器电路之间的所述裸片上,
其中所述多个逻辑电路被配置为与所述存储器电路中的一个或多个存储器电路通信。
2.根据权利要求1所述的集成电路,其中所述多个行和所述多个列被布置在远离所述裸片周界的区域中。
3.根据权利要求1所述的集成电路,其中所述存储器单元包括基于锁存器的随机访问存储器单元。
4.根据权利要求1所述的集成电路,其中所述逻辑电路包括组合逻辑电路和时序逻辑电路中的至少一种。
5.根据权利要求1所述的集成电路,其中所述存储器电路具有预定的存储器容量。
6.根据权利要求1所述的集成电路,其中所述多个存储器电路中的至少一个存储器电路具有与所述多个存储器电路中的其他存储器电路不同的存储器容量。
7.根据权利要求1所述的集成电路,其中所述逻辑电路中的至少一个逻辑电路被配置为:
处理在存储设备的读取或写入操作期间的信号,其中所述存储设备包括硬盘驱动、光盘驱动或固态盘;以及
存储由所述存储器电路中的一个或多个存储器电路中的处理生成的数据。
8.根据权利要求1所述的集成电路,其中所述逻辑电路中的至少一个逻辑电路被配置为:
处理在通信设备的发射或接收操作期间的信号;以及
存储由所述存储器电路中的一个或多个存储器电路中的处理生成的数据。
9.根据权利要求1所述的集成电路,其中:
所述逻辑电路中的第一逻辑电路被配置为(i)从所述存储器电路中的第一存储器电路获取第一数据,(ii)通过处理所述第一数据生成第二数据,以及(iii)在所述存储器电路中的第二存储器电路中存储所述第二数据;以及
所述逻辑电路中的第二逻辑电路被配置为(i)从所述存储器电路中的所述第二存储器电路获取所述第二数据,(ii)通过处理所述第二数据生成第三数据,以及(iii)在所述存储器电路中的所述第一存储器电路中存储所述第三数据,
其中所述逻辑电路中的所述第一逻辑电路被配置为处理所述第三数据。
10.一种系统,包括:
输入模块,被配置为接收数据,所述数据包括(i)待布置在裸片上的存储器电路和逻辑电路的列表,(ii)所述存储器电路和所述逻辑电路的输入和输出信号的时序,以及(iii)所述裸片的区域;以及
处理模块,被配置为
处理所述数据,
确定被配置为与多个所述存储器电路通信的多个所述逻辑电路的区域是否大于或等于所述多个所述存储器电路的区域的预定百分比,以及
响应于所述多个所述逻辑电路的所述区域大于或等于所述多个所述存储器电路的所述区域的所述预定百分比,在所述裸片的所述区域上以阵列类型布局布置所述存储器电路和所述逻辑电路。
11.根据权利要求10所述的系统,其中所述处理模块被配置为确定包括在所述阵列类型布局的行和列之间的间隔的参数。
12.根据权利要求10所述的系统,其中所述处理模块被配置为根据所述存储器电路和所述逻辑电路的输入和输出信号的所述时序以所述阵列类型布局分布所述逻辑电路。
13.根据权利要求10所述的系统,其中所述处理模块被配置为根据所述存储器电路和所述逻辑电路的连接以所述阵列类型布局分布所述逻辑电路。
14.一种方法,包括:
接收数据,所述数据包括(i)待布置在裸片上的存储器电路和逻辑电路的列表,(ii)所述存储器电路和所述逻辑电路的输入和输出信号的时序,以及(iii)所述裸片的区域;
处理所述数据;
确定被配置为与多个所述存储器电路通信的多个所述逻辑电路的区域是否大于或等于所述多个所述存储器电路的区域的预定百分比;以及
响应于所述多个所述逻辑电路的所述区域大于或等于所述多个所述存储器电路的所述区域的所述预定百分比,在所述裸片的所述区域上以阵列类型布局布置所述存储器电路和所述逻辑电路。
15.根据权利要求13所述的方法,进一步包括确定包括在所述阵列类型布局的行和列之间的间隔的参数。
16.根据权利要求13所述的方法,进一步包括根据所述存储器电路和所述逻辑电路的输入和输出信号的所述时序以所述阵列类型布局分布所述逻辑电路。
17.根据权利要求13所述的方法,进一步包括根据所述存储器电路和所述逻辑电路的连接以所述阵列类型布局分布所述逻辑电路。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161563001P | 2011-11-22 | 2011-11-22 | |
US61/563,001 | 2011-11-22 | ||
US13/680,530 | 2012-11-19 | ||
US13/680,530 US8902625B2 (en) | 2011-11-22 | 2012-11-19 | Layouts for memory and logic circuits in a system-on-chip |
PCT/US2012/066236 WO2013078294A2 (en) | 2011-11-22 | 2012-11-21 | Layouts for memory and logic circuits in a system-on-chip |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103946848A true CN103946848A (zh) | 2014-07-23 |
CN103946848B CN103946848B (zh) | 2017-04-12 |
Family
ID=48426797
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280057348.3A Expired - Fee Related CN103946848B (zh) | 2011-11-22 | 2012-11-21 | 一种集成电路及其系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8902625B2 (zh) |
JP (1) | JP6257044B2 (zh) |
CN (1) | CN103946848B (zh) |
TW (1) | TWI616764B (zh) |
WO (1) | WO2013078294A2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105319964A (zh) * | 2015-09-29 | 2016-02-10 | 上海新跃仪表厂 | 基于配置文件的运载火箭测试发射流程生成方法及系统 |
CN110991138A (zh) * | 2018-09-28 | 2020-04-10 | 台湾积体电路制造股份有限公司 | 用于生成集成电路的方法和系统以及计算机可读介质 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5956964B2 (ja) * | 2013-08-30 | 2016-07-27 | 株式会社東芝 | 半導体装置 |
TWI576852B (zh) * | 2015-06-30 | 2017-04-01 | 宏碁股份有限公司 | 電子裝置及其固態硬碟的電源管理方法 |
EP4189522A1 (en) * | 2020-07-31 | 2023-06-07 | Qualcomm Incorporated | Systems and methods for adaptive power multiplexing |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5892703A (en) * | 1997-06-13 | 1999-04-06 | Micron Technology, Inc, | Memory architecture and decoder addressing |
CN1818912A (zh) * | 2005-02-11 | 2006-08-16 | 思尔芯(上海)信息科技有限公司 | 可扩展可重配置的原型系统及方法 |
US20080013376A1 (en) * | 2006-07-11 | 2008-01-17 | Samsung Electronics Co., Ltd. | Memories, memory compiling systems and methods for the same |
CN101320707A (zh) * | 2008-05-19 | 2008-12-10 | 深圳市国微电子股份有限公司 | 结构化专用集成电路设置和生产方法 |
US20110103162A1 (en) * | 2009-10-30 | 2011-05-05 | Hynix Semiconductor Inc. | Semiconductor memory apparatus |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW231343B (zh) * | 1992-03-17 | 1994-10-01 | Hitachi Seisakusyo Kk | |
US5657284A (en) * | 1995-09-19 | 1997-08-12 | Micron Technology, Inc. | Apparatus and method for testing for defects between memory cells in packaged semiconductor memory devices |
US5767565A (en) | 1996-07-22 | 1998-06-16 | Alliance Semiconductor Corporation | Semiconductor devices having cooperative mode option at assembly stage and method thereof |
US6605962B2 (en) * | 2001-05-06 | 2003-08-12 | Altera Corporation | PLD architecture for flexible placement of IP function blocks |
JP2003037173A (ja) * | 2001-07-23 | 2003-02-07 | Niigata Seimitsu Kk | アナログ・デジタル混載集積回路 |
TW525184B (en) * | 2001-08-17 | 2003-03-21 | High Connector Density Inc | Stackable modules with clustered connections |
US6717430B2 (en) * | 2002-02-13 | 2004-04-06 | Motorola, Inc. | Integrated circuit testing with a visual indicator |
US6687147B2 (en) * | 2002-04-02 | 2004-02-03 | Hewlett-Packard Development Company, L.P. | Cubic memory array with diagonal select lines |
TW594991B (en) * | 2003-04-29 | 2004-06-21 | Faraday Tech Corp | Integrated circuit with one metal layer for programming functionality of a logic operation module |
US20050044320A1 (en) * | 2003-08-19 | 2005-02-24 | Sun Microsystems, Inc. | Cache bank interface unit |
US8463996B2 (en) * | 2003-08-19 | 2013-06-11 | Oracle America, Inc. | Multi-core multi-thread processor crossbar architecture |
JP2006156929A (ja) * | 2004-04-19 | 2006-06-15 | Fujitsu Ltd | 半導体集積回路及びその設計方法 |
JP2006099719A (ja) * | 2004-08-30 | 2006-04-13 | Sanyo Electric Co Ltd | 処理装置 |
US20060143384A1 (en) * | 2004-12-27 | 2006-06-29 | Hughes Christopher J | System and method for non-uniform cache in a multi-core processor |
JP2006323643A (ja) * | 2005-05-19 | 2006-11-30 | Nec Electronics Corp | 半導体集積回路のフロアプラン設計プログラム、フロアプラン設計装置、および設計方法 |
JP2006324471A (ja) * | 2005-05-19 | 2006-11-30 | Toshiba Corp | 半導体集積回路装置 |
TW200743976A (en) * | 2006-05-19 | 2007-12-01 | Nat Applied Res Lab Nat Chip Implementation Ct | Multi-project System-on-Chip platform and the design method thereof |
JP4951786B2 (ja) * | 2007-05-10 | 2012-06-13 | ルネサスエレクトロニクス株式会社 | 半導体記憶装置 |
JP5528662B2 (ja) * | 2007-09-18 | 2014-06-25 | ソニー株式会社 | 半導体集積回路 |
US8102663B2 (en) * | 2007-09-28 | 2012-01-24 | Oracle America, Inc. | Proximity communication package for processor, cache and memory |
US7800936B2 (en) | 2008-07-07 | 2010-09-21 | Lsi Logic Corporation | Latch-based random access memory |
EP2159799A1 (en) * | 2008-08-27 | 2010-03-03 | Panasonic Corporation | Semiconductor memory with shared global busses for reconfigurable logic device |
JP5401699B2 (ja) * | 2008-09-18 | 2014-01-29 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
-
2012
- 2012-11-19 US US13/680,530 patent/US8902625B2/en active Active
- 2012-11-21 WO PCT/US2012/066236 patent/WO2013078294A2/en active Application Filing
- 2012-11-21 JP JP2014542589A patent/JP6257044B2/ja not_active Expired - Fee Related
- 2012-11-21 CN CN201280057348.3A patent/CN103946848B/zh not_active Expired - Fee Related
- 2012-11-22 TW TW101143703A patent/TWI616764B/zh not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5892703A (en) * | 1997-06-13 | 1999-04-06 | Micron Technology, Inc, | Memory architecture and decoder addressing |
CN1818912A (zh) * | 2005-02-11 | 2006-08-16 | 思尔芯(上海)信息科技有限公司 | 可扩展可重配置的原型系统及方法 |
US20080013376A1 (en) * | 2006-07-11 | 2008-01-17 | Samsung Electronics Co., Ltd. | Memories, memory compiling systems and methods for the same |
CN101320707A (zh) * | 2008-05-19 | 2008-12-10 | 深圳市国微电子股份有限公司 | 结构化专用集成电路设置和生产方法 |
US20110103162A1 (en) * | 2009-10-30 | 2011-05-05 | Hynix Semiconductor Inc. | Semiconductor memory apparatus |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105319964A (zh) * | 2015-09-29 | 2016-02-10 | 上海新跃仪表厂 | 基于配置文件的运载火箭测试发射流程生成方法及系统 |
CN105319964B (zh) * | 2015-09-29 | 2018-06-22 | 上海新跃仪表厂 | 基于配置文件的运载火箭测试发射流程生成方法及系统 |
CN110991138A (zh) * | 2018-09-28 | 2020-04-10 | 台湾积体电路制造股份有限公司 | 用于生成集成电路的方法和系统以及计算机可读介质 |
CN110991138B (zh) * | 2018-09-28 | 2023-08-08 | 台湾积体电路制造股份有限公司 | 用于生成集成电路的方法和系统以及计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2013078294A3 (en) | 2013-07-18 |
JP2015502660A (ja) | 2015-01-22 |
TWI616764B (zh) | 2018-03-01 |
TW201324221A (zh) | 2013-06-16 |
JP6257044B2 (ja) | 2018-01-10 |
WO2013078294A2 (en) | 2013-05-30 |
US20130128648A1 (en) | 2013-05-23 |
WO2013078294A4 (en) | 2013-09-06 |
US8902625B2 (en) | 2014-12-02 |
CN103946848B (zh) | 2017-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bohnenstiehl et al. | KiloCore: A 32-nm 1000-processor computational array | |
CN108028654B (zh) | 用于fpga的测试和配置的系统和方法 | |
CN103946848A (zh) | 用于片上系统中存储器和逻辑电路的布局 | |
Kim et al. | Heterogeneous computing meets near-memory acceleration and high-level synthesis in the post-moore era | |
CN104407809A (zh) | 多通道fifo缓冲器及其控制方法 | |
CN102970022B (zh) | 用于提高电子电路可靠性的装置和相关方法 | |
Cardona et al. | AC_ICAP: A flexible high speed ICAP controller | |
Bow et al. | Side-channel power resistance for encryption algorithms using implementation diversity | |
US8436646B1 (en) | Reconfigurable logic block with user RAM | |
JP2015502660A5 (zh) | ||
CN103605833A (zh) | 一种对存储阵列系统的性能进行仿真的方法及装置 | |
Vanhauwaert et al. | On error models for RTL security evaluations | |
Kaushik et al. | Dynamic power reduction of digital circuits by clock gating | |
KR102381862B1 (ko) | 데이터 통신 장치 | |
Nayak et al. | Improving Energy Efficiency of CGRAs with Low-Overhead Fine-Grained Power Domains | |
US7426583B1 (en) | Method and circuit for decoding an address of an address space | |
US8881082B2 (en) | FEC decoder dynamic power optimization | |
Oh et al. | Convolutional neural network accelerator with reconfigurable dataflow | |
CN106371805B (zh) | 处理器的动态调度互联寄存器及调度数据的方法 | |
US20120278648A1 (en) | Timer manager architecture based on binary heap | |
US8631370B2 (en) | Swapping ports to change the timing window overlap of adjacent nets | |
US11481535B2 (en) | Numerical information generation apparatus, numerical information generation method, and program | |
US8484008B2 (en) | Methods and systems for performing timing sign-off of an integrated circuit design | |
CN117764022A (zh) | 一种多存储阵列布局方法、装置、设备及存储介质 | |
CN117592408A (zh) | 芯片电路的处理方法、装置、处理设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170412 Termination date: 20171121 |
|
CF01 | Termination of patent right due to non-payment of annual fee |