当前位置: 首页 > 专利查询>复旦大学专利>正文

支持用户定制的可编程逻辑器件版图快速生成方法技术

技术编号:8105858 阅读:298 留言:0更新日期:2012-12-21 04:49
本发明专利技术属于电子设计自动化技术领域,具体为一种支持用户定制的可编程逻辑阵列版图快速生成方法。本发明专利技术方法步骤为:准备单元版图并且为单元版图建立配置文件;计算单元版图的规模大小;将单元子版图进行拼接;预留用户设定的版图形状。本发明专利技术基于已有的单元版图库,能够在快速生成任意指定规模的版图文件的同时使得所生成的版图性能接近人工定制生成的版图性能。本方法生成的版图主要特点在于:一是所生成的可编程逻辑阵列版图规模大小是可定制的,即用户能够指定版图的阵列规模大小;二是根据用户设定的版图形状要求,可以自动在版图上预留这些区域,便于在可编程逻辑阵列版图中嵌入其他IP核。

【技术实现步骤摘要】

本专利技术属于电子设计自动化
,具体涉及一种支持用户定制的可编程逻辑阵列版图快速生成方法。
技术介绍
现场可编程门阵列(Field Programmable Gate Array, FPGA),它是在可编程阵列逻辑(Programmable Array Logic, PAL)、通用阵列逻辑(Generic Array Logic, GAL)、复杂可编程逻辑器件(Complex Programmable Logic Device, CPLD)等可编程器件的基础上进一步发展的产物。它最初作为专用集成电路(Application Specific IntegratedCircuit, ASIC)原型功能验证的途径而出现,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。 由于FPGA设计周期短,上市时间快,非重复工程费用(Non-RecursiveEngineering, NRE)低的特点,加之具有动态可重配置的特性,越来越多的片上系统SoC(System On a Chip)将考虑嵌入FPGA核。国际半导体技术蓝图在2007年预测了在2014年SoC将会有48%的功能具有重配置的特点。在SoC中嵌入FPGA IP (IntellectualProperty)核的电路设计有很多优点:由于FPGA的可配置功能,逻辑错误更容易被修复;在不同时刻,FPGA可以被配置成不同的功能已达到复用芯片硬件资源的特点;一些通信领域的可能会升级的通信协议可以用FPGA来实现可以避免重新设计芯片以适应新的协议需求。总之,在SoC中嵌入FPGA IP核的需求在工业界越来越明显。不同的SoC设计对逻辑资源的需求往往是不同,这就造成了规模过大的FPGA IP核可能造成资源浪费,规模太小的FPGA IP核又不足以满足资源需求。因此,一种可以根据用户规模需求的FPGA版图生成工具是非常必要的,在本专利技术工具提出之前,多伦多大学的一些研究小组做过一些FPGA的版图生成工具,但是该工具从头开始生成版图,没有很好利用人工定制的高效率的版图的优势,生成版图所需的时间长,而且生成的版图效率较低,离商业化需求还有相当长的距离。本专利技术提出的版图生成方法克服了上述方法的缺点,利用了预先优化好的单元子版图,再根据用户的阵列需求进行版图扩充和拼接,最终得到指定规模的版图。本专利技术提出的方法复用了人工定制版图高效的特点,能够快速生成指定规模的版图,无论在面积方面,还是性能方面,都能得到与原有版图十分接近的效果。另外,本专利技术提出的方法允许用户设定一些面积用于嵌入其他IP核到所生成的FPGA版图中。现代的FPGA版图常常需要嵌入乘法器,DSP (Digital Signal Processor)等IP核,因此本专利技术支持版图面积的预留功倉泛。参考文献 Betz V, Rose J, Marquardt A.深亚微米FPGA结构与CAD设计,王伶俐等,译·北京电子工业出版社,2008.International Technology Roadmap Semiconductors, 2007 Edition -Design , http://www.itrs.netl· December 2007Abramovici M. , Stroud C. and Emmert M. , "Using Embedded FPGAs forSoC Yield Improvement", IEEE 39th Design Automation Conference Proceedings,2002 K. Padalia, R. Fung, M. Bourgeault, A. Egier, and J. Rose,"Automatic transistor and physical design of FPGA tiles from an architecturalspecification. 〃,in Proceedings of the 2003 ACMlSIGDA eleventh internationalsymposium on Field programmable gate arrays, pp. 164—172, 2003。
技术实现思路
本专利技术的目的在于提出一种可以快速生成用户定制的可编程逻辑阵列版图的方法。使用该方法所生成的版图具有面积小、性能高的特点,同时能满足用户添加不同尺寸的可定制IP核的要求。本专利技术所提出的可编程逻辑阵列版图生成方法,主要用途是把FPGA作为IP核嵌 入到SoC系统中以实现SoC的高度可配置性。通过拼接单元子版图,使得生成的版图具有保持人工定制版图的高效性。在本专利技术中,用户可以根据不同SoC设计的资源需求,自定义版图的阵列规模。另外用户能够在生成的FPGA的版图上预留面积,可以方便地在预留部分嵌入其他IP核。通过FPGA单元的子版图参数信息的配置文件描述方式,可以将本专利技术提出的方法应用到不同的可编程阵列单元结构。本专利技术提出的方法主要特征在于一是根据可编程阵列单元结构的配置文件,结合用户要求的阵列大小,生成相应规模的可编程逻辑阵列版图文件;二是根据用户设定的版图形状,本专利技术可以自动在版图上预留一些区域,便于在可编程逻辑阵列版图中嵌入用户定制的其他IP核。用户要求的阵列大小,以行数和列数的形式描述。根据用户的阵列大小需求,结合配置文件描述的单元版图位置关系,分两个步骤生成所需的版图第一步是合成所有的单元子版图的版图文件内容,以保证最终的版图文件能够引用单元子版图;第二步根据配置文件的参数信息,计算出每个单元子版图的位置并实现自动拼接,以生成第一阶段的版图文件。为了便于用户能够嵌入各种IP核,本专利技术在生成的版图中预留用户设定的IP核形状,该形状以多个点坐标的形式描述,可用于描述任意多边形的形状。根据描述出来的多边形位置是否与已有的TILE (这里的TILE是指FPGA的单元子版图)相交,移除掉与之相交的TILE,从而生成预留面积的第二阶段的版图文件。为了表示用户的各种可定制信息,本专利技术采用可编程阵列单元结构的配置文件描述方式。针对不同的可编程阵列单元结构,只要对此结构建立起相应的配置文件,就可以将本专利技术提出的方法应用到各种各样的可编程阵列单元结构。可编程阵列单元结构配置文件主要描述了岛型结构FPGA芯片的9种单元子版图的信息及其相互的位置关系。所述9种单元子版图是针对岛型FPGA结构而言,分别是中间,左边,右边,上边,下边,左上角,右上角,左下角,右下角这9种子TILE对应的版图。配置文件主以ini为文件扩展名,分4个部分(section)分别予以描述、、以及。所述部分,描述了库描述的可编程阵列名称,版图文件的单位等信息;所述部分,描述了子版图是否已经合成过,子版图的规模是否有效等信息;所述部分,描述了子版图之间的位置间距信息;所述部分,描述了 9种子版图的规模信息以及存放路径。单元子版图合成过程是对⑶S (Graphic Design System)格式的版图文件所进行的操作。GDS的版图文件是一个层次化的结构,最后生成的版图需要引用到所有的子版图,因此需要先合成所有的子版图,生成一个含有所有子版图信息但未拼接的版本文档来自技高网
...

