1.为什么要使用reconfiguration?

reconfiguration,即逻辑可重配,指的是FPGA的逻辑只加载指定区域(功能)的逻辑,而对除此之外的逻辑不产生影响,最常用的就是PCIe/PCI逻辑可重配,这样当我重新修改了逻辑后,pcie部分一直正常工作,上位机对pcie的读写也正常,可重配有两种方法:

  • 通过jtag加载或者selectmap接口,加载可重配逻辑;
  • 通过PCIe访问ICAP接口由上位机加载程序;

现在讨论的是第一种。

2.逻辑可重配如何实现?

第一步,划分整个工程代码为固定的部分以及需要经常修改的部分,称固定代码为static logic,而经常修改的代码为reconfiguration logic;

第二步,在ISE新建两个部分的工程,将两个工程综合,主要在生成网表的过程中,需要注意综合的选项,-iobuf,即Add I/O Buffers,在静态逻辑中需要勾选上,而在可重配逻辑中不能勾选此选项;

第三步,新建planahead工程,将静态逻辑生成的网表以及静态工程使用的ngc文件,并且需要注意勾上使能逻辑可重配选项,添加静态逻辑ngc文件和ucf约束文件;

第四步,设定某个module为可重配逻辑,并指定其对应的网表文件;

第五步,设定这部分逻辑可以使用的FPGA资源;

第六步,编译并生成代码。

3.一些注意事项

所有的全局资源,比如BUFG,MMCM等都不能位于可重配逻辑中,这样可重配逻辑可以使用的资源基本上只有SLICE,RAM,IO,DSP等,建议IO资源也在静态逻辑中使用,可重配逻辑只使用RAM和DSP以及slice资源。

部分可重配逻辑里面使用的NGC通过add reconfigurable logic sources加入到工程里面。

4.可重配资源如何使用chipscope

只能使用ip核生成的chipscope,无法使用图形界面。icon只能位于静态逻辑中,ila和vio可以在可重配逻辑中使用,并且需要注意,ip核生成的control管脚是inout类型,不能在可重配逻辑中使用,所以需要修改ip核文件。

5.如何使用selectmap接口对FPGA进行反复的加载

默认的当程序加载完成后,selectmap IO没有使能,在生成bit文件时加上-g选项,让selectmap io在加载完后使能。

可参考的文档:第一种加载方法:ug743,第二种:xapp883

xilinx planahead partial reconfiguration的更多相关文章

  1. Xilinx 7系列FPGA部分重配置【2】

    在之前的“Xilinx 7系列FPGA部分重配置[1]”中已经较为详细地记录了分别在工程模式(Project Mode)和非工程模式(Non-Project Mode)下.使用7系列的Xilinx F ...

  2. Xilinx FPGA DPR技术

    动态部分重配置技术 DPR(Dynamic Partial Reconfiguration)可以使得PL的一个部分或几个部分在运行时刻被完全地重新配置.这些部分需要被指定为可重配置分区(Reconfi ...

  3. planAhead的启动时间较长

    发现Xilinx planAhead的启动时间约需10秒钟.

  4. icape3 的使用

    在FPGA中,有时需要使用用户代码重配置FPGA,配置的内容可以是flash或者是其他的来源这样FPGA的启动模式有关,在本实验中配置文件是存放在flash中.实际的操作步骤如下: 1:生成一个工程, ...

  5. PCIe Tandem PROM 方法

    PCIe Tandem PROM 方法 什么是Tandem PROM? 简单总结:市面多数的FPGA都是SRAM型,需要在上电时从外部存储器件完成代码的加载,对于具有PCIe功能的SRAM FPGA而 ...

  6. Xilinx的ISE14.7和PlanAhead与win10系统的兼容性问题解决方案

    Xilinx的ISE14.7和PlanAhead与win10系统的兼容性问题解决方案 2018年07月03日 18:27:57 feq123 阅读数:4495   今天在新电脑的win10系统上安装I ...

  7. Xilinx 网站资源导

    Xilinx 网站资源导读 ———版权声明———–本文作者 Ricky Suwww.fpganotes.comrickysu.fpga@gmail.com 欢迎转载,转载请保持原样及署名商业使用须得到 ...

  8. Xilinx 网站资源导读2

    Xilinx 网站资源导读 ———版权声明———–本文作者 Ricky Suwww.fpganotes.comrickysu.fpga@gmail.com 欢迎转载,转载请保持原样及署名商业使用须得到 ...

  9. xilinx 网站资源导读

    [经验整理.01]Xilinx网站资源导读 ISE11版 标签:  ISE  Xilinx  入门  资源  2009-09-01 20:41 序 虽然自己也曾想过,但如果不是向农要求,把曾经写过的文 ...

随机推荐

  1. 常用JQuery设置HTML元素内容

    主要内容: 一.获取内容及属性 二.设置内容及属性 三.添加元素 四.删除元素 五.css()方法 六.寻找祖先及后代 一.获取内容及属性 二.设置内容及属性 相对于获取内容及属性的方式,只需在函数内 ...

  2. 算法(Algorithms)第4版 练习 2.2.5

    top-down: M E R G E S O R T E X A M P L E M E R G E S O R T E X A M P L E E X A M P L E merge(input, ...

  3. 算法(Algorithms)第4版 练习 1.5.12

    package com.qiusongde; import edu.princeton.cs.algs4.StdIn; import edu.princeton.cs.algs4.StdOut; pu ...

  4. SpringCloud-断路器(Hystrix)

    在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用Rest Template + Ribbon和Feign来调用.为了保证其高可用,单 ...

  5. Spark- 求最受欢迎的TopN课程

    数据库操作工具类 package com.rz.mobile_tag.utils import java.sql.{Connection, DriverManager, PreparedStateme ...

  6. MySQL 当记录不存在时insert,当记录存在时update

    MySQL当记录不存在时insert,当记录存在时更新:网上基本有三种解决方法 第一种: 示例一:insert多条记录 假设有一个主键为 client_id 的 clients 表,可以使用下面的语句 ...

  7. 一致性问题和Raft一致性算法——一致性问题是无法彻底解决的,可以说一个分布式系统可靠性达到99.99…%,但不能说它达到了100%

    一致性问题 一致性算法是用来解决一致性问题的,那么什么是一致性问题呢? 在分布式系统中,一致性问题(consensus problem)是指对于一组服务器,给定一组操作,我们需要一个协议使得最后它们的 ...

  8. Linux tar.gz 、zip、rar 解压 压缩命令

    tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个 ...

  9. Geoserver端口冲突解决方案

    转载:https://blog.csdn.net/wiinder/article/details/53260642 今天在安装Geoserver的时候遇到了端口冲突的问题,即默认的8080端口与Tom ...

  10. Struts2 - action通配符映射

    一个 Web 应用可能有成百上千个 action 声明. 可以利用 struts 提供的通配符映射机制把多个彼此相似的映射关系简化为一个映射关系 通配符映射规则 –      若找到多个匹配, 没有通 ...