国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【FPGA】Verilog:時(shí)序電路 | 觸發(fā)器電路 | 上升沿觸發(fā) | 同步置位 | 異步置位

這篇具有很好參考價(jià)值的文章主要介紹了【FPGA】Verilog:時(shí)序電路 | 觸發(fā)器電路 | 上升沿觸發(fā) | 同步置位 | 異步置位。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言:本章內(nèi)容主要是演示Vivado下利用Verilog語言進(jìn)行電路設(shè)計(jì)、仿真、綜合和下載

示例:觸發(fā)器電路

??【FPGA】Verilog:時(shí)序電路 | 觸發(fā)器電路 | 上升沿觸發(fā) | 同步置位 | 異步置位?

  • 功能特性:?采用?Xilinx Artix-7 XC7A35T芯片?
  • 配置方式:USB-JTAG/SPI Flash
  • 高達(dá)100MHz 的內(nèi)部時(shí)鐘速度?
  • 存儲(chǔ)器:2Mbit SRAM ??N25Q064A SPI Flash(樣圖舊款為N25Q032A)
  • 通用IO:Switch :x8LED:x16Button:x5DIP:x8? ?通用擴(kuò)展IO:32pin
  • 音視頻/顯示:?7段數(shù)碼管:x8 VGA視頻輸出接口?Audio音頻接口?
  • 通信接口:UART:USB轉(zhuǎn)UART? ?Bluetooth:藍(lán)牙模塊?
  • 模擬接口:?DAC:8-bit分辨率? ?XADC:2路12bit 1Msps ADC

目錄

Ⅰ. 前置知識(shí)

0x00?利用7400搭建RS觸發(fā)器

0x01?D觸發(fā)器

0x02 帶復(fù)位的D觸發(fā)器

0x03?帶置位/復(fù)位的D觸發(fā)器

Ⅱ. Verilog實(shí)現(xiàn)

0x00?RS觸發(fā)器(上升沿觸發(fā))

0x01?D觸發(fā)器?(上升沿觸發(fā))

0x02?帶復(fù)位的D觸發(fā)器

0x03?同步置位/復(fù)位端口的上升沿?D?觸發(fā)器

0x04?異步置位/復(fù)位端口的上升沿?D?觸發(fā)器


Ⅰ. 前置知識(shí)

0x00?利用7400搭建RS觸發(fā)器

【FPGA】Verilog:時(shí)序電路 | 觸發(fā)器電路 | 上升沿觸發(fā) | 同步置位 | 異步置位

注意:

a、由于【FPGA】Verilog:時(shí)序電路 | 觸發(fā)器電路 | 上升沿觸發(fā) | 同步置位 | 異步置位?時(shí)觸發(fā)器輸出保持,因此若初始狀態(tài)【FPGA】Verilog:時(shí)序電路 | 觸發(fā)器電路 | 上升沿觸發(fā) | 同步置位 | 異步置位,仿真啟動(dòng)時(shí)會(huì)報(bào)錯(cuò)或狀態(tài)不定。

b、根據(jù)觸發(fā)器的定義,【FPGA】Verilog:時(shí)序電路 | 觸發(fā)器電路 | 上升沿觸發(fā) | 同步置位 | 異步置位應(yīng)互補(bǔ),因此【FPGA】Verilog:時(shí)序電路 | 觸發(fā)器電路 | 上升沿觸發(fā) | 同步置位 | 異步置位是非法狀態(tài)。

?得出RS觸發(fā)器的真值表如下:

輸 ???入

輸 ???出

【FPGA】Verilog:時(shí)序電路 | 觸發(fā)器電路 | 上升沿觸發(fā) | 同步置位 | 異步置位

【FPGA】Verilog:時(shí)序電路 | 觸發(fā)器電路 | 上升沿觸發(fā) | 同步置位 | 異步置位

【FPGA】Verilog:時(shí)序電路 | 觸發(fā)器電路 | 上升沿觸發(fā) | 同步置位 | 異步置位

Q

0

0

保持不變

0

1

1

0

1

0

0

1

1

1

1(0)

1(0)

0x01?D觸發(fā)器

?在數(shù)字電路中,D觸發(fā)器是最為簡(jiǎn)單也是最為常用的一種基本時(shí)序邏輯電路,它是構(gòu)成數(shù)字電路系統(tǒng)的基礎(chǔ)。

