日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Quartus-ll 采用三种方法实现 D 触发器功能仿真及时序波形仿真详细步骤

發布時間:2023/12/9 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Quartus-ll 采用三种方法实现 D 触发器功能仿真及时序波形仿真详细步骤 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 一、D觸發器簡介
  • 二、創建D觸發器原理圖并仿真
    • 2.1 新建工程
    • 2.2 創建原理圖文件
    • 2.3 編譯原理圖文件
    • 2.4 創建 VWF 文件
    • 2.5 波形仿真
  • 三、調用D觸發器并仿真
    • 3.1 新建工程
    • 3.2 創建原理圖文件
    • 3.3 編譯原理圖文件
    • 3.4 創建 VWF 文件
    • 3.5 波形仿真
  • 四、用Verilog語言實現D觸發器并仿真
    • 4.1 新建工程
    • 4.2 編寫Verilog文件
    • 4.3 使用Modelsim手動仿真
    • 4.4 波形仿真
  • 五、總結
  • 六、參考資料

本文內容:
1、在 Quartus-II 中自己用門電路設計一個D觸發器,并進行仿真,時序波形驗證;
2、在 Quartus-II 中直接調用一個D觸發器電路,進行仿真,時序波形驗證,與2做比較;
3、在 Quartus-II用Verilog語言寫一個D觸發器,進行仿真驗證,與3做比較。

一、D觸發器簡介

  • D觸發器是一個具有記憶功能的,具有兩個穩定狀態的信息存儲器件,是構成多種時序電路的最基本邏輯單元,也是數字邏輯電路中一種重要的單元電路。
  • D觸發器(data flip-flop或delay flip-flop)由4個與非門組成,其中G1和G2構成基本RS觸發器。

功能表:

DCLKQQN
0時鐘上升沿01
1時鐘上升沿10
×0last Qlast QN
×1last Qlast QN

時序圖:

二、創建D觸發器原理圖并仿真

2.1 新建工程

  • 【File】→【New Project Wizard…】。
  • 點擊【Next >】。
  • 選擇工程保存路徑及工程名,然后點擊【Next >】。
  • 這里是添加已有的工程設計文件,不需要添加,點擊【Next >】。
  • 根據使用的 FPGA,進行選擇芯片系列及類型,然后點擊【Next >】。
  • 保持 Simulation 為 < None >,然后點擊【Next >】。
  • 配置信息,點擊【Finish】。

2.2 創建原理圖文件

  • 【File】→【New…】。
  • 選擇【Block Diagram/Schematic File】,點擊【OK】。
  • 點擊【插頭圖標】彈出工具窗口,搜索元件,然后在圖紙上擺放:
    • 4 個 nand2 與非門;
    • 1 個 not 非門。
  • 如下圖所示(Ctrl + 滾輪,可放大縮小):
  • 添加兩個輸入管腳和兩個輸出管腳,雙擊 Pin Name 即可修改管腳名。
  • 鼠標左鍵按住連接管腳即可,完整圖如下:
  • 保存電路圖。

2.3 編譯原理圖文件

  • 啟動分析與綜合(全編譯)。

  • 查看硬件電路圖:點擊【Tools】→【Netlist Viewers】→【RTL Viewer】。
  • 結果如下:

2.4 創建 VWF 文件

  • 點擊【File】→【New】,選擇【University Program VWF】。
  • 選擇【Edit】→【Insert】→【Insert Node or Bus…】。
  • 點擊【Node Finder…】,然后點擊【List】會羅列出四個管腳,點擊【>>】選擇全部,然后點擊【OK】,自動補全了【Name】,然后點擊【OK】。

  • 編輯輸入 CLK,產生時鐘信號。
  • 選中要修改的區域,然后雙擊,修改為 1 ,再點擊【OK】即可。
  • 保存文件:【File】→【Save】。

2.5 波形仿真

功能仿真:

  • 點擊【功能仿真按鈕——Run Functional Simulation】。
  • 出現以下錯誤:

解決方法:

  • 點擊【Tools】→【Lauch Simulation Library Compiler】。
  • 選擇工程目錄下的 ...\simulation\qsim 文件夾,然后點擊【Start Compilation】。
  • 無錯誤,然后點擊【Close】關閉窗口。
  • 點擊【功能仿真按鈕——Run Functional Simulation】。
  • 仿真結果如下(延遲了半個時鐘周期):

