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

一种用于FPGA电路位流仿真的方法技术

技术编号:10194026 阅读:175 留言:0更新日期:2014-07-10 00:56
本发明专利技术属于电子技术领域,涉及一种用于对FPGA电路的可编程位流文件进行仿真的方法。本发明专利技术针对FDP系列的FPGA器件,使用Verilog语言对其自身功能统一进行多层次硬件建模,包括CLB、IOB和互连资源等,并在能够进行Verilog仿真的商业工具中进行仿真验证,能够实现编程数据下载和配置功能。本方法能在可编程逻辑器件的设计过程中快速验证其电路功能,并且向使用FPGA的用户提供FPGA仿真方法,能同FPGA芯片设计和应用电路设计流程无缝衔接。本方法可用于FPGA芯片流片前的设计阶段,流片后的FPGA芯片测试阶段,以及用户使用FPGA芯片进行电路设计阶段对FPGA位流文件进行仿真与验证,快速验证FPGA电路或用户电路功能的正确性。

【技术实现步骤摘要】
一种用于FPGA电路位流仿真的方法
本专利技术属于电子设计自动化(ElectronicDesignAutomation,EDA)
,具体涉及一种对FPGA(FieldProgrammableGateArray)电路的可编程位流文件进行仿真的方法。
技术介绍
随着电子产品的更新速度不断地加快,设计厂商经常采用现场可编程门阵列(FieldProgrammableGateArray,FPGA)进行原型设计,以在短时间内开发出满足用户要求的电路芯片。现有技术公开了FPGA芯片结构包括可编程逻辑块(ConfigurableLogicBlock,CLB)、可编程输入输出(IOB)和可编程互连,其具有电路功能可重配置、开发周期短、设计成本低等优点。随着电路规模的不断增大,电路的功能越来越复杂,因此,设计一种能验证电路功能正确的方法,将能使电路设计者确定电路功能的正确性。目前针对FPGA电路仿真的级别包括RTL级仿真,逻辑综合后的网表仿真,装箱后的CLB网表仿真,以及本申请拟提出的布局布线后的位流级仿真。由于位流文件包含了用户电路的网表功能和布局信息,对FPGA电路的位流文件进行仿真,能够确保和把位流文件下载到实际芯片后的电路功能一样,从而提高电路验证的效率。与本专利技术相关的现有技术有:[1]徐振林译.VerilogHdl硬件描述语言.机械工业出版社,2000.[2]VaughnBetz,JonathanRose,AlexanderMarquardt.ArchitectureandCADforDeep-SubmicronFPGAs.Boston/Dordrecht/London:KluwerAcademicPublishers,1999.深亚微米FPGA结构与CAD设计.王伶俐等译.北京:电子工业出版社.2008.。
技术实现思路
本专利技术的目的在于提供一种用于FPGA电路位流仿真的方法,通过该位流仿真方法对FPGA电路的可编程位流文件进行功能仿真,以验证电路功能的正确性。本专利技术针对FPGA器件(复旦大学专用集成电路与系统国家重点实验室自主设计研究的FDP系列),使用Verilog语言对其自身功能统一进行多层次硬件建模,包括CLB(ConfigurableLogicBlock)、IOB(InputOutputBlock)和互连资源等,并在任何能够进行Verilog仿真的商业工具中进行仿真验证,能够实现编程数据下载和配置功能。本专利技术所提出的方法首先读入FPGA电路设计工具生成的位流文件,并完成对FPGA自身的配置过程,然后对FPGA功能进行行为仿真,从而能够快速验证位流文件的正确性。本专利技术的用于FPGA电路位流仿真的方法,主要包括对位流文件解析和对FPGA结构进行建模。通过对位流文件进行解析,提取出FPGA顶层模块TILE的所有码点信息,然后标注到对TILE进行verilog建模的模块中,并给出测试向量,对电路进行功能验证。更具体的,本专利技术的用于FPGA电路位流仿真的方法,其特征在于,其包括步骤:提取位流文件中FPGA器件的码点信息,并对FPGA的硬件结构进行多层次的建模,通过逐步对FPGA顶层TILE模块进行细化,然后对其中的各个单元块进行建模,并对最底层单元模块通过RegisterTransferLevel(RTL)行为级Verilog代码实现,实现顶层模块功能。通常FPGA电路的码点是通过SRAM配置单元来实现,而FPGA硬件结构中SRAM数目多至数百万甚至千万个,对SRAM建模将非常占用系统资源,本专利技术的位流文件解析中:不对SRAM进行建模,只是在相应的Verilog文件中申明一个存储变量来存储相应SRAM的值,通过对位流文件解析出每个TILE中的所有码点的信息,并标注到变量中;在顶层模块中申请一维存储器数组,在仿真初始化的时候通过Verilog中的系统任务$readmemb将位流文件中的码点信息加载到存储器数组中,底层模块直接读取这个存储器数组完成对仿真中编程点的配置;本方法简化了对实际电路依靠SRAM存储编程点信息的方法,并不真正为SRAM建模来存储编程点信息,提高了仿真速度,图2是TILE中的可编程开关配置信息传递的流程图,本专利技术以TILE中的编程点配置为例说明具体流程:将生成的TILE位流文件放在顶层模块TOTAL所在的文件夹中,名为“my_TILE_RAM.array”,其中包含所有M个TILE的全部编程点配置信息,顶层模块TOTAL中加入下列语句:在仿真的时候initial过程块中的语句首先执行,my_TILE_RAM.array中的所有编程点值赋给TILERAM存储器数组;TILE模块中加入下列语句:TILERAM中存储了全部M个TILE的编程点信息,每个TILE在例化时通过编号读取对应的那一段编程点值;比如例化R13C2这个TILE,它的编号可以知道是30×(13-1)+(2-1)=361,它的编程点阵列开头是TILERAM中第361×N个二进制值,那么例化这个TILE时它只需要根据编号从TILERAM中找到对应的那一段编程点值并读取;例化R13C2的语句如下所示:TILER13C2(10′d361,net0,net1……);//10’d361是第一个输入端口pa//的值,用于传递编号;由此,就完成了一个TILE的例化,该TILE也将自己的子模块所用到的所有编程开关配置信息存储在RAM中,底层模块可以直接读取对应TILE中的编程点完成模块配置。本专利技术中,对FPGA硬件模块建模:FPGA硬件结构顶层模块为TILE,它包括一个GSB,两个MUX,两个SLICE和一个TBUF模块,其中两个SLICE构成逻辑单元块(LB),GSB、MUX均是布线资源,而SLICE中主要包含LUT和DFF,还包含一些基本逻辑单元,常见的有与非门,或非门,异或门,反相器,缓冲器,三态缓冲器等等;本专利技术对FPGA硬件模块进行建模,主要包含以下几个:对LUT建模;对DFF建模;对GSB(互连资源)建模;对MUX(多路选择器)建模;对基本逻辑单元(与非门,或非门,异或门,反相器,缓冲器,三态缓冲器)建模;1)对LUT进行建模的方法:当作为一个普通LUT使用的时候,LUT就是一个RAM,因此,该情况下的LUT的建模可以借鉴SRAM的建模方式,直接从存储码点的位流文件中读取码点值到存储器数组;但是当LUT作为分布式RAM或者移位寄存器时,需要重新对LUT建立新的模型;本专利技术中,将这个存储单元进行行为建模,将它配置为普通LUT、分布式RAM或移位寄存器三种模式,LUT建模模块命名为LC_LUT,如图1所示;2)对DFF进行建模的方法:除Slice外,IOBlock中也有同样的可编程触发器,这两个触发器各有一个清零端,一个置位端和一个使能端,可以被配置成四种情况:同步锁存器、异步锁存器、同步D触发器和异步D触发器;可编程触发器的模块名称为LC_DFF;3)对GSB(互连资源)建模的方法:TILE中的互连结构模块主要有MUX和GSB,MUX为LB的前级互连模块以及LB的后级互连模块,GSB为各个TILE之间以及TILE和IOB之间通信的互连结构模块;一个外部信号一般不能直接进入LB,而是通过GSB整理的路径进入或者直接进入MUX中本文档来自技高网
...
一种用于FPGA电路位流仿真的方法

