Altera公司在Quartus II 11.0 之后推出了Qsys集成開發工具從開始流程上看,與之前的SOPC builder沒有太大的區別,但是在實際開發中有很多的不同點,Qsys取代SOPC builder也將成為一個趨勢。Quartus II 11.0版本還沒有取消SOPC builder,不過取消了之前版本的快捷方式,取而代之的是Qsys快捷方式,具體在菜單Tool->SOPC builder啟動。
Qsys系統集成工具自動生成互聯邏輯,連接知識產權(IP)功能和子系統,從而顯著節省了時間,減輕了FPGA設計工作量。Qsys是下一代SOPC Builder工具,在FPGA優化芯片網絡(NoC)新技術支持下,與SOPC Builder相比,提高了性能,增強了設計重用功能,更迅速的進行驗證。
Qsys優點 |
Qsys優勢 |
加速開發 |
|
更快的時序收斂 |
|
更快的完成驗證 |
|
以下將通過一個在DE2-70開發板的一個例子敘述Qsys的開發過程:
1、 新建工程qsys_test,選擇EP2C70F896C6芯片。
2、 打開Qsys,系統默認添加了clk模塊,這和SOPC builder有很大的區別。往系統中添加系統需要的模塊,存儲器SDRAM,還有用來連接外部的PIO端口,不同模塊的連接都采用新的方式,需要仔細的研究,在System菜單中選擇自動分配地址等,系統構架圖如圖1所示。
圖1 Qsys系統構架圖
需要注意的一點就是Qsys生成頂層文件的方式和SOPC builder不一樣,所以如果模塊有Conduit接口的都要在click to export點擊,如圖2示,否則在Generate之后再HDL example界面將看不到這些接口,而只會出現clk和reset接口。我們也注意到在系統默認clk的Export欄目是有默認值的。
圖2 Conduit接口修改
1、 修改完畢,系統無錯誤提示之后,設置Project Settings設置Clock crossing adapter type中設置類型,一共有3種類型:Handshake、FIFO和Auto,這3中分別有不同的含義,大體如下:
Handshake:采用簡單的握手協議處理跨時鍾域數據傳輸,在這種模式下耗用的資源比較少,適用於數據吞吐量比較少時的情況;
FIFO:采用了雙時鍾的FIFO做同步處理,這種模式下可以處理吞吐量比較大的數據傳輸,但是總體延時是Handshake的兩倍,適用於吞吐量比較大的存儲器映射的數據傳輸;
Auto:這種模式下同時采用Handshake和FIFO方式的連接,在突發連接中使用FIFO方式,其它情況下使用Handshake方式。
本案例選擇Auto模式,如圖3示:
圖3 Project Settings設置
4、Generation菜單中進行,仿真設置,默認狀態下是None,這個根據自己的需要來設置就可以,設置完畢之后點擊Generate,如圖4所示
5、復制頂層文件
Qsys生成模塊成功之后頂層文件有專門的標簽下點擊copy來復制,這個和SOPC builder生成硬件描述語言文件不同,本例子的頂層文件如圖5所示。
回到Quartus II,新建系統頂層文件,給Qsys系統生成的模塊端口賦值,完成之后編譯,編譯通過編譯之后配置引腳再編譯
至此,項目的硬體開發部分已經全部完成,下面將進入軟體Nios II 11.0 IDE開發階段。
7、使用Nios II 11.0 Software Build Tools for Eclipse進入工程目錄,如圖7所示。
新建工程,選擇Hello World模板,選擇何種模板根據系統需求來定。
Altera公司Qsys網址:
http://www.altera.com.cn/products/software/quartus-ii/subscription-edition/qsys/qts-qsys.html