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〞成功,再繼續燒錄動作.