CN106649898B - 一种加法器的打包布局方法 - Google Patents

一种加法器的打包布局方法 Download PDF

Info

Publication number
CN106649898B
CN106649898B CN201510716612.5A CN201510716612A CN106649898B CN 106649898 B CN106649898 B CN 106649898B CN 201510716612 A CN201510716612 A CN 201510716612A CN 106649898 B CN106649898 B CN 106649898B
Authority
CN
China
Prior art keywords
module
adder
packing
modules
design
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
CN201510716612.5A
Other languages
English (en)
Other versions
CN106649898A (zh
Inventor
蒋中华
黄攀
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.)
Capital Microelectronics Beijing Technology Co Ltd
Original Assignee
Capital Microelectronics Beijing Technology Co Ltd
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 Capital Microelectronics Beijing Technology Co Ltd filed Critical Capital Microelectronics Beijing Technology Co Ltd
Priority to CN201510716612.5A priority Critical patent/CN106649898B/zh
Publication of CN106649898A publication Critical patent/CN106649898A/zh
Application granted granted Critical
Publication of CN106649898B publication Critical patent/CN106649898B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明涉及一种加法器的打包布局方法,该方法包括:识别出用户设计中加法器和其它可打包模块的设计模式;然后将所述加法器和其它可打包模块打包成一个宏模块;将所述宏模块放置在一个有快速物理连线的逻辑单元里面。本发明能够根据芯片的固有快线资源,通过一种使用模式对用户的设计模式进行匹配;匹配后,减少加法器和其它模块使用的布线资源,布线资源使用减少的同时也降低了延时。

Description

