通用现场可编程门阵列布局布线模型的制作方法

文档序号:6649687阅读:213来源:国知局
专利名称:通用现场可编程门阵列布局布线模型的制作方法
技术领域
本发明属于超大规模集成电路技术领域,具体涉及到一种与FPGA具体结构无关的布局布线模型。
背景技术
自从1985年Xilinx公司推出FPGA(现场可编程门阵列)以来,FPGA获得了日益广泛的应用。最初,FPGA用于制作样机等小批量生产,且只能实现简单数字电路;随着FPGA在速度,功耗,集成度等方面的改善,现在的FPGA可以实现包含存储器,处理器的复杂数字系统,芯片的集成度达到1000万门,速度达到300MHz。除制造工艺外,这种巨大变化绝大多数是结构改善的结果。学术界和工业界对逻辑块和布线结构进行了广泛的研究,然而这些研究工作绝大多数是基于学术研究上的,工业的FPGA结构相对要复杂得多。因此,开发通用有效的FPGA软件对结构研究具有重大意义。
FPGA芯片按照其可编程的逻辑单元的规模的大小可以分成粗粒度和细粒度两类。前者如Xilinx的XC4000系列,其每个逻辑单元由一个或两个4输入的LUT组成,可以实现全部4输入或者5输入的逻辑函数;后者如Actel的ProASIC系列,其每个逻辑单元由少量的MUX及逻辑门构成,可以实现除异或逻辑外的任意三输入逻辑函数。但对于FPGA布局布线模块来说,不管粗粒度或细粒度的FPGA芯片,其结构都可以归结于同一种模型描述,这种模型可以采用通用的FPGA布局布线算法来处理。
VPR是学术上比较成功的布局布线模块,它可以处理平面化的FPGA结构,并且算法处理在同类软件中是比较令人满意的,相当多学者利用它来进行一些重要的FPGA结构研究。因此,本模块在以VPR代码为基础的情况下,致力于弥补VPR中的缺陷与不足,主要解决的问题在于扩展VPR中连接盒CB的模型;扩展VPR中开关盒SB的模型。