大體可分為如下幾類:基本的D觸發(fā)器;同步復(fù)位的D觸發(fā)器;異步復(fù)位的D觸發(fā)器;同步置位/復(fù)位的D觸發(fā)器;異步置位/復(fù)位的D觸發(fā)器。

設(shè)計(jì)上升沿觸發(fā)的D觸發(fā)器,即當(dāng)檢測(cè)到時(shí)鐘上升沿到來時(shí),觸發(fā)器根據(jù)真值表輸出:

觸發(fā)器

D

CP

Q

Q’

D

X

0

保持

保持

D

X

1

保持

保持

D

0

上升沿

0

1

D

1

上升沿

1

0

【FPGA】Verilog:時(shí)序電路 | 觸發(fā)器電路 | 上升沿觸發(fā) | 同步置位 | 異步置位

0x02 帶復(fù)位的D觸發(fā)器

在數(shù)字電路中,一種常見的帶有復(fù)位控制端口的上升沿D觸發(fā)器的功能表如表所示:

觸發(fā)器

R

D

CP

Q

Q’

D

0

X

上升沿(同步復(fù)位)

0

1

D

0

X

X(異步復(fù)位)

0

1

D

1

X

0

保持

保持

D

1

X

1

保持

保持

D

1

0

上升沿

0

1

D

1

1

上升沿

1

0

不難看出,同步復(fù)位意味著只有在時(shí)鐘信號(hào)的上升沿到來并且復(fù)位控制端口的信號(hào)有效時(shí),D觸發(fā)器才進(jìn)行復(fù)位操作,即將輸出端口Q的值置為邏輯0,而把輸出端口Q的值置為邏輯1;異步復(fù)位在于只要復(fù)位控制端口的信號(hào)有效,D觸發(fā)器就會(huì)立即進(jìn)行復(fù)位操作,這時(shí)的復(fù)位操作是與時(shí)鐘信號(hào)無關(guān)的。

【FPGA】Verilog:時(shí)序電路 | 觸發(fā)器電路 | 上升沿觸發(fā) | 同步置位 | 異步置位

0x03?帶置位/復(fù)位的D觸發(fā)器

帶有同步置位/復(fù)位端口的上升沿D觸發(fā)器的邏輯電路符號(hào)如圖所示:

【FPGA】Verilog:時(shí)序電路 | 觸發(fā)器電路 | 上升沿觸發(fā) | 同步置位 | 異步置位

它的功能表如表所示:

觸發(fā)器

S

R

D

CP

Q

Q’

D

1

0

X

上升沿(同步復(fù)位)

0

1

D

0

1

X

上升沿(同步復(fù)位)

1

0

D

1

1

X

0

保持

保持

D

1

1

X

1

保持

保持

D

1

1

0

上升沿

0

1

D

1

1

1

上升沿

1

0

不難看出,只有在時(shí)鐘信號(hào)的上升沿到來并且同步置位/復(fù)位端口的信號(hào)有效時(shí),D觸發(fā)器才可以進(jìn)行置位或者復(fù)位操作。

Ⅱ. Verilog實(shí)現(xiàn)

0x00?RS觸發(fā)器(上升沿觸發(fā))

設(shè)計(jì)代碼:

module?RS(clk,R,S,q,qb);
input?clk,R,S;
output?q,qb;
reg?q;
assign?qb=~q;
always@(posedge?clk)?
???case({R,S})
???????2&apos;b01:?q<=0;
???????2&apos;b10:?q<=1;
???????2&apos;b00:?q<=1&apos;bx;
???????endcase
endmodule

仿真代碼:

module?test();
????reg?clk,R,S;
????wire?q,qb;
???????RS?uut(
????????????.R(R),
????????????.S(S),
????????????.clk(clk),
????????????.q(q),
????????????.qb(qb)
????????????);?????initial
????????begin
????????????clk=0;
????????end
?????????
????always?#10?clk=~clk;?
????initial
????????begin
????????????R=0;S=0;
????????????#10?R=0;S=1;
????????????#20?R=1;S=0;
????????????#20?R=1;S=1;
????????????#20?$finish;
?????????end?
endmodule

仿真波形:

【FPGA】Verilog:時(shí)序電路 | 觸發(fā)器電路 | 上升沿觸發(fā) | 同步置位 | 異步置位

0x01?D觸發(fā)器?(上升沿觸發(fā))

設(shè)計(jì)文件:

module?async_rddf(clk,?d,q,qb);
input?clk,?d;
output?q,qb;
reg?q,qb;
always?@(posedge?clk)?begin
q<=d;?qb<=~d;
end
endmodule