【技术保护点】
一种用于FPGA电路位流仿真的方法,其特征在于,包括对位流文件解析和对FPGA结构进行建模,提取位流文件中FPGA器件的码点信息,并对FPGA的硬件结构进行多层次的建模,通过逐步对FPGA顶层TILE模块进行细化,然后对其中的各个单元块进行建模,并对最底层单元模块通过Register Transfer Level(RTL)行为级Verilog代码实现,实现顶层模块功能。

【技术特征摘要】
2012.12.31 CN 201210592384.11.一种用于FPGA电路位流仿真的方法,其特征在于,包括对位流文件解析和对FPGA结构进行建模,提取位流文件中FPGA器件的码点信息,并对FPGA的硬件结构进行多层次的建模,通过逐步对FPGA顶层TILE模块进行细化,然后对其中的各个单元块进行建模,并对最底层单元模块通过RegisterTransferLevel(RTL)行为级Verilog代码实现,实现顶层模块功能;所述的位流文件解析中:不对SRAM进行建模,只在相应的Verilog文件中申明一个存储变量来存储相应SRAM的值,通过对位流文件解析出每个TILE中的所有码点的信息,并标注到变量中;所述的FPGA硬件模块建模中:主要包含以下模块:对LUT建模;对DFF建模;对互连资源(GSB)建模;对多路选择器(MUX)建模;对基本逻辑单元与非门,或非门,异或门,反相器,缓冲器,三态缓冲器建模。2.根据权利要求1所述的方法,其特征在于,所述的对LUT进行建模的方法中:当作为一个普通LUT使用的时候,LUT就是一个RAM,该LUT的建模方式为,直接从存储码点的位流文件中读取码...

【专利技术属性】
技术研发人员:王伶俐周学功童家榕黄郑陈帅张作舟
申请(专利权)人:复旦大学
类型:发明
国别省市:上海;31

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

1