- · 《微电子学与计算机》栏[08/03]
- · 《微电子学与计算机》数[08/03]
- · 《微电子学与计算机》投[08/03]
- · 《微电子学与计算机》征[08/03]
- · 《微电子学与计算机》刊[08/03]
用于FPGA的多层次集成设计系统的设计与实现(2)
作者:网站采编关键词:
摘要:图2 VBK流程图Fig.2 The flowchart of VBK 2.1.1 FPGA架构设计 FPGA架构设计是对架构描述文件[3]进行详细的解析,产生FPGA详细的结构和布线资源图,以期找到更好
图2 VBK流程图Fig.2 The flowchart of VBK
2.1.1 FPGA架构设计
FPGA架构设计是对架构描述文件[3]进行详细的解析,产生FPGA详细的结构和布线资源图,以期找到更好的FPGA架构参数或一系列架构参数的组合,以使FPGA在应用中具有更高的面积利用率和性能.VBK调用FPGA架构文件编辑查看器(view/edit architecture,VAR)来实现半自动设计FPGA架构的功能,通过修改架构描述文件中的相关参数,可改变芯片规模,各基本模块的类型、数量、位置、尺寸,布线结构的类型,I/O类型和数量等,使用户能根据自身需要灵活控制芯片的规模和功能,从而可快速定义适应不同应用的FPGA.架构文件生成后,通过调用genar.pl实现架构转换,产生对应不同应用领域的架构描述文件.然后,建立布线资源图.通过调用VDK,在布局布线后对FPGA架构进行评估,评估标准为面积延时积是否最小.最后,自动产生包含所有配置位的组织形式bitmap文件,从而确定整个芯片的结构和模块间的连接关系.
2.1.2 模型生成
通过 生成整个芯片的行为级模型[4](verilog HDL),该模型不但可以作为原型对芯片功能进行仿真,更是后期版图设计的输入文件,也是将来验证版图正确性的标准;通过生成的晶体管级模型 CDL[5](circuit description language)网表,可以用来对芯片进行晶体管级的仿真,验证电路的性能,同时还可以用来和自动产生的整个芯片的版图进行LVS(layout versus schematic)验证.
图3 FPGA全芯片版图自动化设计流程Fig.3 Automatic design flow of FPGA full chip layout
2.1.3 版图生成
FPGA版图自动化设计方法在学术界有很多研究,如文献[6]中采用ASIC的设计方法来设计FPGA,Jonathan Rose率领的研究小组开展了一个名为GILES[7]的研究项目.但以上研究主要采用版图拼接的设计方法,即自动化一个单元块版图的设计,并依靠拼接该单元块版图组成FPGA阵列的版图.这种方法不适用于包含宏块的异质FPGA结构,因为在异质结构的周围,布线资源的规则性已被破坏.为此,VBK提供了参数化的异质结构FPGA全芯片版图自动产生与集成方法,其目标是从FPGA芯片的架构描述文件开始,经过EDA工具对其进行详细的解析,从而生成整个芯片的实际版图[5].全芯片版图自动化设计流程如图3.其中,是用来自动产生并集成整个芯片版图的,它主要是根据芯片架构描述文件及genar.pl和这两个工具产生的芯片各个模块结构与互连关系的一系列数据库,由一些基本的已经手工画好版图的模块来自动组装成布线资源模块 (CBX、CBY和SB)、逻辑模块 (LB)的版图.同时有些部分 (如编程电路)的版图是由基于标准ASIC设计流程自动布局布线产生的.待所有模块的版图产生后,通过程序计算各模块的位置,然后将各模块自动契合或通过添加连线组装起来,最后形成整个芯片的版图.其中,由产生的各模块和整个芯片的版图是以skill文件格式表示的,在Cadence Virtuoso环境下载入这些skill文件,最终形成实际可见的版图.
在Intel Core 2 Linux工作站运行本研究设计的版图自动化生成工具,可在约48 h内自动生成一款规模相当于Xilinx XC3S50,但乘法器阵列规模是其4倍的FPGA芯片的版图,而工业界要手工来完成此规模芯片的版图需将近100人/年.图4为使用VBK设计实现的具有自主知识产权的FPGAVX1000的全芯片版图.
图4 VX1000全芯片版图Fig.4 Layout of VX1000
2.2 FPGA芯片验证
VDS提供的芯片验证主要包括DRC、LVS、全芯片仿真和板级测试.
3 FPGA芯片设计工具VDK
VDK提供了使用FPGA实现逻辑设计的功能,支持VX1000和 VS1000[8]两款芯片.图5为 VDK的EDA设计流程.
电路描述.VDK支持Verilog HDL设计输入.
图5 VDK设计流程Fig.5 VDK design flow
综 合.VDK有3种综合工具可选,分别是采用VSYN(versatile synthesis)、第三方综合工具Synopsys的Synplify和Xilinx的XST.VSYN是基于开源项目 Icarus[9]和 ABC[10]开发的逻辑综合工具.VSYN接受Verilog HDL设计文件,经过HDL解析与确立、逻辑优化、工艺映射和合并算法优化后,生成LUT(look up table)和FF(flip flop)级别的网表.工艺映射主要采用优先截 (priority cut)算法[11]和基于最大基数匹配 (maximum cardinality matching)的合并算法[12].与ABC相比,在不影响时序性能的情况下,VSYN所耗LUT数大减.
网表转换.VC(versatile convert)将第三方综合工具的输出网表转化为目标FPGA支持的结构单元网表.该过程相当于对网表进行二次工艺映射.
文章来源:《微电子学与计算机》 网址: http://www.wdzxyjsjzz.cn/qikandaodu/2020/1106/431.html