2013年5月22日 星期三

Xilinx燒錄之....flash PROM燒錄

在FPGA中,做flash PROM的燒錄,也是一件常見的事,畢竟要Demo給別人看,總不能燒好了,就靠電池帶來帶去的,電源關掉的需求是一定要的。
在此,Xilinx的做法,是將.bit檔,包成.mcs檔,再將它放到PROM中。

在此的環境
板子:Xilinx Spartan-6 FPGA LX9 MicroBoard
Xilinx ISE版本:13.2

由一篇Avnet的技術文件中的副件A,可以得知.mcs檔的包裝,依板子而異,而所包進去的.bit檔。



第一步,就得先Set SPI Configuration Bus Width


選擇Generate Programing File→Process Properties..
設定Configuration Opitions→Set SPI Configuration Bus Width 為 4(4的值依硬體而定)
設定好之後,就重新生成.bit檔。
這一步最重要的就是SPI Configuation Bus Width多大

第二步,製做.mcs檔

然後開啟iMPACT→Creat PROM File(PROM File Formatter)
也或者從iMPACT→New Project→Prepare a PROM file也是一樣。

這裡設定要注意,存放.mcs的「容器檔」放置在哪一個路徑(它有一個預設的路徑,和專案無關)

按下OK。


接著會問你是不是要加載.bit檔。
這個問題會一直出現,因為有時燒錄不是只有燒進一個.bit檔,沒有需要的話,就只要按一次的Yes,之後按No。

其它的都只有一個「確定」或「OK」,就不介紹了!
接下來看到的畫面如下

這個視窗介紹一下。
簡單版,看見這畫面按iMPACT Process(左邊中間)的分割視窗,Generate File...
詳細介紹版:
視窗中間和右邊中間兩個區塊,是PROM File Formatter: SPI Flash Single FPGA
有一個「有±的slider 」這個區塊,是圖形化表示,你設定的PROM裝了多少的.bit,剩下多少空間,address都寫在上面,slider是View zoom
右邊的部份是圖形化表示,你有幾個.bit檔要燒進PROM中,PROM的大小也標示在上面。
確定之後,按下Generate File...

存放的路徑就是你剛剛設定的。

這樣就完成了.mcs檔的生成,這一步最重要的就是路徑要記好


第三步,進行Xilinx燒錄之....暫存燒錄

進行到「燒錄是不是要設定一個PROM(就可以燒進PROM裡啦),我們在這裡選No」,在這裡就要選Yes啦!

第四步,要燒錄啦~

之後,會跳出一個要你選.mcs的對話框,選好路徑和檔案按「OK」。
又跳出一個對話框 Select Attached SPI/BPI(在此的設定依硬體而異,並不是全部相同的設定唷)

  • 左邊選SPI PROM
  • 右邊上面選N25Q128 1.8/3.3V
  • 寬度選4(在此是要選擇和.bit檔相同寬度的設定)

按下OK

接下來設定每一組(剛剛有講,可以一次接很多個.bit檔)PROM及FPGA Device
在此的例子(也是我唯一的經驗)就是燒錄一組。
最主要的就是Device 1( Attached FLASH, N25Q128 )這裡的字因硬體而異。
右邊要打勾的選項,依序是
verify,燒錄完是否要確認內容正確性
Design-Spectific Erase Before Programming,燒錄前是否要抹除前設計。
After programming Flash...,燒錄之後....(算了,選default就好)
按下OK。

當然不是馬上SUCCESS,只是就可以看見這個畫面(沒有SUCCESS)
點一下FLASH→Program。(等很久)

最後就可以看見SUCCESS了!

如果出現問題
請務必檢查.mcs檔裡包的.bit檔,它的SPI BUS witdh的設定是不是和載入的時的設定一樣。

沒有留言:

張貼留言