Xilinx FPGA 配置之ICAP
在网络通信中ICAP通常指Internet Content Adaptation Protocol,但在Xilinx FPGA 中ICAP(Internal Configuration Access Port) 指的是内部配置访问端口,其主要作用是通过内部配置访问端口(ICAP),用户可以在FPGA逻辑代码中直接读写FPGA内部配置寄存器(类似SelectMAP),从而实现特定的配置功能,例如Multiboot。FPGA实现IPROG通常有两种方式,一种是通过ICAP配置,一种是把相关指令嵌入bit文件中。与通过bit文件实现IPROG相比,通过ICAP更灵活。
ICAP目前为止有三个版本,包括ICAP,ICAPE2以及ICAPE3。 UltraScale系列对应ICAPE3,7系列对应ICAPE2,7系列之前的对应ICAP。每个版本有少许区别。
以下以ICAPE3 为例,ICAPE3 的接口如下:
每个UltraScale系列的FPAG包括2个ICAPE3,但实际使用时只能例化并使用一个,默认顶部ICAPE3, 初级玩家采用默认的即可。
通过ICAP发送IPROG指令实现Multiboot的步骤如下:
首先写入同步头 32’hAA995566, 然后将需要跳转到的bit文件的起始地址写入WBSTAR寄存器,最后写入IPROG(internal PROGRAM_B)指令。
这里需要注意一点,ICAP以及SelectMAP都存在位反转(Bit Swapping),也就是说,上表中所有的数据需要进行位反转之后才能接到ICAP的输入接口,同理,ICAP输出的值需要进行位反转后才能与实际的值对应起来,位反转的示例如下图。
Bit Swapping 可参考以下Verilog语句
genvar i,j;for (i=0; i<4; i=i+1) begin: GEN_ICAP_BIT_SWAP_Ifor (j=0; j<8; j=j+1) begin: GEN_ICAP_BIT_SWAP_Jassign icap_din[i*8+j] = fsm_output[i*8+7-j];assign fsm_input [i*8+j] = icap_dout[i*8+7-j];endend
ICAPE3 例化示例如下(UG974)
// ICAPE3: Internal Configuration Access Port
// UltraScale
// Xilinx HDL Language Template, version 2019.1
ICAPE3 #(
.DEVICE_ID(32'h03628093),//pre-programmed Device ID value,used for simulation
// purposes.
.ICAP_AUTO_SWITCH("DISABLE"),//Enable switch ICAP using sync word
.SIM_CFG_FILE_NAME("NONE")//Raw Bitstream (RBT) file,parsed by the simulation
// model
)
ICAPE3_inst (
.AVAIL(AVAIL), // 1-bit output: Availability status of ICAP
.O(O), // 32-bit output: Configuration data output bus
.PRDONE(PRDONE),//1-bit output: Indicates completion of Partial Reconfiguration
.PRERROR(PRERROR),//1-bit output: Indicates Error during Partial Reconfiguration
.CLK(CLK), // 1-bit input: Clock input
.CSIB(CSIB), // 1-bit input: Active-Low ICAP enable
.I(I), // 32-bit input: Configuration data input bus
.RDWRB(RDWRB) // 1-bit input: Read/Write Select input
);
// End of ICAPE3_inst instantiation
参考文档
UG974 UltraScale Architecture Libraries Guide
UG470 7Series_Config
UG570 ultrascale-configuration
Xilinx FPGA 配置之ICAP相关推荐
- xilinx芯片管脚使用限制_【转载】 Xilinx FPGA配置的一些细节
0 参考资料 (1) Xilinx: Development System Reference Guide. dev.pdf, v10.1 在Xilinx的doc目录下有. (2) Xilinx: V ...
- 从设置、加载、启动看Xilinx FPGA配置流程
尽管FPGA的配置模式各不相同,但整个配置过程中FPGA的工作流程是一致的,分为三个部分:设置.加载.启动. 本文引用地址: http://www.21ic.com/embed/hardware/pr ...
- Xilinx FPGA的配置
http://blog.sina.com.cn/s/blog_98d98c7f0102v4ex.html http://www.cnblogs.com/aikimi7/p/3499633.html F ...
- Xilinx FPGA GTX的DRP速率配置详解
目录 1 概述 2 引用 3 DRP的信号端口 4 DRP的读写时序 5 GTX的速率的配置关系 5.1 CPLL模式的速率配置关系 5.2 QPLL模式的速率配置关系 6 速率相关DRP寄存器地址设 ...
- Xilinx FPGA平台GTX简易使用教程(四)GTX IP核配置教程
干货来了,GTX核配置,搬砖全靠它~~ 汇总篇: Xilinx FPGA平台GTX简易使用教程(汇总篇) 目录 前言 一.GTX IP核配置界面 1.1第一页配置 1.2第二页配置 1.3第三页配置 ...
- FPGA中利用ICAP原语实现Multiboot功能-总结篇
前言 FPGA的MultiBoot功能可以支持远程动态更新bitstream images,实现bitstream images的实时切换.在MultiBoot配置过程中检测到错误时,FPGA可以触发 ...
- Xilinx FPGA 的快速启动
原文:http://xilinx.eetrend.com/d6-xilinx/article/2013-08/4506.html 在众多当代应用中,嵌入式系统必须满足极其苛刻的时序要求.其中之一就是启 ...
- Xilinx FPGA全局介绍
Xilinx FPGA全局介绍 现场可编程门阵列 (FPGA) 具有诸多特性,无论是单独使用,抑或采用多样化架构,皆可作为宝贵的计算资产:许多设计人员并不熟悉 FPGA,亦不清楚如何将这类器件整合到设 ...
- Xilinx FPGA中SRL(移位寄存器)资源
SRL(移位寄存器)资源,在FPGA中都有,不过是叫不同的名字.Xilinx FPGA内部的LUT有个特殊功能,就是可以配置成可变长度SRL. 5输入的一个LUT可以变成32bit 的SRL 6输入的 ...
最新文章
- AI 盯上了外包司机,看后视镜就被扣分,奖金拜拜!
- 业务系统性能优化——缓存
- C++:线程操作之CRITICAL_SECTION用法的介绍和例子理解
- 不出现用户帐户控制-让Win7的用户账户控制(UAC)放过信任的程序
- leetcode第72题:编辑距离
- Kyma registration of webservices and event endpoints
- jpa映射json_如何使用JPA和Hibernate映射JSON集合
- VC++动态库封装及调用
- EZchip将推全球首款100核64位ARM A-53芯片
- html将两张图重叠居中代码,【CSS技巧】多图片的垂直居中排版
- 详细介绍阿里云搭建RocketMq
- SpringBoot - 多Profile使用与切换
- jquery mysql实现加入购物车_使用jQuery实现购物车结算功能
- TI DSP位域寄存器文件(Bit Field and Register-File Struc...
- ADS软件仿真实例大战(一)
- paypal php 开发,PHP语言开发Paypal支付demo的具体实现
- CCID 设备通讯 (Windows 平台)
- 达观数据爱心公益再出发,走进广西桥业小学开展捐书助学活动
- cmd命令行使用pip install XXX库时,出现安装失败。
- VMware安装及配置静态Ip、域名、免密(centos7)
热门文章
- 怎么把avi转换成mp4?
- java 获取主机名时报java.net.UnknownHostException
- 手机html端悬浮球,大屏手机绝配!一款轻巧强大的悬浮球App
- 查看索引是否命中oracle,Oracle索引命中与扫描规律总结
- 红心大战c语言程序设计,Win 7系统安全优化、瘦身攻略(2)
- Python学习,第七课(灵活使用Frame,让布局更舒适)
- a频繁连接不上redis_解决Redis连接无法正常释放的问题
- 英文论文写作相关实用网站与工具整理
- GEE面向对象分类(先分割影像 、再计算特征、最后分类)
- 浏览器访问百度www.baidu.com过程