2009年9月5日 星期六

SoC數位電路設計-使用Andes Core(5-5)FPGA腳位定義與燒錄

1. 開發環境:
(1). CPU: Andes RISC CPU core_N12.
(2). 平台: ADP-XC5FF676 V1.1.
(3). Linux OS: Ubuntu9.04.
(4). Toolchains: AndeSight v1.3.3 for Linux.
(5). Embedded Linux2.6.18
(6). Verilog IDE: Xilinx ISE 11.1.
2. 目的:
(1). 使用Xilinx ISE設計數位電路,點亮ADP-XC5實驗板上的7段顯示器.
(2). 使用Xilinx ISE定義腳位.
(3). 使用Xilinx ISE的iMPACT燒錄FPGA.
3. 實驗步驟:
使用Xilinx ISE設計數位電路:
(1). 開啟Xilinx ISE,使用滑鼠選擇〝File->New Project...〞開啟新的計畫,在〝Name〞欄填入計畫名稱後按〝Next>〞,其他如SoC數位電路設計-使用Andes Core(5-4)所述相同.
(2). 增加〝Verilog Module〞與〝Verilog Test Fixture〞和SoC數位電路設計-使用Andes Core(5-4)相同,完整程式如下所示,〝Simulate〞歨驟和SoC數位電路設計-使用Andes Core(5-4)也相同,結果如下圖所示.
這個程式非常簡單只是點亮ADP-XC5上的位置LED7的7段顯示器.
下載完整程式:
http://cid-b01cb9ac20175eaa.skydrive.live.com/self.aspx/EX%5E_2/EX%5E_2.zip

使用Xilinx ISE定義腳位:
定義腳位的方式有兩種;一為使用〝PlanAhead〞tools圖形介面擺放腳位,另一為直接使用〝文字編輯〞.
(1). 使用〝PlanAhead〞tools圖形介面擺放腳位:
A. 使用滑鼠點選〝I/O Pin Planning(PlanAhead)-Pre-Synthesis〞選項.B. 開啟PlanAhead tools.C. 點選〝Close〞關閉此視窗.D. 使用滑鼠拖拉子視窗〝I/O Ports〞腳位名稱至子視窗〝Package〞.E. 而在撰寫Verilog程式時所定義的IO,要放置FPGA實際腳位的哪一個位置,需對照實際ADP-XC5實際電路圖的Layout.F. 拖拉完畢後,按〝Save Project〞存檔,這時PlanAhead tools就會存入〝.ucf〞腳位設定檔.
(2). 使用〝文字編輯〞方式:
A. 使用滑鼠點選〝I/O Pin Planning(PlanAhead)-Pre-Synthesis〞選項,之後會在Top-level module下產生〝.ucf〞腳位設定檔,將〝PlanAhead〞tools關閉不使用這個工具做編輯,點選〝Edit Constraints(Text)〞開啟〝.ucf〞檔.B. 直接文字編輯,格式如下圖所示,下載完整程式內也包含〝.ucf〞檔,可直接加入計畫,電路圖參照(1).E.所示.C. 按〝Implement Top Module〞編譯.D. 按〝Yes〞,存檔後開始編譯,看是否有無撰寫錯誤.
使用Xilinx ISE的iMPACT燒錄FPGA:
FPGA燒錄檔有兩種:
A. 〝.bit〞燒錄時間較快,檔案燒錄後只會暫存,電源關閉後程式會消失,適合開發中的程式測試使用.
B. 〝.mcs〞燒錄至PROM,燒錄時間較久,但電源關閉後程式依然存在,適合已開發完成的程式.

(1). 〝.bit〞檔燒錄方式:
A. 〝.bit〞檔,在每次按〝Implement Top Module〞編譯成功後就會產生,因此按〝Manage Configuration Project(iMPACT)〞直接進入燒錄程序.
B. 按〝Launch Wizard〞.C. 選擇〝Configure devices using Boundary-Scan(JTAG)後按〝OK〞.D. 按〝Yes〞.E. 〝iMPACT〞要求選擇〝.mcs〞檔,這裡我們不是要燒錄此檔,按〝Bypass〞至下一歨驟.F. 〝iMPACT〞要求選擇〝.bit〞檔,點選計畫下的.bit〞燒錄檔,按〝Open〞,之後如果出現對話框按〝No〞.G. 勾選〝Load FPGA〞;〝Parallel Mode〞這二個選項,按〝OK〞.H. 點選下圖所示元件, 再按滑鼠右鍵,選擇〝Program〞開始燒錄.
注意: 燒錄前USB Cable需與ADP-XC5實驗板連接,請看附錄一.

I. 燒錄中.K. 燒錄成功,ADP-XC5位置LED7七段顯示器顯示〝8〞.
注意: 如果燒錄完後發現〝Program Failed〞可能是之前有燒錄〝.mcs〞與〝.nky〞檔,需將PROM做〝Erase〞,如附錄二所示.
(2). 〝.mcs〞檔燒錄方式:
A. 要燒錄〝.mcs〞檔前,需先產生〝.mcs〞檔, 〝Manage Configuration Project(iMPACT)〞直接進入燒錄程序.B. 按〝Launch Wizard〞.C. 勾選〝Prepare a PROM File〞.D. 按〝->〞符號至下一步驟.E. 選擇ADP-XC5實驗板上PROM型號,這裡選擇〝xcf32p〞.F. 按〝Add Storage Device〞.G. 按〝->〞符號至下一步驟.H. 修改〝Output File Name〞,也可以使用預設值,之後按〝OK〞.
I. 按〝OK〞.J. 選擇〝.bit〞檔,之後按〝Open〞.K. 按〝No〞,結束選擇.L. 按〝OK〞,開始產生〝.mcs〞檔.M. 成功產生〝.mcs〞檔,其餘燒錄步驟與〝.bit〞檔燒錄方式相同.附錄一:
(1). 拿到ADP-XC5實驗板可以看到為一個上下相同的疊板,〝下板〞FPGA內為〝Andes core N12〞,〝上板〞是要燒錄自己所撰寫的IP,中間是使用AHB bus(AMBA)連結.(2). 因為目前這個實驗只是要學習FPGA燒錄,因此先把上下板分離,〝下板〞如下圖所示,AHB bus為公座,FPGA內為〝Andes core N12〞,〝千萬不要燒錄或是移除內部的程式〞.(3). 下圖為〝上板〞,AHB bus為母座,FPGA就可以燒錄自己所設計的IP.(4). 將USB Cable與〝上板〞的位置〝J11〞連結, USB Cable的〝TMS〞pin接至〝J11 pin1〞.(5). 開啟電源,之後就可以操作iMPACT.
附錄二:
(1). 如果燒錄完後發現〝Program Failed〞可能是之前有燒錄〝.mcs〞與〝.nky〞檔,需將PROM做〝Erase〞.(2). 點選下圖所示元件,按滑鼠右鍵,選擇〝Erase〞.(3). 開始清除PROM資料. (4). 〝Erase〞成功,再繼續燒錄動作.


沒有留言:

張貼留言