CN105634468A - 一种fpga的布线方法和宏单元 - Google Patents
一种fpga的布线方法和宏单元 Download PDFInfo
- Publication number
- CN105634468A CN105634468A CN201410597252.7A CN201410597252A CN105634468A CN 105634468 A CN105634468 A CN 105634468A CN 201410597252 A CN201410597252 A CN 201410597252A CN 105634468 A CN105634468 A CN 105634468A
- Authority
- CN
- China
- Prior art keywords
- input
- macroelement
- output
- multiplexer
- modeling
- 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
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明涉及一种FPGA的布线方法和宏单元,所述方法包括:确定在第一级输入和最后一级输出之间具有唯一确定路径的多级多路复用器;其中,所述多级多路复用器包括至少两级多路复用器,每级多路复用器包括一个或多个多路复用器;将所述多级多路复用器封装为一个宏单元;所述宏单元的输入为所述第一级输入,所述宏单元的输出为所述最后一级输出;根据所述宏单元的输入和输出建立结点,进行布图建模,并根据所述布图建模进行布线。
Description
技术领域
本发明涉及微电子领域中的集成电路设计技术领域,特别是一种FPGA的布线方法和宏单元。
背景技术
现场可编程逻辑门阵列(FieldProgrammableGateArray,FPGA)是一种具有丰富硬件资源、强大并行处理能力和灵活可重配置能力的逻辑器件。这些特征使得FPGA在数据处理、通信、网络等很多领域得到了越来越多的广泛应用。
FPGA的设计流程包括:设计输入、调试、功能仿真、综合、布局布线、时序仿真、配置下载等步骤。其中布局是指从映射取出定义的逻辑和输入输出块,并把它们分配到FPGA内部的物理位置,往往需要在速度最优和面积最优之间做出选择。布线是根据布局的拓扑结构,利用自动布线软件,使用布线资源选择时序最短路径,试着完成所有的逻辑连接。
目前,在很多FPGA设计中都使用了多路复用器,多路复用器的多级级联可以形成输入交叉开关矩阵(ixbar)结构,可以实现对输入数据的选择输出的逻辑,也就是说在输入和输出之间具有唯一确定的路径。多级多路复用器根据现有自动布线软件,对于多级多路复用器的布线需要将每个多路复用器的输入和输出都作为布图模型中的结点来处理,因此对于FPGA中用作ixbar的多级多路复用器的模块越多、级数越多的情况来说,对布图模型中在多级多路复用器内部的结点进行布线需要消耗大量的内存并增加了很多布线时间。
发明内容
本发明提供了一种FPGA的布线方法和宏单元,能够减少布图模型中ixbar的结点数,从而在布线过程中有效降低内存消耗,并降低布线时间。
第一方面,本发明实施例提供了一种FPGA的布线方法,包括:
确定在第一级输入和最后一级输出之间具有唯一确定路径的多级多路复用器;其中,所述多级多路复用器包括至少两级多路复用器,每级多路复用器包括一个或多个多路复用器;
将所述多级多路复用器封装为一个宏单元;所述宏单元的输入为所述第一级输入,所述宏单元的输出为所述最后一级输出;
根据所述宏单元的输入和输出建立结点,进行布图建模,并根据所述布图建模进行布线。
优选的,所述多级多路复用器为输入交叉开关矩阵ixbar结构。
第二方面,本发明实施例提供了一种宏单元,包括:
第一数量个输入和第二数量个输出;其中,每个所述输入到输出之间,具有唯一确定的路径;
在进行布线时,根据所述宏单元的输入和输出建立结点,根据所述结点进行布图建模;并根据所述布图建模进行布线。
优选的,所述宏单元还包括:至少两级多路复用器,每级多路复用器包括一个或多个多路复用器;
所述宏单元的输入为所述至少两级多路复用器的第一级输入;所述宏单元的输出为所述至少两级多路复用器的最后一级输出。
进一步优选的,所述至少两级多路复用器为输入交叉开关矩阵ixbar结构。
优选的,所述第一数量为所述第二数量的两倍。
本发明提供的FPGA的布线方法,通过将第一级输入和最后一级输出之间具有唯一确定路径的多级多路复用器封装成宏单元,在布图建模时仅对宏单元的输入、输出进行结点建模,从而减少了布图建模的结点数,降低了内存消耗,减少了布线器在布线过程需要搜索的结点,从而有效降低了布线器的布线时间。
附图说明
图1为本发明实施例提供的布线方法流程图;
图2为本发明实施例提供的多级多路复用器的结构示意图;
图3为本发明实施例提供的宏单元的示意图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
图1为本发明实施例提供的一种FPGA的布线方法,所述方法包括:
步骤110,确定在第一级输入和最后一级输出之间具有唯一确定路径(PATH)的多级多路复用器;
其中,所述多级多路复用器包括至少两级多路复用器,每级多路复用器包括一个或多个多路复用器;
多级多路复用器在第一级输入和最后一级输出之间具有唯一确定路径的情况可以是多路复用器构成的输入交叉开关矩阵(ixbar)结构。
图2所示的为两级多路复用器构成的输入交叉开关矩阵(ixbar)结构的具体例子。
其中,ixbar第一级是由图中左边四列4选1的选择器(mux)组成的,其输入为64比特位的数据,每一列的8个mux为1组,每1组中8个mux的均为16比特位的输入,每个mux实现一个16输入4输出的数据处理。进一步的,16选4的mux可以由4个4选1的mux组成(图中未示出)。
图中,ixbar的第二级由八行16选1的mux组成,其中每行包括4个16选1的mux,也就是说每一行输出4个比特位,第二级一共输出32个比特位。
在64比特位的输入与32比特位的输出之间,路径是唯一确定的。
步骤120,将所述多级多路复用器封装为一个宏单元;
具体的,因为在如图2所示的例子中,在64比特位的输入与32比特位的输出之间,路径是唯一确定的。因此,在布线的时候可以不考虑在64比特位输入到32比特位输出之间的连线。
所以,可以对输入和输出之间的多级多路复用器进行“封装”,将其封装为一个宏单元,忽略其中的连线,也就是说在布线这一步骤中不考虑宏单元内部的布线。封装后,宏单元的输入为多级多路复用器的第一级输入,所述宏单元的输出为多级多路复用器的最后一级输出。图2中的ixbar在“封装”后的宏单元可以如图3所示。
步骤130,根据所述宏单元的输入和输出建立结点,进行布图建模,并根据所述布图建模进行布线。
具体的,在封装成宏单元后,可以在布线过程中仅针对宏单元的输入输出建立ixbar模型的结点,建立布图模型。这样可以大大减少布图建模中的结点数。
以上述图2所示为例。如果按照多级多路复用器进行布图建模,则每一级中每个多路复用器的输入需要建立为一个结点,每个输出要建立一个结点。因此,对于第一级输入,布图建模的结点数为16×4×8=512个;对于第一级输出,布图建模的结点数为4×4×8=128个;对于第二级输入,布图建模结点数与第一级输出相同,为128个;对于第二级输出,布图建模结点数为4×8=32个。因此在通常情况下,对图2所示的多级多路复用器进行布线时需要考虑的结点为512+128+128+32=800个。
如果按照本发明提供的方法,对多级多路复用器封装成如图3所示的宏单元,然后再进行布图建模,则进行布线时需要考虑的结点数仅为64+32=96个。
相比不采用本发明的技术方案来说,采用本发明实施例提供的方法,能够减少88%的结点数,也就是说在布线时,相比现有技术可以减少处理88%的结点,从而有效地降低了布线器的布线时间。
由此可知,根据本发明实施例提供了一种基于路径的布图模型的建立方法和基于该布图模型的布线方法。通过采用宏单元对在第一级输入和最后一级输出之间具有唯一确定路径的多级多路复用器进行封装的方法,可以在布图建模时仅对宏单元的输入、输出进行结点建模,用路径代替多级多路复用器中间结点的建模,从而减少了布图建模的结点数,降低了内存消耗,并可以大大降低布线的时间。
相应的,本发明实施例提供了一种宏单元,应用于FPGA布图建模时。再如图3所示,宏单元包括:
M个输入和N个输出;其中,每个输入到输出之间,具有唯一确定的路径;M,N均为自然数。优选的,M=2N。
在进行布线时,可以根据所述宏单元的输入和输出建立结点,然后根据结点进行布图建模,再根据布图建模进行布线。
在宏单元内部封装有至少两级多路复用器,为ixbar结构,每级多路复用器包括一个或多个多路复用器。
宏单元的输入为其内部至少两级多路复用器的第一级输入;宏单元的输出为至少两级多路复用器的最后一级输出。
采用本实施例提供的宏单元对在第一级输入和最后一级输出之间具有唯一确定路径的多级多路复用器进行封装,可以在布图建模时仅对宏单元的输入、输出进行结点建模,从而减少了布图建模的结点数,降低了内存消耗,并可以大大降低布线的时间。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种FPGA的布线方法,其特征在于,所述方法包括:
确定在第一级输入和最后一级输出之间具有唯一确定路径的多级多路复用器;其中,所述多级多路复用器包括至少两级多路复用器,每级多路复用器包括一个或多个多路复用器;
将所述多级多路复用器封装为一个宏单元;其中,所述宏单元的输入为所述第一级输入,所述宏单元的输出为所述最后一级输出;
根据所述宏单元的输入和输出建立结点,进行布图建模,并根据所述布图建模进行布线。
2.根据权利要求1所述的方法,其特征在于,所述多级多路复用器为输入交叉开关矩阵ixbar结构。
3.一种宏单元,其特征在于,所述宏单元包括:
第一数量个输入和第二数量个输出;其中,每个所述输入到输出之间,具有唯一确定的路径;
在进行布线时,根据所述宏单元的输入和输出建立结点,根据所述结点进行布图建模,并根据所述布图建模进行布线。
4.根据权利要求3所述的宏单元,其特征在于,所述宏单元还包括:至少两级多路复用器,每级多路复用器包括一个或多个多路复用器;
所述宏单元的输入为所述至少两级多路复用器的第一级输入;所述宏单元的输出为所述至少两级多路复用器的最后一级输出。
5.根据权利要求4所述的宏单元,其特征在于,所述至少两级多路复用器为输入交叉开关矩阵ixbar结构。
6.根据权利要求3-5任一所述的宏单元,其特征在于,所述第一数量为所述第二数量的两倍。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410597252.7A CN105634468B (zh) | 2014-10-30 | 2014-10-30 | 一种fpga的布线方法和宏单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410597252.7A CN105634468B (zh) | 2014-10-30 | 2014-10-30 | 一种fpga的布线方法和宏单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105634468A true CN105634468A (zh) | 2016-06-01 |
CN105634468B CN105634468B (zh) | 2018-11-06 |
Family
ID=56049081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410597252.7A Active CN105634468B (zh) | 2014-10-30 | 2014-10-30 | 一种fpga的布线方法和宏单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105634468B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106407023A (zh) * | 2016-09-06 | 2017-02-15 | 北京深维科技有限公司 | 基于多核处理器的现场可编程门阵列芯片的并行布线方法 |
CN106997249A (zh) * | 2017-03-15 | 2017-08-01 | 武汉华星光电技术有限公司 | 一种具有触控功能的显示面板及其故障测试方法 |
CN108427829A (zh) * | 2018-02-09 | 2018-08-21 | 京微齐力(北京)科技有限公司 | 一种具有公共线结构的fpga |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1321359A (zh) * | 1999-07-16 | 2001-11-07 | 皇家菲利浦电子有限公司 | 非常精细颗粒的现场可编程门阵列结构和电路 |
CN101295979A (zh) * | 2007-04-25 | 2008-10-29 | 中国科学院半导体研究所 | 基于部分局部互连结构的fpga逻辑块 |
US20130293262A1 (en) * | 2012-05-01 | 2013-11-07 | Semiconductor Energy Laboratory Co., Ltd. | Lookup table and programmable logic device including lookup table |
-
2014
- 2014-10-30 CN CN201410597252.7A patent/CN105634468B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1321359A (zh) * | 1999-07-16 | 2001-11-07 | 皇家菲利浦电子有限公司 | 非常精细颗粒的现场可编程门阵列结构和电路 |
CN101295979A (zh) * | 2007-04-25 | 2008-10-29 | 中国科学院半导体研究所 | 基于部分局部互连结构的fpga逻辑块 |
US20130293262A1 (en) * | 2012-05-01 | 2013-11-07 | Semiconductor Energy Laboratory Co., Ltd. | Lookup table and programmable logic device including lookup table |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106407023A (zh) * | 2016-09-06 | 2017-02-15 | 北京深维科技有限公司 | 基于多核处理器的现场可编程门阵列芯片的并行布线方法 |
CN106997249A (zh) * | 2017-03-15 | 2017-08-01 | 武汉华星光电技术有限公司 | 一种具有触控功能的显示面板及其故障测试方法 |
CN106997249B (zh) * | 2017-03-15 | 2020-02-04 | 武汉华星光电技术有限公司 | 一种具有触控功能的显示面板及其故障测试方法 |
CN108427829A (zh) * | 2018-02-09 | 2018-08-21 | 京微齐力(北京)科技有限公司 | 一种具有公共线结构的fpga |
Also Published As
Publication number | Publication date |
---|---|
CN105634468B (zh) | 2018-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102305912B (zh) | 数据可压缩的低功耗集成电路测试装置及其方法 | |
JP2016535913A5 (zh) | ||
CN105677525B (zh) | 基于可重复配置单元的fpga局部互联资源自动化测试方法 | |
Thoma et al. | POEtic: an electronic tissue for bio-inspired cellular applications | |
TW201100829A (en) | Statistical formal activity analysis with consideration of temporal and spatial correlations | |
CN109889205A (zh) | 编码方法及系统、解码方法及系统、编解码方法及系统 | |
CN105634468A (zh) | 一种fpga的布线方法和宏单元 | |
CN105468568A (zh) | 高效的粗粒度可重构计算系统 | |
CN108959168A (zh) | 基于片上内存的sha512全流水电路及其实现方法 | |
Mishra et al. | A cutsets-based unified framework to evaluate network reliability measures | |
CN106709119A (zh) | 一种fpga芯片布线方法 | |
CN103164228B (zh) | 一种现场可编程门阵列程序的生成方法及装置 | |
US8874837B2 (en) | Embedded memory and dedicated processor structure within an integrated circuit | |
CN105573855A (zh) | 一种用于故障树决策图分析的模块化事件排序方法 | |
CN107517055B (zh) | 一种cmos数字逻辑电路的设计方法 | |
CN112131813B (zh) | 基于端口交换技术的用于提升布线速度的fpga布线方法 | |
Brzozowski et al. | Universal Design Method of n-to-2n decoders | |
CN109815583A (zh) | Fpga的布线资源的布线方法和测试方法 | |
CN102789190B (zh) | 适用于不同类型fpga电路编程的列地址分配器电路 | |
CN105760558A (zh) | Fpga芯片中多输入查找表的布局方法 | |
Feng et al. | IPR: in-place reconfiguration for FPGA fault tolerance? | |
Jiang et al. | A design of manually optimized (15, 4) parallel counter | |
Das et al. | Reliability and performance trade-offs for 3D NoC-enabled multicore chips | |
Huang et al. | Pancyclicity of Mobius cubes | |
CN104252560A (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 |