一种fpga的布线方法和宏单元的制作方法

文档序号:9869666阅读:549来源:国知局
一种fpga的布线方法和宏单元的制作方法
【技术领域】
[0001]本发明涉及微电子领域中的集成电路设计技术领域,特别是一种FPGA的布线方法和宏单元。
【背景技术】
[0002]现场可编程逻辑门阵列(Field Programmable Gate Array, FPGA)是一种具有丰富硬件资源、强大并行处理能力和灵活可重配置能力的逻辑器件。这些特征使得FPGA在数据处理、通信、网络等很多领域得到了越来越多的广泛应用。
[0003]FPGA的设计流程包括:设计输入、调试、功能仿真、综合、布局布线、时序仿真、配置下载等步骤。其中布局是指从映射取出定义的逻辑和输入输出块,并把它们分配到FPGA内部的物理位置,往往需要在速度最优和面积最优之间做出选择。布线是根据布局的拓扑结构,利用自动布线软件,使用布线资源选择时序最短路径,试着完成所有的逻辑连接。
[0004]目前,在很多FPGA设计中都使用了多路复用器,多路复用器的多级级联可以形成输入交叉开关矩阵(ixbar)结构,可以实现对输入数据的选择输出的逻辑,也就是说在输入和输出之间具有唯一确定的路径。多级多路复用器根据现有自动布线软件,对于多级多路复用器的布线需要将每个多路复用器的输入和输出都作为布图模型中的结点来处理,因此对于FPGA中用作ixbar的多级多路复用器的模块越多、级数越多的情况来说,对布图模型中在多级多路复用器内部的结点进行布线需要消耗大量的内存并增加了很多布线时间。

【发明内容】

[0005]本发明提供了一种FPGA的布线方法和宏单元,能够减少布图模型中ixbar的结点数,从而在布线过程中有效降低内存消耗,并降低布线时间。
[0006]第一方面,本发明实施例提供了一种FPGA的布线方法,包括:
[0007]确定在第一级输入和最后一级输出之间具有唯一确定路径的多级多路复用器;其中,所述多级多路复用器包括至少两级多路复用器,每级多路复用器包括一个或多个多路复用器;
[0008]将所述多级多路复用器封装为一个宏单元;所述宏单元的输入为所述第一级输入,所述宏单元的输出为所述最后一级输出;
[0009]根据所述宏单元的输入和输出建立结点,进行布图建模,并根据所述布图建模进行布线。
[0010]优选的,所述多级多路复用器为输入交叉开关矩阵ixbar结构。
[0011]第二方面,本发明实施例提供了一种宏单元,包括:
[0012]第一数量个输入和第二数量个输出;其中,每个所述输入到输出之间,具有唯一确定的路径;
[0013]在进行布线时,根据所述宏单元的输入和输出建立结点,根据所述结点进行布图建模;并根据所述布图建模进行布线。
[0014]优选的,所述宏单元还包括:至少两级多路复用器,每级多路复用器包括一个或多个多路复用器;
[0015]所述宏单元的输入为所述至少两级多路复用器的第一级输入;所述宏单元的输出为所述至少两级多路复用器的最后一级输出。
[0016]进一步优选的,所述至少两级多路复用器为输入交叉开关矩阵ixbar结构。
[0017]优选的,所述第一数量为所述第二数量的两倍。
[0018]本发明提供的FPGA的布线方法,通过将第一级输入和最后一级输出之间具有唯一确定路径的多级多路复用器封装成宏单元,在布图建模时仅对宏单元的输入、输出进行结点建模,从而减少了布图建模的结点数,降低了内存消耗,减少了布线器在布线过程需要搜索的结点,从而有效降低了布线器的布线时间。
【附图说明】
[0019]图1为本发明实施例提供的布线方法流程图;
[0020]图2为本发明实施例提供的多级多路复用器的结构示意图;
[0021]图3为本发明实施例提供的宏单元的示意图。
【具体实施方式】
[0022]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
[0023]图1为本发明实施例提供的一种FPGA的布线方法,所述方法包括:
[0024]步骤110,确定在第一级输入和最后一级输出之间具有唯一确定路径(PATH)的多级多路复用器;
[0025]其中,所述多级多路复用器包括至少两级多路复用器,每级多路复用器包括一个或多个多路复用器;
[0026]多级多路复用器在第一级输入和最后一级输出之间具有唯一确定路径的情况可以是多路复用器构成的输入交叉开关矩阵(ixbar)结构。
[0027]图2所示的为两级多路复用器构成的输入交叉开关矩阵(ixbar)结构的具体例子。
[0028]其中,ixbar第一级是由图中左边四列4选I的选择器(mux)组成的,其输入为64比特位的数据,每一列的8个mux为I组,每I组中8个mux的均为16比特位的输入,每个mux实现一个16输入4输出的数据处理。进一步的,16选4的mux可以由4个4选I的mux组成(图中未示出)。
[0029]图中,ixbar的第二级由八行16选I的mux组成,其中每行包括4个16选I的mux,也就是说每一行输出4个比特位,第二级一共输出32个比特位。
[0030]在64比特位的输入与32比特位的输出之间,路径是唯一确定的。
[0031]步骤120,将所述多级多路复用器封装为一个宏单元;
[0032]具体的,因为在如图2所示的例子中,在64比特位的输入与32比特位的输出之间,路径是唯一确定的。因此,在布线的时候可以不考虑在64比特位输入到32比特位输出之间的连线。
[0033]所以,可以对输入和输出之间的多级多路复用器进行“封装”,将其封装为一个宏单元,忽略其中的连线,也就是说在布线这一步骤中不考虑宏单元内部的布线。封装后,宏单元的输入为多级多路复用器的第一级输入,所述宏单元的输出为多级多路复用器的最后一级输出。图2中的ixbar在“封装”后的宏单元可以如图3所示。
[0034]步骤130,根据所述宏单元的输入和输出建立结点,进行布图建模,并根据所述布图建模进行布线。
[0035]
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1