時序仿真:

  • 主界面【Processing】→【Start】→【Start Fitter】。
  • 點擊【Start TimeQuest Timing Analyzer】。
  • 返回 VMF 文件界面:點擊【時序仿真按鈕——Run Timing Simulation】。
  • 仿真結果(延遲一個時鐘周期):

三、調用D觸發器并仿真

3.1 新建工程

  • 同第二部分一樣。

3.2 創建原理圖文件

  • 同第二部分一樣。
  • 這時,不再畫D觸發器的內部結構了,而是直接調用D觸發器,元件名:dff。
  • 再添加輸入和輸出管腳。

3.3 編譯原理圖文件

  • 同第二部分方法一樣。
  • 先編譯,再查看硬件電路圖。

3.4 創建 VWF 文件

  • 方法同第二部分一樣,

3.5 波形仿真

  • 方法同第二部分一樣,先編譯一下,讓它報錯,再用解決方法。
  • 功能仿真(只有半個時鐘周期的延遲):
  • 時序仿真(有一個時鐘周期的延遲):
  • 相較于第二部分,來說,使用現有的D觸發器會更加方便,繪圖少,但是對于D觸發器的內部結構來說不太清楚,最后仿真出來的結果也是一樣的。

四、用Verilog語言實現D觸發器并仿真

4.1 新建工程

  • 方法同上。

4.2 編寫Verilog文件

  • 【File】→【New】→【Verilog HDL File】。
  • 復制粘貼如下代碼:
//dwave是文件名 module dwave(d,clk,q);input d;input clk;output q;reg q;always @ (posedge clk)//我們用正的時鐘沿做它的敏感信號beginq <= d;//上升沿有效的時候,把d捕獲到qend endmodule
  • 保存文件并編譯。

4.3 使用Modelsim手動仿真

  • 打開 Modelsim 軟件。
  • 具體步驟如下:
  • 在Quartus創建的工程文件夾下新建一個 tb 文件夾;
  • 點擊【File】→【Change Directory】選擇 tb 文件夾;
  • 創建新項目:【File】→【New】→【Project…】,編寫工程名及選擇路徑;
  • 添加現有文件:Add Existing File。
  • 找到剛剛 Quatrus 編譯生成的 .v 文件,再點擊【OK】。
  • 再創建一個新的文件。
  • 然后關閉添加文件窗口界面。
  • 再雙擊剛剛新建的 wave_b.v 文件,添加如下代碼:
//測試代碼 `timescale 1ns / 1nsmodule dwave_tb;reg clk,d;wire q;dwave u1(.d(d),.clk(clk),.q(q));initialbeginclk = 1;d <= 0;foreverbegin#60 d <= 1;//人為生成毛刺 #22 d <= 0;#2 d <= 1;#2 d <= 0;#16 d <= 0;//維持16ns的低電平,然后讓它做周期性的循環endendalways #20 clk <= ~clk;//半周期為20ns,全周期為40ns的一個信號 endmodule
  • 然后保存。
  • 點擊【編譯】按鈕,編譯所有文件。

4.4 波形仿真

  • 點擊【Simulate】→【Start Simulation…】。
  • 找到 wave_b.v 文件所在的工程(看路徑),取消勾選,點擊【OK】。
  • 右鍵點擊工程名,再點擊【Add Wave】。
  • 設置運行時長,再點擊旁邊的運行按鈕,即可出現仿真效果圖。
  • 相較于第三部分的步驟,這個部分用到了 Modelsim 軟件,我個人覺得吧,這個軟件略微麻煩了一點點,但也還好,最后出來的仿真效果也是和前面兩個部分的相差無幾。

五、總結

  • 就我個人來說,使用 Quartus 與 Modelsim 軟件來仿真電路,確實挺方便的,但是對于一竅不懂 Verilog 語言的人來說,使用原理圖仿真會方便得多,如果對 Verilog 語言較懂的人來說,當遇到復雜繁雜的電路圖時,會更加的方便。

六、參考資料

[1] Quartus-II13.1三種方式實現D觸發器及時序仿真
[2] D觸發器_百度baike
[3] quartus值時序仿真出錯及解決

總結

以上是生活随笔為你收集整理的Quartus-ll 采用三种方法实现 D 触发器功能仿真及时序波形仿真详细步骤的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。