仿真文件:

`timescale?1ns?/?1ns
module?test;
reg?clk;?reg?d;
wire?q;?wire?qb;
async_rddf?uut?(.clk(clk),?.d(d),?.q(q),?.qb(qb));
initial?begin
clk?=?0;
d?=?0;
#100;
end
always?#20?clk=~clk;
always?#30?d=~d;
endmodule

仿真波形:

【FPGA】Verilog:時(shí)序電路 | 觸發(fā)器電路 | 上升沿觸發(fā) | 同步置位 | 異步置位

0x02?帶復(fù)位的D觸發(fā)器

設(shè)計(jì)文件:

module?sync_rddf(clk,reset,d,q,qb);
input?clk,reset,d;
output?q,qb;
reg?q,qb;
always?@(posedge?clk)?begin
if(!reset)?begin
q<=0;
qb<=1;
end
else?begin
q<=d;
qb<=~d;
end
end
endmodule

仿真文件:

`timescale?1ns?/?1ns
module?test;
reg?clk;?reg?d;reg?reset;
wire?q;?wire?qb;
sync_rddf?uut?(.reset(reset),.clk(clk),?.d(d),?.q(q),?.qb(qb));
initial?begin
clk?=?0;
d?=?0;
reset?=?0;
#100;
end
always?#25?reset=~reset;
always?#20?clk=~clk;
always?#30?d=~d;
endmodule

仿真波形:

【FPGA】Verilog:時(shí)序電路 | 觸發(fā)器電路 | 上升沿觸發(fā) | 同步置位 | 異步置位

0x03?同步置位/復(fù)位端口的上升沿?D?觸發(fā)器

設(shè)計(jì)代碼:

module?sync_rsddf(clk,reset,set,d,q,qb);
input?clk,reset,set;
input?d;
output?q,qb;
reg?q,qb;
always?@(posedge?clk)?begin
if(!set?&&?reset)?begin
q<=1;
qb<=0;
end
else?if(set?&&?!reset)?begin
q<=0;
qb<=1;
end
else?begin
q<=d;
qb<=~d;
end
end
endmodule

仿真代碼:

