日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Xilinx FPGA 配置之ICAP

發布時間:2023/12/8 编程问答 83 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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目前為止有三個版本,包括ICAPICAPE2以及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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。