发明内容
本发明的目的在于在学术软件VPR的基础上,对其模型进行改进,使其更为通用,从而实现与结构无关的FPGA布局布线模块。
采用本发明模型,可以找到对应于FPGA结构的最优的连接盒CB和开关盒SB结构,对于FPGA结构改进具有重要意义。
VPR在处理布局布线时所采用的模型是比较简单的,与实际的FPGA结构相比起来,该模型具有很大的限制。VPR模型要求引脚与通道中的布线资源连接度一致,如图1所示。在图1中,输入引脚与输出引脚的连接度均为0.5,也就是说,输入引脚与输出引脚均连接50%的布线资源。另外,VPR开关盒(或者说横向布线资源与纵向布线资源)模型的连接方式仅限于学术上的三种结构模型,如图2的a)、b)和c)图。
要以VPR现有的简单模型去评估工业FPGA的结构,那是很不合适的,因为模型本身无法描述工业FPGA复杂的结构,也就无从得到合理的布局布线结果。
在此情况下,本发明以VPR的模型为基础,并做出充和改进。这种改进主要在连接盒CB和开关盒SB两个方面。
(I)连接盒CB的改进CB是CLB的引脚与通道中布线资源的连接情况描述。
VPR的CB模型比较简单,它规定所有的输入引脚的连接度一个值,所有的输出引脚的连接度也是一个值(所谓连接度,就是引脚与通道中布线资源连接的百分比)。在图1中,输入引脚与输出引脚的连接度均为0.5,也就是说,输入引脚与输出引脚均连接50%的布线资源。
在本模型里,将CB的灵活性扩展到可以指定任意一个引脚与通道中布线资源的连接情况,从而使得VPR的模型不再局限于引脚连接度的单一性。
具体做法如下对于任意一个引脚Pi,令β(Pi)=(i,POSi,T1,T2,...,Tn),i为引脚的序号,POSi为第i个引脚的位置,位置关系包括上下左右四个方向。T1,T2,…,Tn为一系列布尔值,当其中的Tk为1时,代表第i个引脚与通道中的第K根布线资源相连,反之,则不存在连接关系。
通过对每个引脚的信息进行定义后,就可以得到每个引脚的具体位置,连接关系信息,从而达到连接盒CB的灵活性要求。
这样做的意义在于,在保证芯片布通率的情况下,可以适当减少输入引脚和输出引脚与通道中布线资源的连接,那么,既不影响芯片布通率,又可以减少相当数目的开关管,对芯片的面积功耗都有相当的节省。
表1是基于此目的而做出的测试。VPR模型的所有输入引脚和输出引脚跟通道中的每一根布线资源都有连接,第二栏的通道高度是在此设置下完成布线所需的最小通道宽度。在得到第二栏的最小所需通道高度后,对其中的LUT引脚连接度进行减小,Fc1为四输入LUT的第一个引脚连接度,Fc2为四输入LUT的第二个引脚连接度,依此类推。输出引脚和时钟引脚的连接度保持不变。
由表1可以发现,在适当减少某些引脚的连接度,对芯片布通率并没有太大影响。那么,根据此情况,在通道中的布线资源数固定的情况下,适当减少部分引脚连接度可以减少整个芯片的开关管,进而可以找到每个引脚最少所需要的连接度。
(II)开关盒SB的改进SB是横向通道中的布线资源与纵向通道中布线资源的连接情况描述。
工业FPGA结构的调研发现,绝大多数的FPGA开关盒不能采用学术上的三种开关盒结构Wilton、Subset和Universal来描述(三种开关盒如图2所示),这就使得VPR在描述这些FPGA结构时力不从心。
针对目前FPGA结构开关盒的多样性,本发明采用函数方式来描述横向通道与纵向通道的连接关系。具体地说,为横向通道的track给定一组序号,也为纵向通道的track给定一组序号,而函数则用来描述两组序号之间的映射关系。
具体做法如下为开关盒左边的横向通道的布线资源指定一组序号LH1,LH2,LH3,…,为开关盒上边的纵向通道的布线资源指定一组序号TV1,TV2,TV3,…,为开关盒右边的横向通道的布线资源指定一组序号RH1,RH2,RH3,…,为开关盒下边的纵向通道的布线资源指定一组序号BV1,BV2,BV3,…,那么,对于四组序号的任意两组序号之间的各个元素之间总存在一一映射关系,也就是说每两组序号可以存在函数关系。
由于开关盒内的开关是双向的,故对于一个开关盒,描述其结构的函数个数只需C42个。那么,一个具体开关盒SB的描述方式如下左边通道与上面通道(LH1,LH2,...,LHn)=f1(TV1,TV2,...,TVn,R),左边通道与右边通道(LH1,LH2,...,LHn)=f2(RH1,RH2,...,RHn,R),左边通道与下面通道(LH1,LH2,...,LHn)=f3(BV1,BV2,...,BVn,R),上面通道与下面通道(TV1,TV2,...,TVn)=f4(BV1,BV2,...,BVn,R),上面通道与右边通道(TV1,TV2,...,TVn)=f5(RH1,RH2,...,RHn,R),下面通道与右边通道(BV1,BV2,...,BVn)=f6(RH1,RH2,...,RHn,R),R为通道中的布线资源数目。
这种方法避开了VPR原有的开关盒模型的单一性。
为验证本发明模型的任意性,任意设计了一类开关盒结构,其拓扑结构如图3所示。该结构与学术三种模型的比较结果如表2所示。
采用本模型,可以找到一种最优的开关盒模型。
技术效果根据本发明提出的通用的CB和SB模型加上相应的处理方法,可以为FPGA硬件结构找到一个最优的结构优化,FPGA结构设计工程师可以借助本发明及相应的软件找到最优的FPGA结构。
表1 CB灵活性测试。
表2 本发明任意指定开关盒模型与学术开关盒模型比较。
表1



