Quartus 实现D触发器及仿真
Quartus 實現(xiàn)D觸發(fā)器及仿真
文章目錄
- Quartus 實現(xiàn)D觸發(fā)器及仿真
- 1. D觸發(fā)器
- 2. 創(chuàng)建D觸發(fā)器[原理圖](https://so.csdn.net/so/search?q=原理圖&spm=1001.2101.3001.7020)并仿真
- 2.1創(chuàng)建工程
- 2.2新建原理圖文件
- 2.3 編譯
- 2.4仿真波形圖
- 2.5 功能仿真
- 2.6 時序仿真
- 3. 調(diào)用D觸發(fā)器并仿真
- 3.1 創(chuàng)建工程
- 3.2 新建原理圖文件
- 3.3 編譯
- 3.4 仿真波形圖
- 4. 用Verilog語言實現(xiàn)D觸發(fā)器及時序仿真
- 4.1 創(chuàng)建工程
- 4.2 新建Verilog HDL 文件
- 4.3 編譯
- 4.4 仿真波形圖
- 5. 總結(jié)
- 6. 參考資料
1. D觸發(fā)器
D觸發(fā)器是一個具有記憶功能的,具有兩個穩(wěn)定狀態(tài)的信息存儲器件,是構(gòu)成多種時序電路的最基本邏輯單元,也是數(shù)字邏輯電路中一種重要的單元電路。
因此,D觸發(fā)器在數(shù)字系統(tǒng)和計算機(jī)中有著廣泛的應(yīng)用。觸發(fā)器具有兩個穩(wěn)定狀態(tài),即"0"和"1",在一定的外界信號作用下,可以從一個穩(wěn)定狀態(tài)翻轉(zhuǎn)到另一個穩(wěn)定狀態(tài)。
D觸發(fā)器有集成觸發(fā)器和門電路組成的觸發(fā)器。觸發(fā)方式有電平觸發(fā)和邊沿觸發(fā)兩種,前者在CP(時鐘脈沖)=1時即可觸發(fā),后者多在CP的前沿(正跳變0→1)觸發(fā)。
D觸發(fā)器的次態(tài)取決于觸發(fā)前D端的狀態(tài),即次態(tài)=D。因此,它具有置0、置1兩種功能。
對于邊沿D觸發(fā)器,由于在CP=1期間電路具有維持阻塞作用,所以在CP=1期間,D端的數(shù)據(jù)狀態(tài)變化,不會影響觸發(fā)器的輸出狀態(tài)。
D觸發(fā)器應(yīng)用很廣,可用做數(shù)字信號的寄存,移位寄存,分頻和波形發(fā)生器等等。
方程
功能表
| 0 | 時鐘上升沿 | 0 | 1 |
| 1 | 時鐘上升沿 | 1 | 0 |
| x | 0 | last Q | last QN |
| x | 1 | last Q | last QN |
時序圖
2. 創(chuàng)建D觸發(fā)器原理圖并仿真
2.1創(chuàng)建工程
File->New Project Wizard:
設(shè)置工程的存儲位置和項目名稱
選擇空項目
沒有要添加的文件,點擊next
選擇目標(biāo)芯片:cycloneIVE系列的EP4CE115F29C7
EDA Tool Setting設(shè)置,直接點擊next
檢測項目信息,點擊finish
此時界面上會出現(xiàn)頂層文件名和項目名:
2.2新建原理圖文件
打開QuartusII,選菜單“File”一“New”,在彈出的“New-”對話框中選擇“ Design Files” 的原理圖文件編輯輸入項“Block block diagram/schematic File"按"OK"后將打開原理圖編輯窗。
點擊按紐“ Symbol Tool”或直接雙擊原理圖空白處,從“ Symbol”窗中選擇
需要的符號,或者直接在“name”文本框中鍵入元件名
輸入nand2,右邊會出現(xiàn)對應(yīng)的兩輸入的與非門,依次添加4個與門nand2、1個非門not、兩個input、兩個output
可以按ctrl+鼠標(biāo)滾輪放大,更好連線
保存
2.3 編譯
進(jìn)行編譯,若無錯誤則可進(jìn)行下一步,若有錯進(jìn)行原理圖修改。
查看硬件電路圖:點擊【Tools】→【Netlist Viewers】→【RTL Viewer】。
2.4仿真波形圖
新建波形文件。如上面新建圖形文件的方法,從“file”中選擇“new”,然后從出現(xiàn)的對話框中選擇“university program VWF”。
輸入波形文件。在波形文件編輯器左端大片空白處雙擊,出現(xiàn)“insert node or bus”對話框,點擊“node finder”按鈕。如圖。
然后在隨后出現(xiàn)的“node finder”對話框中點擊“l(fā)ist”按鈕,則半加器中所有的輸入輸出引腳全部出現(xiàn)在對話框左邊。再在該界面上點擊“>>”,則把左邊所有的端口都選擇到右邊,進(jìn)入波形.
點擊兩次“OK”后,出現(xiàn)如圖的波形文件。
編輯輸入CLK,產(chǎn)生時鐘信號
輸入D設(shè)置低電平和高電平
保存文件:【File】→【Save】。
2.5 功能仿真
進(jìn)行相關(guān)設(shè)置:
點擊功能仿真編譯按鈕:
如果出現(xiàn)下面的錯誤
Tools -> Options -> General -> EDA Tool Options
仿真結(jié)果如下:
可以看到每次D輸入發(fā)生變化時,在下一個上升沿Q輸出會跟著發(fā)生變化。
2.6 時序仿真
點擊時序仿真按鈕會報錯:
進(jìn)行相關(guān)設(shè)置:
主界面Processing→Start→Start Fitter
無報錯:
點擊Start TimeQuest Timing Analyzer
無報錯:
返回VMF界面,再次點擊時序仿真按鈕
輸出變化延遲了一個時鐘
3. 調(diào)用D觸發(fā)器并仿真
3.1 創(chuàng)建工程
與上面創(chuàng)建工程一致
注意工程名不能與用到的器件名相同,如dff等。
3.2 新建原理圖文件
方法同新建原理圖文件一致
直接調(diào)用dff模塊
加入輸入輸出
3.3 編譯
保存并編譯,然后查看原理圖:
3.4 仿真波形圖
具體步驟與2.4 仿真波形圖相同。
結(jié)果如下:
功能仿真:
在下個上升沿輸出改變。
時序仿真:
延后一個時鐘周期。
4. 用Verilog語言實現(xiàn)D觸發(fā)器及時序仿真
4.1 創(chuàng)建工程
與上面創(chuàng)建工程一致
4.2 新建Verilog HDL 文件
File→New→Verilog HDL File
編寫代碼:
module Vdcfq (D,CLK,Q);input D;input CLK;output reg Q;always @ (posedge CLK)//我們用正的時鐘沿做它的敏感信號beginQ <= D;//上升沿有效的時候,把d捕獲到qend endmodule4.3 編譯
硬件電路圖
4.4 仿真波形圖
功能仿真:
時序仿真:
與前面的波形相同。
5. 總結(jié)
第一種方式可以直接看到D觸發(fā)器內(nèi)部結(jié)構(gòu),清楚明了的了解觸發(fā)器的原理。
第二種直接調(diào)用的方法十分的簡單方便,但是只能通過名字知道它是什么,其內(nèi)部對應(yīng)我們來說是個黑盒,不利于了解其是實現(xiàn)的。
第三種Verilog語言編寫,由我們寫出D觸發(fā)器的工作原理,軟件直接生成器件。
通過這三種方法實現(xiàn)D觸發(fā)器,我們可以發(fā)現(xiàn)D觸發(fā)器的基本功能是輸入發(fā)生改變后,在時鐘上升沿時改變輸出的信號。
6. 參考資料
Quartus II實現(xiàn)D觸發(fā)器及時序仿真_WOOZI9600L2的博客-CSDN博客_quartus 時序圖
總結(jié)
以上是生活随笔為你收集整理的Quartus 实现D触发器及仿真的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Quartus仿真步骤
- 下一篇: 软件工程第一次实验