寻找FPGA配置文件与CLB块配置资源的映射方法技术

技术编号:4036704 阅读:443 留言:0更新日期:2012-04-11 18:40
一种FPGA配置文件与CLB块配置资源的映射方法,包括如下步骤:(1)通过不同配置的位流数据比较获得CLB块配置数据块的位宽。(2)通过不同配置的位流数据比较获得CLB块配置数据块的行数。(3)通过计算获得FPGA配置文件与CLB块配置资源的映射关系。(4)通过位流数据比较获得每个资源所映射的数据。与现有技术相比,本方法不需依赖FPGA固有的逻辑设计,只需通过配置文件的比较及相应的计算,就可以精确获知FPGA配置文件与CLB块配置资源的映射,再以这种映射用于FPGA的应用开发,大大提高调试效率,加速开发进程。

【技术实现步骤摘要】

本专利技术涉及一种现场可编程门阵列(Field Programmable Gate Array,简称 FPGA)的资源映射分析方法。
技术介绍
现场可编程门阵列(FPGA)是基于通过可编程互联连接的可配置逻辑块(CLB)矩 阵的可编程半导体器件,CLB是FPGA内的基本逻辑单元。FPGA技术,是二十世纪最重要的集成电路设计技术之一。FPGA电路在许多复杂电 子系统中获得广泛应用。船舶控制系统、卫星导航、基站中转、武器系统等大量使用了 FPGA 器件,有覆盖或完全取代CPU、DSP等应用领域的趋势。由于一般集成电路器件的研制周期都比较长,从设计到批量生产阶段一般都需要 好几个月的时间,容易造成产品出货时却有点过时,与市场情况有出入。作为整机研制单 位,最希望能有一种产品能快速实现所需的任何功能,从而能够快速开发、快速投放市场, 抢得先机、抢得市场,FPGA器件完全可以满足用户得这种灵活多样得要求。利用FPGA开发我们所需的产品,需要先将实现产品功能的配置文件下载到FPGA 内部的配置RAM,通过应用若发现未能达到设计要求,我们就必须修改配置文件,一般开发 流程是根据要求首先进行逻辑设计、功能仿真、修改优化,然后进行设计综合、设计实现、 产生配置文件等过程,如果使用中发现问题,哪怕很清楚错在哪里、仅需断开其中一个点, 也需要从头来过。如果能在配置文件中直接修改这个点,就会大大提高调试效率,加速开发 进程,如此我们必须知道配置文件与资源的映射关系。术语解释(1)配置文件——FPGA启动时需要从外部读取配置数据,这种数据文 件称为配置文件;(2)映射——硬件可配置资源与配置数据文件之间的对应关系。
技术实现思路
为了解决现有的FPGA开发过程中遇到的上述问题,本专利技术提供了一种确定配置 文件与资源之间的映射关系的特别方法,即寻找FPGA配置文件与CLB块配置资源的映射方 法,它不需依赖FPGA固有的逻辑设计,只需通过配置文件的比较及相应的计算,就可以精 确获知FPGA配置文件与CLB块配置资源的映射,这种映射可用于FPGA的应用开发。一种寻找FPGA配置文件与CLB块配置资源的映射关系的方法,步骤是,先通过不 同配置的位流数据比较获得CLB块配置数据块的位宽;再通过不同配置的位流数据比较获 得CLB块配置数据块的行数;然后通过计算获得FPGA配置文件与CLB块配置资源的映射关 系;最后通过位流数据比较获得每个资源所映射的数据。包括如下具体步骤(1)不配置任何资源,并产生位流文件(file-Ο);(2)建立任意配置,使用CLB记为CLBxy,并产生位流文件(file_l);(3)在配置基础上增加新的配置,配置和配置使用的资源相同, 位置在同一个CLB列,但不在同一 CLB行;配置使用的CLB记为CLBx(y+n),并产生位流文件(file-n);(4)比 较位流文件(file-Ο)和产生位流文件(file-Ι),记录首个不同数据的位置 bit(0);(5)比较位流文件(file-Ι)和产生位流文件(file-n),记录首个不同数据的位置 bit (η);(6)在配置基础上增加新的配置,配置和配置使用的资源相同, 位置在同一个CLB行,但不在同一 CLB列;配置使用的CLB记为CLB (x+m) y,并产生位 流文件(file-m);(7)比较位流文件(file-Ι)和产生位流文件(file-m),记录首个不同数据的位置 bit (m);(8)计算得到 COL(列)=/n,ROW(行)=/ m;假设该FPGA的CLB规模为MXN,Δ为常数,那么每一个CLB块配置数据的大 小为COL(列)XROW(行)的矩阵;(9)重复步骤(6) ⑶的操作,计算得到Δ值;(10)用软件工具在CLBOO处建立配置,并产生位流文件(file_F);(11)比较位流文件(file-Ο)和产生位流文件(file-F),记录首个不同数据的位 Sbit(F);(12)CLB块配置数据大小为整个配置文件从bit(F)开始的 XROWXN 大小的文件,即FPGA中CLB配置数据在配置文件中的位置从bit(F)开始的 XROffXN 个位的数据。所述步骤8)的计算方法如下FPGA配置文件数据分成若干FRAME,FRAME的数据长度为已知,在数据手册中有说 明;连续ROW行的FRAME数据矩阵构成了两个IOPAD和IOPAD连所在列的所有CLB数据; 如FRAMEl 0101000100010000001001001001001010010010000101001FRAME2 0100010010010010010100100110000000010100101000100FRAME3 1001001001010100010001000000001010010010000101001...........................FRAMEn 0100100101001001000010100101010001000100000010010以上η = ROW,那么构成的数据区域可分成如下数据块,数据块的数量为每一列的 CLB数M加2,M为已知值。每CLB块的数据矩阵的列数COL通过公式C0L (列)=/n得到; FRAME的数据长度=(M+2)*R0W+A ;则得到Δ值(参考图9)。再通过同一行相邻列的配置得到新的数据文件,比较计算得到=ROW(R)= /{m}。与现有技术相比,本专利技术不需依赖FPGA固有的逻辑,直接对配置位流文件进行比 较处理,获得FPGA配置文件与CLB块配置资源的映射。附图说明 图1是本专利技术的流程图;图2. 1是现有技术中生成FPGA配置文件的流程图;图2. 2是应用本专利技术的FPGA配置文件的生成方法的流程图;图3是应用本专利技术的实施例中用FPGA编辑工具建立新的设计文件的示意图;图4是应用本专利技术的实施例中手动实现CLB的逻辑设计的示意图;图5是应用本专利技术的实施例中生成CLB位流文件的示意图;图6是应用本专利技术的实施例中用位流数据专用分析软件进行CLB配置提取的示意 图;图7是应用本专利技术的实施例中用位流数据专用分析软件进行CLB配置搬移的示意 图;图8是应用本专利技术的实施例中保存最终测试配置文件的示意图;图9是本专利技术步骤8)的计算方法示意图。具体实施例方式下面结合附图和具体实施方式对本专利技术作进一步详细说明。一种寻找FPGA配置文件与CLB块配置资源的映射关系的方法,包括如下步骤(1)用软件工具不配置任何资源,并产生位流文件(file-Ο);(2)用软件工具建立任意配置,使用CLB记为CLBxy,并产生位流文件 (file-1);(3)用软件工具在配置基础上增加新的配置,配置和配置使用的 资源相同,位置在同一个CLB列,但不在同一 CLB行;配置使用的CLB记为CLBx (y+n), 并产生位流文件(file-n);(4)比较位流文件(file-Ο)和产生位流文件(file_l),记录首个不同数据的位置 bit(0);(5)比较位流文件(file-Ι)和产生位流文件(f ile-n),记录首个不同数据的位置 bit (η);(6)用软件工具在配置基础上增加新的配置,配置和配置使用的 资源相同,位置在同一个CLB行,但不本文档来自技高网
...

