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

Quartus實現(xiàn)寄存器:同步復位+異步復位

這篇具有很好參考價值的文章主要介紹了Quartus實現(xiàn)寄存器:同步復位+異步復位。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、Visio圖示

quartus無法實現(xiàn)復位操作,fpga開發(fā)
圖1 寄存器輸入輸出引腳
quartus無法實現(xiàn)復位操作,fpga開發(fā)
圖2 輸入為高電平-例1

同步復位和異步復位都存在于時序邏輯中,與組合邏輯相比對毛刺有屏蔽作用。
quartus無法實現(xiàn)復位操作,fpga開發(fā)
圖3 組合邏輯和時序邏輯的區(qū)別

當復位為高電平時,組合邏輯的結(jié)果是其輸入,時序邏輯的輸出需參考上升沿,此時紅色虛線處的key_in為高電平,故時序邏輯的輸出仍為高電平,這就解釋了為什么時序邏輯與組合邏輯相比對毛刺有屏蔽作用。
quartus無法實現(xiàn)復位操作,fpga開發(fā)
圖4 時序邏輯延遲一個周期
quartus無法實現(xiàn)復位操作,fpga開發(fā)
圖5 輸入為高低電平交錯-例2

二、代碼

1. rtl代碼

代碼如下(示例):

module flip_flop
(
input wire sys_clk,//時鐘信號頻率50MHz
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;//輸出0
    else//復位信號高電平無效
        led_out<=key_in;//輸入賦值給輸出 */
//異步復位
always@(posedge sys_clk or negedge sys_rst_n)
    if(sys_rst_n==1'b0)//復位信號低有效
        led_out<=1'b0;//輸出0
    else//復位信號無效
        led_out<=key_in;//輸入賦值給輸出
endmodule

同步復位:當時鐘為上升沿時,如果復位信號是0,則低電平有效,此時輸出為0;當復位信號是1,則高電平無效,此時輸出與輸入一致。
異步復位:當時鐘為上升沿或復位為下降沿時,如果復位信號是0,此時輸出為0;當復位信號是1時,此時輸出與輸入一致。

2.RTL Viewer

quartus無法實現(xiàn)復位操作,fpga開發(fā)
圖6 同步復位RTL Viewer圖示
quartus無法實現(xiàn)復位操作,fpga開發(fā)
圖7 異步復位RTL Viewer圖示

3.測試文件

代碼如下(示例):

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

initial
    begin
        sys_clk=1'b1;
        sys_rst_n<=1'b0;
        key_in<=1'b0;//高低都行,這里是低
        #20//延遲20個時間單位,即20ns
        sys_rst_n<=1'b1;//復位信號低電平有效,先拉低,復位完成后再拉高,系統(tǒng)才能正常工作
        #210//在下降沿進行復位
        sys_rst_n<=1'b0;
        #40
        sys_rst_n<=1'b1;//觀察同步復位和異步復位的區(qū)別
    end
        
always #10 sys_clk=~sys_clk;//每隔10ns反轉(zhuǎn)一次,即一個時鐘周期20ns,為50MHz

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 flip_flop_inst
(
.sys_clk  (sys_clk),
.sys_rst_n(sys_rst_n),
.key_in   (key_in),
.led_out  (led_out) 
);
   
endmodule

三、仿真結(jié)果

根據(jù)上面的代碼仿真出的結(jié)果比較全局,沒有圖5所示復位全是高電平,此時將測試文件中的key_in不設置取余,而設置為1’b1,即高電平即可。

quartus無法實現(xiàn)復位操作,fpga開發(fā)
圖8 同步復位仿真結(jié)果

分析參考線,即229.95ns到270ns的情況:

同步復位:左側(cè)參考線處復位信號為0,但此時時鐘是下降沿,所以輸出延遲到時鐘在下一個上升沿時為0;右側(cè)參考線處復位信號為1,此時時鐘是下降沿,故輸出延遲到下一個上升沿才與輸入一致。

quartus無法實現(xiàn)復位操作,fpga開發(fā)
圖9 異步復位仿真結(jié)果

異步復位:左側(cè)參考線處復位信號為0,此時時鐘是下降沿,但復位是下降沿,故輸出立刻變?yōu)?;右側(cè)參考線處復位信號為1,時鐘是下降沿,復位信號是上升沿,故故輸出延遲到下一個上升沿才與輸入一致。文章來源地址http://www.zghlxwxcb.cn/news/detail-768942.html

到了這里,關于Quartus實現(xiàn)寄存器:同步復位+異步復位的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領支付寶紅包贊助服務器費用

相關文章

  • 4.3 移位寄存器的實現(xiàn)和應用

    4.3 移位寄存器的實現(xiàn)和應用

    在數(shù)字電路中,移位寄存器(英語:shift register)是一種在若干相同時間脈沖下工作的以觸發(fā)器為基礎的器件,數(shù)據(jù)以并行或串行的方式輸入到該器件中,然后每個時間脈沖依次向左或右移動一個比特,在輸出端進行輸出。這種移位寄存器是一維的,事實上還有多維的移位寄存

    2024年02月10日
    瀏覽(24)
  • Verilog基礎之十一、移位寄存器實現(xiàn)

    Verilog基礎之十一、移位寄存器實現(xiàn)

    目錄 一、前言 二、工程設計 ?2.1 工程代碼 2.2 綜合結(jié)果 2.3 仿真結(jié)果 ????移位寄存器SRL在工程中屬于使用頻率較高個模塊,可用于存儲數(shù)據(jù),實現(xiàn)串并轉(zhuǎn)換;根據(jù)數(shù)據(jù)移動方向可分為左移寄存器,右移寄存器,左移是向數(shù)據(jù)高位移動,右移是向數(shù)據(jù)低位移動。? 工程中包

    2024年02月11日
    瀏覽(25)
  • 使用FPGA實現(xiàn)桶形移位寄存器

    使用FPGA實現(xiàn)桶形移位寄存器

    我給大家介紹的是邏輯/算術左移移位寄存器。實現(xiàn)的功能是根據(jù)輸入信號shift將輸入信號進行移位,高位移除,低位補0。我建立的工程是由3個獨立的桶形移位寄存器組成的。 library ieee; use ieee.std_logic_1164.all; entity barrel is? ?? ?port( inp : in std_logic_vector(7 downto 0); ?? ??? ??

    2024年04月29日
    瀏覽(33)
  • 實驗四 用集成移位寄存器實現(xiàn)序列檢測器

    實驗四 用集成移位寄存器實現(xiàn)序列檢測器

    一、實驗要求 用移位寄存器和與非門設計一個 1101 序列檢測器。電路連續(xù)不停地工作,對 串行輸入的序列進行檢測,當連續(xù)檢測 4 個碼元符合檢測碼 1101 時,檢測器輸出 為 1 ,指示燈亮,其他情況下輸出為 0 ,指示燈滅。 二、實驗設備 1 . Mini-FPGA 開發(fā)板( Cyclone IV 系列

    2024年02月03日
    瀏覽(20)
  • 實驗二 CPU 部件實現(xiàn)之 ALU 和寄存器堆

    實驗二 CPU 部件實現(xiàn)之 ALU 和寄存器堆

    ?1.1設計要求 理解和掌握 CPU 中的算術邏輯運算部件(ALU)和寄存器堆(Register File)的工作原理,并使用 Verilog 和 ModelSim 進行設計和仿真。 1. 使用 Verilog 完成 ALU 的設計,并編寫測試仿真文件驗證其正確性。要求: ALU 支持 16 位的加、減、與、或以及移位運算。 2. 使用 Veril

    2024年02月01日
    瀏覽(21)
  • Verilog 實現(xiàn)偽隨機數(shù)生成器(線性反饋移位寄存器)

    Verilog 實現(xiàn)偽隨機數(shù)生成器(線性反饋移位寄存器)

    參考文獻1 不簡單的進行移位,而是在移位的基礎上加上異或門,如題目所示,這就相當于每進行一次移位,寄存器中的值會發(fā)生改變,一直移動,一直改變,就形成了偽隨機數(shù)。

    2024年02月09日
    瀏覽(27)
  • 【Verilog編程】線性反饋移位寄存器(LFSR)原理及Verilog代碼實現(xiàn)

    【Verilog編程】線性反饋移位寄存器(LFSR)原理及Verilog代碼實現(xiàn)

    移位寄存器 :指若干個寄存器排成一列,每個寄存器中存放1bit二進制數(shù)據(jù)(0或1),每個時鐘周期向左或向右移動一個bit。下圖所示為一個向右移動的移位寄存器。 反饋移位寄存器(Feedback Shift Register,F(xiàn)SR) :每個時鐘脈沖,移位寄存器向右移動一位,則移位寄存器的左左側(cè)就

    2024年02月15日
    瀏覽(20)
  • m基于FPGA的桶形移位寄存器verilog實現(xiàn),包含testbench

    m基于FPGA的桶形移位寄存器verilog實現(xiàn),包含testbench

    目錄 1.算法仿真效果 2.算法涉及理論知識概要 2.1、桶形移位寄存器的基本原理 2.2、桶形移位寄存器的數(shù)學模型 2.3、桶形移位寄存器的實現(xiàn)步驟 3.Verilog核心程序 4.完整算法代碼文件 本系統(tǒng)進行了兩個平臺的開發(fā),分別是: Vivado2019.2 Quartusii18.0+ModelSim-Altera 6.6d ?Starter Edition 其

    2024年02月04日
    瀏覽(30)
  • 【理解ARM架構(gòu)】操作寄存器實現(xiàn)UART | 段的概念 | IDE背后的命令

    【理解ARM架構(gòu)】操作寄存器實現(xiàn)UART | 段的概念 | IDE背后的命令

    ??作者:一只大喵咪1201 ??專欄:《理解ARM架構(gòu)》 ??格言: 你只管努力,剩下的交給時間! UART的全稱是Universal Asynchronous Receiver and Transmitter,即異步發(fā)送和接收。 串口在嵌入式中用途非常的廣泛,主要的用途有: 打印調(diào)試信息; 外接各種模塊:GPS、藍牙; 串口因為結(jié)構(gòu)

    2024年02月05日
    瀏覽(23)
  • java集成mqtt、rabbitmq服務遠程連接數(shù)dtu實現(xiàn)寄存器rtu數(shù)據(jù)讀寫

    java集成mqtt、rabbitmq服務遠程連接數(shù)dtu實現(xiàn)寄存器rtu數(shù)據(jù)讀寫

    數(shù)據(jù)采集及寫入流程設計圖 一、硬件設備 硬件設備與原有設備保持不變通過配置dtu設備進行mqtt穿透功能進行數(shù)據(jù)交互 1、dtu配置詳解: 1.1 dtu工具 本項目使用塔石TAS-LTE-364支持4G無線dtu模塊,下載安裝塔石物聯(lián)網(wǎng)廠家提供的串口測試程序Tool V2.7.1 D20220616.exe 1.2打開程序選擇對

    2024年02月03日
    瀏覽(26)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領取紅包

二維碼2

領紅包