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

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

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

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

時序邏輯電路寄存器設(shè)計

冬至子 ? 來源:小小研究生 ? 作者:xxyjs2020 ? 2023-05-22 15:30 ? 次閱讀

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

前幾節(jié)都是組合邏輯電路,即輸出只與當前輸入有關(guān),而與電路原來的狀態(tài)無關(guān)。組合邏輯最大的缺點就是會存在 競爭冒險 ,使用時序邏輯就可以極大地避免這種問題,從而使系統(tǒng)更加穩(wěn)定。時序邏輯電路有記憶的功能,含有存儲電路。其輸出是輸入及輸出前一個時刻的狀態(tài)的函數(shù)。

這里引入了現(xiàn)態(tài)和次態(tài)的概念,現(xiàn)態(tài)是當前時刻的狀態(tài),表示為Qn,而次態(tài)表示輸入發(fā)生變化后其輸出的狀態(tài) ,表示為Qn+1。時序邏輯電路可以分為同步時序和異步時序,同步時序有統(tǒng)一的時鐘,而異步時序的觸發(fā)器狀態(tài)的變化不是同一時間發(fā)生的。

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

D觸發(fā)器

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

圖片

c8bcd947545e257672bec5980022173a_pYYBAGRrGa6AEfn1AABWKOJo8eg691.png

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

圖片

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

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

圖片

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

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

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

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

編寫代碼

同步復位的代碼

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


input wire sys_rst_n, //全局復位


 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

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

異步復位的代碼

module flip_flop
(
input wire sys_clk , //系統(tǒng)時鐘50Mh
input wire sys_rst_n , //全局復位
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為低電平時復位,且是檢測到sys_rst_n的下
 //降沿時立刻復位,不需等待sys_clk的上升沿來到后再復位
 led_out <= 1'b0;
 else
 led_out <= key_in;


 endmodule

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

我們采用同步復位來演示。將代碼綜合看RTL視圖

圖片

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

編寫testbench

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


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


 //sys_clk:模擬系統(tǒng)時鐘,每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 塊中時鐘信號用阻塞賦值=,其他信號用非阻塞賦值。初始時時鐘為高電平,復位為低電平,key_in無所謂,此時輸出不能確定。延時20ns后復位釋放,再延時210ns后再次復位, 這么做的目的是:由于時鐘周期是20ns(后面的代碼可以看出來),在時鐘下降沿復位可以觀察同步復位和異步復位的變化。同步復位要等時鐘上升沿才變化,異步復位是即刻復位。再延時40ns后再次復位釋放。

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

打印和實例化與之前的沒有區(qū)別。

對比波形

圖片

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

觀察一下異步復位

圖片

圖片

分配管腳

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

圖片

圖片

全編譯后上板驗證

用的異步復位,S0為key_in,S1為復位,LED0是輸出。當key_in不按時為高電平,燈也為高電平熄滅,當復位鍵按下時,即刻復位燈亮。當key_in按下去時為低電平燈亮。

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

    關(guān)注

    22

    文章

    1592

    瀏覽量

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

    關(guān)注

    31

    文章

    5336

    瀏覽量

    120231
  • D觸發(fā)器
    +關(guān)注

    關(guān)注

    3

    文章

    164

    瀏覽量

    47902
  • 組合邏輯電路
    +關(guān)注

    關(guān)注

    6

    文章

    70

    瀏覽量

    14649
  • dff
    dff
    +關(guān)注

    關(guān)注

    0

    文章

    26

    瀏覽量

    3417
收藏 人收藏

    評論

    相關(guān)推薦

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

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

    FPGA基礎(chǔ)學習筆記--時序邏輯電路-寄存器

    寄存器寄存器是D觸發(fā)集合,不過其有位寬,將前述D觸發(fā)語句改為 input D;outpu Q;改為input [7:0]D;outpu[7:0] Q;即構(gòu)成一個8b的異步復位
    發(fā)表于 03-05 14:09

    同步時序邏輯電路

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

    異步時序邏輯電路

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

    巧用Multisim9解決時序邏輯電路難題

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

    時序邏輯電路

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

    時序邏輯電路的主要故障分析

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

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

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

    時序邏輯電路由什么組成_時序邏輯電路特點是什么

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

    時序邏輯電路分為幾類

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

    組合邏輯電路時序邏輯電路的學習課件免費下載

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

    FPGA時序邏輯電路寄存器講解

    時序邏輯電路會復雜很多,強烈推薦mooc上華中科技大學的數(shù)字電路邏輯設(shè)計,是我看過講得最清楚的數(shù)電課。
    的頭像 發(fā)表于 05-14 15:11 ?2369次閱讀
    FPGA<b class='flag-5'>時序</b><b class='flag-5'>邏輯電路</b><b class='flag-5'>寄存器</b>講解

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

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

    寄存器屬于時序邏輯電路寄存器是什么邏輯電路

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

    時序邏輯電路包括什么器件組成

    當前的輸入信號,還取決于電路的歷史狀態(tài)。與組合邏輯電路不同,組合邏輯電路的輸出僅取決于當前的輸入信號,而時序邏輯電路的輸出則受到
    的頭像 發(fā)表于 07-30 15:02 ?869次閱讀
    主站蜘蛛池模板: 黄色三级视频在线| 叮当成人社区| 91福利潘春春在线观看| 51精品少妇人妻AV一区二区| 99热国产这里只有精品免费 | 色婷婷激婷婷深爱五月小蛇| 色中色入口2015| 亚洲国产成人综合| 欧美末成年videos在线| 久久全国免费观看视频| 男女疯狂一边摸一边做羞羞视频| 欧美亚洲日韩国产在线在线| 涩涩在线视频| 亚洲男人97色综合久久久| 最新中文字幕在线视频| xxx暴力xxx| 国产女合集小岁9三部| 久久偷拍vs国产在线播放| 欧美丰满白嫩bbxx| 同居了嫂子在线观看| 伊人久久青青草| xvideos中文版在线视频| 国产一卡 二卡三卡四卡无卡乱码视频| 国产亚洲精品AAAAAAA片| a在线观看视频| 一个人免费视频在线观看高清版| 日本免费一区二区三区四区五六区| 好男人免费观看在线高清WWW| 97超碰97资源在线观看| 又黄又肉到湿的爽文| 无修肉动漫在线观看影片| 欧美一区二区视频高清专区| 精品无码一区二区三区不卡| 国产免国产免费| 第一次破女视频出血视频| 永久免费在线观看视频| 亚洲精品视频免费在线观看| 叔叔 电影完整版免费观看韩国| 免费被靠视频动漫| 考试考90就可以晚上和老师C| 国产一区二区无码蜜芽精品|