一种加法器的打包布局方法
技术领域
本发明涉及集成电路技术领域,尤其涉及一种加法器的打包布局方法。
背景技术
目前,在现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)应用中,要求集成电路具有可编程或可配置的互连网络,逻辑门通过可配置的互连网络而彼此连接。作为独立芯片或系统中核心部分起作用的FPGA已经广泛被应用于大量微电子设备中。广义的FPGA的逻辑门的定义,不单指简单的与非门,也指具有可配置功能的组合逻辑与时序逻辑的逻辑单元或由多个逻辑单元互连而组成的逻辑块。
在芯片硬件上有短距离的物理连线,延时短,属于皮秒级别,一般是10ps以内。短距离的快速物理连线,可以提高物理性能,提高绕线资源的可布性。如果使用这些快速物理连线,一般是把这些物理连线的时间延迟存入数据文件,通过优化算法自动寻找最优解。但是由于算法的局限性,往往不能找到所有的最优解。
目前工业界还没有提出很好的能够保证解决根据芯片固有的快线资源,提取一种使用模式对用户的设计模式进行匹配的问题。
发明内容
本发明的目的是提供一种加法器的打包布局方法,该方法能够根据芯片的固有快线资源,通过一种使用模式对用户的设计模式进行匹配。匹配后,减少加法器和其它模块使用的布线资源,布线资源使用减少的同时也降低了延时。
为实现上述目的,本发明提供了一种加法器的打包布局方法,该方法包括:识别出用户设计中加法器和其它可打包模块的设计模式;然后将所述加法器和其它可打包模块打包成一个宏模块;将所述宏模块放置在一个有快速物理连线的逻辑单元里面。
优选地,识别出用户设计中加法器和其它可打包模块的设计模式步骤包括:对用户网表中每个加法器的驱动端口的连线进行遍历;判断该驱动端口连线驱动的模块是否为可移动模块;若该驱动端口连线驱动的模块为可移动模块,再判断模块类型是否为可优化性能和可布性的模块;若模块的类型为可优化性能和可布性的模块,识别出用户设计中加法器和其它可打包模块的设计模式。
优选地,判断该驱动端口连线驱动的模块是否为可移动模块步骤包括:若该驱动端口连线驱动的模块是寄存器时,所述模块为可移动的模块。
优选地,判断该模块类型是否为可优化性能和可布性的模块步骤包括:若加法器和模块之间有直接的连线,也就是存在两端线网,该模块的类型为可优化性能和可布性的模块。
优选地,对该宏模块进行整体的优化操作,在优化操作的过程中不能破坏该宏模块的整体性。
优选地,在进行加法器布局过程中,满足具体设计需求的基础上,将宏模块放置在一个有快速物理连线的逻辑单元里。
本发明能够根据芯片的固有快线资源,通过一种使用模式对用户的设计模式进行匹配。匹配后,减少加法器和其它模块使用的布线资源,布线资源使用减少的同时也降低了延时。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种加法器的打包布局方法的流程示意图;
图2为本发明实施例提供的一种基本逻辑单元示意图;
图3为本发明实施提供的一种基本逻辑单元内部的加法器和寄存器的示意图;
图4为本发明实施例提供的一种宏模块整体移动示意图;
图5为本发明实施例提供的又一种加法器的打包布局方法的流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
本发明实施例提供一种加法器的打包布局方法,该方法能够根据芯片的固有快线资源,通过一种使用模式对用户的设计模式进行匹配。匹配后,减少加法器和其它模块使用的布线资源,布线资源使用减少的同时也降低了延时。
图1为本发明实施例提供的一种加法器的打包布局方法的流程示意图。如图1所示,一种加法器的打包布局方法,该方法包括步骤S101-S103:
步骤S101:识别出用户设计中加法器和其它可打包模块的设计模式;
步骤S102:然后将所述加法器和其它可打包模块打包成一个宏模块;
步骤S103:将所述宏模块放置在一个有快速物理连线的逻辑单元里面。
具体地,识别出用户设计中加法器和其它可打包模块的设计模式步骤包括:对用户网表中每个加法器的驱动端口的连线进行遍历;判断该驱动端口连线驱动的模块是否为可移动模块;若该驱动端口连线驱动的模块为可移动模块,再判断模块类型是否为可优化性能和可布性的模块;若模块的类型为可优化性能和可布性的模块,识别出用户设计中加法器和其它可打包模块的设计模式。
具体地,判断该驱动端口连线驱动的模块是否为可移动模块步骤包括:若该驱动端口连线驱动的模块是寄存器时,所述模块为可移动的模块。
具体地,判断该模块类型是否为可优化性能和可布性的模块步骤包括:若加法器和模块之间有直接的连线,也就是存在两端线网,该模块的类型为可优化性能和可布性的模块。
具体地,对该宏模块进行整体的优化操作,在优化操作的过程中不能破坏该宏模块的整体性。
具体地,在进行加法器布局过程中,满足具体设计需求的基础上,将宏模块放置在一个有快速物理连线的逻辑单元里。
本发明能够根据芯片的固有快线资源,通过一种使用模式对用户的设计模式进行匹配;匹配后,减少加法器和其它模块使用的布线资源,布线资源使用减少的同时也降低了延时。
图2为本发明实施例提供的一种基本逻辑单元示意图。如图2所示,CME-C1型号的现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)的架构中,一个基本逻辑单元的示意图。一个基本逻辑单元(Logic Element,LE)包括4个基本的可编程逻辑片(LP,Logic Parcel),也就是LP0、LP1、LP2、LP3。一个基本的逻辑片包括2个6输入的查找表(Lookup table-LUT)、2个加法器(Adder-ADD)、4个寄存器(Register-Reg)。
如图所示,在芯片的基本逻辑单元中,加法器与寄存器之间本身就有一条快速物理连线。在识别用户的设计中,若出现加法器和其它可打包模块的设计模式;然后将加法器和其它可打包模块打包成一个宏模块;最后将该宏模块放在如图所示的逻辑片LP中,成为一个整体。
在用户的设计之中,加法器ADD可能与查找表LUT模块、输入输出IO(InputOutput)模块、嵌入式存储模块EMB(Embedded storage)、数字声音处理器DSP(Digitalsound field processor)模块等模块相连,该模块在此不一一列举。在本发明实施例中,需要识别用户设计中加法器ADD与寄存器Reg相连的连线模式。
图3为本发明实施提供的一种基本逻辑单元内部的加法器和寄存器的示意图。如图3所示,加法器ADD的S(sum)端口通过快速物理线路与寄存器Reg相连,加法器通过连线,数据输入到寄存器Reg,进而驱动寄存器Reg。
在电子线路设计中,综合工具根据用户设计输入的硬件描述语言(Verilog或者VHDL),将用户设计转换为网表(netlist),利用网表来描述电路元件相互之间连接关系。用户网表包括用户设计的各个逻辑单元、每个逻辑单元的所有端口以及每个逻辑单元的各个端口的连线信息。
在本发明实施例中,遍历用户网表中所有的加法器S端口连线信息,判断是否与寄存器Reg模块相连,若与寄存器Reg模块相连,那么该寄存器Reg模块为可移动模块;判断该寄存器Reg模块为可移动模块后,继续判断加法器与寄存器Reg模块之间是否有快速物理连线,也就是两端线网,若有,则该寄存器Reg模块为可优化性能和可布性的模块。识别出用户的这种设计模式后。由于在芯片的逻辑资源中本身提供有这种模式,因此将识别到的用户的这种设计模式后,将用户设计中的加法器和寄存器打包成一个宏模块,然后将宏模块放置在具有快速物理连线的逻辑单元中。因此,减少了加法器和寄存器模块Reg所占用的布线资源。快速物理连线是皮秒级,一般是10ps以内。因此,所占用逻辑资源的减少的同时,延时也会降低。
图4为本发明实施例提供的一种宏模块整体移动示意图。如图4所示,在宏模块整体移动过程中,需要保证宏模块的整体性。在目标位置的寄存器和加法器位置未被占用时,整体移动宏模块到目标位置。
如果目标位置被寄存器和加法器占用,则整体移动到下一个目标位置。
图5为本发明实施例提供的又一种加法器的打包布局方法的流程示意图。如图所示,一种加法器的布局方法包括步骤S201-S205:
步骤S201:对用户网表中每个加法器的驱动端口的连线进行遍历;
加法器ADD可能与查找表LUT模块、输入输出IO(Input Output)模块、嵌入式存储模块EMB(Embedded storage)、数字声音处理器DSP(Digital sound field processor)模块等模块相连,对用户网表中所有的加法器的S(sum)端口的连线进行遍历。遍历是指对每一个与加法器的S(sum)端口的连线连接的模块做且仅做一次访问。
步骤S202:判断所述驱动端口连线驱动的模块是否为可移动模块;
当访问到加法器的S(sum)端口的连线与寄存器模块相连时,就判定为该寄存器模块为可移动模块;当访问到加法器的S(sum)端口的连线不与寄存器模块相连时,直接跳至步骤S206。
步骤S203:判断模块类型是否为可优化性能和可布性的模块;
在判断完成步骤S202后,对可移动模块进行判断。当加法器的S(sum)端口与寄存器之间的连线为快速物理连线,就判定该模块为可优化性能和可布性的模块。快速物理连线能够减少延时,在全局和局部的布局中,快速物理连线两端的模块能够减少对布线资源的使用。
当加法器的S(sum)端口与寄存器之间的连线不为快速物理连线时,就判定该模块不为可优化性能和可布性的模块,直接跳至步骤S206。
步骤S204:然后将所述加法器和其它可打包模块打包成一个宏模块;
打包处理的基本单位是查找表和寄存器、加法器等其他模块,打包的目标主要是为了解决三个问题:第一,处理布局时的一些查找表级别的约束,例如:某两个查找表必须要放置在相邻的位置,某些特殊关系的查找表和寄存器不能放在一起,一般而言,约束越早处理,处理的难度相对越小;第二,打包时将一些小的逻辑单元组合成一个大的逻辑单元,减少了逻辑单元的数量级,这样可以大大减少后面全局布局时的求解规模,减少了布局时间;第三,可以提高芯片的面积使用效率,芯片上的可编辑可编程逻辑模块(PLB,Programmable Logic Block)和打包成的逻辑单元是相对应的,在打包时可以方便的控制每个逻辑单元的使用率,从而提高芯片面积的使用率。
打包的过程主要分为两步:第一步,将查找表、寄存器以及加法器或者其他模块组合组成基本单元;第二步,将基本单元组合成逻辑单元。
用打包算法将加法器和寄存器模块打包成宏模块,宏模块具有整体性,对宏模块进行整体的优化操作过程中不能破坏宏模块的整体性。
步骤S205:将所述宏模块放置在一个有快速物理连线的逻辑单元里面;
将宏模块放置在一个具有快速物理连线的芯片的逻辑单元里面;CME-C1型号FPGA芯片中分为可编程逻辑模块PLB(Programmable Logic Block)和带本地存储器的可编程逻辑模块PLBR(Programmable Logic Block Local memory lram),在芯片中PLBR与PLB所占的比例为1:1,但是PLBR所占的面积大。每一个PLB包括一个逻辑单元LE和逻辑单元内部的连线。一个基本的逻辑片包括2个6输入的查找表(Lookup table-LUT)、2个加法器(Adder-ADD)、4个寄存器(Register-Reg)。
因此如图3的示意图所示,一个逻辑单元内部可以有8组加法器和寄存器模块的连接情况。在此说明的是,在图3的示意图中,查找表LUT和一些内部连线等与本发明实施例无关的结构没有画出。打包成宏模块之后,加法器和寄存器不再需要使用相对来说过多的布线资源,也就减少了加法器和寄存器之间的延时,提升了整体的性能,也提高了宏模块整体的可布性。
步骤S206:结束。
本发明能够根据芯片的固有快线资源,通过一种使用模式对用户的设计模式进行匹配;匹配后,减少加法器和其它模块使用的布线资源,布线资源使用减少的同时也降低了延时。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种加法器的打包布局方法,其特征在于,所述方法包括:
对用户网表中每个加法器的驱动端口的连线进行遍历;
判断所述驱动端口连线驱动的模块是否为可移动模块;
若所述驱动端口连线驱动的模块为可移动模块,再判断模块类型是否为可优化性能和可布性的模块;
若模块的类型为可优化性能和可布性的模块,识别出用户设计中加法器和其它可打包模块的设计模式;
然后将所述加法器和其它可打包模块打包成一个宏模块;
将所述宏模块放置在一个有快速物理连线的逻辑单元里面。
2.根据权利要求1所述的方法,其特征在于,所述判断所述驱动端口连线驱动的模块是否为可移动模块步骤包括:
若所述驱动端口连线驱动的模块是寄存器时,所述模块为可移动的模块。
3.根据权利要求1所述的方法,其特征在于,所述判断模块类型是否为可优化性能和可布性的模块步骤包括:
若加法器和模块之间有直接的连线,也就是存在两端线网,所述模块的类型为可优化性能和可布性的模块。
4.根据权利要求1所述的方法,其特征在于,对所述宏模块进行整体的优化操作,在优化操作的过程中不能破坏所述宏模块的整体性。
5.根据权利要求1所述的方法,其特征在于,在进行加法器布局过程中,满足具体设计需求的基础上,将宏模块放置在一个有快速物理连线的逻辑单元里。
CN201510716612.5A 2015-10-29 2015-10-29 一种加法器的打包布局方法 Active CN106649898B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510716612.5A CN106649898B (zh) 2015-10-29 2015-10-29 一种加法器的打包布局方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510716612.5A CN106649898B (zh) 2015-10-29 2015-10-29 一种加法器的打包布局方法

