新聞中心

EEPW首頁 > 網絡與存儲 > 設計應用 > 基于SPI FLASH的FPGA多重配置

基于SPI FLASH的FPGA多重配置

作者: 時間:2014-02-12 來源:摘自《電子發(fā)燒友》 收藏

  重載模塊首先要調用核。原語在Xilinx的編譯軟件ISE中調用,調用路徑為Edit→LanguageTemplates,VHDL/Verilog→Device Primitive Instantia-tion→→Config/BSCAN Components→In-ternal Config Access Por(t _VIRTEX5)。

本文引用地址:http://2s4d.com/article/221428.htm

  ICAP_VIRTEX5調用接口如下:

  ICAP核支持X8,X16,X32三種數(shù)據帶寬模式。在整個重配置的過程中并沒有用到ICAP核的輸出,因此在重載模塊的狀態(tài)機控制程序中不關注BUSY,O信號的值,可以不對它們賦值。用戶程序在使用接口時只需對CE,CLK,I,WRITE4個信號不斷賦值來發(fā)送命令。

  在調用了ICAP核接口之后,通過Verilog編碼的方式實現(xiàn)狀態(tài)機。通過狀態(tài)機發(fā)送指令給ICAP核,ICAP核在接收到這些指令后會根據指定的地址自動加載配置文件。

  指令的作用是對芯片進行復位操作,該復位操作對FPGA內部的應用程序進行復位,復位過程中除專用配置管腳和JTAG管腳,其他輸入/輸出管腳均為高阻態(tài)。完成復位操作后,將默認的加載地址用熱啟動地址(Warm Boot Start Address,WB-STAR)中的新地址替換。

  在發(fā)送指令之前,需要對ICAP核進行預配置。重載控制模塊在收到觸發(fā)信號后,第一個時鐘周期將ICAP核的WRITE信號和CE信號置高,第二個周期將WRITE信號置底,CE信號置高,第三個周期將WRITE信號置底,CE信號也置底。接著在下面的8個時鐘周期里,將指令隊列中的控制命令逐個發(fā)出。狀態(tài)機指令流程如圖3所示。

狀態(tài)機指令流程圖

  在狀態(tài)機發(fā)送IPROG指令的過程中,為了保證ICAP核接收到正確的指令,每一個發(fā)送出去的命令和數(shù)據必須遵循SelectMAP數(shù)據順序。SelectMAP數(shù)據順序是將每個指令都按字節(jié)劃分,劃分后每個字節(jié)的數(shù)據都按比特位翻轉。如果為“X32”模式,則劃分為4個字節(jié),每個字節(jié)進行位翻轉。圖4以“X16”為例說明Se-lectMAP數(shù)據順序。

Se-lectMAP數(shù)據順序

fpga相關文章:fpga是什么


存儲器相關文章:存儲器原理




評論


相關推薦

技術專區(qū)

關閉