CN102831255A - 芯片布局方法 - Google Patents
芯片布局方法 Download PDFInfo
- Publication number
- CN102831255A CN102831255A CN2011101608398A CN201110160839A CN102831255A CN 102831255 A CN102831255 A CN 102831255A CN 2011101608398 A CN2011101608398 A CN 2011101608398A CN 201110160839 A CN201110160839 A CN 201110160839A CN 102831255 A CN102831255 A CN 102831255A
- Authority
- CN
- China
- Prior art keywords
- chip
- coiling
- crowding
- layout method
- planning
- 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
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了一种芯片布局方法,其包含:根据一芯片所需要的功能合成出该芯片所需的连线以及所需的标准元件;检测该芯片的绕线拥挤度并找出该芯片具有最大绕线拥挤度的第一部份,其中该拥挤度系正相关该芯片的元件脚位密度与元件脚位种类比例;判断该芯片最大绕线拥挤度的第一部份其使用率是否符合一预定值;若不符合则重新进行合成该第一部份所需的连线以及所需的标准元件的步骤;以及若符合则估算芯片所使用面积并进行非标准元件、标准元件放置与绕线规划。
Description
技术领域
本发明有关于芯片布局方法,特别有关于可及早发现并解决绕线拥挤问题的芯片布局方法。
背景技术
图1绘示了现有技术的芯片(简称IC)布局方法,其通常包含以下的步骤。
步骤101
开始芯片布局。
步骤103
用软件设计出所需要的功能。此步骤通常是利用硬体描述语言来撰写程式码,如:非常高速积体电路硬体描述语言(简写为VHDL,VHSIC Hardware Description Language)或更高阶的程序语言来撰写程序码,以实现所需要的功能。
步骤105
执行合成(synthesis)动作。通常系利用电子设计自动化工具(Electronic DesignAutomation,简称EDA)将步骤103的设计结果,转变成为标准元件及非标准元件组合而成的设计电路,并且功能与步骤103设计结果相同的设计。
步骤107
此步骤又称为”非标准元件摆置规划”。此步骤最主要的目的就是初步订定芯片尺寸大小(die size),并将电路设计中所需要的类比元件以及其他如存储器、I/O介面等非标准元件进行摆置(排列)。此步骤又可称为布局规划(floor plan)。
步骤109
此步骤又称为“标准元件放置与绕线”。系根据步骤107布局规划的结果,执行标准元件放置与绕线(place and route)。在此步骤中,通常是利用APR(auto placement and route)软件等工具来进行放置与绕线。
步骤111
根据步骤109结果,来判断是否可成功绕线。是否可成功绕线的其中一个基本判断依据为,所有需要信号沟通的元件脚位,是否能成功利用导线连接所须沟通的元件脚位;并且没有与其他导线发生短路的情况。若是,则结束,若否,则到步骤113。
步骤113
若不能绕线,则会到步骤113进行检测以决定要回到步骤103、105、107和109中的那一个,以解决无法绕线的问题。若回到步骤103则必需重新构想出更容易绕线的设计为目的;若回到步骤105则必需调整合成的方式使绕线拥挤的情况改善;若回到步骤107则以扩大芯片面积或改变布局规划以增加芯片可绕线的程度;若回到步骤109则选择以不同标准元件放置策略减轻绕线拥挤的情况。
步骤115
结束芯片布局的流程。
然而,前述的流程中存在着一些缺点。举例来说,检测的步骤113位于整个流程的较后端处,因此若欲回到先前步骤做调整,须整个流程重来,相当耗费时间。而且,在步骤113中,系以经验法则来决定回到那一个步骤。因此很有可能回到不适当的步骤来调整,因此浪费了人力和时间。
发明内容
本发明的一目的为提供一种芯片布局方法,以避免现有技术中在后端进行调整而需耗费大量时间的问题。
本发明的一目的为提供一种芯片布局方法,以避免现有技术中需以人为判断进行调整的问题。
本发明的一实施例揭露了一种芯片布局方法,其包含:根据一芯片所需要的功能合成出该芯片所需的连线以及所需的标准元件;检测该芯片的绕线拥挤度并找出该芯片具有最大绕线拥挤度的第一部份,其中该拥挤度系正相关该芯片的元件脚位密度与元件脚位种类比例;判断该芯片最大绕线拥挤度的第一部份其使用率是否符合一预定值;若不符合则重新进行合成该第一部份所需的连线以及所需的标准元件的步骤;以及若符合则估算芯片所使用面积并进行非标准元件、标准元件放置与绕线规划。
根据所述的实施例,可以在整个流程的前段便进行调整,而不是如现有技术般,要到流程的后段才能进行调整,因此可以节省整个芯片布局的时间和人力成本。而且,不须利用经验法则判断要回到那个步骤,可加快调整的速度。
附图说明
图1绘示了现有技术的芯片布局方法,其通常包含以下的步骤。
图2绘示了根据本发明的实施例的芯片(IC)布局方法。
图3和图4A、图4B绘示了图2所示的实施例的变化型。
图5绘示了IC中区块分布的示意图。
图6绘示了微调芯片面积的详细动作示意图。
主要元件符号说明:
101~223步骤
具体实施方式
在说明书及权利要求书当中使用了某些词汇来指称特定的元件。所属领域中具有通常知识者应可理解,硬体制造商可能会用不同的名词来称呼同一个元件。本说明书及权利要求书并不以名称的差异来作为区分元件的方式,而是以元件在功能上的差异来作为区分的准则。在通篇说明书及后续的请求项当中所提及的“包含”系为一开放式的用语,故应解释成“包含但不限定于”。
图2绘示了根据本发明的实施例的芯片(IC)布局方法。如图2所示,根据本发明的实施例的IC布局方法可包含以下的步骤:
步骤201
开始芯片布局。
步骤203
用软件设计出所需要的功能。此步骤通常是利用硬体描写语言来撰写程序码,如:VHDL或其他高阶硬体描述语言来撰写程序码。
步骤205
执行合成(synthesis)动作。通常系利用电子设计自动化工具(简称EDA)将步骤203的设计结果,转变成以标准元件及非标准元件组合而成的设计电路,并且功能与步骤203设计结果相同的设计。
步骤207
检测绕线拥挤度,并找出最拥挤的部份。
步骤209
将步骤207的绕线最拥挤的部份模块或丛集单独做标准元件放置与绕线,由此可得知此最拥挤的部份模块或丛集绕线成功所需的最小面积与面积使用率(即部份模块或丛集的面积使用率,以下称的部分芯片面积使用率),进而决定最拥挤的部份模块或丛集是否为可接受的状态。要判断是否为可接受状态,可以预先设定何种情况为可接受状态。举例而言:初始设定一部分芯片面积使用率的预定值,若最拥挤部分的部分芯片面积使用率不符合预定值(例如,大于或小于),即不符合可接受状态。若为可接受状态则进入步骤211;若不是可接受状态,则以步骤205为优先选择,以减轻绕线最拥挤的部份模块或丛集,再则若205无法解决时,则回到步骤203,重新作设计架构或演算法的改变,达到最拥挤的部份模块或丛集绕线可以接受的程度。
步骤211
估算芯片所需的使用面积。此处的使用面积与步骤209中所指的芯片面积不同,步骤209中所指的是芯片中的部份模块或丛集的面积,而步骤211所指的是整个芯片的使用面积。
步骤213
此步骤又称为“非标准元件摆置规划”。此步骤最主要的目的就是根据步骤211或219的结果订定芯片大小,并将电路设计中所需要的类比元件以及其他如存储器、I/O介面等非标准元件进行摆置(排列)。此步骤又可称为布局规划(floor plan)。
步骤215
此步骤又称为“标准元件放置与绕线”。系根据步骤213布局规划的结果,执行标准元件放置与绕线(place and route)。在此步骤中,通常是利用APR(auto placement and route)软件等工具来进行放置与绕线。
步骤217
结束芯片布局的流程。
图3和第4A、4B图绘示了图2所示的实施例的变化型。其中图3和图4A构成了一变化型,而图3和图4B构成了另一变化型。图3和第4A、4B图的步骤301-315分别和图2的步骤201-215一致。然而在图2中,步骤215的后系结束芯片布局的流程。但在第4A和图4B的步骤315之后,则另包含了步骤317和319。今将步骤317和319说明如下。
步骤317
根据步骤315的结果,来判断是否可成功绕线。是否可成功绕线的其中一个基本判断依据为,所有需要信号沟通的元件脚位,是否能成功利用导线连接所须沟通的元件脚位;并且没有与其他导线发生短路的情况。若是,则结束芯片布局流程,若否,则到步骤319。
步骤319
此步骤主要是判断是否需要微调芯片面积,判断的依据为:若在步骤315标准元件放置与绕线已经采用减少绕线拥挤的策略,则必须微调芯片面积以做为下一处理步骤,因此必须回到步骤313;反之,若在步骤315还未考虑减少绕线拥挤的策略,则可回到步骤315做更进一步标准元件放置与绕线,以减轻绕线拥挤的情况。
步骤321
结束芯片布局的流程。
又在图4A中,步骤319虽为一判断式,但可以如图4B般因应设计更改为一固定步骤仅接续步骤313;或是其判别方式可以是:1.步骤319后分为两个路径,路径1接续步骤315,路径2接续步骤313。而其步骤319后应接续那丨个路径是根据第几次进入步骤319,若是第一次进到步骤319则会接续路径1进入步骤315,进行更进一步标准元件放置与绕线,以减轻绕线拥挤的情况;若是非第一次进到步骤319则会接续路径2进入步骤313微调芯片面积做为下一处理步骤,执行标准元件放置与绕线。
于图1的流程图内,合成步骤105之后直接进入元件排列的步骤107。而在图2的流程图中合成步骤205和元件排列的步骤213之间,还具有步骤207、209和211。同样的,在图3的流程图中合成步骤305和元件排列的步骤313之间,还具有步骤307、309和311。
而且,在图1的流程图中,在步骤111的判断可否绕线的步骤后,若为否则进入步骤113的检测步骤,以经验法则判断要回到那一步骤做调整。而在第4A和图4B的流程图中,在步骤317的判断可否绕线的步骤后,若为否则进入步骤319判断是否需要微调芯片面积,然后再进入步骤313或315。
底下将详细描述图2的步骤207,209、211(图3的307、309和311)以及图4A和图4B步骤319的详细动作。
在图2的步骤207(图3步骤307)中,可利用以下的等式来计算出芯片上的绕线拥挤度。算出绕线拥挤度后即在图2的步骤209(图3步骤309)判定是否可以接受。
脚位数量=IC内部所有标准元件上的信号脚位 等式(2)
对组合元件(Combinational Cell)和序向元件(Sequential Cell)在相同脚位的情况下,序向标准元件提供可绕线资源会较组合元件多。
如等式(1)、(2)、(3)所示,绕线拥挤度跟脚位密度有关,也跟脚位种类比例有关。如等式(2)所示,脚位数量=IC内部所有标准元件上的信号脚位。而如等式(3)所示,因为IC内部元件必须透过导线连接彼此之间的脚位以达到信号传递的目的,因此脚位越多,导线便会越多,越增加绕线的复杂度。所以,根据此两种脚位的比例,可以判断出绕线的复杂度。
图5绘示了IC中阶层分布的示意图。如图5所示,IC中的最小区块为一些基本的逻辑元件。这些逻辑元件可以组成模块(module)E~I。而多个模块可组成丛集B~D(cluster)。而最高丛集可包含多个丛集。而在图2步骤207(图3步骤307)的一实施例中,系利用上述等式计算模块E~I或丛集B~D的绕线拥挤度。在一实施例中,先考虑模块的拥挤度后考虑丛集的拥挤度,选出绕线拥挤度最高的模块或丛集,并做此模块或丛集的元件放置与绕线,最后即能确认此绕线拥挤度最高的模块或丛集可完成绕线的最高面积使用率。
图2步骤211(图3步骤311)的详细动作内容可如表1所示。如表1所示,可根据制程种类、标准元件类型(相同的逻辑闸,使用的标准元件类型不同,也会有不同的面积)做分类,并利用等式(1)、(2)、(3)对整个设计(最高丛集)做绕线拥挤度的索引试算,藉由绕线拥挤度索引来估算出最高的芯片面积使用比例。此索引可以将传统经验的累积转变为可量化的数据,作为尔后芯片设计时初始芯片面积使用率的参考。
表1
图6绘示了微调芯片面积的详细动作示意图。此示意图之其中意义在于,要找出绕线拥挤度最严重的区域并予以解决。如图6所示,分别以不同标记标示了绕线拥挤度较严重和拥挤度相对较不严重的区域,这些区域具有不同的设计复杂度。拥挤度相对较不严重的定义为,此区域也有绕线无法完成的问题,但可利用相关软件加以解决,但绕线拥挤度较严重的区域则否。
如图5所示,图4A和图4B步骤319可包含下列步骤:选择该芯片中无法绕线的一第一区域(此例中为A区域);以及根据设计复杂度与该第一区域相近,但可成功绕线的芯片的一第二区域(此例中为B区域),来调整第一区域的面积。B区域的面积可大于或等于A区域。亦即,A区域和B区域的设计复杂程度较为近似,B区域可以成功绕线,但A区域无法成功绕线。因此,会以B区域的状况来计算A区域可成功绕线的所须最小面积。然后,会以A区域的所需最小面积来估算整个芯片所须的面积。估算完后,会进入到步骤313与315进行元件排列或元件放置与绕线。A区域和B区域的单位可为格状基体(grid base)。
前述的芯片布局方法,可由储存在电脑可存取媒体(如光碟、硬碟、存储器等)的程序来执行。
根据前述的实施例,可以在整个流程的前段便进行调整,而不是如现有技术般,要到流程的后段才能进行调整,因此可以节省整个芯片布局的时间和人力成本。而且,不须利用经验法则判断要回到那个步骤,可加快调整的速度。
以上所述仅为本发明的较佳实施例,凡依本发明权利要求范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (7)
1.一种芯片布局方法,其特征在于,所述的方法包含:
根据一芯片所需要的功能合成出所述的芯片所需的连线以及所需的标准元件;
检测所述的芯片的绕线拥挤度并找出所述的芯片具有最大绕线拥挤度的第一部份,其中所述的拥挤度系正相关所述的芯片的元件脚位密度与元件脚位种类比例;
判断所述的芯片最大绕线拥挤度的第一部份其使用率是否符合一预定值;
若不符合则重新进行合成所述的第一部份所需的连线以及所需的标准元件的步骤;以及
若符合则估算芯片所使用面积并进行非标准元件、标准元件放置与绕线规划。
2.如权利要求1所述的芯片布局方法,其特征在于,所述的方法更包含:
判断芯片所进行的绕线规划是否可以绕线成功;
若无法成功则重新进行非标准元件、标准元件放置与绕线规划;以及
若成功则结束芯片布局流程。
3.如权利要求2所述的芯片布局方法,其特征在于,当所述的芯片无法绕线成功,在重新进行所述的非标准元件、标准元件放置与绕线规划更包含:
判断是否需要微调芯片面积;
若是则重新进行非标准元件摆置规划;以及
若否则重新进行标准元件放置及绕线规划。
4.如权利要求3所述的芯片布局方法,其特征在于,重新进行所述的非标准元件摆置规划步骤更包含:
选择所述的芯片中根据设计复杂度与所述的第一部份相近但可成功绕线的芯片的一第二部份;以及
依据所述的第二部份所占的单位面积,来调整所述的第一部份的面积。
5.如权利要求4所述的芯片布局方法,其特征在于,所述的第二部份面积大于或等于所述的第一部份。
6.如权利要求1所述的芯片布局方法,其特征在于,所述的方法更包含:若判断所述的芯片最大绕线拥挤度的第一部份其使用率不符合所述的预定值,则利用一软件重新设计出所述的芯片所需要的功能。
7.如权利要求1所述的芯片布局方法,其特征在于,所述的方法更包含:若判断所述的芯片最大绕线拥挤度的第一部份其使用率不符合所述的预定值,则重新合成出所述的芯片所需的连线以及所述的芯片所需的标准元件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110160839.8A CN102831255B (zh) | 2011-06-15 | 2011-06-15 | 芯片布局方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110160839.8A CN102831255B (zh) | 2011-06-15 | 2011-06-15 | 芯片布局方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102831255A true CN102831255A (zh) | 2012-12-19 |
CN102831255B CN102831255B (zh) | 2014-12-24 |
Family
ID=47334390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110160839.8A Active CN102831255B (zh) | 2011-06-15 | 2011-06-15 | 芯片布局方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102831255B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106650047A (zh) * | 2016-12-05 | 2017-05-10 | 深圳市紫光同创电子有限公司 | 可编程逻辑器件布局方法及装置 |
CN108170992A (zh) * | 2018-01-24 | 2018-06-15 | 盛科网络(苏州)有限公司 | 一种芯片设计中定位绕线拥塞的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1275803A (zh) * | 1999-05-31 | 2000-12-06 | 日本电气株式会社 | 半导体器件设计方法和装置,及存储有宏信息的存储介质 |
CN1545049A (zh) * | 2003-11-14 | 2004-11-10 | 清华大学 | 基于虚拟模块的大规模混合模式布图方法 |
CN1862546A (zh) * | 2006-06-15 | 2006-11-15 | 清华大学 | 一个快速的集成电路可布性分析方法 |
CN101661524A (zh) * | 2008-08-27 | 2010-03-03 | 台湾积体电路制造股份有限公司 | 自动产生集成电路布局的方法 |
-
2011
- 2011-06-15 CN CN201110160839.8A patent/CN102831255B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1275803A (zh) * | 1999-05-31 | 2000-12-06 | 日本电气株式会社 | 半导体器件设计方法和装置,及存储有宏信息的存储介质 |
CN1545049A (zh) * | 2003-11-14 | 2004-11-10 | 清华大学 | 基于虚拟模块的大规模混合模式布图方法 |
CN1862546A (zh) * | 2006-06-15 | 2006-11-15 | 清华大学 | 一个快速的集成电路可布性分析方法 |
CN101661524A (zh) * | 2008-08-27 | 2010-03-03 | 台湾积体电路制造股份有限公司 | 自动产生集成电路布局的方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106650047A (zh) * | 2016-12-05 | 2017-05-10 | 深圳市紫光同创电子有限公司 | 可编程逻辑器件布局方法及装置 |
CN106650047B (zh) * | 2016-12-05 | 2020-06-30 | 深圳市紫光同创电子有限公司 | 可编程逻辑器件布局方法及装置 |
CN108170992A (zh) * | 2018-01-24 | 2018-06-15 | 盛科网络(苏州)有限公司 | 一种芯片设计中定位绕线拥塞的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102831255B (zh) | 2014-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lahiri et al. | Efficient exploration of the SoC communication architecture design space | |
JP2011530763A (ja) | 適応型電圧およびスケーリング最適化(adaptivevoltageandscalingoptimization)を使用する集積回路を設計するためのシステムおよび方法 | |
CN106227507B (zh) | 计算系统及其控制器 | |
US6971074B2 (en) | Layout device | |
US20040225984A1 (en) | Two-stage clock tree synthesis | |
JP2011530763A5 (zh) | ||
CN100401305C (zh) | 半导体集成电路的自动布局方法 | |
US20140201507A1 (en) | Thread selection at a processor based on branch prediction confidence | |
US8392861B2 (en) | Method of semiconductor integrated circuit device using library for estimating timing/area to place cells | |
CN106104698A (zh) | 用于产生具有可编程延迟的动态随机存取存储器(dram)命令的存储器物理层接口逻辑 | |
TW201514740A (zh) | 用於時鐘網路拓撲之產生之暫存器叢集 | |
TW201218006A (en) | Integrated data model based framework for driving design convergence from architecture optimization to physical design closure | |
Guth et al. | Timing-driven placement based on dynamic net-weighting for efficient slack histogram compression | |
CN109726858A (zh) | 基于动态时间规整的热负荷预测方法及装置 | |
CN103455655B (zh) | 用于设计集成电路的计算机实现的方法和装置 | |
CN102831255A (zh) | 芯片布局方法 | |
CN109710025A (zh) | 一种固态硬盘的pcie时钟兼容方法、装置、计算机设备及存储介质 | |
CN102841879A (zh) | 存储器访问控制装置、存储器系统和存储器访问控制方法 | |
US7191418B2 (en) | Method and apparatus for rapidly selecting types of buffers which are inserted into the clock tree for high-speed very-large-scale-integration | |
US8671376B2 (en) | Computer system and method for performing a routing supply and demand analysis during the floor planning stage of an integrated circuit design process | |
CN103019303A (zh) | 时序路径上保持时间的调节装置与方法 | |
US9940422B2 (en) | Methods for reducing congestion region in layout area of IC | |
US7730439B2 (en) | Floor plan evaluating method, floor plan correcting method, program, floor plan evaluating device, and floor plan creating device | |
US20100162191A1 (en) | Method and system for performing cell modeling and selection | |
US9292648B1 (en) | Activity-driven capacitance reduction to reduce dynamic power consumption in an integrated circuit |
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 |