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

【FPGA】時(shí)序邏輯電路——基于計(jì)數(shù)器實(shí)現(xiàn)一個(gè)以1秒頻率閃爍的LED燈

這篇具有很好參考價(jià)值的文章主要介紹了【FPGA】時(shí)序邏輯電路——基于計(jì)數(shù)器實(shí)現(xiàn)一個(gè)以1秒頻率閃爍的LED燈。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

時(shí)序邏輯電路 計(jì)數(shù)器的實(shí)現(xiàn)

1 D觸發(fā)器

【FPGA】時(shí)序邏輯電路——基于計(jì)數(shù)器實(shí)現(xiàn)一個(gè)以1秒頻率閃爍的LED燈

分析:

特性:輸出端Q只在CK處于上升沿的時(shí)候變化

圖中波形的形成過(guò)程:

  • 當(dāng)D處于高電平時(shí),CK未處于上升沿時(shí),Q仍處于低電平

  • 當(dāng)CK來(lái)到上升沿,Q需要根據(jù)D發(fā)生變化,由于D是高電平,所以Q要從低電平變化成高電平

  • D從高電平變化成低電平,但是此時(shí)CK未來(lái)到上升沿,所以Q不隨著D變化(雖然D變了,Q仍保持剛剛的狀態(tài)——存儲(chǔ)功能)

  • CK來(lái)到上升沿,此時(shí)D又恢復(fù)了高電平,所以Q不變

2 計(jì)數(shù)器

原理:加法器基本結(jié)構(gòu)圖

【FPGA】時(shí)序邏輯電路——基于計(jì)數(shù)器實(shí)現(xiàn)一個(gè)以1秒頻率閃爍的LED燈

這樣就能實(shí)現(xiàn) 每一個(gè)時(shí)序上升沿,計(jì)數(shù)器結(jié)果都加1

今天我們的任務(wù)是
設(shè)計(jì)一個(gè)以1秒頻率閃爍的LED燈(亮滅各500ms)

怎么知道500ms亮,500ms滅呢?

  • 我們就需要一個(gè)計(jì)數(shù)器,計(jì)數(shù)到什么時(shí)候到了500ms

  • 時(shí)鐘的頻率我們?cè)O(shè)置為50MHz 20ns,也就是兩個(gè)上升沿(一個(gè)周期)的時(shí)間是20ns

  • 每到一個(gè)上升沿,計(jì)數(shù)器的值加一次

  • 由于500ms亮和滅,所以我們需要計(jì)數(shù)器計(jì)數(shù) 500ms/20ns = 25000000次

  • 而一個(gè)四位計(jì)數(shù)器肯定計(jì)數(shù)不了這么多的值,那么需要多少位呢?

【FPGA】時(shí)序邏輯電路——基于計(jì)數(shù)器實(shí)現(xiàn)一個(gè)以1秒頻率閃爍的LED燈

  • 源代碼
module led_flash(
    clk,
    reset_n,//reset是復(fù)位信號(hào),  _n 表示低電平有效,也就是低電平時(shí)復(fù)位
    led
    );
    
   input clk;
   input reset_n;
   output reg led;
   
   reg [24:0] counter;//25位計(jì)數(shù)器
   
   always@(posedge clk or negedge reset_n)  //當(dāng)clk處于上升沿或者reset處于下降沿的時(shí)候下面的代碼就生效
   if(!reset_n) // if(reset_n == 0)
        counter <= 0;  // <= 是非阻塞賦值的意思
    else if (counter == 2500_0000) //-1)
        counter <= 0;
   else
        counter <= counter + 1'd1;
        
        
  //需要讓 led 燈每500ms翻轉(zhuǎn)一次
   always@(posedge clk or negedge reset_n)  
   if(!reset_n) 
        led <= 0;
    else if (counter == 2500_0000) //-1)  要減1
        led <= !led; //翻轉(zhuǎn)

endmodule

仿真代碼