`timescale?1ns?/?1ns
module?test;
reg?clk;?reg?d;reg?reset;reg?set;
wire?q;?wire?qb;
sync_rsddf?uut?(.set(set),.reset(reset),.clk(clk),?.d(d),?.q(q),?.qb(qb));
initial?begin
clk?=?0;
d?=?0;
reset?=?0;
set?=?0;
#100;
end
always?#25?reset=~reset;
always?#10?set=~set;
always?#20?clk=~clk;
always?#30?d=~d;
endmodule

仿真波形:

【FPGA】Verilog:時(shí)序電路 | 觸發(fā)器電路 | 上升沿觸發(fā) | 同步置位 | 異步置位

0x04?異步置位/復(fù)位端口的上升沿?D?觸發(fā)器

設(shè)計(jì)代碼:

module?set_D(clk,n_reset,n_set,d,q,qb);
input?clk,n_reset,n_set;
input?d;
output?q,qb;
reg?q,qb;
always?@(posedge?clk?or?negedge?n_reset?or?negedge?n_set)?
??begin
??if(!n_set?&&?n_reset)?
????begin
????q<=1;
????qb<=0;
????end
??else?if(n_set?&&?!n_reset)?
????begin
????q<=0;
????qb<=1;
????end
??else?
????begin
????q<=d;
????qb<=~d;
????end
??end
endmodule

仿真代碼:

module?sim_set_D();
reg?clk,n_reset,n_set;
reg?d;
wire?q,qb;
set_D?uu1(clk,n_reset,n_set,d,q,qb);
initial?{clk,n_reset,n_set,d}=4&apos;b0000;
always?#20?clk=~clk;
always?#40?n_reset=~n_reset;
always?#80?n_set=~n_set;
always?#30?d=~d;
endmodule

仿真波形:

【FPGA】Verilog:時(shí)序電路 | 觸發(fā)器電路 | 上升沿觸發(fā) | 同步置位 | 異步置位文章來源地址http://www.zghlxwxcb.cn/news/detail-510410.html

到了這里,關(guān)于【FPGA】Verilog:時(shí)序電路 | 觸發(fā)器電路 | 上升沿觸發(fā) | 同步置位 | 異步置位的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 硬件基礎(chǔ)-時(shí)序邏輯電路-觸發(fā)器畫波形圖問題解析

    硬件基礎(chǔ)-時(shí)序邏輯電路-觸發(fā)器畫波形圖問題解析

    本文章可能只適合軟件工程專業(yè)對(duì)于計(jì)算機(jī)硬件基礎(chǔ)。對(duì)于專業(yè)數(shù)電的朋友可能就是小巫見大巫了,筆者才疏學(xué)淺,僅供本專業(yè)基礎(chǔ)課程同學(xué)的參考,如有錯(cuò)誤希望大佬斧正! 先來看下下面這道題: 試畫出圖(a)所示電路中觸發(fā)器輸出Q1、Q2端的波形,CLK的波形如圖(b)所

    2024年02月02日
    瀏覽(17)
  • verilog 學(xué)習(xí)筆記 —— 時(shí)序邏輯 Sequential Logics (Latches and Flip-Flops 鎖存器和觸發(fā)器)

    verilog 學(xué)習(xí)筆記 —— 時(shí)序邏輯 Sequential Logics (Latches and Flip-Flops 鎖存器和觸發(fā)器)

    1.?D flip-flop D觸發(fā)器 2.?D flip-flop? D觸發(fā)器 3.?DFF with reset? 帶復(fù)位的D觸發(fā)器? 4. 帶復(fù)位值的D觸發(fā)器 5. DFF with asynchronous reset 帶異步復(fù)位功能的 D觸發(fā)器 6.?DFF with byte enable? ?帶位啟動(dòng)的觸發(fā)器 7.?D Latch? D鎖存器 8.?DFF ?9.?DFF ? 10.?DFF+gate ? 11.?Mux and DFF ? 12.?DFFs and gates ? 13

    2024年02月04日
    瀏覽(14)
  • 北郵22級(jí)信通院數(shù)電:Verilog-FPGA(9)第九周實(shí)驗(yàn)(2)實(shí)現(xiàn)下降沿觸發(fā)的JK觸發(fā)器(帶異步復(fù)位和置位功能)

    北郵22級(jí)信通院數(shù)電:Verilog-FPGA(9)第九周實(shí)驗(yàn)(2)實(shí)現(xiàn)下降沿觸發(fā)的JK觸發(fā)器(帶異步復(fù)位和置位功能)

    北郵22信通一枚~ 跟隨課程進(jìn)度更新北郵信通院數(shù)字系統(tǒng)設(shè)計(jì)的筆記、代碼和文章 持續(xù)關(guān)注作者 迎接數(shù)電實(shí)驗(yàn)學(xué)習(xí)~ 獲取更多文章,請(qǐng)?jiān)L問專欄: 北郵22級(jí)信通院數(shù)電實(shí)驗(yàn)_青山如墨雨如畫的博客-CSDN博客 ? 目錄 ?編輯 一.代碼部分 1.1 JK.v 1.2 JK_tb.v 二.仿真結(jié)果

    2024年02月05日
    瀏覽(24)
  • 【FGPA】Verilog:JK 觸發(fā)器 | D 觸發(fā)器 | T 觸發(fā)器 | D 觸發(fā)器的實(shí)現(xiàn)

    【FGPA】Verilog:JK 觸發(fā)器 | D 觸發(fā)器 | T 觸發(fā)器 | D 觸發(fā)器的實(shí)現(xiàn)

    0x00 JK 觸發(fā)器 JK 觸發(fā)器是 RS 觸發(fā)器和 T 觸發(fā)器的組合,有兩個(gè)輸入端 J 和 K,如果兩個(gè)輸入端都等于 1,則將當(dāng)前值反轉(zhuǎn)。 行為表

    2024年02月05日
    瀏覽(31)
  • 北郵22級(jí)信通院數(shù)電:Verilog-FPGA(11)第十一周實(shí)驗(yàn)(1)用JK觸發(fā)器實(shí)現(xiàn)8421碼十進(jìn)制計(jì)數(shù)器

    北郵22級(jí)信通院數(shù)電:Verilog-FPGA(11)第十一周實(shí)驗(yàn)(1)用JK觸發(fā)器實(shí)現(xiàn)8421碼十進(jìn)制計(jì)數(shù)器

    北郵22信通一枚~ 跟隨課程進(jìn)度更新北郵信通院數(shù)字系統(tǒng)設(shè)計(jì)的筆記、代碼和文章 持續(xù)關(guān)注作者 迎接數(shù)電實(shí)驗(yàn)學(xué)習(xí)~ 獲取更多文章,請(qǐng)?jiān)L問專欄: 北郵22級(jí)信通院數(shù)電實(shí)驗(yàn)_青山如墨雨如畫的博客-CSDN博客 目錄 一.代碼部分 1.1? JK_8421.v 1.2? JK_ff.v 1.3? debounce.v 二.管腳分配 三.實(shí)

    2024年02月05日
    瀏覽(22)
  • Verilog設(shè)計(jì)實(shí)現(xiàn)D觸發(fā)器與JK觸發(fā)器

    Verilog設(shè)計(jì)實(shí)現(xiàn)D觸發(fā)器與JK觸發(fā)器

    題目: ????????用Verilog實(shí)現(xiàn)以下電路: ????????????????1. 帶復(fù)位端的正邊沿觸發(fā)的D觸發(fā)器; ????????????????2.帶復(fù)位端的正邊沿觸發(fā)的JK觸發(fā)器。 包括sys_clk,復(fù)位信號(hào)sys_rst_n,輸入信號(hào)key_in以及輸出信號(hào)led_out; 采用行為級(jí)描述: testbench仿真代碼編寫:

    2024年04月28日
    瀏覽(33)
  • 數(shù)字電路和模擬電路-8觸發(fā)器

    數(shù)字電路和模擬電路-8觸發(fā)器

    前言: 掌握鎖存器原理及應(yīng)用 基本SR鎖存器 鐘控SR鎖存器 鐘控D鎖存器 鐘控D鎖存器的動(dòng)態(tài)參數(shù) 掌握觸發(fā)器原理及應(yīng)用 主從觸發(fā)器 維持阻塞觸發(fā)器 其它功能的觸發(fā)器 目錄 一、基本SR鎖存器 1、雙穩(wěn)態(tài)電路(Bistate Elements) 2、由或非門構(gòu)成的基本SR鎖存器 3、由與非門構(gòu)成的基

    2024年02月04日
    瀏覽(22)
  • Quartus 實(shí)現(xiàn) D 觸發(fā)器及時(shí)序仿真

    Quartus 實(shí)現(xiàn) D 觸發(fā)器及時(shí)序仿真

    目錄 Quartus 實(shí)現(xiàn) D 觸發(fā)器及時(shí)序仿真 一.Quartus 輸入原理圖及時(shí)序仿真 1.創(chuàng)建工程 2.創(chuàng)建方框文件 3.編譯原理圖文件 4.創(chuàng)建 vwm 格式波形文件 5.時(shí)序波形仿真 二.用 Verilog 語言實(shí)現(xiàn) D 觸發(fā)器及時(shí)序仿真 1.編寫Verilog 文件 2.查看生成的電路圖 3.利用 Verilog 語言編寫測(cè)試代碼實(shí)現(xiàn)時(shí)序

    2024年02月04日
    瀏覽(24)
  • Verilog D觸發(fā)器

    Verilog D觸發(fā)器

    D觸發(fā)器有數(shù)據(jù)、時(shí)鐘和RST輸入端以及Q和!Q兩個(gè)輸出端。在每一個(gè)時(shí)鐘的上升沿,輸出Q將與輸入的D鎖存,直到下一個(gè)時(shí)鐘上升沿到來才繼續(xù)鎖存當(dāng)前的D端數(shù)值!Q與Q的輸出結(jié)果 相反。圖1給出了D觸發(fā)器的符號(hào),圖二給出了D觸發(fā)器的電路,圖三給出了D觸發(fā)器的輸入/輸出時(shí)序

    2024年02月05日
    瀏覽(22)
  • 時(shí)序邏輯基礎(chǔ)之D觸發(fā)器&分頻器

    時(shí)序邏輯基礎(chǔ)之D觸發(fā)器&分頻器

    D觸發(fā)器原理如下 D觸發(fā)器模擬波形圖如下 由圖可知Q值不僅與D有關(guān),同時(shí)需要考慮到clk上升沿到來后有效 輸入一個(gè)時(shí)鐘信號(hào),將輸出的信號(hào)的時(shí)鐘周期變?yōu)檩斎胄盘?hào)的時(shí)鐘周期的N倍,我們將這種器件叫做N分頻器。 我們的目的是生成一個(gè)N分頻器,可以實(shí)現(xiàn)任意比例分頻。需

    2024年02月06日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包