Publications (2)

Publication Number Publication Date
CN106649898A CN106649898A (zh) 2017-05-10
CN106649898B true CN106649898B (zh) 2019-12-13

Family

ID=58831036

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510716612.5A Active CN106649898B (zh) 2015-10-29 2015-10-29 一种加法器的打包布局方法

Country Status (1)

Country Link
CN (1) CN106649898B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108009348A (zh) * 2017-11-30 2018-05-08 上海安路信息科技有限公司 基于输入位时延的加/减法器优化方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102890729A (zh) * 2011-07-18 2013-01-23 中国科学院微电子研究所 一种对高扇出的可编程门列阵进行布局布线的方法
CN103258066A (zh) * 2012-02-17 2013-08-21 京微雅格(北京)科技有限公司 逻辑簇的布局方法
CN104182556A (zh) * 2013-05-22 2014-12-03 京微雅格(北京)科技有限公司 芯片的布局方法
CN104750906A (zh) * 2013-12-26 2015-07-01 西普联特公司 用于调节时钟网络的系统和方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102890729A (zh) * 2011-07-18 2013-01-23 中国科学院微电子研究所 一种对高扇出的可编程门列阵进行布局布线的方法
CN103258066A (zh) * 2012-02-17 2013-08-21 京微雅格(北京)科技有限公司 逻辑簇的布局方法
CN104182556A (zh) * 2013-05-22 2014-12-03 京微雅格(北京)科技有限公司 芯片的布局方法
CN104750906A (zh) * 2013-12-26 2015-07-01 西普联特公司 用于调节时钟网络的系统和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
可配置宏的快速FPGA布局算法;徐嘉伟 等;《计算机工程》;20090831;第35卷(第16期);全文 *