图1 VPR中的CB和SB模型图2 不同开关盒拓扑,其中,(a)Disjoint,(b)Universal,(c)Wilton。
图3 本发明测试的开关盒模型。
具体实施例方式
为了说明本文所用的方法,在此针对特定例子对本文的技术方案及实施步骤进行详细说明。
(I)连接盒CB的改进在本模型里,将CB的灵活性扩展到可以指定任意一个引脚与通道中布线资源的连接情况,从而使得VPR的模型不再局限于引脚连接度的单一性。
以表1的alu4测试电路为例,具体方法如下对于本发明模型的引脚,有如下连接关系β(P1)=(1,TOP,1,1,0,1,1,1,0,1,1,0)第一根引脚,位置在上面,引脚与水平第三、七、十根布线资源没有连接β(P2)=(2,BOTTOM,1,0,1,0,1,0,1,0,1,1)第二根引脚,位置在下面,引脚与水平第二、四、六、八根布线资源没有连接β(P3)=(3,LEFT,1,1,1,1,0,1,1,1,1,0)第三根引脚,位置在左边,引脚与第五、十根布线资源没有连接
β(P4)=(4,RIGHT,1,1,0,1,1,1,0,1,1,0)第四根引脚,位置在右边,引脚与第三、七、十根布线资源没有连接β(P5)=(5,RIGHT,1,1,1,1,1,1,1,1,1,1)第五根引脚,位置在右边,引脚与所有布线资源均连接β(P6)=(6,LEFT,1,1,1,1,1,1,1,1,1,1)第六根引脚,位置在右边,引脚与所有布线资源均连接通过对每个引脚的信息进行定义后,软件就可以得到每个引脚的具体位置,连接关系信息,从而达到连接盒CB的灵活性要求。
在处理CB时,软件模块读入上述指定的每个引脚的连接度,存储在内存里。
接着,在软件模块生成布线资源图时,调出上述存储的数据,根据每个引脚的连接度,重新修改布线资源图,使之符合用户的设定,然后再进行布局布线。
表1是根据上述的具体方法而做出的测试。VPR模型的所有输入引脚和输出引脚跟通道中的每一根布线资源都有连接,第二栏的通道高度是在此设置下完成布线所需的最小通道宽度。在得到第二栏的最小所需通道高度后,对其中的LUT引脚连接度进行减小,Fc1为四输入LUT的第一个引脚连接度,Fc2为四输入LUT的第二个引脚连接度,依此类推。输出引脚和时钟引脚的连接度保持不变。
由表1可以发现,在适当减少某些引脚的连接度,对芯片布通率并没有太大影响。那么,根据此情况,在通道中的布线资源数固定的情况下,适当减少部分引脚连接度可以减少整个芯片的开关管,进而可以找到每个引脚最少所需要的连接度。
(II)开关盒SB的改进在处理SB时,放弃VPR原有生成开关盒结构的代码,而采用本发明的模型来处理。对于通道中的每根布线资源,在布线资源图中是一个结点,根据本发明中的六个函数,得到与之相连的各个通道的布线资源,并在布线资源图中以有向边连接。两个结点间存在有向边的,那么布线时这两个结点是可到达的,反之,则不可到达。
根据前文讲述的方法,对图3中的开关盒描述如下左边通道与上面通道y=|R-x-1|左边通道与右边通道y=x左边通道与下面通道y=|R-x-1|上面通道与下面通道y=x
上面通道与右边通道y=|R-x-1|下面通道与右边通道y=|B-x-1|R为通道中的布线资源数目。y为后者布线资源的序号,x为前者后线资源的序号。以左边通道序号为1的布线资源跟上边通道序号为3的布线资源的连接关系为例,1=5-3-1,故两条布线资源存在连接。
在处理SB时,软件模块读入用户指定的6个函数,存储在内存里。
在软件模块调用生成开关盒布线资源的子模块时,软件模块根据这六个函数,生成各个布线资源的连接关系,在内存中构造有向图,有存在连接关系的,以两条有向边表示,不存在连接关系的,之间不存在有向边。
生成布线资源图后,调用迷宫布线算法进行布局布线。
这种方法避开了VPR原有的开关盒模型的单一性,在实现方法处理上,与原有的VPR实现方式差异较多。
采用本模块的方法,可以找到一种最优的开关盒模型。
由于布局布线所采用的模拟退火算法和迷宫布线算法与芯片的具体结构是无关的,所以本发明模型的改进对算法不造成影响。
六、参考文献[1]A.Marquardt,V.Betz,and J.Rose,Speed and Area Tradeoffs in Cluster-Based FPGAArchitectures,IEEE Transactions on VLSI Systems,vol.8,Feb.2000,pp.84-93. E.Ahmed and J.Rose,The Effect of LUT and Cluster Size on Deep-Submicron FPGAPerformance and Density,in ACM/SIGDA International Symposium on Field-ProgrammableGate Arrays,Feb.2000,pp.3-12. J.Rose,R.J.Francis,D.Lewis,and P.Chow,Architecture of Field-Programmable GateArraysThe Effect of Logic Block Functionality on Area Efficiency,IEEE Journal of Solid-StateCircuits,vol.25,Oct.1990,pp.1217-1225. J.Rose,R.J.Francis,P.Chow,and D.Lewis,The Effect of Logic Block Complexity onArea of Programmable Gate Arrays,IEEE Custom Integrated Circuits Conference,May,1989,pp.5.3.1-5.3.5. M.I.Masud and S.J.E.Wilton,A New Switch Block for Segmented FPGAs,International Workshop on Field Programmable Logic and Applications,August 1999. Y.W.Chang,D.Wong,and C.Wong,Universal Switch Modules for FPGA Design,ACM Transactions on Design Automation of Electronic Systems,vol.1,Jan,1996,pp.80-101. Andy Yan,Rebecca Cheng,Steven J.E.Wilton,On the Sensitivity of FPGAArchitectural Conclusions to Experimental Assumptions,Tools,and Techniques,FPGA’02,February,2002,pp.24-26,Monterey,California,USA.
权利要求
1.一种通用现场可编程门阵列布局布线模型,其特征在于在VPR模型基础上,对其中的连接盒CB和开关盒BS模型进行改进(I)连接盒CB的改进对于任意一个引脚Pi,令β(Pi)=(i,POSi,T1,T2,...,Tn),i为引脚的序号,POSi为第i个引脚的位置,位置关系包括上下左右四个方向;T1,T2,…,Tn为一系列布尔值,当其中的Tk为1时,代表第i个引脚与通道中的第K根布线资源相连,反之,则不存在连接关系;(II)开关盒SB的改进为开关盒左边的横向通道的布线资源指定一组序号LH1,LH2,LH3,…,为开关盒上边的纵向通道的布线资源指定一组序号TV1,TV2,TV3,…,为开关盒右边的横向通道的布线资源指定一组序号RH1,RH2,RH3,…,为开关盒下边的纵向通道的布线资源指定一组序号BV1,BV2,BV3,…,那么,一个具体开关盒SB的描述方式如下左边通道与上面通道(LH1,LH2,...,LHn)=f1(TV1,TV2,...,TVn,R),左边通道与右边通道(LH1,LH2,...,LHn)=f2(RH1,RH2,...,RHn,R),左边通道与下面通道(LH1,LH2,...,LHn)=f3(BV1,BV2,...,BVn,R),上面通道与下面通道(TV1,TV2,...,TVn)=f4(BV1,BV2,...,BVn,R),上面通道与右边通道(TV1,TV2,...,TVn)=f5(RH1,RH2,...,RHn,R),下面通道与右边通道(BV1,BV2,...,BVn)=f6(RH1,RH2,...,RHn,R),R为通道中的布线资源数目。
全文摘要
本发明属于超大规模集成电路技术领域,具体为一种通用现场可编程门阵列(FPGA)布局布线模型。该模型是在VPR学术模型的基础上,对VPR的CB及SB模型进行改进,使新的模型更通用,更具有代表性,并具有相当的灵活性,可以处理FPGA中任意的连接盒CB和开关盒SB结构。根据此模型,结合相应的软件处理方法,可以由一个初始的FPGA结构出发,改变CB和SB的结构,最终找到对应于本FPGA结构的最佳CB和SB结构。测试结果表明,采用本发明的模型,对FPGA结构的优化有着重要的指导作用。
文档编号G06F17/50GK1776693SQ20051011106
公开日2006年5月24日 申请日期2005年12月1日 优先权日2005年12月1日
发明者唐璞山, 陈苑锋, 来金梅, 童家榕 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1