儘管fpga的配置模式各不相同,但整個配置過程中fpga的工作流程是一致的,分為三個部分:設定、載入、啟動。
有多種方式使fpga的配置進入這一過程。在上電時,電壓達到fpga要求之前,fpga的上電復位模組將使fpga保持在復位狀態;外部控制prog_b引腳出現乙個低脈衝也可以使fpga保持在復位狀態。
這一步稱為初始化,當fpga復位結束,配置儲存器的內容會被自動清除。在這個步驟中,除配置專用介面外,fpga i/o均被置於高阻態。在整個初始化過程中,init_b引腳被置低並在初始化結束後恢復高電平。如果init_b訊號在外部被拉低,fpga將一直停留在初始化狀態。注意prog_b訊號的脈寬不能太窄。
初始化結束後,init_b訊號回到高電平。fpga開始採集模式選擇引腳m[1:0]和變數選擇引腳vs。如果為主動模式,fpga很快就會給出有效的cclk。vs訊號只在主動bpi及其spi模式中生效。此時,fpga開始在配置時鐘的上公升沿對配置資料進行取樣。
每乙個fpga配置資料流都有乙個同步頭,它是一段特殊的同步字。同步字主要用於幫助fpga確定正確的資料位置。同步字之前的配置資料都會被fpga忽略,也就是fpga僅僅在同步化之後才正式開始接收配置資料。一般而言,同步字都是由0/1數目相同的二進位制數組成的,如spartan3為aa995566。
fpga同步化後,會自動檢測配置流中的器件id和目標器件id是否一致。這一步確保了fpga不會被錯誤的配置流誤配置。
32位的id中包含了28位的特徵值和4位掩碼。特徵值包括廠商資訊,器件族,器件規模等。當器件id檢查遇到問題時,fpga會將內部暫存器的第一位id_err置高,軟體也會顯示錯誤資訊。
在id檢查順利通過後,fpga開始載入配置資料。
在載入資料過程中,fpga會對每一幀資料進行crc校驗。如果失敗,fpga會將init_b訊號拉低並終止配置過程。
fpga配置資料載入完後,fpga進入啟動序列。啟動序列事件的預設順序為先釋放done引腳,然後啟用i/o,最後啟動寫使能。實際使用中,可以通過bitgen引數對啟動順序進行設定來滿足不同的需求。
啟動序列內容
階段bitgen選項
等待dcm鎖定
1~6lck_cycle
等待dci匹配
1~6match_cycle
啟動全域性寫使能,允許內部時序元件翻轉
1~6gwe_cycle
釋放io三態,啟用io
1~6gts_cycle
釋放done引腳
1~6done_cycle
xilinx FPGA 配置原理
從不同的角度分析,可以得到不同的劃分形式,如從主從關係上分,則有主模式 從模式。如果從一次傳輸資料的位寬上分析,則有序列模式 和並行模式。另外還有jtag模式 模式的選擇是由fpga上的m0 m1 m2完成。因此,可以組合出多種不同的模式,如主序列模式 主並模式 從串模式 從並模式。其中,區分主與從...
Xilinx FPGA的上電配置過程 高階篇
總結xilinx fpga的上電模式可以分為以下4型別 主模式 從模式 jtag模式 除錯模式 系統模式 多片配置模式 典型的主模式都是載入片外非易失 斷電不丟資料 性儲存器中的配置位元流,配置所需的時鐘訊號 稱為cclk 由fpga內部產生,且fpga控制整個配置過程。在主模式下,fpga上電後,...
從設定 載入 啟動看Xilinx FPGA配置流程
儘管fpga的配置模式各不相同,但整個配置過程中fpga的工作流程是一致的,分為三個部分 設定 載入 啟動。復位結束配置開始 有多種方式使fpga的配置進入這一過程。在上電時,電壓達到fpga要求之前,fpga的上電復位模組將使fpga保持在復位狀態 外部控制prog b引腳出現乙個低脈衝也可以使f...