5.6? 編譯及仿真工程
5.6.1? 編譯
編譯的步驟如下。
(1)首先把頂層模塊設(shè)置為Top-Level Entry,如圖5.15所示。
(2)選擇“processing”菜單的“Start Compilation”選項(xiàng)進(jìn)行編譯,如圖5.16所示。
?????????????????????? ??????????? ? ?
??????????? ? ? ? ?? 圖5.15? 設(shè)置頂層模塊??????????????????????? 圖5.16? 開始編譯
(3)查看“message”欄中的錯(cuò)誤,改正直到?jīng)]有錯(cuò)誤為止。
圖5.17? 編譯無錯(cuò)誤
5.6.2? 仿真
可以使用Quartus II Simulator在工程中仿真任何設(shè)計(jì)。根據(jù)所需的信息類型,可以進(jìn)行功能仿真以測(cè)試設(shè)計(jì)的邏輯功能,也可以進(jìn)行時(shí)序仿真。在目標(biāo)器件中測(cè)試設(shè)計(jì)的邏輯功能和最壞情況下的時(shí)序,或者采用Fast Timing模型進(jìn)行時(shí)序仿真,在最快的器件速率等級(jí)上仿真盡可能快的時(shí)序條件。
下面是利用Quartus II Simulator進(jìn)行仿真的步驟。
(1)設(shè)置頂層模塊。
Quartus II軟件可以仿真整個(gè)設(shè)計(jì),也可以仿真設(shè)計(jì)的一部分。通過指定工程中的某一個(gè)設(shè)計(jì)實(shí)體為頂層設(shè)計(jì)實(shí)體,即可仿真該頂層實(shí)體及其所有附屬設(shè)計(jì)實(shí)體,如圖5.18所示。
(2)建立波形文件。
選擇新建其他文件對(duì)話框的“Vector Waveform File”建立.vmf文件,如圖5.19所示。
?????????????? ?????????????????
????????????? 圖5.18? 設(shè)置頂層模塊???????????????????????? ?圖5.19? 建立仿真波形文件
(3)添加觀察信號(hào)。
通過圖5.20~圖5.22向新建的波形文件添加觀察信號(hào)。
首先通過雙擊圖5.20的空白區(qū)域添加觀察信號(hào)。
然后在彈出的對(duì)話框中填寫要插入的信號(hào)名,如圖5.21所示。
?????????? 圖5.20? 在仿真界面中添加觀察信號(hào)????????????? 圖5.21? 插入信號(hào)對(duì)話框
也可以使用Node Finder選擇指定的信號(hào),如圖5.22所示。
(4)添加激勵(lì)。
通過拖曳波形,產(chǎn)生想要的激勵(lì)輸入信號(hào)??梢酝ㄟ^如圖5.23所示的工具條為波形圖添加信號(hào)。
?????????????? ?圖5.22? “Node Finder”對(duì)話框 ?????????? 圖5.23? 波形控制工具條
如圖5.24所示是添加激勵(lì)后的波形示例。
圖5.24? 波形示例
(5)功能仿真。
添加完激勵(lì)信號(hào)后,保存波形文件。選擇工具欄中“Simulator Tool”工具進(jìn)行仿真,如圖5.25所示。
首先做功能仿真,先單擊“Generate Functional Simulation Netlist”按鈕產(chǎn)生仿真需要的網(wǎng)表文件,然后把“Overwrite simulation input file with simulation result”選中(否則不能顯示仿真結(jié)果),單擊“Start”按鈕進(jìn)行仿真。
仿真完成后,單擊“Open”按扭打開仿真結(jié)果,如圖5.26所示。
(6)時(shí)序仿真。
功能仿真正確后,可以加入延時(shí)模型,進(jìn)行時(shí)序仿真。將Simulation mode選為Timing模式,如圖5.27所示。
?????????????? ??????????????????? ??????????????? ???? 圖5.25? “Simulation Tool”對(duì)話框????????????? 圖5.26? 仿真結(jié)果
????????????????????
??????????????????? 圖5.27? 仿真模式設(shè)置
仿真結(jié)束后,輸出的波形會(huì)出現(xiàn)延時(shí),如圖5.28所示。
圖5.28? 時(shí)序仿真結(jié)果的延時(shí)
???????????