Quartus-ll 采用三种方法实现 D 触发器功能仿真及时序波形仿真详细步骤
生活随笔
收集整理的這篇文章主要介紹了
Quartus-ll 采用三种方法实现 D 触发器功能仿真及时序波形仿真详细步骤
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
目錄
- 一、D觸發(fā)器簡介
- 二、創(chuàng)建D觸發(fā)器原理圖并仿真
- 2.1 新建工程
- 2.2 創(chuàng)建原理圖文件
- 2.3 編譯原理圖文件
- 2.4 創(chuàng)建 VWF 文件
- 2.5 波形仿真
- 三、調(diào)用D觸發(fā)器并仿真
- 3.1 新建工程
- 3.2 創(chuàng)建原理圖文件
- 3.3 編譯原理圖文件
- 3.4 創(chuàng)建 VWF 文件
- 3.5 波形仿真
- 四、用Verilog語言實現(xiàn)D觸發(fā)器并仿真
- 4.1 新建工程
- 4.2 編寫Verilog文件
- 4.3 使用Modelsim手動仿真
- 4.4 波形仿真
- 五、總結(jié)
- 六、參考資料
本文內(nèi)容:
1、在 Quartus-II 中自己用門電路設(shè)計一個D觸發(fā)器,并進(jìn)行仿真,時序波形驗證;
2、在 Quartus-II 中直接調(diào)用一個D觸發(fā)器電路,進(jìn)行仿真,時序波形驗證,與2做比較;
3、在 Quartus-II用Verilog語言寫一個D觸發(fā)器,進(jìn)行仿真驗證,與3做比較。
一、D觸發(fā)器簡介
- D觸發(fā)器是一個具有記憶功能的,具有兩個穩(wěn)定狀態(tài)的信息存儲器件,是構(gòu)成多種時序電路的最基本邏輯單元,也是數(shù)字邏輯電路中一種重要的單元電路。
- D觸發(fā)器(data flip-flop或delay flip-flop)由4個與非門組成,其中G1和G2構(gòu)成基本RS觸發(fā)器。
功能表:
| 0 | 時鐘上升沿 | 0 | 1 |
| 1 | 時鐘上升沿 | 1 | 0 |
| × | 0 | last Q | last QN |
| × | 1 | last Q | last QN |
時序圖:
二、創(chuàng)建D觸發(fā)器原理圖并仿真
2.1 新建工程
- 【File】→【New Project Wizard…】。
- 點擊【Next >】。
- 選擇工程保存路徑及工程名,然后點擊【Next >】。
- 這里是添加已有的工程設(shè)計文件,不需要添加,點擊【Next >】。
- 根據(jù)使用的 FPGA,進(jìn)行選擇芯片系列及類型,然后點擊【Next >】。
- 保持 Simulation 為 < None >,然后點擊【Next >】。
- 配置信息,點擊【Finish】。
2.2 創(chuàng)建原理圖文件
- 【File】→【New…】。
- 選擇【Block Diagram/Schematic File】,點擊【OK】。
- 點擊【插頭圖標(biāo)】彈出工具窗口,搜索元件,然后在圖紙上擺放:
- 4 個 nand2 與非門;
- 1 個 not 非門。
- 如下圖所示(Ctrl + 滾輪,可放大縮小):
- 添加兩個輸入管腳和兩個輸出管腳,雙擊 Pin Name 即可修改管腳名。
- 鼠標(biāo)左鍵按住連接管腳即可,完整圖如下:
- 保存電路圖。
2.3 編譯原理圖文件
- 啟動分析與綜合(全編譯)。
- 查看硬件電路圖:點擊【Tools】→【Netlist Viewers】→【RTL Viewer】。
- 結(jié)果如下:
2.4 創(chuàng)建 VWF 文件
- 點擊【File】→【New】,選擇【University Program VWF】。
- 選擇【Edit】→【Insert】→【Insert Node or Bus…】。
- 點擊【Node Finder…】,然后點擊【List】會羅列出四個管腳,點擊【>>】選擇全部,然后點擊【OK】,自動補全了【Name】,然后點擊【OK】。
- 編輯輸入 CLK,產(chǎn)生時鐘信號。
- 選中要修改的區(qū)域,然后雙擊,修改為 1 ,再點擊【OK】即可。
- 保存文件:【File】→【Save】。
2.5 波形仿真
功能仿真:
- 點擊【功能仿真按鈕——Run Functional Simulation】。
- 出現(xiàn)以下錯誤:
解決方法:
- 點擊【Tools】→【Lauch Simulation Library Compiler】。
- 選擇工程目錄下的 ...\simulation\qsim 文件夾,然后點擊【Start Compilation】。
- 無錯誤,然后點擊【Close】關(guān)閉窗口。
- 點擊【功能仿真按鈕——Run Functional Simulation】。
- 仿真結(jié)果如下(延遲了半個時鐘周期):
時序仿真:
- 主界面【Processing】→【Start】→【Start Fitter】。
- 點擊【Start TimeQuest Timing Analyzer】。
- 返回 VMF 文件界面:點擊【時序仿真按鈕——Run Timing Simulation】。
- 仿真結(jié)果(延遲一個時鐘周期):
三、調(diào)用D觸發(fā)器并仿真
3.1 新建工程
- 同第二部分一樣。
3.2 創(chuàng)建原理圖文件
- 同第二部分一樣。
- 這時,不再畫D觸發(fā)器的內(nèi)部結(jié)構(gòu)了,而是直接調(diào)用D觸發(fā)器,元件名:dff。
- 再添加輸入和輸出管腳。
3.3 編譯原理圖文件
- 同第二部分方法一樣。
- 先編譯,再查看硬件電路圖。
3.4 創(chuàng)建 VWF 文件
- 方法同第二部分一樣,
3.5 波形仿真
- 方法同第二部分一樣,先編譯一下,讓它報錯,再用解決方法。
- 功能仿真(只有半個時鐘周期的延遲):
- 時序仿真(有一個時鐘周期的延遲):
- 相較于第二部分,來說,使用現(xiàn)有的D觸發(fā)器會更加方便,繪圖少,但是對于D觸發(fā)器的內(nèi)部結(jié)構(gòu)來說不太清楚,最后仿真出來的結(jié)果也是一樣的。
四、用Verilog語言實現(xiàn)D觸發(fā)器并仿真
4.1 新建工程
- 方法同上。
4.2 編寫Verilog文件
- 【File】→【New】→【Verilog HDL File】。
- 復(fù)制粘貼如下代碼:
- 保存文件并編譯。
4.3 使用Modelsim手動仿真
- 打開 Modelsim 軟件。
- 具體步驟如下:
- 在Quartus創(chuàng)建的工程文件夾下新建一個 tb 文件夾;
- 點擊【File】→【Change Directory】選擇 tb 文件夾;
- 創(chuàng)建新項目:【File】→【New】→【Project…】,編寫工程名及選擇路徑;
- 添加現(xiàn)有文件:Add Existing File。
- 找到剛剛 Quatrus 編譯生成的 .v 文件,再點擊【OK】。
- 再創(chuàng)建一個新的文件。
- 然后關(guān)閉添加文件窗口界面。
- 再雙擊剛剛新建的 wave_b.v 文件,添加如下代碼:
- 然后保存。
- 點擊【編譯】按鈕,編譯所有文件。
4.4 波形仿真
- 點擊【Simulate】→【Start Simulation…】。
- 找到 wave_b.v 文件所在的工程(看路徑),取消勾選,點擊【OK】。
- 右鍵點擊工程名,再點擊【Add Wave】。
- 設(shè)置運行時長,再點擊旁邊的運行按鈕,即可出現(xiàn)仿真效果圖。
- 相較于第三部分的步驟,這個部分用到了 Modelsim 軟件,我個人覺得吧,這個軟件略微麻煩了一點點,但也還好,最后出來的仿真效果也是和前面兩個部分的相差無幾。
五、總結(jié)
- 就我個人來說,使用 Quartus 與 Modelsim 軟件來仿真電路,確實挺方便的,但是對于一竅不懂 Verilog 語言的人來說,使用原理圖仿真會方便得多,如果對 Verilog 語言較懂的人來說,當(dāng)遇到復(fù)雜繁雜的電路圖時,會更加的方便。
六、參考資料
[1] Quartus-II13.1三種方式實現(xiàn)D觸發(fā)器及時序仿真
[2] D觸發(fā)器_百度baike
[3] quartus值時序仿真出錯及解決
總結(jié)
以上是生活随笔為你收集整理的Quartus-ll 采用三种方法实现 D 触发器功能仿真及时序波形仿真详细步骤的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机房管理系列之杀毒服务器维护
- 下一篇: uni-app小程序 点击页面滚动到指定