CN113836858A - 芯片布局方法 - Google Patents
芯片布局方法 Download PDFInfo
- Publication number
- CN113836858A CN113836858A CN202111070232.0A CN202111070232A CN113836858A CN 113836858 A CN113836858 A CN 113836858A CN 202111070232 A CN202111070232 A CN 202111070232A CN 113836858 A CN113836858 A CN 113836858A
- Authority
- CN
- China
- Prior art keywords
- coordinate system
- loss
- resources
- sub
- line length
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 238000013507 mapping Methods 0.000 claims abstract description 15
- 238000005457 optimization Methods 0.000 claims abstract description 5
- 239000000126 substance Substances 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012938 design process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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
- 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/394—Routing
- G06F30/3947—Routing global
-
- 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/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
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)
- Architecture (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了一种芯片布局方法,根据可编程逻辑器件芯片布线资源的分布规划建立顶层坐标系;对可编程逻辑器件芯片的所有资源进行分类,为每一类资源建立一个子坐标系;建立从子坐标系到顶层坐标系的映射;所有资源在子坐标系中的坐标为自变量,密度损失、线长损失、时序损失为目标函数,计算每个目标函数和自变量的关系和梯度,使用最优化求解得到合适的资源坐标;放置资源到相应的坐标。本发明通过以上技术方案,保证了可编程逻辑器件芯片资源布局的便利,方便全局布局阶段的建模,加速芯片资源的放置,提升软件性能。
Description
技术领域
本发明属于芯片技术领域,涉及可编程逻辑器件芯片集成电路软件工具的布局技术,尤其涉及一种芯片布局方法。
背景技术
在现代数字电路设计中,电路设计过程越来越复杂,可编程逻辑器件芯片因具有可编程功能,简化了数字电路的设计过程,得到了广泛的应用。
可编程逻辑器件芯片的资源主要有CLM资源、DRM资源、I/O资源、时钟资源等,现有技术中,将这些资源放置在一个坐标系中进行布局规划,因为每一类资源都有完全不同的分布规律,在同一坐标系进行布局时增加了布局难度与资源的放置难度,满足不了用户设计需求,且使软件性能受到限制。
发明内容
本发明提供一种芯片布局方法,对不同资源规划合理的坐标,为资源布局提供便利,方便全局布局阶段的建模,加速资源的放置,提升软件性能。
为达上述目的,本发明采用如下技术方案:
本发明提供了一种芯片布局方法,包括:
根据可编程逻辑器件芯片布线资源的分布规划建立顶层坐标系;
建立子坐标系:将可编程逻辑器件芯片的所有资源分成n个类,n为自然数,为每一类资源建立一个子坐标系;
进一步地,将可编程逻辑器件芯片资源进行分类,其中CLM资源为一类,DRM资源为一类,I/O资源为一类,时钟资源为一类,为每一类资源建立一个子坐标系。
建立从子坐标系到顶层坐标系的映射;
进一步地,建立从子坐标系到顶层坐标系的映射,即建立子坐标系与顶层坐标系之间的坐标函数关系。
进行全局布局:所有资源在子坐标系中的坐标为自变量,密度损失、线长损失、时序损失为目标函数,计算每个目标函数和自变量的关系和梯度,使用最优化求解得到合适的资源坐标;
进一步地,线长损失与自变量的关系为:
c_wl=f(g(x0))
其中,c_wl表示线长损失,f(g(x0))表示线长损失与自变量间的函数关系,x0表示线长损失计算中任意一个自变量,g(x0)表示线长损失中从子坐标系映射到顶层坐标系的函数关系。
进一步地,线长损失的梯度为:
其中,表示线长损失梯度,x0表示线长损失计算中任意一个自变量,g(x0)表示线长损失中从子坐标系映射到顶层坐标系的函数关系,g′(x0)表示函数g(x0)的导数,f′(g(x0))表示线长损失c_wl函数的导数。
进一步地,时序损失与自变量的关系为:
c_wl1=f(g(x1))
其中,c_wl1表示时序损失,f(g(x1))表示时序损失与自变量间的函数关系,x1表示时序损失计算中任意一个自变量,g(x1)表示时序损失中从子坐标系映射到顶层坐标系的函数关系。
进一步地,时序损失的梯度为:
其中,表示时序损失梯度,x1表示时序损失计算中任意一个自变量,g(x1)表示线长损失中从子坐标系映射到顶层坐标系的函数关系,g′(x1)表示函数g(x1)的导数,f′(g(x1))表示时序损失c_wl1函数的导数。
进行资源放置:放置资源到相应的坐标。
进一步地,资源放置过程中,将一个资源放置在相应坐标时,通过计算得到该资源的合适坐标后,使用该资源对应的子坐标系,选取一个目标点,由目标点开始由近及远尝试放置,直至放置成功。
本发明的有益效果:
本发明提供的一种芯片布局方法,在可编程逻辑器件芯片中根据资源划分建立顶层坐标系,然后对可编程逻辑器件芯片所有资源进行分类,按资源建立子坐标系,通过子坐标系与顶层坐标系映射的函数关系,计算出该资源子坐标对应的顶层坐标,得到最合适的资源放置坐标放置资源。实现了资源布局的便利性、合理性,方便全局布局阶段的建模,加速资源的放置,提升软件性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为子坐标系与顶层坐标系的映射关系图;
图2为以CLM资源为例,x坐标映射的获取方法图;
图3为不同坐标系下的资源放置图。
具体实施方式
下面结合附图对本发明实施例一种芯片布局方法进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的一种芯片布局方法,具体方案如下:
在可编程逻辑器件芯片内建立顶层坐标系,为了保证资源映射到顶层坐标系后线长和时序的精确度,本方案根据芯片布线资源的分布规划建立顶层坐标系;
建立子坐标系:将芯片的所有资源分成n个类,n为自然数,为每一类资源建立一个子坐标系;在本方案中,将可编程逻辑器件芯片资源进行分类,其中CLM资源为一类,DRM资源为一类,I/O资源为一类,时钟资源为一类,为每一类资源建立一个子坐标系,所述的每一个子坐标系里对应的资源都紧密排列在该坐标系上。
建立从子坐标系到顶层坐标系的映射;即建立子坐标系与顶层坐标系之间的坐标函数关系,如图1是子坐标系与顶层坐标系的映射关系图,子坐标系的x坐标与y坐标映射后可以得到顶层坐标系的x坐标与y坐标。
图2是以CLM资源为例,x坐标映射的获取方法,如图2所示,CLM子坐标系x0坐标有序号0、1、2、3,顶坐标系x1坐标包括CLM资源与DRM资源,有序号0、1、2、3、4、5,子坐标系x0坐标的序号0映射到顶层坐标系x1的序号0,子坐标系x0坐标的序号1映射到顶层坐标系x1的序号1,子坐标系x0坐标的序号2映射到顶层坐标系x1的序号3,子坐标系x0坐标的序号3映射到顶层坐标系x1的序号5。
进行全局布局:所有资源在子坐标系中的坐标为自变量,密度损失、线长损失、时序损失为目标函数,计算每个目标函数和自变量的关系和梯度,使用最优化求解得到合适的资源坐标,因为有子坐标系与顶层坐标系的映射函数关系,所以可以得到资源的子坐标与顶层坐标。
其中,密度损失的计算和最优化求解的计算为本领域常用技术,在此不多做叙述;下面仅详细描述线长损失和时序损失的计算。
线长损失的计算如下所示:
设线长损失顶层坐标系与子坐标系的函数关系为:
x10=g(x0)
其中,x0表示线长损失计算中任意一个自变量,x10表示该自变量在顶层坐标系映射后的坐标,g(x0)表示线长损失中从子坐标系映射到顶层坐标系的函数关系。
顶层坐标系真实的反映了线长,因此,线长损失与顶层坐标的关系为
c_wl=f(x10)
即线长损失与自变量的关系为
c_wl=f(g(x0))
其中,c_wl表示线长损失,f(g(x0))表示线长损失与自变量间的函数关系,x0表示线长损失计算中任意一个自变量,g(x0)表示线长损失中从子坐标系映射到顶层坐标系的函数关系。
进一步地,线长损失的梯度为:
其中,表示线长损失梯度,x0表示线长损失计算中任意一个自变量,g(x0)表示线长损失中从子坐标系映射到顶层坐标系的函数关系,g′(x0)表示函数g(x0)的导数,f′(g(x0))表示线长损失c_wl函数的导数。
时序损失的计算如下:
设时序损失顶层坐标系与子坐标系的函数关系为:
x11=g(x1)
其中,x1表示时序损失计算中任意一个自变量,x11表示该自变量在顶层坐标系映射后的坐标,g(x0)表示时序损失中从子坐标系映射到顶层坐标系的函数关系。
顶层坐标系真实的反映了时序,因此,时序损失与顶层坐标的关系为
c_wl=f(x11)
即时序损失与自变量的关系为:
c_wl1=f(g(x1))
其中,c_wl1表示时序损失,f(g(x1))表示时序损失与自变量间的函数关系,x1表示时序损失计算中任意一个自变量,g(x1)表示时序损失中从子坐标系映射到顶层坐标系的函数关系。
进一步地,时序损失的梯度为:
其中,表示时序损失梯度,x1表示时序损失计算中任意一个自变量,g(x1)表示线长损失中从子坐标系映射到顶层坐标系的函数关系,g′(x1)表示函数g(x1)的导数,f′(g(x1))表示时序损失c_wl1函数的导数。
进行资源放置处理:放置资源到相应的坐标,通过计算得到该资源的合适的放置坐标后,就可以进行资源的放置,资源的放置是会失败的,为了提高资源放置时候的成功率,可以使用对应的子坐标系放置资源,在资源的合适坐标下,选取一个目标点,先由近及远尝试放置,直至放置成功。
图3是不同坐标系下的资源放置图,如图3所示,在顶层坐标系中,既有CLM资源放置点,又有DRM资源放置点,在进行一个CLM资源放置时,周围的DRM资源放置点会干扰放置,减少了放置效率,在CLM子坐标系中进行放置时,放置效率会高于在顶层坐标系中进行放置,对比顶层坐标系和子坐标系的放置效果可知,放置相同次数,在子坐标系下的可行坐标明显多于顶层坐标系。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限与这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应视为本发明的保护范围。
Claims (6)
1.一种芯片布局方法,其特征在于,包括:
根据可编程逻辑器件芯片布线资源的分布规划建立顶层坐标系;
建立子坐标系:将可编程逻辑器件芯片的所有资源分成n个类,n为自然数,为每一类资源建立一个子坐标系;
建立从子坐标系到顶层坐标系的映射;
进行全局布局:所有资源在子坐标系中的坐标为自变量,密度损失、线长损失、时序损失为目标函数,计算每个目标函数和自变量的关系和梯度,使用最优化求解得到合适的资源坐标;
进行资源放置:放置资源到相应的坐标。
2.根据权利要求1所述的芯片布局方法,其特征在于,所述建立子坐标系步骤中,将可编程逻辑器件芯片资源进行分类,其中CLM资源为一类,DRM资源为一类,I/O资源为一类,时钟资源为一类,为每一类资源建立一个子坐标系。
3.根据权利要求1所述的芯片布局方法,其特征在于,所述建立从子坐标系到顶层坐标系的映射,即建立子坐标系与顶层坐标系之间的坐标函数关系。
6.根据权利要求1所述的芯片布局方法,其特征在于,所述进行资源放置步骤中,具体为:
将一个资源放置在相应坐标时,通过计算得到该资源的合适坐标后,使用该资源对应的子坐标系,选取一个目标点,由目标点开始由近及远尝试放置,直至放置成功。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111070232.0A CN113836858A (zh) | 2021-09-13 | 2021-09-13 | 芯片布局方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111070232.0A CN113836858A (zh) | 2021-09-13 | 2021-09-13 | 芯片布局方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113836858A true CN113836858A (zh) | 2021-12-24 |
Family
ID=78959010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111070232.0A Pending CN113836858A (zh) | 2021-09-13 | 2021-09-13 | 芯片布局方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113836858A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114781300A (zh) * | 2022-06-21 | 2022-07-22 | 上海国微思尔芯技术股份有限公司 | 可编辑逻辑阵列布线方法、装置、设备和存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5640497A (en) * | 1995-01-23 | 1997-06-17 | Woolbright; Phillip Alexander | Layout redesign using polygon manipulation |
JPH11154237A (ja) * | 1997-11-20 | 1999-06-08 | Fujitsu Ltd | テクスチャマッピング用メモリ装置 |
US6460169B1 (en) * | 1999-10-21 | 2002-10-01 | International Business Machines Corporation | Routing program method for positioning unit pins in a hierarchically designed VLSI chip |
WO2007149717A2 (en) * | 2006-06-08 | 2007-12-27 | Lightspeed Logic, Inc. | Morphing for global placement using integer linear programming |
CN101881811A (zh) * | 2009-05-08 | 2010-11-10 | 复旦大学 | 一种可编程逻辑器件互连资源的故障测试方法 |
CN102193786A (zh) * | 2010-03-11 | 2011-09-21 | 中国工商银行股份有限公司 | 一种自适应的图形用户界面构建装置及方法 |
CN105718679A (zh) * | 2016-01-22 | 2016-06-29 | 深圳市同创国芯电子有限公司 | 一种fpga的资源布局方法及装置 |
CN108133094A (zh) * | 2017-12-14 | 2018-06-08 | 中国电子科技集团公司第四十七研究所 | 用于反熔丝的现场可编程门阵列的布局布线显示方法 |
CN109885895A (zh) * | 2019-01-25 | 2019-06-14 | 南京航空航天大学 | 一种基于分子动力学的材料表面结冰形核过程的监测方法 |
CN113239652A (zh) * | 2021-05-31 | 2021-08-10 | 福州大学 | 一种基于异质型fpga全局布局的坐标转换方法 |
-
2021
- 2021-09-13 CN CN202111070232.0A patent/CN113836858A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5640497A (en) * | 1995-01-23 | 1997-06-17 | Woolbright; Phillip Alexander | Layout redesign using polygon manipulation |
JPH11154237A (ja) * | 1997-11-20 | 1999-06-08 | Fujitsu Ltd | テクスチャマッピング用メモリ装置 |
US6460169B1 (en) * | 1999-10-21 | 2002-10-01 | International Business Machines Corporation | Routing program method for positioning unit pins in a hierarchically designed VLSI chip |
WO2007149717A2 (en) * | 2006-06-08 | 2007-12-27 | Lightspeed Logic, Inc. | Morphing for global placement using integer linear programming |
CN101881811A (zh) * | 2009-05-08 | 2010-11-10 | 复旦大学 | 一种可编程逻辑器件互连资源的故障测试方法 |
CN102193786A (zh) * | 2010-03-11 | 2011-09-21 | 中国工商银行股份有限公司 | 一种自适应的图形用户界面构建装置及方法 |
CN105718679A (zh) * | 2016-01-22 | 2016-06-29 | 深圳市同创国芯电子有限公司 | 一种fpga的资源布局方法及装置 |
CN108133094A (zh) * | 2017-12-14 | 2018-06-08 | 中国电子科技集团公司第四十七研究所 | 用于反熔丝的现场可编程门阵列的布局布线显示方法 |
CN109885895A (zh) * | 2019-01-25 | 2019-06-14 | 南京航空航天大学 | 一种基于分子动力学的材料表面结冰形核过程的监测方法 |
CN113239652A (zh) * | 2021-05-31 | 2021-08-10 | 福州大学 | 一种基于异质型fpga全局布局的坐标转换方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114781300A (zh) * | 2022-06-21 | 2022-07-22 | 上海国微思尔芯技术股份有限公司 | 可编辑逻辑阵列布线方法、装置、设备和存储介质 |
CN114781300B (zh) * | 2022-06-21 | 2022-09-09 | 上海国微思尔芯技术股份有限公司 | 可编辑逻辑阵列布线方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110491383A (zh) | 一种语音交互方法、装置、***、存储介质及处理器 | |
US5281558A (en) | Cloning method and system for hierarchical compaction | |
US20180341741A1 (en) | Method for performing netlist comparison based on pin connection relationship of components | |
CN113569524B (zh) | 芯片设计中基于综合网表提取时钟树的方法及应用 | |
CN113836858A (zh) | 芯片布局方法 | |
CN108304614B (zh) | 集成电路版图引脚的设置方法及装置 | |
CN113627120B (zh) | 超导集成电路布局优化方法和装置、存储介质和终端 | |
CN113112488B (zh) | 一种道路中心线提取方法、装置、存储介质及终端设备 | |
JP7097587B2 (ja) | 部品記号の極性記号検出方法、システム、コンピュータで読取可能な記憶媒体及びデバイス | |
CN117151003B (zh) | 一种基于时钟域划分的fpga布局方法及装置 | |
CN113919266A (zh) | 可编程器件的时钟规划方法、装置、电子设备及存储介质 | |
CN117592421A (zh) | 一种封装库和三维模型创建方法及其装置 | |
CN109784484A (zh) | 神经网络加速方法、装置、神经网络加速芯片及存储介质 | |
US8966428B2 (en) | Fixed-outline floorplanning approach for mixed-size modules | |
US20190147124A1 (en) | Operation model generator and operation model generation method | |
CN109902178A (zh) | 一种多级文本分类方法及*** | |
CN115374742A (zh) | 一种原理图引脚封装设计的方法、装置及存储介质 | |
CN114548353A (zh) | 模型训练方法、电子设备及存储介质 | |
CN102968388B (zh) | 数据布局方法及其装置 | |
CN112464872A (zh) | 一种基于nlp自然语言的自动提取方法及装置 | |
CN111783373A (zh) | 一种pscad仿真模型的拓扑解析方法 | |
CN107368556B (zh) | 一种输电线路多源地理信息一致性匹配*** | |
CN104915352A (zh) | 一种验证MapReduce环境下处理数据正确性的方法和装置 | |
US7353480B1 (en) | Apparatus, system, and method for designing via pads having extended contours | |
CN117313599B (zh) | 电路仿真方法、装置、电子设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |