基于SRAM的FPGA配置數據存儲方式解析方案
1.引言
本文引用地址:http://www.104case.com/article/190208.htm由于FPGA 良好的可編程性和優越的性能表現,當前采用FPGA 芯片的嵌入式系統數量呈現迅速增加的趨勢,特別是在需要進行大規模運算的通信領域。目前FPGA 配置數據一般使用基于SRAM 的存儲方式,掉電后數據消失,每次上電后都要重新寫入。配置數據的寫入方式有3 種,即使用JTAG 仿真器、使用專用芯片以及使用微處理器。JTAG 仿真器的方式在調試的時候使用較多,能隨時修改,但缺點是FPGA 芯片必須與電腦主機連接,失去了靈活性。使用專用芯片的方式可以將配置數據事先存儲在非易失性存儲介質中,為大規模升級提供了方便,但不利之處在于專用芯片往往價格較高,并且也必須采用特定的存儲介質, 提升了系統成本,而且沒有利用到板上的現有資源,需要為配置芯片設置出專用的空間,占用了電路板上的空間資源。而第三種方式可以利用當前嵌入式系統中一般都存在的微處理器,同時也可以自行選擇合適的存儲介質。下面就這種配置方案進行說明。
2. 系統介紹
2.1 系統工作原理
本配置方案中使用的微控制器是Philips 公司生產的ARM7 處理器LPC2468。FPGA 則 是Xilinx 公司的Virtex SX95T。存儲配置數據的介質是成本較低而且使用廣泛的SD 卡。
系統的工作原理是上電時微控制器LPC2468 從SD 卡中讀取FPGA 的配置文件,然后 通過其通用IO 管腳模擬FPGA 的某種配置模式的時序,將配置文件寫入到FPGA 的配置 RAM 中。Virtex 系列FPGA 有幾種不同的配置模式,每種配置模式使用到的管腳以及配置 信號的時序都是不同的, 因此對配置模式需要作出合適的選擇。
2.2 Viretex 系列FPGA 的配置模式
Viretex 系列FPGA 的配置模式是由上電時其專用配置管腳的狀態決定的,對應的關系 如下表所示:
因在系統中使用微處理器作為主控制器,因此FPGA 的模式需選擇Slave 方式,所以有 2 種模式可以選擇,即Slave SelectMap 和Slave Serial。這2 種模式的區別在與數據管腳的數 目不同,Slave Serial 模式只有1 個管腳用于數據傳輸,屬于串行傳輸,而Slave SelectMap 模式有8 個管腳用于數據傳輸,屬于并行傳輸。這2 種模式可以任意選擇,本文選擇的是 Slave SelectMap 模式。
2.3 Slave SelectMap 配置模式
Slave SelectMap 配置模式在管腳信號功能、配置流程、配置數據等方面有自己的特點, 在進行電路板設計以及程序編寫時需要注意。下面對其主要特點進行說明。
2.3.1 Slave SelectMap 模式使用的管腳信號:
SelectMap 模式下使用的FPGA 管腳為:
根據上表,可以將微控制器的通用IO 管腳與上述FPGA 管腳連接起來,連接電路圖如圖1 所示:
評論