【技术保护点】
一种寻找FPGA配置文件与CLB块配置资源的映射方法,其特征是包括如下步骤:1)不配置任何资源,产生位流文件(file-0);2)建立任意配置[A],使用的CLB记为CLBxy,并产生位流文件(file-1);3)在配置[A]基础上增加新的配置[B],配置[A]和配置[B]使用的资源相同,位置在同一个CLB列,但不在同一CLB行,配置[B]使用的CLB记为CLBx(y+n),并产生位流文件(file-n);4)比较位流文件(file-0)和产生位流文件(file-1),记录首个不同数据的位置bit(0);5)比较位流文件(file-1)和产生位流文件(file-n),记录首个不同数据的位置bit(n);6)在配置[A]基础上增加新的配置[C],配置[A]和配置[C]使用的资源相同,位置在同一个CLB行,但不在同一CLB列,配置[C]使用的CLB记为CLB(x+m)y,并产生位流文件(file-m);7)比较位流文件(file-1)和产生位流文件(file-m),记录首个不同数据的位置bit(m);8)计算得到COL(列)=[bit(n)-bit(0)]/n,ROW(行)=[bit(m)-bit(0)]/{m[COL*M+Δ]};假设本FPGA包含的CLB规模为M×N,且Δ为常数,那么每一个CLB块配置数据的大小为COL(列)×ROW(行)的矩阵;9)重复步骤6)~8),验证Δ值;10)在CLB00处建立配置,并产生位流文件(file-F);11)比较位流文件(file-0)和产生位流文件(file-F),记录首个不同数据的位置bit(F);12)CLB块配置数据大小为:整个配置文件从bit(F)开始的[COL×M+Δ]×ROW×N大小的文件,即FPGA中CLB配置数据在配置文件中的位置是:从bit(F)开始的[COL×M+Δ]×ROW×N个位的数据。...

【技术特征摘要】

【专利技术属性】
技术研发人员:叶守银徐惠王锦刘远华汤雪飞张志勇祁建华牛勇沈懿桦
申请(专利权)人:上海华岭集成电路技术有限责任公司
类型:发明
国别省市:31[中国|上海]

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

1