新聞中心

EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于SRAM的FPGA配置數(shù)據(jù)存儲(chǔ)方式解析方案

基于SRAM的FPGA配置數(shù)據(jù)存儲(chǔ)方式解析方案

作者: 時(shí)間:2012-06-25 來(lái)源:網(wǎng)絡(luò) 收藏

2.3.2 Slave SelectMap 模式的配置流程

Slave SelectMap 模式下提供時(shí)鐘的是外部器件,本方案中的時(shí)鐘信號(hào)是CCLK 使用 ARM 芯片的通用IO 進(jìn)行模擬。同時(shí),該模式下數(shù)據(jù)管腳有8 個(gè),因此在每個(gè)CCLK 的上 升沿, 可以讀入1 個(gè)字節(jié)的數(shù)據(jù)。需要注意的是這1 字節(jié)的最高位是D0,而不是一 般微處理器默認(rèn)的D7,在電路板布線和編寫配置程序時(shí)應(yīng)給予相應(yīng)改變。

配置過(guò)程的具體流程如圖2 所示。

接收完配置數(shù)據(jù)后,DONE 管腳會(huì)被拉高。但這并不是表示配置過(guò)程已經(jīng)結(jié)束,系統(tǒng)仍 需要時(shí)鐘來(lái)進(jìn)行后續(xù)的上電啟動(dòng)工作。為保證上電配置過(guò)程的正確進(jìn)行,最好的辦法是將配 置文件中的所有數(shù)據(jù)寫入 中之后,然后繼續(xù)輸出CCLK 信號(hào),直到DONE 管腳被拉 高。之后,再輸出8 個(gè)周期的CCLK,保證配置能正常完成。

根據(jù)上述流程,配置程序的主要函數(shù)的偽碼如下。

1.初始化函數(shù)SelectMAP_Init,在其它函數(shù)之前運(yùn)行。

SelectMAP_Init(){

將ARM 通用IO 設(shè)置為對(duì)應(yīng)的SelectMap 管腳信號(hào);

設(shè)置 PROGRAM#,CS#和WRITE#管腳為低電平;

延時(shí)至少300ns;

設(shè)置 PROGRAM#為高電平;

循環(huán)檢查INIT#是否變?yōu)楦唠娖?

}



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