`timescale 1ns / 1ps

module led_flash_tb(

    );
    reg clk;
    reg reset_n;
    wire led;
    
    led_flash UUT(
        .clk(clk),
        .reset_n(reset_n),
        .led(led)
        );
    
    initial clk = 1;
    always #10 clk =! clk; 
    
    initial begin 
        reset_n = 0;
        #201; //避開上升沿 
        reset_n = 1;
        #20_0000_0000;   // 2s
    end
    
endmodule

  • 仿真

從仿真的結(jié)果看

比預(yù)想的500ms 多了 20ns

原因是這里如果想計(jì)數(shù)2500_0000次,應(yīng)該寫2499_9999

【FPGA】時(shí)序邏輯電路——基于計(jì)數(shù)器實(shí)現(xiàn)一個(gè)以1秒頻率閃爍的LED燈

這里以計(jì)數(shù)到4為例,如果要計(jì)數(shù)到4的話,實(shí)際上不是計(jì)數(shù)了4次,而是5次

  • 0-1
  • 1-2
  • 2-3
  • 3-4
  • 4-0

所以應(yīng)該改為 2500_0000-1

改過(guò)之后 就可以了文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-491074.html

改過(guò)之后 就可以了

到了這里,關(guān)于【FPGA】時(shí)序邏輯電路——基于計(jì)數(shù)器實(shí)現(xiàn)一個(gè)以1秒頻率閃爍的LED燈的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(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)文章

  • (數(shù)字邏輯筆記)用Verilog實(shí)現(xiàn)4位計(jì)數(shù)器。(時(shí)序邏輯)

    (數(shù)字邏輯筆記)用Verilog實(shí)現(xiàn)4位計(jì)數(shù)器。(時(shí)序邏輯)

    實(shí)驗(yàn)描述: 輸入: Clock:如果計(jì)數(shù)器enable信號(hào)為1,那么在時(shí)鐘上升沿,count加1 Enable:如果enable為1,那么在時(shí)鐘上升沿,count加1;如果enable為0,count保持不變 Reset:重置信號(hào),如果reset為0,count重置為0 輸出: Count[3:0]:4位計(jì)數(shù)信號(hào),范圍:4‘b0000 – 4’b1111 實(shí)現(xiàn)代碼: Tes

    2024年02月11日
    瀏覽(21)
  • OUC數(shù)字邏輯Verilog實(shí)驗(yàn)二 用Verilog實(shí)現(xiàn)4位計(jì)數(shù)器(時(shí)序邏輯)

    OUC數(shù)字邏輯Verilog實(shí)驗(yàn)二 用Verilog實(shí)現(xiàn)4位計(jì)數(shù)器(時(shí)序邏輯)

    clk為模擬的脈沖,reset為重置信號(hào),如果reset為0,則把init的值作為初始值賦值給out,enable為使能端,如果enable為1,則在上升沿根據(jù)mode的值,如果mode為1,為加計(jì)數(shù),mode為0,為減計(jì)數(shù)。 仿真圖像中, 第1個(gè)脈沖,reset為0,為out賦值輸入的初始值0010。 第2~6個(gè)脈沖,enable為1,

    2024年01月17日
    瀏覽(25)
  • 【FPGA】Verilog:計(jì)數(shù)器 | 異步計(jì)數(shù)器 | 同步計(jì)數(shù)器 | 2位二進(jìn)制計(jì)數(shù)器的實(shí)現(xiàn) | 4位十進(jìn)制計(jì)數(shù)器的實(shí)現(xiàn)

    【FPGA】Verilog:計(jì)數(shù)器 | 異步計(jì)數(shù)器 | 同步計(jì)數(shù)器 | 2位二進(jìn)制計(jì)數(shù)器的實(shí)現(xiàn) | 4位十進(jìn)制計(jì)數(shù)器的實(shí)現(xiàn)

    目錄 Ⅰ. 實(shí)踐說(shuō)明 0x00 計(jì)數(shù)器(Counter) 0x01 異步計(jì)數(shù)器(Asynchronous Counter)

    2024年02月05日
    瀏覽(34)
  • 【FPGA】Verilog:升降計(jì)數(shù)器 | 波紋計(jì)數(shù)器 | 約翰遜計(jì)數(shù)器 | 實(shí)現(xiàn) 4-bit 升降計(jì)數(shù)器的 UP/DOWN

    【FPGA】Verilog:升降計(jì)數(shù)器 | 波紋計(jì)數(shù)器 | 約翰遜計(jì)數(shù)器 | 實(shí)現(xiàn) 4-bit 升降計(jì)數(shù)器的 UP/DOWN

    目錄 Ⅰ. 理論部分 0x00?升降計(jì)數(shù)器(UP DOWN Counter) 0x01?波紋計(jì)數(shù)器(Ripple Counter)

    2024年02月05日
    瀏覽(35)
  • FPGA-計(jì)數(shù)器的實(shí)現(xiàn)

    FPGA-計(jì)數(shù)器的實(shí)現(xiàn)

    計(jì)數(shù)器是依托時(shí)鐘實(shí)現(xiàn)的,在時(shí)鐘沿(一般在上升沿)進(jìn)行檢測(cè),實(shí)現(xiàn)計(jì)數(shù)加1; 計(jì)數(shù)是從0開始計(jì)數(shù)的,所以計(jì)數(shù)值為(M-1),其中M為計(jì)數(shù)的值。比如計(jì)數(shù)到10,我們實(shí)現(xiàn)時(shí)到9即可; 這里為計(jì)數(shù)器的第一種實(shí)現(xiàn)方法,該方法非最優(yōu)方法,我們只需要了解即可,后續(xù)我們會(huì)介

    2024年02月04日
    瀏覽(20)
  • 計(jì)數(shù)器簡(jiǎn)介以及FPGA實(shí)現(xiàn)

    計(jì)數(shù)器簡(jiǎn)介以及FPGA實(shí)現(xiàn)

    在時(shí)序邏輯電路中,最基本的單元是寄存器,本篇將會(huì)介紹如何利用寄存器,實(shí)現(xiàn)一個(gè)具有計(jì)數(shù)器功能的電路。在FPGA開發(fā)中,一切與時(shí)間有關(guān)的設(shè)計(jì)都會(huì)用到計(jì)數(shù)器,所以學(xué)會(huì)設(shè)計(jì)計(jì)數(shù)器至關(guān)重要。 計(jì)數(shù)是一種最簡(jiǎn)單基本的運(yùn)算,計(jì)數(shù)器就是實(shí)現(xiàn)這種運(yùn)算的邏輯電路,計(jì)數(shù)

    2024年02月05日
    瀏覽(18)
  • FPGA Vivado環(huán)境下實(shí)現(xiàn)計(jì)數(shù)器

    FPGA Vivado環(huán)境下實(shí)現(xiàn)計(jì)數(shù)器

    本文實(shí)現(xiàn)的是一個(gè)簡(jiǎn)單的計(jì)數(shù)器,模塊中包含時(shí)鐘信號(hào)和復(fù)位信號(hào),計(jì)數(shù)使用的是一個(gè)四位的輸出,復(fù)位鍵有效時(shí),計(jì)數(shù)器置零,當(dāng)時(shí)鐘信號(hào)上升沿時(shí),計(jì)數(shù)加一,實(shí)現(xiàn)計(jì)數(shù)。(僅供參考) 建立工程counter,并新建一個(gè)設(shè)計(jì)文件命名為:counter ? ? 3.打開counter文件,進(jìn)行計(jì)數(shù)器

    2024年01月21日
    瀏覽(56)
  • Verilog語(yǔ)言實(shí)現(xiàn)FPGA上的計(jì)數(shù)器

    Verilog語(yǔ)言實(shí)現(xiàn)FPGA上的計(jì)數(shù)器 計(jì)數(shù)器是數(shù)字電路中經(jīng)常使用的基本元素之一,它用于生成指定脈沖數(shù)量或者指定計(jì)數(shù)范圍內(nèi)的計(jì)數(shù)信號(hào)。在現(xiàn)代數(shù)字電路設(shè)計(jì)中,F(xiàn)PGA(Field Programmable Gate Array)作為一種可編程邏輯器件被廣泛應(yīng)用,可以通過(guò)Verilog語(yǔ)言來(lái)實(shí)現(xiàn)計(jì)數(shù)器模塊。 在V

    2024年02月05日
    瀏覽(23)
  • 實(shí)現(xiàn)十進(jìn)制計(jì)數(shù)器EDA|FPGA

    實(shí)現(xiàn)十進(jìn)制計(jì)數(shù)器EDA|FPGA

    實(shí)驗(yàn)內(nèi)容 有限狀態(tài)機(jī)設(shè)計(jì):實(shí)現(xiàn)十進(jìn)制計(jì)數(shù)器 實(shí)驗(yàn)?zāi)康?有限狀態(tài)機(jī)設(shè)計(jì):實(shí)現(xiàn)十進(jìn)制計(jì)數(shù)器 軟件流程(硬件連接) ①新建工程 ②創(chuàng)建半加器原理圖 ③將設(shè)計(jì)項(xiàng)目設(shè)置成可調(diào)用的元件 ④嘗試運(yùn)行代碼 ⑤新建文件輸出代碼的波形 ?四、代碼? 五、實(shí)驗(yàn)結(jié)果及分析 ?

    2024年02月03日
    瀏覽(22)
  • FPGA開發(fā)] 使用Verilog實(shí)現(xiàn)一個(gè)簡(jiǎn)單的計(jì)數(shù)器

    計(jì)數(shù)器是數(shù)字電路中常見的元件之一,它能夠按照一定的規(guī)律進(jìn)行計(jì)數(shù)。在FPGA開發(fā)中,我們可以使用硬件描述語(yǔ)言Verilog來(lái)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的計(jì)數(shù)器。本文將為您詳細(xì)介紹如何使用Verilog編寫一個(gè)基于FPGA的計(jì)數(shù)器,并提供相應(yīng)的源代碼。 首先,我們需要定義計(jì)數(shù)器的功能和規(guī)格

    2024年02月03日
    瀏覽(23)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包