• 沒有找到結果。

Quartus II 開發套件

第二章 FPGA 與 SOPC 發展平台介紹

2.2 軟體套件探討

2.2.1 Quartus II 開發套件

軟硬體的結合,對於 SoC (System-on-a-chip)設計是很繁雜的一個環節。設計 好的程式碼,必頇連結硬體設備。當中有許多相容性的問題,會造成產品開發的 時間無限延長。這些問題在早期皆是一點一滴拼湊出來,位址的配對,中斷的控 制,這些都是必頇在軟硬體之間做協調。現今的軟硬體結合,Altera 公司提供了 一個軟體,專為系統設計開發軟硬體結合的軟體套件 Quartus II。

圖 5 顯示 Quartus II 的操作介陎,開檔、建檔、撰寫程式等,皆是在此操作 介陎上做執行。本研究所使用的版本為 Quartus II 7.2 sp1 Web Edition [11],在網 路上可下載更多更新的版本[15],且提供更多不同的元件以供使用。由於系統的 整合中,有使用到早期的設計。因此若在不同版本間整合,會產生編譯的錯誤,

導致系統無法順利建置完成,在此提供參考。軟體設計套件包含了 SOPC Builder、

DSP Builder,並且還包含了模擬電路的功能,可以直接將此套件中所設計的電路,

模擬成時序圖後再作檢查,使得電路設計的傳遞流程,更容易被檢查驗證。另外,

Altera 公司亦提供一套 Nios II EDS,可供軟體開發,嵌入至硬體測詴的軟體。

圖 5 Quartus II 操作介陎

Quartus II 是一套專為系統層級開發的工具軟體。本研究是以 Verilog HDL [5]

撰寫的應用系統。Verilog HDL (Hardware Description Language)是一種硬體描述語 言,專為設計製作電路來描述 FPGA 的設計電路,寫法類似 C 程式語言,卻又有 許多不相同處。Verilog 在設計電路時,同步的概念影響很深,自定的參數不可同 時將值傳給兩個不同的暫存器。設計時必頇依照電路連接的概念去撰寫,電流導 通是依時脈前進,端口同步進行。因此如果同時傳送給兩個不同的暫存器,會產 生碰撞。所以不能像 C 程式語言的撰寫方式,必頇以電路的流通方式來撰寫。

圖 6 標準 CAD 編譯流程

CAD [4] (Computer Aided Design)軟體套件是利用編程的邏輯裝置

(Programmable logic device)去實踐電路設計。這個裝置在本研究中是利用 FPGA (Filed-Programmable gate array)去做編程,可以更快,且更有效率的將電路設計編 譯完成。Quartus II 中就是依照此流程,將所撰寫的電路設計做編譯與分析。

圖 6 為介紹 Quartus II 編譯流程的綱要。首先會對設計項目(Design Entry)做 導入,其項目可以利用 Quartus II 內建的方塊圖(Block Diagram),直接選取電路邏

輯。圖形介陎的方式選取所需要的邏輯,再做接線以完成的電路設計,也可以利 用硬體描述語言所建立的電路設計,譬如 Verilog 或是 VHDL。

導入設計項目後,將其設計合成(Synthesis)至 FPGA 晶片所提供的邏輯元件 中。這些被合成的元件,會經過功能模擬(Functional Simulation)去驗證這些功能 是否正確,但是並不會將時間計算加入模擬。倘若驗證成功,則會進入配置元件

(Fitting)。CAD 的配置工具會依對照表(netlist)將所驗證後的合成元件與 FPGA 內 的元件進行模擬配置,並且模擬配置線路連結所需要的特定元件。

線路配置完成後,再對設計的電路做時間分析(Timing Analysis) 。計算所設 計的電路中不同路徑的傳遞延遲時間,提供預期的電路效能。而後進行模擬

(Timing Simulation),會驗證配置的電路與時間的正確性,若驗證失敗則會產生錯 誤訊息。成功則會進行最後的步驟,進行編程與配置(Programming and

Configuration) 。將所設計的電路透過編程與配置交換,安置邏輯元件至實體的 FPGA 中,並建立必要的接線,已完成 CAD 流程。

研究中所設計的電路驅動,一樣也是透過 CAD 編程,將所撰寫的程式碼編 譯成邏輯電路,產生.sof 檔後,透過 Quartus II 內建的燒錄介陎進行下載。燒錄介 陎可以有多種選擇,其中包含 ByteBlaster [LPT1]、Master Blaster [COM1]、

EthernetBlaster。一般均使用 USB-Blaster [USB]做為下載工具,於 Quartus II 安裝 時,已將 USB-Blaster 的驅動同時安裝,DE2 開發板連結至已安裝 Quartus II 的電 腦時,即可自動偵測。

圖 7 顯示 Quartus II 的燒錄介陎,可將已編程後產生的檔如 DE2_LCM.sof 檔 下載至 DE2 開發板中。圖中 Hardware Setup 按鈕可以決定燒錄的介陎,在此是利 用 DE2 內含 USB-Blaster 做為燒錄的方式,USB-Blaster 的驅動可以在 Quartus II 的軟體安裝中找到。在這個介陎中,還可自行選擇欲下載的檔案,以方便系統的 建置安裝。另外,Quartus II 中還包含一套更方便的內建軟體 SOPC Builder,可將 系統更簡單的編製而成,下一節會做更詳盡的介紹。

圖 7 Quartus II 下載介陎