Dynamic Partial Reconfiguration 1 Summary
2015-06-19 11:05
239 查看
【本文原创,转载请说明】
【感谢LLJ学长白皮书的帮助】
这是我一开始在TsinghuaEDA实验室接触的技术,当时为此看了近30篇论文,不过现在都忘了,惭愧惭愧,没有及时的记录。
现在重新来记录下当时在学长帮助下所做过的项目,然后看看能不能和VTR-to-Bitstream结合起来。
1、首先先讲一下动态可重构技术的概念吧。 可重构计算(Recongfigurable Computing)技术是指在软件的控制下,利用系统中可以重复利用的资源(FPGA中的逻辑器件等),根据设计的需要重新设计出一个新的计算平台,达到接近专用硬件设计的高性能。它避免了微处理器计算模式因为取址、译码等步骤导致的性能损失,同时也消除了专用集成电路(ASIC)计算模式因前期设计制造的复杂过程带来的高代价和不可重构等缺陷。
动态: 在上电的时候随时能控制FPGA中相应的配置。
如图1.1所示,假设在一块FPGA中有两个module, A&B, 我们将B定义为可重构模块,那么我们就可以将功能块b1,b2,b3,b4等按照我们的要求依次放入B模块中。
2、优势:
(1)减少花销和板子空间。DPR tech 能够适应更多的功能到一个已经存在的芯片;能够让设计适应更小更便宜的芯片
(2)系统部署更加灵活。工程师能够动态地在正在运行的系统中插入新的功能块,这些功能块的加入不需要性能更高、资源更丰富的芯片
(3)减少功耗。 减少静态功耗的一种很简单的方法就是减小芯片尺寸。利用DPR技术,设计者可以减少每个Module真正的运行时间,因为不是每个Module都在每时每刻运行。因此我们可以选择更小或者更少的芯片,达到减少功耗的目的。同时,DPR技术还具备减少动态功耗的潜力。比如,很多设计需要在高速下与运行,但是最佳的运行效果可能仅仅只需要那么一点点的时间,为了减少功耗,在系统不需要高速运行时,设计者们可以利用DPR技术用相同功能的低功耗版本去替换掉之前版本,然后在系统需要高速运行时,再替换回来
(4)在任何情况下,能够根据需要随时更改应用的算法或者协议
(5)提高了FPGA的故障容忍度
(6)加速了配置计算,减少了配置文件的存储大小
3、DPR相关基础要求
(1)需要对硬件描述语言,如VHDL,VERILOG等有一定的了解。但XILINX ISE已经在2013年就停止了更新,现在转用VIVADO HLS工具,在该工具中可以用C或者C++语言就能够设计硬件。不过大家最好还是都学学,这样在编写程序的时候能够互相理解。
(2)熟悉XILINX相应工具
(3)对计算机组成原理以及硬件体系结构这块有一定的基础。由于是动态可重构,涉及到控制器、存储器等等,在使用中必定会遇到数据交换等方面问题,这就需要硬件体系结构方面相应的知识,否则会很吃力。如果对这一块知之甚少,也可以先不去理会这块,在跟着后面的实验步骤成功完成一次动态可重构后,相信对这块的理解也会有不少的。
(4)就像(1)中说的, 熟练掌握C或者C++,在控制端中我采用的是通过C程序来控制,因此对C基本功也是有要求的。
以上就是我对DPR技术的基本了解,在下一节中会描述我做过的基于Virtex-5的动态可重构的项目。
【感谢LLJ学长白皮书的帮助】
这是我一开始在TsinghuaEDA实验室接触的技术,当时为此看了近30篇论文,不过现在都忘了,惭愧惭愧,没有及时的记录。
现在重新来记录下当时在学长帮助下所做过的项目,然后看看能不能和VTR-to-Bitstream结合起来。
1、首先先讲一下动态可重构技术的概念吧。 可重构计算(Recongfigurable Computing)技术是指在软件的控制下,利用系统中可以重复利用的资源(FPGA中的逻辑器件等),根据设计的需要重新设计出一个新的计算平台,达到接近专用硬件设计的高性能。它避免了微处理器计算模式因为取址、译码等步骤导致的性能损失,同时也消除了专用集成电路(ASIC)计算模式因前期设计制造的复杂过程带来的高代价和不可重构等缺陷。
动态: 在上电的时候随时能控制FPGA中相应的配置。
如图1.1所示,假设在一块FPGA中有两个module, A&B, 我们将B定义为可重构模块,那么我们就可以将功能块b1,b2,b3,b4等按照我们的要求依次放入B模块中。
2、优势:
(1)减少花销和板子空间。DPR tech 能够适应更多的功能到一个已经存在的芯片;能够让设计适应更小更便宜的芯片
(2)系统部署更加灵活。工程师能够动态地在正在运行的系统中插入新的功能块,这些功能块的加入不需要性能更高、资源更丰富的芯片
(3)减少功耗。 减少静态功耗的一种很简单的方法就是减小芯片尺寸。利用DPR技术,设计者可以减少每个Module真正的运行时间,因为不是每个Module都在每时每刻运行。因此我们可以选择更小或者更少的芯片,达到减少功耗的目的。同时,DPR技术还具备减少动态功耗的潜力。比如,很多设计需要在高速下与运行,但是最佳的运行效果可能仅仅只需要那么一点点的时间,为了减少功耗,在系统不需要高速运行时,设计者们可以利用DPR技术用相同功能的低功耗版本去替换掉之前版本,然后在系统需要高速运行时,再替换回来
(4)在任何情况下,能够根据需要随时更改应用的算法或者协议
(5)提高了FPGA的故障容忍度
(6)加速了配置计算,减少了配置文件的存储大小
3、DPR相关基础要求
(1)需要对硬件描述语言,如VHDL,VERILOG等有一定的了解。但XILINX ISE已经在2013年就停止了更新,现在转用VIVADO HLS工具,在该工具中可以用C或者C++语言就能够设计硬件。不过大家最好还是都学学,这样在编写程序的时候能够互相理解。
(2)熟悉XILINX相应工具
(3)对计算机组成原理以及硬件体系结构这块有一定的基础。由于是动态可重构,涉及到控制器、存储器等等,在使用中必定会遇到数据交换等方面问题,这就需要硬件体系结构方面相应的知识,否则会很吃力。如果对这一块知之甚少,也可以先不去理会这块,在跟着后面的实验步骤成功完成一次动态可重构后,相信对这块的理解也会有不少的。
(4)就像(1)中说的, 熟练掌握C或者C++,在控制端中我采用的是通过C程序来控制,因此对C基本功也是有要求的。
以上就是我对DPR技术的基本了解,在下一节中会描述我做过的基于Virtex-5的动态可重构的项目。
相关文章推荐
- C++字符串输入数字输出
- Andorid--Volley(一)--基本用法
- Objective-C----防御式编程
- ASP.NET Web API 用IE浏览器访问下载文件问题
- iOS去掉字符串两端的空格
- Selenium私房菜系列7 -- 玩转Selenium Server
- 自定义粘贴板-陈鹏
- TCP_Header
- spark 目录通配符
- Volley源码分析
- Unity remote 连接不上解决方案
- CSS3的calc()使用
- Cannot modify header information - headers already sent by (output started at D:\PHP\xampp\htdocs\
- tcp有限状态机
- PHP 常用的header头部定义汇总
- 使用mp4v2将H264+AAC合成mp4文件
- 开发板-Ubuntu:NFS配置(自测)——相当纠结的历程
- jersey上传图片,图片上传
- artTemplate-3.0
- JVM典型配置