色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA時(shí)序邏輯電路寄存器講解

CHANBAEK ? 來(lái)源:小小研究生 ? 作者:xxyjs2020 ? 2023-05-14 15:11 ? 次閱讀

數(shù)電基礎(chǔ)

時(shí)序邏輯電路會(huì)復(fù)雜很多,強(qiáng)烈推薦mooc上華中科技大學(xué)的數(shù)字電路與邏輯設(shè)計(jì),是我看過(guò)講得最清楚的數(shù)電課。

前幾節(jié)都是組合邏輯電路,即輸出只與當(dāng)前輸入有關(guān),而與電路原來(lái)的狀態(tài)無(wú)關(guān)。 組合邏輯最大的缺點(diǎn)就是會(huì)存在 競(jìng)爭(zhēng)冒險(xiǎn) ,使用時(shí)序邏輯就可以極大地避免這種問(wèn)題,從而使系統(tǒng)更加穩(wěn)定。 時(shí)序邏輯電路有記憶的功能,含有存儲(chǔ)電路。 其輸出是輸入及輸出前一個(gè)時(shí)刻的狀態(tài)的函數(shù)。 這里引入了現(xiàn)態(tài)和次態(tài)的概念,現(xiàn)態(tài)是當(dāng)前時(shí)刻的狀態(tài),表示為Qn,而次態(tài)表示輸入發(fā)生變化后其輸出的狀態(tài) ,表示為Qn+1。 時(shí)序邏輯電路可以分為同步時(shí)序和異步時(shí)序,同步時(shí)序有統(tǒng)一的時(shí)鐘,而異步時(shí)序的觸發(fā)器狀態(tài)的變化不是同一時(shí)間發(fā)生的。

時(shí)序邏輯最基本的單元就是寄存器,寄存器具有存儲(chǔ)功能,一般是由D觸發(fā)器構(gòu)成,由時(shí)鐘脈沖控制,每個(gè)D觸發(fā)器(DFF)能夠存儲(chǔ)一位二進(jìn)制碼。

D觸發(fā)器

D觸發(fā)器是一種最簡(jiǎn)單的觸發(fā)器。 D觸發(fā)器的特點(diǎn)是:在時(shí)鐘上升沿時(shí),次態(tài)=輸入D,在時(shí)鐘處于高電平或低電平時(shí),次態(tài)保持不變。 用表格表示:

D 時(shí)鐘 Qn Qn+1
0 上升沿觸發(fā) 0/1 0
1 上升沿觸發(fā) 0/1 1
X 0/1 Qn Qn

同步復(fù)位的D觸發(fā)器

當(dāng)時(shí)鐘的上升沿到來(lái)時(shí),檢測(cè)到按鍵的復(fù)位操作才有效,否則無(wú)效。 clk是時(shí)鐘,rst_n是復(fù)位鍵(低電平有效),在前兩條虛線中,key_in在時(shí)鐘上升沿變?yōu)?,但是led_out不能立刻改變,而是在下一個(gè)時(shí)鐘上升沿時(shí)變?yōu)閗ey_in(Qn+=D)。 key_in的抖動(dòng)也不會(huì)影響到led_out。 注意 :第五條虛線,sys_rst_n被拉低后led_out沒(méi)有立刻復(fù)位變?yōu)?,而是當(dāng)syc_clk的上升沿到來(lái)的時(shí)候(第六條虛線)led_out才復(fù)位成功,在復(fù)位釋放的時(shí)候也是相同原因(第七條虛線)。

同步復(fù)位的D觸發(fā)器

異步的意思是和工作時(shí)鐘不同步,只要有檢測(cè)到按鍵被按下,就立刻執(zhí)行復(fù)位操作。 第五條虛線,sys_rst_n被拉低后led_out立刻變?yōu)?,沒(méi)有等時(shí)鐘上升沿,復(fù)位釋放時(shí)需要等待時(shí)鐘上升沿才會(huì)為key_in。