Also Published As

Publication number Publication date
CN106649898A (zh) 2017-05-10

Similar Documents

Publication Publication Date Title
US9652576B2 (en) Detailed placement with search and repair
US9582635B2 (en) Optimizing IC performance using sequential timing
US10678979B2 (en) Method and apparatus for implementing a system-level design tool for design planning and architecture exploration
US20220012177A1 (en) Application mapping on hardened network-on-chip (noc) of field-programmable gate array (fpga)
US9026967B1 (en) Method and apparatus for designing a system on multiple field programmable gate array device types
US8984462B1 (en) Physical optimization for timing closure for an integrated circuit
US11748548B2 (en) Hierarchical clock tree implementation
US7464362B1 (en) Method and apparatus for performing incremental compilation
US8578306B2 (en) Method and apparatus for performing asynchronous and synchronous reset removal during synthesis
CN106649898B (zh) 一种加法器的打包布局方法
US8595668B1 (en) Circuits and methods for efficient clock and data delay configuration for faster timing closure
CN110728098B (zh) Fpga重配置分区优化方法及系统
CN106649899B (zh) 一种本地存储器布局方法
US10430539B1 (en) Method and apparatus for enhancing performance by moving or adding a pipelined register stage in a cascaded chain
US10303202B1 (en) Method and apparatus for performing clock allocation for a system implemented on a programmable device
US20230119051A1 (en) Method and apparatus for constructing fpga chip top-level schematic and storage medium
US20180076803A1 (en) Clock-distribution device of ic and method for arranging clock-distribution device
CN106649905B (zh) 一种利用进位链的工艺映射方法
CN106934077B (zh) 一种精确的块进位链的时序分析方法
CN107632816B (zh) 通过在设计编制期间替换用于执行除法的部件来改进系统操作的方法和设备
US11023646B2 (en) Hierarchical clock tree construction based on constraints
US11347923B1 (en) Buffering algorithm with maximum cost constraint
US20240184966A1 (en) FPGA Compiler Flow for Heterogeneous Programmable Logic Elements
US8201114B1 (en) Method and apparatus for performing look up table unpacking and repacking for resynthesis
Kilic et al. A top-down optimization methodology for mutually exclusive applications

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
GR01 Patent grant
GR01 Patent grant