公开/公告号CN106155747A
专利类型发明专利
公开/公告日2016-11-23
原文格式PDF
申请/专利权人 无锡中微亿芯有限公司;
申请/专利号CN201610552871.3
申请日2016-07-13
分类号G06F9/445;G06F9/312;G06F9/30;
代理机构南京经纬专利商标代理有限公司;
代理人朱小兵
地址 214000 江苏省无锡市建筑路777号B1楼15层
入库时间 2023-06-19 00:56:20
法律状态公告日
法律状态信息
法律状态
2020-04-21
授权
授权
2016-12-21
实质审查的生效 IPC(主分类):G06F9/445 申请日:20160713
实质审查的生效
2016-11-23
公开
公开
技术领域
本发明属于可编程逻辑器件技术领域,尤其是一种基于FPGA可加速配置的方法和控制系统。
背景技术
可编程逻辑器件,通过软件工具,开发,仿真和测试,生成配置码,快速地将配置码编程到器件中,节省大量的非重复性工程成本和电路研发周期,同时可编程逻辑器件是基于重复配置的存储技术,只需要重新下载配置码,即可完成电路的修改。可编程逻辑器件具有开发周期短,成本低,风险小,集成度高,灵活性大,且便于电子系统维护和升级等优点,因此受到了广大终端产品用户的青睐,成为了集成电路芯片的主流,且被广泛应用在各种领域如通信、控制、视频、信息处理、电子、互联网、汽车以及航空航天等。
可编程逻辑器件,主要包含控制系统,可编程逻辑单元,数字信号处理DSP,存储单元BRAM以及一些高速接口,时钟模块和IP核等,而控制系统是可编程逻辑器件中最重要的结构,是软件下载编程的接口,是配置整个FPGA各模块的控制系统,只有控制系统能正确无误的把软件生成的bitstream下载的配置SRAM,FPGA才能正常工作。要实现把对应的bitstream下载的对应的配置SRAM中,就必须要一个高效的控制系统。
当使用FPGA时,每个项目对FPGA内模块所使用的资源各有不同,绝大部分时候不会用完所有资源,即使要全部使用完资源也会存在布线布不通。故我们大部分时候只是使用了FPGA内的部分资源。但目前的设计中,不管使用FPGA内部资源多少都会为每个配置位生成一个配置数据。软件生成的bitstream也是固定大小的容量。用来存储bitstream也必须有相应大小的容量,下载bitstream的速度也是固定的。如果我们这里把不需要使用的资源,默认配置为0,不用专门为其生成一个0的bitstream,这样会大大减少bitstream的容量,也就可以用更小的存储器来存bitstream,相应的下载时间也得到了缩短。
发明内容
本发明所解决的技术问题在于提供一种基于FPGA可加速配置的方法和控制系统,通过先配置未使用的资源的配置数据,再配置实际用到的资源的配置数据,能够有效减少配置时间和减少配置码的容量。
实现本发明目的的技术解决方案为:
一种基于FPGA可加速配置的方法,包括以下步骤:
步骤1:将FPGA内每个配置位生成的配置数据bitstream存储在Flash内,并将配置数据发送到控制模块CTRL中;
步骤2:控制模块CTRL控制数据移位模块DSR,使其输出1312位“0”给配置模块SRAM的位线BL;
步骤3:控制模块CTRL解析未使用的配置数据的地址并发送给地址解析模块ADDR,地址解析模块ADDR根据接收到的地址译出相应的字线,发送给配置模块SRAM的字线WL;
步骤4:依次打开字线WL,将相应位线BL上的“0”配置到字线WL;
步骤5:控制模块CTRL将配置数据bitstream输出给数据移位模块DSR,数据移位模块DSR将配置数据输出给配置模块SRAM的位线BL,且数据移位模块DSR移位搜索已使用的配置数据,并返回相应配置位给控制模块CTRL;
步骤6:控制模块CTRL将相应已使用的配置数据的地址发送给地址解析模块ADDR,地址解析模块ADDR根据接收到的地址译出相应的字线,发送给配置模块SRAM的字线WL;
步骤7:依次打开字线WL,将相应位线BL上的数据配置到字线WL,即完成所有配置位的配置。
进一步的,本发明的基于FPGA可加速配置的方法,所述步骤2中数据移位模块DSR采用数据移位寄存器实现。
进一步的,本发明的基于FPGA可加速配置的方法,所述步骤3中控制模块CTRL解析bitstream中每个配置数据的具体含义,判断每个配置数据是否被使用。
进一步的,本发明的基于FPGA可加速配置的方法,所述步骤5中控制模块CTRL的输出数据为32位宽的数据。
进一步的,本发明的基于FPGA可加速配置的方法,所述步骤5中数据移位模块DSR的输出数据为1312位宽的数据。
本发明还提出一种基于FPGA可加速配置的控制系统,包括:
控制模块,用于判断FPGA内每个配置位生成的配置数据是否被使用,并协调控制数据移位模块和地址解析模块;
数据移位模块,用于将32位宽数据转换为1312位宽数据,并输出给配置模块SRAM的位线BL;
地址解析模块,用于将配置数据的地址解析为相应的字线并输出给配置模块SRAM的位线BL。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
1、本发明能够加快配置速度、有效减少配置时间;
2、本发明的方法中未使用资源在配置时只需给出地址,数据位线强制给出1312位宽的0,节省数据移位的时间,加速配置完成整个FPGA;
3、本发明的方法中未使用资源的BL强制给出0,不用为其生成配置位,只需给出未使用资源的地址,大大减少bitstream的容量,即节省存储空间。
附图说明
图1是本发明的方法流程图;
图2是本发明FPGA内的整个配置bitstream的控制系统模块示意图;
图3是本发明FPGA内加速配置bitstream的原理图。
附图标记含义:1:控制模块,2:数据移位模块,3:地址解析模块。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
一种基于FPGA可加速配置的方法,如图1、图3所示,包括以下步骤:
步骤1:将FPGA内每个配置位生成的配置数据bitstream存储在Flash内,并将配置数据发送到控制模块CTRL中。
步骤2:控制模块CTRL控制数据移位模块DSR,使其输出1312位“0”给配置模块SRAM的位线BL,其中,所述控制模块CTRL是数据下载的控制中心,所述数据移位模块DSR采用数据移位寄存器实现。
步骤3:首先,控制模块CTRL解析bitstream中每个配置数据的具体含义,判断每个配置数据是否被使用;然后控制模块CTRL解析未使用的配置数据的地址并发送给地址解析模块ADDR,地址解析模块ADDR根据接收到的地址译出相应的字线,发送给配置模块SRAM的字线WL。
步骤4:依次打开字线WL,将相应位线BL上的“0”配置到字线WL。
步骤5:控制模块CTRL将配置数据bitstream输出给数据移位模块DSR,所述控制模块CTRL的输出数据为32位宽的数据;数据移位模块DSR将配置数据输出给配置模块SRAM的位线BL,所述数据移位模块DSR的输出数据为1312位宽的数据,且数据移位模块DSR移位搜索已使用的配置数据,并返回相应配置位给控制模块CTRL。
步骤6:控制模块CTRL将相应已使用的配置数据的地址发送给地址解析模块ADDR,地址解析模块ADDR根据接收到的地址译出相应的字线,发送给配置模块SRAM的字线WL。
步骤7:依次打开字线WL,将相应位线BL上的数据配置到字线WL,即完成所有配置位的配置。
如图2所示,现有技术中都是从左到右依次打开字线WL,也即从左到右依次顺序为配置模块SRAM配置bitstream。没用到的那部分资源,软件生成的bitstream对应部分就是0,用到的资源,软件会生成有意义的具体值,这样任何时候生成的bitstream大小固定,且比较大,每配置一个地址数据移位模块都需要移位1312位,这样的配置时间也是固定的,且用时较长。
而本发明采用先配置未使用的资源,也即先把所有全零配置结束后再配置实际用到的资源。这样做的好处是,配置数据bitstream中不用再去存储每个配置位是0的数据,数据移位模块DSR也不用花时间去移位得到1312位数据,这样大大的节省了配置时间。
本发明还提出一种基于FPGA可加速配置的控制系统,包括:
控制模块,用于判断FPGA内每个配置位生成的配置数据是否被使用,并协调控制数据移位模块和地址解析模块;
数据移位模块,用于将32位宽数据转换为1312位宽数据,并输出给配置模块SRAM的位线BL;
地址解析模块,用于将配置数据的地址解析为相应的字线并输出给配置模块SRAM的位线BL。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进,这些改进应视为本发明的保护范围。
机译: 基于调整后的配置数据的配置方法及fpga电路重新执行配置
机译: 配置单元,用于配置传感器,照明控制系统,传感器配置方法和可加载传感器的计算机程序产品,以检测目标的存在
机译: 一种可编程低成本FPGA硬件的安全远程重配置方法