【技术保护点】
一种支持用户定制的可编程逻辑阵列版图快速生成方法,其特征在于具体步骤如下:?步骤一、输入单元子版图,为可编程阵列单元结构建立配置文件?以经典岛型结构为例,首先输入岛型结构FPGA芯片的9种单元子版图的GDS版图文件;所述单元子版图在版图上是矩形的形状,简称为TILE,所述9种子版图分别是:中间,左边,右边,上边,下边,左上角,右上角,左下角,右下角对应的版图;?根据已有的单元子版图,为可编程阵列单元结构建立配置文件;所述配置文件主要描述岛型结构FPGA芯片的9种单元子版图的信息及其相互的位置关系;配置文件的组成描述如下:配置文件以ini为文件扩展名,由四部分组成:[LIB]、[CHECK]、[OFFSET]以及[TILE];其中:[LIB]?部分用于描述库名等信息,其包含的参数如下:(1)Name:描述该库的名字;(2)User_Unit:描述该库的用户单位,是一个继承于GDS文件的参数;(3)DB_Unit:描述该库的基本单位,是一个继承于GDS文件的参数;[CHECK]?部分主要用于检测库文件的某些参数是否有效,包括以下三个参数:(1)has_size_info:表明[TILE]?部分里描述TILE大小的参数是否有效,如果此参数无效,本方法利用程序自动计算每种TILE大小并更新此[TILE]?部分的相关参数,并将此参数设置为1;(2)has_merge_file:每个GDS文件由多个子结构组成,其中只有一个结构是顶层结构,每次合成版图时需要将这些子结构的内容拼接到最后生成的版图文件中;因此本专利技术事先生成这个合并好的版图文件;如果这个合并好的版图文件存在,则此参数为1;如果合并文件不存在,则本专利技术调用程序自动合并文件,然后设置此参数为1,并且设定合并文件的路径,即下面所述的merge_file_path参数;(3)merge_file_path:指定已合并的版图文件的路径;[OFFSET]?部分用于确定各个TILE的摆放位置,其item的格式为key?=?x?y,就是9种类型的TILE对应于中间类型TILE的偏移坐标;它们的意义分别描述如下;(1)Center:位于岛型FPGA结构中间类型TILE的偏移量,?x代表中间类型TILE的水平间距,y代表中间类型TILE的垂直间距;(2)Left:FPGA阵列中最左边的输入输出TILE相对于中间类型TILE的偏移量,这里的中间类型TILE是指与Left?类型TILE在同一行且在其右边的中间类型?TILE;(3)Right:FPGA阵列中最右边的输入输出TILE相对于中间类型TILE的偏移量,这里的中间类型TILE是指与Right类型?TILE在同一行且在其左边的中间类型TILE;(4)Bottom:FPGA阵列中底部的输入输出TILE相对于中间类型TILE的偏移量,这里的中间类型TILE是指与Bottom类型TILE在同一列且在其上边的中间类型TILE;(5)Top:FPGA阵列中顶部的输入输出TILE相对于中间类型TILE的偏移量,这里的中间类型TILE是指与Top?类型TILE在同一列且在其下边的中间类型TILE;(6)UL:FPGA阵列中左上角的TILE相对于中间类型TILE的偏移量,这里的中间类型TILE是指FPGA阵列中左上角的中间类型?TILE;(7)UR:FPGA阵列中右上角的TILE相对于中间类型TILE的偏移量,这里的中间类型TILE是指FPGA阵列中右上角的中间类型?TILE;(8)BL:FPGA阵列中左下角的TILE相对于中间类型TILE的偏移量,这里的中间类型TILE是指FPGA阵列中左下角的中间类型TILE;(9)BR:FPGA阵列中右下角的TILE的相对于中间类型TILE偏移量,这里的中间类型TILE是指FPGA阵列中右下角的中间类型TILE;[TILE]?部分描述了9种TILE的详细信息,以中间类型TILE的信息参数为例说明:(1)Center_Name:TILE的顶层结构名;(2)Center_Path:TILE对应的版图文件的路径;(3)Center_Left:TILE版图的左边边界;(4)Center_Right:TILE版图的右边边界;(5)Center_Bottom:TILE版图的下边边界;(6)Center_Top:TILE版图的上边边界;根据已有的9种单元版图,采用人工的方法确定上面[LIB]部分,[OFFSET]部分、[CHECK]部分的内容以及[TILE]部分里关于版图位置设定的内容;?步骤二、单元子版图的规模自动计算所述版图文件均为GD...

【技术特征摘要】

【专利技术属性】
技术研发人员:王伶俐周学功童家榕余超凡李兆彤杨文龙
申请(专利权)人:复旦大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1