2009年9月16日 星期三

SoC數位電路設計-使用Andes Core(2)ISE13安裝

1. 開發環境:
(1). Linux OS: Ubuntu10.04.
(2). Verilog IDE: Xilinx ISE 13.1.
2. 目的: 下載〝Xilinx ISE〞,這裡下載是選擇Linux 版本.
3. 實驗步驟:
安裝〝Xilinx ISE〞:
(1). 使用〝Terminal〞輸入〝tar xvf Xilinx_ISE_DS_Lin_13.1_O.40d.1.1.tar〞解壓縮.
(2). 輸入〝cd Xilinx_ISE_DS_Lin_13.1_O.40d.1.1〞至目錄下.(3). 輸入〝./xsetup〞開始安裝.(4). 使用滑鼠點選〝Next>〞.(5). 點選〝I accept and agree to the terms and conditions above〞再按〝Next>〞.(6). 點選〝I accept and agree to the terms and conditions above〞再按〝Next>〞.(7). 點選〝ISE WebPACK〞再按〝Next>〞.(8). 勾選〝Install Cable Drivers〞選擇安裝目錄,再按〝Next>〞.(9). 這裡直接使用ISE預設的目錄下,之後再按〝Next>〞,如果無法安裝請輸入〝sudo chmod –R 777 opt/〞將此目錄的權限開啟.(10). 按〝Install〞.(11). 開始安裝.(12). 按〝Next〞.(13). 按〝Connect Now〞.(14). 選擇〝Manage Xilinx License〞頁面,再選擇〝Copy License〞,選擇〝*.lic〞檔, 按〝Refresh〞,再按〝Close〞.(15). 輸入〝cd opt/Xilinx/13.1/ISE_DS/ISE/bin/lin/〞至目錄下, 再輸入〝./ise〞.(16). 開啟ISE IDE介面.



2009年9月15日 星期二

SoC數位電路設計-使用Andes Core(1)ISE13下載

1. 開發環境:
(1). Linux OS: Ubuntu10.04.
(2). Verilog IDE: Xilinx ISE 13.1.
2. 目的: 下載〝Xilinx ISE〞,這裡下載是選擇Linux 版本.
3. 實驗步驟:
(1). ISE下載可至http://www.xilinx.com/ 網站,使用滑鼠選擇ISE DESIGN SUITE 13.(2). 這裡我選擇下載Linux版本.(3). 輸入〝User ID〞與〝Password〞,按〝Sign In〞,如沒有申請過Password,請選擇〝Create Account〞填寫資料.(4). 確認自己的資料無誤,按〝Next〞.(5). 按〝OK〞下載.(6). 開始下載.


2009年9月6日 星期日

參考書籍-SoC數位電路設計

出版商:滄海書局
作者:陳朝烈等編著
ISBN:9789866507670
書號:EE0363

這本書所使用的開發板是虹晶科技的SoC開發板,上面是使用ARM core,不過拿來參考也是非常好用的書籍.

第二章節 系統晶片導論
稍微介紹了AMBA匯流排與SoC的架構與開發環境的安裝,書上的Linux OS使用CentOS,這個Linux作業系統的Kernel真的有點舊了,現在市佔率最高的就屬Ubuntu了,CentOS安裝到比較新的電腦上可能會發生驅動程式不支援的問題.

第三章節 以AHB匯流排包裝之矽智財
介紹AMBA下的AHB Bus,其實不管是使用哪一家的CPU core,這部份不會有太大的差異,所以可以依照書本上的範例,應用在各家的CPU Core上.

第四章節 矽智財快速包裝
介紹SoC的完整架構,不過各家的SoC Memory Mapping的位置會有些差異,這個章節也有介紹XILINX ISE IDE工具燒錄的步驟,就算是版本不同基本上步驟都是大同小異.

第五章 系統晶片嵌入式系統
介紹嵌入式Linux的使用,可能是其他介紹嵌入式Linux書太多,這個章節寫的比較簡單,BSP 與cross compilers,Debug tools都沒有什麼介紹.

第六章 高階矽智財設計範例
介紹SDRAM實際範例.

第七章 系統晶片整合除錯與驗證平台
基本Verilog描述的模擬波形的除錯.

第八章 電子系統層級驗證軟體工具
這部份與Andestech的AndeSELive的工具是相同的,不過元件的設計語言不同.

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