[发明专利]基于FPGA局部动态重构技术的异型流水线设计方法有效
申请号: | 201711278509.2 | 申请日: | 2017-12-06 |
公开(公告)号: | CN108228966B | 公开(公告)日: | 2021-08-20 |
发明(设计)人: | 陈更生;叶汉辰;倪思宇;黄超 | 申请(专利权)人: | 复旦大学 |
主分类号: | G06F30/34 | 分类号: | G06F30/34 |
代理公司: | 上海正旦专利代理有限公司 31200 | 代理人: | 陆飞;陆尤 |
地址: | 200433 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 fpga 局部 动态 技术 异型 流水线 设计 方法 | ||
本发明属于微电子技术领域,具体为一种基于FPGA局部动态重构技术的异型流水线设计方法。本发明利用FPGA局部动态重构技术,在FPGA上划分出若干个局部可重构区块,于运行时依次动态重构,通过以时间换空间的方式循环复用FPGA可编程逻辑资源,使原本无法部署在单块FPGA上的大规模应用能够完整呈现,很大程度上突破了FPGA硬件资源的限制;此外,将重构块的重构过程作为独立流水级,与用户逻辑的运算过程并行进行,显著地增加了计算的粘性。当流水线饱和时,所有的运算‑重构过程以及结果输出、数据输入的过程均处在深度流水状态,达到同等资源消耗下的最优系统吞吐率与可接受的运算延时。本发明具有很强的通用性和扩展性。
技术领域
本发明属于微电子技术领域,具体涉及一种基于FPGA局部动态重构技术的异型流水线设计方法。
背景技术
现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)是一种通用型的可编程逻辑器件,用户可以根据需要对FPGA进行灵活配置,以实现不同的电路功能。然而FPGA的片上逻辑资源(包括LUT、BRAM、DSP等可编程资源)通常是有限的,导致大规模的数字电路难以完整部署在单块FPGA板卡上。
FPGA的生产厂商(包括Xilinx和Intel等)均提供了适用于各自芯片的局部动态重构技术,即允许FPGA上一部分电路在运行时保持不变(称为静态电路),同时对FPGA上若干局部可重构区域中的一个或几个进行动态重构,从而在运行时改变电路的功能(称为可重构电路)。局部动态重构的运行过程既可以由主机进行控制,也可以由FPGA上静态电路中的数字逻辑进行控制。利用局部动态重构技术有望突破FPGA资源限制的瓶颈。
目前关于FPGA可重构计算的研究工作有很多,但大多局限在粗粒度重构的范畴,基于局部动态重构技术的细粒度重构研究较少,尚没有在FPGA上部署大规模数字电路的高效的完整解决方案。
发明内容
本发明的目的在于提出一种计算粘性强,对资源利用率高,性能优异,易于扩展的基于FPGA局部动态重构技术的异型流水线设计方法。
符号约定:N表示用户逻辑单元,n为生成的用户逻辑单元总数,各用户逻辑单元编号为N1,N2……Nn;M表示FPGA上的可重构区块,m为可重构区块总数,各可重构区块编号为M1,M2,…Mk,…Mm,k为某个具体的可重构区块编号(k∈[1,m]);D表示等待输入的数据,依次编号为D1,D2……;x表示流水线运作过程中的某个流水周期;j、y、t均为整数变量;
本发明提出的基于FPGA局部动态重构技术的异型流水线设计方法,具体步骤为:
(1)生成n级用户逻辑单元:N1,N2……Nn,依次对应FPGA上m个可重构区块:M1,M2,…Mk,…Mm,每个可重构区块对应的用户逻辑单元数量均为n/m,其中可重构区块Mk(k∈[1,m])对应的用户逻辑单元为:Nk,Nk+m……Nk+m×j,j∈[0,n/m-1];设等待输入的数据为D1,D2……;
(2)将m个可重构区块作为流水线上的m个流水级,每个流水周期依次指定1个区块作为重构块,执行动态重构操作;其余(m-1)个区块作为运算块,执行用户逻辑的运算操作;
(3)在第0个流水周期(上电时),区块M1动态重构用户逻辑单元N1;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711278509.2/2.html,转载请声明来源钻瓜专利网。