同步和異步復(fù)位的D觸發(fā)器區(qū)別只在于復(fù)位時(shí)需不需要等時(shí)鐘上升沿。 他們的共同點(diǎn)是對(duì)于電路中產(chǎn)生的毛刺有著極好的屏蔽作用。

設(shè)計(jì)規(guī)劃

本例中我們的目標(biāo)和(一)中一樣,點(diǎn)亮一個(gè)LED燈。 但是這里使用的D觸發(fā)器,當(dāng)按鍵被按下,key_in=0作為輸入給觸發(fā)器的D端口,然后在時(shí)鐘上升沿時(shí)會(huì)被傳送給輸出led_out=0使LED燈被點(diǎn)亮。

編寫(xiě)代碼

同步復(fù)位的代碼

module flip_flop
(
input wire sys_clk , //系統(tǒng)時(shí)鐘50Mh


input wire sys_rst_n, //全局復(fù)位


 input wire key_in , 


 output reg led_out 
 );
 always@(posedge sys_clk) 
 if(sys_rst_n == 1'b0) 
 led_out <= 1'b0; 
 else
 led_out <= key_in;
 endmodule

同步復(fù)位的特點(diǎn)是,復(fù)位時(shí)要等待上升沿,因此需要在上升沿時(shí)檢測(cè)復(fù)位狀態(tài),這樣就能保證復(fù)位信號(hào)在上升沿時(shí)才有效。 使用always語(yǔ)句,時(shí)鐘上升沿時(shí)執(zhí)行塊中的判斷語(yǔ)句,當(dāng)復(fù)位信號(hào)為低電平時(shí),LED燈點(diǎn)亮,否則,將key_in賦給led_out。 (四)中提到**always 時(shí)序邏輯塊中多用非阻塞賦值<=。 **

異步復(fù)位的代碼

module flip_flop
(
input wire sys_clk , //系統(tǒng)時(shí)鐘50Mh
input wire sys_rst_n , //全局復(fù)位
input wire key_in , 
output reg led_out 
);


 always@(posedge sys_clk or negedge sys_rst_n)
 if(sys_rst_n == 1'b0)//sys_rst_n為低電平時(shí)復(fù)位,且是檢測(cè)到sys_rst_n的下
 //降沿時(shí)立刻復(fù)位,不需等待sys_clk的上升沿來(lái)到后再?gòu)?fù)位
 led_out <= 1'b0;
 else
 led_out <= key_in;


 endmodule

異步復(fù)位的特點(diǎn)是,復(fù)位時(shí)不需要等待上升沿。 當(dāng)電路發(fā)生always語(yǔ)句()中的變化時(shí),執(zhí)行always塊,由于復(fù)位不需要等待上升沿,這里發(fā)生變化的條件就包含時(shí)鐘上升和復(fù)位有效。 當(dāng)時(shí)鐘上升或復(fù)位有效時(shí),執(zhí)行判斷語(yǔ)句,如果復(fù)位鍵為低電平則LED輸出低電平點(diǎn)亮,否則將key_in的值賦給led_out。

我們采用同步復(fù)位來(lái)演示。 將代碼綜合看RTL視圖

如果復(fù)位鍵為低電平,那么復(fù)位有效,0被傳給觸發(fā)器并輸出,如果復(fù)位鍵為高電平,那么key_in的值被傳給觸發(fā)器并輸出,與我們的設(shè)計(jì)含義一致。

編寫(xiě)testbench

`timescale 1ns/1ns
module tb_flip_flop();
reg sys_clk ;
reg sys_rst_n ;
reg key_in ;
wire led_out ;


 //初始化系統(tǒng)時(shí)鐘、全局復(fù)位和輸入信號(hào)
 initial begin
 sys_clk = 1'b1; 
 sys_rst_n <= 1'b0; 
 key_in <= 1'b0; 
 #20
 sys_rst_n <= 1'b1; //初始化20ns后,復(fù)位釋放
 #210
 sys_rst_n <= 1'b0; //為了觀察同步復(fù)位和異步復(fù)位的區(qū)別
 sys_rst_n <= 1'b1; //復(fù)位40ns后再次讓復(fù)位釋放掉
 end


 //sys_clk:模擬系統(tǒng)時(shí)鐘,每10ns電平翻轉(zhuǎn)一次,周期為20ns,頻率為50MHz
 always #10 sys_clk = ~sys_clk; 
 always #20 key_in <= {$random} % 2; 


 //------------------------------------------------------------
 initial begin
 $timeformat(-9, 0, "ns", 6);
 $monitor("@time %t: key_in=%b led_out=%b", $time, key_in, led_out);
 end
 //------------------------------------------------------------


 //------------------flip_flop_inst-------------------
 flip_flop flip_flop_inst
 (
 .sys_clk (sys_clk ), //input sys_clk
 .sys_rst_n (sys_rst_n ), //input sys_rst_n
 .key_in (key_in ), //input key_in
 .led_out (led_out ) //output led_out
 );


 endmodule

初始化:initial 塊中時(shí)鐘信號(hào)用阻塞賦值=,其他信號(hào)用非阻塞賦值。 初始時(shí)時(shí)鐘為高電平,復(fù)位為低電平,key_in無(wú)所謂,此時(shí)輸出不能確定。 延時(shí)20ns后復(fù)位釋放,再延時(shí)210ns后再次復(fù)位, 這么做的目的是:由于時(shí)鐘周期是20ns(后面的代碼可以看出來(lái)),在時(shí)鐘下降沿復(fù)位可以觀察同步復(fù)位和異步復(fù)位的變化。 同步復(fù)位要等時(shí)鐘上升沿才變化,異步復(fù)位是即刻復(fù)位。 再延時(shí)40ns后再次復(fù)位釋放。

模擬時(shí)鐘:每隔10ns翻轉(zhuǎn)一次,周期為20ns。 模擬按鍵輸入:每隔20ns產(chǎn)生一個(gè)0或1的隨機(jī)數(shù)。 時(shí)間間隔應(yīng)該小于等于時(shí)鐘周期,否則會(huì)產(chǎn)生毛刺。

打印和實(shí)例化與之前的沒(méi)有區(qū)別。

對(duì)比波形

同步復(fù)位電路:最開(kāi)始的輸出不確定,20ns-210ns間,Qn+1=D,發(fā)現(xiàn)輸出與上一時(shí)刻的輸入相同,這是D觸發(fā)器的特征,210ns時(shí)復(fù)位有效,但是同步復(fù)位要等下一個(gè)時(shí)鐘上升沿,輸出才會(huì)為0。 250ns復(fù)位釋放,等到時(shí)鐘上升沿260ns之后,輸出才變?yōu)樯弦粫r(shí)刻的輸入。

觀察一下異步復(fù)位

分配管腳

不同開(kāi)發(fā)板的管腳設(shè)置不同,需要看用戶手冊(cè)的介紹。 這里時(shí)鐘周期是20ns,也就是50MHz的時(shí)鐘晶振,選擇E1管腳。

全編譯后上板驗(yàn)證

用的異步復(fù)位,S0為key_in,S1為復(fù)位,LED0是輸出。 當(dāng)key_in不按時(shí)為高電平,燈也為高電平熄滅,當(dāng)復(fù)位鍵按下時(shí),即刻復(fù)位燈亮。 當(dāng)key_in按下去時(shí)為低電平燈亮。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1630

    文章

    21786

    瀏覽量

    605068
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5363

    瀏覽量

    120915
  • 時(shí)序邏輯電路
    +關(guān)注

    關(guān)注

    2

    文章

    94

    瀏覽量

    16571
  • 時(shí)序
    +關(guān)注

    關(guān)注

    5

    文章

    392

    瀏覽量

    37381
  • 數(shù)電
    +關(guān)注

    關(guān)注

    15

    文章

    63

    瀏覽量

    30016
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    數(shù)字電路設(shè)計(jì)之同步時(shí)序邏輯電路

    了解嗎? (1)純組合邏輯電路的缺點(diǎn)在哪? (3)純組合邏輯電路完成不了什么功能? (2)為什么需要時(shí)鐘和寄存器呢? 帶著這三個(gè)疑問(wèn)我們來(lái)認(rèn)識(shí)一下時(shí)序
    的頭像 發(fā)表于 12-25 14:39 ?5369次閱讀
    數(shù)字<b class='flag-5'>電路</b>設(shè)計(jì)之同步<b class='flag-5'>時(shí)序</b><b class='flag-5'>邏輯電路</b>

    fpga時(shí)序邏輯電路的分析和設(shè)計(jì)

    fpga時(shí)序邏輯電路的分析和設(shè)計(jì) 時(shí)序邏輯電路的結(jié)構(gòu)及特點(diǎn)時(shí)序
    發(fā)表于 06-20 11:18

    同步時(shí)序邏輯電路

    同步時(shí)序邏輯電路:本章系統(tǒng)的講授同步時(shí)序邏輯電路的工作原理、分析方法和設(shè)計(jì)方法。從同步時(shí)序邏輯電路
    發(fā)表于 09-01 09:06 ?0次下載

    異步時(shí)序邏輯電路

    異步時(shí)序邏輯電路:本章主要從同步時(shí)序邏輯電路與異步時(shí)序邏輯電路狀態(tài)改變方式不同的特殊性出發(fā), 系
    發(fā)表于 09-01 09:12 ?0次下載

    巧用Multisim9解決時(shí)序邏輯電路難題

    摘要:文章介紹了Multisim9仿真軟件在數(shù)字電子技術(shù)中時(shí)序邏輯電路中的應(yīng)用,從時(shí)序邏輯電路分析、計(jì)數(shù)
    發(fā)表于 05-30 08:21 ?73次下載

    時(shí)序邏輯電路

    數(shù)字邏輯電路邏輯功能和電路組成的特點(diǎn)可分為組合邏輯電路時(shí)序邏輯電路兩大類。
    發(fā)表于 08-10 11:51 ?39次下載

    時(shí)序邏輯電路的主要故障分析

    時(shí)序邏輯電路其任一時(shí)刻的輸出不僅取決于該時(shí)刻的輸入,而且還與過(guò)去各時(shí)刻的輸入有關(guān)。常見(jiàn)的時(shí)序邏輯電路有觸發(fā)、計(jì)數(shù)
    發(fā)表于 04-09 16:00 ?6416次閱讀
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>邏輯電路</b>的主要故障分析

    時(shí)序邏輯電路分析有幾個(gè)步驟(同步時(shí)序邏輯電路的分析方法)

    分析時(shí)序邏輯電路也就是找出該時(shí)序邏輯電路邏輯功能,即找出時(shí)序
    發(fā)表于 01-30 18:55 ?12.7w次閱讀
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>邏輯電路</b>分析有幾個(gè)步驟(同步<b class='flag-5'>時(shí)序</b><b class='flag-5'>邏輯電路</b>的分析方法)

    時(shí)序邏輯電路由什么組成_時(shí)序邏輯電路特點(diǎn)是什么

    本文開(kāi)始介紹了時(shí)序邏輯電路的特點(diǎn)和時(shí)序邏輯電路的三種邏輯器件,其次介紹了時(shí)序
    發(fā)表于 03-01 10:53 ?11.1w次閱讀
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>邏輯電路</b>由什么組成_<b class='flag-5'>時(shí)序</b><b class='flag-5'>邏輯電路</b>特點(diǎn)是什么

    時(shí)序邏輯電路分為幾類

    時(shí)序邏輯電路是由組合邏輯電路與記憶電路(又稱存儲(chǔ)電路) 組合而成的。 常見(jiàn)時(shí)序
    的頭像 發(fā)表于 02-26 15:25 ?5.1w次閱讀

    時(shí)序邏輯電路的學(xué)習(xí)教程課件免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是時(shí)序邏輯電路的學(xué)習(xí)教程課件免費(fèi)下載包括了:1 雙穩(wěn)態(tài)觸發(fā),2 寄存器,3 計(jì)數(shù),4 555定時(shí)
    發(fā)表于 10-11 16:48 ?11次下載
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>邏輯電路</b>的學(xué)習(xí)教程課件免費(fèi)下載

    組合邏輯電路時(shí)序邏輯電路的學(xué)習(xí)課件免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是組合邏輯電路時(shí)序邏輯電路的學(xué)習(xí)課件免費(fèi)下載包括了:任務(wù)一 組合邏輯電路,任務(wù)二 編碼,任務(wù)三 譯碼
    發(fā)表于 10-27 15:58 ?31次下載
    組合<b class='flag-5'>邏輯電路</b>和<b class='flag-5'>時(shí)序</b><b class='flag-5'>邏輯電路</b>的學(xué)習(xí)課件免費(fèi)下載

    時(shí)序邏輯電路有哪些 時(shí)序邏輯電路和組合邏輯電路區(qū)別

    時(shí)序邏輯電路是一種能夠存儲(chǔ)信息并根據(jù)時(shí)鐘信號(hào)按照特定順序執(zhí)行操作的電路。它是計(jì)算機(jī)硬件中非常重要的一部分,用于實(shí)現(xiàn)存儲(chǔ)時(shí)序控制
    的頭像 發(fā)表于 02-06 11:18 ?1.1w次閱讀

    寄存器屬于時(shí)序邏輯電路寄存器是什么邏輯電路

    成部分之一。 寄存器屬于時(shí)序邏輯電路時(shí)序邏輯電路是指其輸出狀態(tài)不僅依賴于當(dāng)前的輸入,還依賴于過(guò)去的輸入和時(shí)鐘信號(hào)的變化。在
    的頭像 發(fā)表于 02-18 09:37 ?1727次閱讀

    時(shí)序邏輯電路包括什么器件組成

    當(dāng)前的輸入信號(hào),還取決于電路的歷史狀態(tài)。與組合邏輯電路不同,組合邏輯電路的輸出僅取決于當(dāng)前的輸入信號(hào),而時(shí)序邏輯電路的輸出則受到
    的頭像 發(fā)表于 07-30 15:02 ?1336次閱讀
    主站蜘蛛池模板: 久久久国产精品免费A片3D| 国产人妻精品午夜福利免费不卡 | 中文字幕在线观看国产| 尤蜜网站在线进入免费| 在线免费观看国产精品| 亚洲精品久久久无码| 一二三四中文字幕在线看| 美女脱三角裤| 青娱乐国产精品视频| 偷拍 自怕 亚洲 在线| 亚洲精品中文字幕在线| 最近2018年手机中文字幕| jaPanesmature儿母| 中文有码中文字幕免费视频| 甜宠溺H宝贝嗯撞PLAY啊| 亚洲免费三区| 91极品蜜桃臀在线播放| 成人性生交大片免费看中文| 国产精品亚洲AV色欲在线观看| 丰满老熟女白浆直流| 国产亚洲精品久久久无码狼牙套| 国产精品一区二区AV97| 精品国产乱码久久久人妻| 免费女人光着全身网站| 视频一区二区中文字幕| 一区二区三区无码被窝影院| FREECHINESE东北群交| 国产日韩精品一区二区三区在线| 国产色青青视频在线观看| 久久a在线视频观看| 秋霞电影网午夜鲁丝片| 日本妈妈在线观看中文字幕| 午夜影院c绿象| 2021国产精品国产精华| 97色伦图区97色伦综合图区| 国产AV精品白浆一区二| 亚洲男人97色综合久久久| 亚洲黄色网页| 99久久精品国产交换| 国产精品亚洲视频在线观看| 老牛天天晚上夜噜噜噜|