精华内容
下载资源
问答
  • 采用xilinx fpga xc7vx690t,实现动态跑马灯,验证部分动态重配置(Partial Reconfiguration)功能 pm1:间隔1s闪动 pm2:间隔4s闪动 顶层文件:top pm_led:实现动态重配置实现1s和4s闪动 led2:固定2s闪动,验证...

    1.测试环境

    采用xilinx fpga xc7vx690t,实现动态跑马灯,验证部分动态重配置(Partial Reconfiguration)功能
    pm1:间隔1s闪动
    pm2:间隔4s闪动
    在这里插入图片描述顶层文件:top
    pm_led:实现动态重配置,实现1s和4s闪动
    led2:固定2s闪动,验证重配置,即在下载重配置bit时,改灯会一直闪烁

    2.实现步骤

    在这里插入图片描述
    led:实现部分动态冲加载功能
    led2_2s:实现固定2s闪动功能
    新建工程
    根据选择型号,新建工程,完毕后,使能Partial Reconfiguration
    导入源文件
    在这里插入图片描述
    创建Partial Reconfiguration
    右键点击module led,选择
    在这里插入图片描述
    在对话框中输入相应的pd和pm名字,
    这里分别输入led和led_1s
    配置Partial Reconfiguration
    在这里插入图片描述
    点击向导后,在出现的对话框中,点击next
    在这里插入图片描述
    输入led_4s作为一个新的pm,pd还是led,然后添加文件led_4s.v,
    注意该文件的module名字仍然为led
    在这里插入图片描述
    之后根据提示操作即可

    3.综合

    综合完成之后,打开综合结果,并执行如下操作

    在这里插入图片描述
    画出一块作为pblock,保存,工具会将pblock约束添加到约束文件中,然后执行reports》report drc
    在这里插入图片描述
    为了加快速度,只选择上图部分即可

    4.实现及生成bit

    按照正常操作即可

    5.下载

    通过jtag下载bit,先下载整体bit,然后下载部分bit,可验证功能

    6.文件及约束

    文件已上传
    参考已上传资源Partial Reconfiguration.rar

    7.注意点

    led_4s.v文件的module名字仍然为led
    具体参考ug947

    展开全文
  • 提出了一种基于嵌入式微处理器配合大规模现场可编程门阵列(FPGA)的动态可重配置结构的星上实时计算系统的体系结构设计,可在一块FPGA资源上通过动态重配置实现不同的信号处理功能。实际应用证明,处理速度和性能...
  • FPGA的全局动态重配置技术主要是指对运行中的FPGA器件的全部逻辑资源实现在系统的功能变换,从而实现硬件的时分复用。提出了一种基于System ACE的全局动态重配置设计方法,首先介绍Xilinx System ACE技术,详细...
  • 1. 给出了实现Altera FPGA在线配置的原理和实现方法。 2. 通过实际工程的实践,给出了实现过程中所需注意的事项。结合实际工程的调试过程中,给出了理解文档所需注意的细节。 3. 给出了示例代码,该代码经过了实际...
  • 提出了一种基于现场可编程门阵列FPGA的多模块动态重配置系统平台,并在该平台上实现了一个多模块动态自重配置发射机系统。与传统的动态重配置系统相比,多模块动态重配置系统的各动态模块能够单独地进行重配置...
  • 部分重配置允许设计者在系统运行过程中修改功能,而无需全面重新配置和重新建立连接,极大地提高了 FPGA 的灵活性。通过分时功能减少了 FPGA 的尺寸和数量(即成本) ;通过按需加载功能降低了动态功耗;通过时分多...
  • 值得说明的是,基于PCIE的部分可重构需在ultrascale系列及ultrascale+芯片才能实现,具体哪些系列能实现哪种配置方式如下图所示:    图1  本质上来说,无论是JTAG还是ICAP或者MCAP以及其它FPGA的配置方式,...

    本博文主要是对基于PCIE(mcap)的部分可重构实现的步骤做一个简单的演示,如有错误之处,欢迎批评指正。值得说明的是,基于PCIE的部分可重构需在ultrascale系列及ultrascale+芯片才能实现,具体哪些系列能实现哪种配置方式如下图所示:

     

      图1

            本质上来说,无论是JTAG还是ICAP或者MCAP以及其它FPGA的配置方式,目的都是配置FPGA的逻辑。MCAP是通过PCIE来实现对FPGA的烧写,最终结果和使用JTAG进行FPGA烧写没有区别,而使用PCIE对FPGA烧写有更好的灵活性,在某些需求场合是必不可缺的,譬如在数据加速的部署,FPGA加速板卡是位于服务器端,在服务上线之后修改FPGA业务逻辑的话如果使用JTAG烧写,一方面操作十分不便,可行性极低,另一方面,重新烧写FPGA会导致原FPGA的PCIE设备从服务器中删除,需要重新启动服务器枚举设备(目前本人没有找到可以进入系统后重新枚举设备的方法),对于已经上线的服务器,在每次切换FPGA业务逻辑后重启服务器是无法接受的,因此,使用PCIE对FPGA的部分重配置就十分必要,部分重配置能够在保持FPGA静态逻辑(PCIE部分和其他非业务逻辑)正常工作的情况下动态修改某个区域的逻辑(业务逻辑)。使用这种技术能够不重启服务器情况下快速切换业务逻辑。

    本文的实现基于Xilinx的VCU1525加速板卡实现,VCU1525的FPGA是一颗ultrascale+的VU9P,由上图可以知道UltraScale+系列的FPGA支持MCAP配置模式。下面由一个简单的例程实现MCAP部分重配置。

    1.新建一个空白工程。

    2.png

    图2

    2.因为使用MCAP的配置方式,而MCAP集成于PCIE硬核中,因此需要例化一个PCIE相关的IP,这里使用XDMA进行本次例程(裸PCIE硬核也可以),该例程没有XDMA进行数据DMA搬运的相关内容,仅仅是借用XDMA中的MCAP功能,本人目前也有一个比较痛苦的地方,就是XDMA的上位机驱动怎么和MCAP的驱动整合在一起,不懂上位机驱动开发表示很迷茫,有大佬懂这个可以探讨下。

    3.在Board选项中(在建立工程时选择Xilinx官方板卡才有这个选项)选择如下。

    3.png

    图3

    4.在Basic选项中,把图中红色框中的Mode设置成Advanced。

    4.png

    图4

    5.在Basic选项中,在最底部的Tandem Configuration or Partial Reconfiguration中选择PR over PCIE。

    5.png

    图5

    6.在Pcie ID选项的Device ID中设置成8011(因为Xilinx提供的驱动支持8011,8038,506F)

    6.png

    图6

    7.其它按照默认选项,生成该IP。

    7.png

    图7

    8.考虑到测试和实现的方便,使用XDMA的Example Design来修改例程,在XDMA综合完成之后(记得选择OOC),打开该IP的Example Design,在该工程上面做修改。

    8.png

    图8

    9.Example Design如下图。

    9.png

    图9

    10.首先我们先修改XDC文件和工程顶层,主要是LED的管脚和电平约束。在这个例子中,我们将要实现使用两个可重构模块,一个模块用于控制VCU1525的LED灯亮,一个模块用于控制VCU1525的LED灯灭,用这个简单的例子来说明PR的实现步骤。

    11.修改工程中的时钟生成IP,此步骤不是必要,主要是指定输入时钟管脚,如果不是官方板子,在XDC里面约束即可。

    10.png

    图10

    12.新建两个模块,分别是LED_RM_0和LED_RM_1。其中LED_RM_0用于控制LED灭,LED_RM_1用于控制LED亮。两个模块的逻辑很简单,只是做演示作用。代码逻辑如下。

    11.png

    图11

    13.在工程顶层例化其中一个RM模块。

    12.png

    图12

    14.完成上述步骤之后,选择Tools->Enable Partial Reconfiguration...选项,将工程转换成支持PR类型的工程,在后续弹出的方框中选择Convert。

    13.png

    图13

    15.此时工程已经转换完成,对比转换之前,在Flow Navigator的PROJECT MANAGER会多出Partial Reconfiguration Wizard选项。

    14.png

    图14

    16.设置我们要进行部分重构的逻辑,即LED_RM_x模块,如下图所示,右键LED_RM_0,选择Create Partition Definition...

    15.png

    图15

    17.在弹出的窗口中指定一个分区的名字,这里设置为LED_RM,点击OK。

    16.png

    图16

    18.完成上一步之后,LED_RM_0模块变成了一个黄色的棱形标志,如下图所示。

    17.png

    图17

    19.打开Partial Reconfiguration wizard

    18.png

    图18

    20.在Edit Reconfiguration Modules界面中,点击“+”符号,把LED_RM_1添加进来,表明有两个重配置模块,添加完成后如下图所示,属于LED_RM分区定义列表里面有LED_RM_0和LED_RM_1两个重配置模块。

    19.png

    图19

    21.在Editing Configurations界面中,选择automatically create configurations,并修改Configuration Name,如下图所示。

    20.png

    图20

    22.在Edit Configuration Runs界面中,选择automatically create configurations。

    21.png

    图21

    23.最后,点击Finish,部分重配置的向导设置完成,然后点击Run Synthesis综合设计。

    22.png

    图22

    24.综合完成之后打开综合设计。

    23.png

    图23

    25.在Floorplanning界面,右键LED_RM_0,选择Floorplanning->Draw Pblock,给RM模块划分重配置的区域。

    24.png

    图24

    26.在分配完重配置区域之后,保存相应的约束到xdc文件中,然后做DRC检查,检查分配的区域是否符合要求。

    25.png

    图25

    27.DRC检查没有问题之后,点击Generate Bitstream.

    26.png

    图26

    28.至此,部分重配置的工程就生成完毕,在生成出来的文件里面,在工程目录下会有两个imp的文件夹,里面会分别有静态逻辑和各自的重配置逻辑,我们将静态逻辑先烧写进去FPGA,之后就可以通过PCIE配置动态逻辑,关于MCAP的驱动的上位机,在Xilinx_Answer_64761__UltraScale_Devices这份文档中有详细的说明。

    27.png

    图27

    28.png

    图28

    展开全文
  • 局部动态重配置体会

    千次阅读 2008-11-23 22:54:00
    2008-03-09 13:33:52 | 局部动态重配置项目几乎无法开展下去了 时间越来越紧,然而项目的进展却缓慢异常,局部动态重配置的困难主要还停留在工具的问题上。 可以说,XILINX近年来对局部动态重配置(Partial ...
      
    
    2008-03-09 13:33:52 | 局部动态可重配置项目几乎无法开展下去了
     

         时间越来越紧,然而项目的进展却缓慢异常,局部动态可重配置的困难主要还停留在工具的问题上。

         可以说,XILINX近年来对局部动态可重配置(Partial Dynamic Reconfiguration)是越来越重视了。这主要体现在其局部动态可重配置的开发流程以及开发工具的更新速度上。ISE6.3版本的局部动态可重配置开发流程是以XAPP290为参考设计,实现Module based和Increment based的两种开发流程,这两种开发流程对设计者来说是苛刻的,有很多限制条件,如面积约束的限制、总线宏(Bus Macro)的实现及约束、脚本文件的编译等等。8.1版本以后,XILINX提出了新的局部动态可重配置开发流程EAPR(Early Access Partial Reconfiguration),相应的推出了对应的辅助开发工具PlanAhead以及可重配置patch。

          软件的更新本是无可厚非的,然而对于我们项目来说却不是什么好事。我们使用的是校园网,基本无法登陆XILINX的官方网站,根本无法下载更新的软件。现在我们所能找到的有关局部动态可重配置的设计方法以及参考设计,都是基于老版本的,按照相应的开发流程,转向新版本却是无论如何也实现不了的。我们现在使用的是ISE9.1版本,总线宏(Bus Macro)的不兼容已经无法避免。新版本的总线宏格式听说XILINX的官方网站上有,然而对于XILINX的官方网站现在长什么样,我已经是几个月没见过了。PlanAhead以及可重配置的patch包,无法获得,现在对于可重构走到最后一步,bitgen阶段,但是由于软件的版本的问题,无论如何也通不过DRC检查,无法生成局部动态可重配置的bitstream。

          那天在网上遇到一个国外做局部动态可重配置的博士,我将我们的开发过程告诉他,他对此吃惊不已,认为我们走得太艰难了,而且做的全是无用功,他说按照我们的这个开发条件,以及开发方式,几年出不了成果也是很正常的,而且就算出了成果恐怕也是人家早就实现了的东西。

           突然对中国的研究环境感到失望,难怪这么多人都要跑到国外去呢!现在局部动态可重配置是国际的一个研究热点,但是在FPGA领域真正具备这方面功能的只有XILINX,因此我们必须得依赖XILINX。

           项目受到重创,暂时停滞不前,还不知道下一步该怎么办,仅做此文,以表心情。

    展开全文
  • xilinx的FPGA动态局部重配置(DPR)

    千次阅读 2016-11-03 12:42:57
    据我所知到目前为止只有xilinx的FPGA支持动态局部重配置(DPR)。  FPGA的重配置(也叫重构)分为全重构和局部重构,全重构是将整体bitstream 文件download 到FPGA中。局部重构相对复杂,这项技术允许在FPGA内固定...

    据我所知到目前为止只有xilinx的FPGA支持动态局部重配置(DPR)。现在Altera的FPGA也支持部分重配置了。

       FPGA的重配置(也叫重构)分为全重构和局部重构,全重构是将整体bitstream 文件download 到FPGA中。局部重构相对复杂,这项技术允许在FPGA内固定逻辑(fixed logic)正常运行时,对重构区域中的逻辑进行动态局部重配置。DPR可以使FPGA内的硬件资源实现分时复用,提高资源的使用率……(还有很多好处, 我在这里就不一一列举了,从现在对这项技术研究的人越来越多,就知道这项技术很好的)

       动态局部重配置(DPR)基于FPGA的模块化设计,将整体设计划分为若干模块,这些模块中有些是不可重构的,有些是可重构的。DPR中各个模块所占的硬 件区域划分还有一些要求。由于Xilinx多数系列FPGA的配置bitstream的最小寻址单位是frame(1bit宽,以芯片高为长),所以配置 的最小单位必须是frame,这样就限制了重构区域的划分必须是纵向的一维划分(芯片的左下是坐标原点,纵向划分指划分X轴,不划分Y轴),因为如果横向 的划分,一个frame就会被分开,在配置时无法寻址。

        各个模块实现在各自的区域中,那么各模块间的通信是怎样实现的那?在FPGA内信号的传递是通过布线资源实现的,两个模块A、B要实现通信既是将A的信号 线与相映的B的信号线相连,由于ise的自动布线无法指定某条信号线布在哪里,所以相邻两个模块的信号线不能保证相连。这样在DPR中就需要一个固定的结 构跨居在两个模块边界上,使各模块在各自的区域内分别与这个固定的结构相连,这样各个模块既可以在规定的区域内实现又可以与邻近模块进行通信。这个固定结 构就是“总线宏”(bus macro)。

    9 bitstream中的“frame”

    Xilinx FPGA bitstream中的配置数据是由帧(frame)组成的。帧是配置数据中的最小单元

    展开全文
  • 使用nacos注册中心动态配置配置类无法实现实时更新问题解决方案 问题 使用nacos版本:1.3.1 问题说明及详解: 如果只是单一的在配置类上加入@Component和@RefreshScope注解只会在程序启动时回去读取一次配置文件,...
  • springboot2.0+Elastic Job实现微服务调用 本猿第一次写博客,写的不好勿喷 一、前提 本文只介绍如何把elastic-job和springcloud微服务集成,不对其他知识做介绍,需先掌握以下知识 1.会使用...
  • 据我所知到目前为止只有xilinx的FPGA支持动态局部重配置(DPR)。 FPGA的重配置(也叫重构)分为全重构和局部重构,全重构是将整体bitstream 文件download 到FPGA中。局部重构相对复杂,这项技术允许在FPGA内固定...
  • 基于PCIe的FPGA动态配置设计与实现,袁爱民,陈通,随着现代处理器技术的发展,在互联领域中,使用高速差分总线替代并行总线是大势所趋。因此PCIe取代PCI,越来越多的应用在高速互联�
  • 最近在重构自己负责产品的脚手架,本文介绍了我在Spring中集成Disconf客户端并实现配置动态获取的做法。 二. 配置 2.1 maven <dependency> <groupId>com.baidu.disconf</groupId> <...
  • 此资源主要为Cyclone IV的pll_reconfig使用范例,利用pll_reconfig实现时钟的动态配置,其详细的配置步骤可参考我的这篇博客https://blog.csdn.net/qq_44810239/article/details/109522470,此外里面还包含有Cyclone...
  • ZooKeeper动态重新配置

    千次阅读 2019-01-23 14:35:00
    ZooKeeper动态重新配置 概观 配置格式的更改 指定客户端端口 standaloneEnabled标志 reconfigEnabled标志 动态配置文件 向后兼容性 升级到3.5.0 动态重新配置ZooKeeper集合 API 安全 检索当前的...
  • Xilinx FPGA部分重配置操作流程

    千次阅读 2016-11-03 12:54:57
    部分重配置,既动态配置部分芯片时,芯片的其他部分可正常工作,且向芯片中下载部分 配置bit文件时,芯片的DONE脚不被拉低。 使用FPGA的这一特性,可实现对芯片的分时复用。 首先做部分重配置的FPGA内部必须要有...
  • 需要加入连接检测与试,才能保证连接一直有效。为什么需要数据库连接池呢?因为创建数据库连接非常的耗时,将一定的数据库连接放在连接池,将减少数据库的耗时,提高响应速度。  看一下mybatis中使用的
  • spring 整合shiro ,并实现动态url 配置

    千次阅读 2017-04-19 18:08:11
    继承ShiroFilterFactoryBean,实现从数据库动态加载权限信息 public class ShiroPermissionFactory extends ShiroFilterFactoryBean { private ManageUserService manageUserService; /**...
  • 动态主机配置协议

    千次阅读 2018-08-07 20:59:48
    动态主机配置协议(Dynamic Host Configuration Protocol, DHCP)是一种流行的客户机/服务器(C/S)协议。几乎所有常用的客户端操作系统和大量的嵌入式设备(例如网络打印机和VoIP电话)都支持DHCP。这些设备通常...
  • 动态调整配置

    千次阅读 2011-06-20 21:58:00
    对于Hadoop集群这样的分布式系统,有些参数是需要经常调整的,但是又不想重启daemon进程。原因很明显,重启任何一个daemon进程...总结起来,要实现动态调整配置,大概有以下几种方法:1、通过命令行方式手工刷新配置
  • Xilinx FGPA的多重配置功能(1)

    千次阅读 2018-10-11 17:15:51
    FPGA多重配置允许动态进行多个下载文件之间的切换,当引导配置过程中检测到出错时,FPGA会触发一个回退标志确保一个已知的好的文件可以被加载进来。具体如下图所示: 简而言之,就是你的.mcs文件里包含有两个...
  • Zynq-7000 PS重配置PL

    千次阅读 热门讨论 2020-09-24 20:49:10
    PS ELF)完成后重新配置PL程序,可以利用XLINX官方BSP逻辑xdecfg_polled_example的Demo例程实现PS配置PL比特流,将指定DDR空间的数据配置到FPGA。具体的平台启动方式如图1-1。 1.1 Vivado工程创建 选择create .
  • 使用PlanAhead进行FPGA部分动态重配设计

    千次阅读 热门讨论 2018-09-13 10:32:38
    使用PlanAhead进行FPGA部分动态重配设计 目 录 1 概述 3 1.1 部分重配置技术的意义 3 1.2 支持部分重配置技术的软件与芯片 3 2 使用PlanAhead进行部分重配置设计 3 2.1 逻辑设计,生成ngc文件 3 2.1.1 设计...
  • 1. 先构建一个配置中心,并注册到注册中心1)首先我们来构建一个配置中心,方式很简单,创建一个普通的Spring Boot项目,叫做config-server,创建好之后,添加如下依赖:&lt;parent&gt; &lt;groupId&...
  • iOS Hacker 签名实现无需越狱注入动态库 dylib一、获取 ipa 文件iOS 的应用都是打包成 ipa 的文件格式,ipa 文件实际上就是 zip 格式的文件,通过 unzip 可以解压,和安卓下的 apk 包类似。App Store 下载完应用,...
  • 一般经过签名的应用就不能调试了,我们要调试的话就要反编译修改...这样就可以实现不用打包应用也能调试。 今天我们介绍一下一个神器 mprop 的使用。  1.手机需要root权限  2.将 mprop 文件(请点击这...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 180,698
精华内容 72,279
关键字:

动态重配置实现