国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

Verilog實現計數器在某個區間內循環計數,遞增遞減

鄒逸謙 ? 來源:鄒逸謙 ? 作者:鄒逸謙 ? 2022-04-07 17:33 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

有時候在復雜系統設計的時候會用遇到讓“計數器在某個區間內來回不停遞增遞減”的問題。

話不多說,我們直接上代碼。

以0-10的循環計數為例。

工具:Modelsim, VScode

1.準備工作

首先在電腦上新建三個文件夾,SRC、TB以及SIM,用來放置源代碼、仿真文件以及仿真工程文件。

一定不要怕麻煩,特別是新手一定要注意代碼的分類工作!良好的分類能夠大大的提高工作效率。

剛接觸代碼量小,幾十行代碼一個文件就搞定了。但是隨著從業時間的增加,工作復雜度的提升,代碼的難度也會隨之提升,如果不做好分類管理,面對幾十個源代碼,十幾個仿真文件……崩潰是必然的。

請注意:一定不能有中文路徑!!

poYBAGJOrDmARXC8AAA2ZMhSnLM789.png這樣是錯誤的

pYYBAGJOrI6AVnMiAAA4VSHNhEg615.png應該這樣修改

2.工程建立

  • 在src文件中添加一個.v文件,名字自擬,最好能夠體現出文件的特性。
module test (
    input   sys_clk,
    input   rst_n,
   
);
    
    

    reg  flag;
    reg [7:0]  adc_data;
    
    always @(posedge sys_clk or negedge rst_n) begin
        if (~rst_n) 
            flag  <=  1'd0;
        else 
            case (flag)
                1'd0:
                    if (adc_data == 8'd9) // -1
                        flag  <=  1'd1;
                    else
                        flag  <=  1'd0;
                1'd1:
                    if (adc_data == 8'd1) // +1
                        flag  <=  1'd0;
                    else
                        flag  <=  1'd1;
                default: flag  <=  flag;
            endcase
    end

    always @(posedge sys_clk or negedge rst_n) begin
        if (~rst_n) begin
            adc_data  <=  8'd0;
        end
        else if (flag == 1'd0)
            adc_data  <=  adc_data + 8'd1;
        else if (flag == 1'd1)
            adc_data  <=  adc_data - 8'd1;
        else
            adc_data  <=  adc_data;
    end

    

endmodule 
  • 在tb文件夾中新建文件,給出仿真所需要的激勵。我們此次所需的只有時鐘和復位。時鐘設置為50Mhz,復位1000ns。
`timescale 1 ns /1 ps
module tb_test;
reg  sys_clk;
reg  rst_n;


test  u_tb_test(
    
    .sys_clk    (sys_clk),
    .rst_n      (rst_n)
    
);
  
   initial begin
   
     sys_clk  = 0;
   
     rst_n    = 0;
    #1000;
    rst_n  =  1;
    #20000;
   end
  always  #10  sys_clk = ~ sys_clk;

endmodule
  • 在sim文件夾中新建一個Modelsim仿真工程,添加src,tb中的文件,此過程不再展示。

3.仿真驗證

仿真1us,觀察波形。實現了0-10直接的循環計數,設計成功。

poYBAGJOr5qAFlL0AACTavGPYfo707.png

審核編輯:符乾江

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1660

    文章

    22412

    瀏覽量

    636356
  • 仿真分析
    +關注

    關注

    3

    文章

    115

    瀏覽量

    34194
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    MAXIM ICM7225:4 又 1/2 位計數器/解碼/驅動的技術剖析

    MAXIM ICM7224/7225:4 又 1/2 位計數器/解碼/驅動的技術剖析 作為電子工程師,設計各類計數、頻率測量及顯示電路
    的頭像 發表于 02-03 10:35 ?181次閱讀

    MAXIM ICM7224:高速4.5位計數器、解碼與驅動的卓越之選

    MAXIM ICM7224/7225:高速4.5位計數器、解碼與驅動的卓越之選 一、引言 電子設計領域,計數器、解碼
    的頭像 發表于 02-03 10:35 ?159次閱讀

    探索Maxim ICM7217:4位(LED)可預設上下計數器的卓越性能

    探索Maxim ICM7217:4位(LED)可預設上下計數器的卓越性能 電子設計領域,計數器是一種常見且重要的元件,廣泛應用于各種計時、計數和頻率測量等場景。今天,我們將深入探討M
    的頭像 發表于 02-03 10:25 ?147次閱讀

    巴掌大的頻率計數器板卡# 頻率計#

    計數器
    知道點啥
    發布于 :2026年01月14日 18:45:02

    國產自研高性價比頻率通用計數器來嘍 #頻率計# 頻率計數器#

    計數器
    知道點啥
    發布于 :2026年01月07日 17:01:27

    數字頻率計數器計量檢測中的重要性 頻率計數器 高精度通用計數器

    SYN5635型數字頻率計數器是計量檢測領域的核心基礎儀器,其核心價值在于提供高精度頻率與時間基準、保障量值統一、支撐全鏈路質量控制與合規溯源,是電子、通信、航天等領域測量可靠性的關鍵保障。 一
    的頭像 發表于 01-05 17:53 ?1363次閱讀
    數字頻率<b class='flag-5'>計數器</b><b class='flag-5'>在</b>計量檢測中的重要性 頻率<b class='flag-5'>計數器</b> 高精度通用<b class='flag-5'>計數器</b>

    國產頻率計數器vs進口頻率計數器

    計數器
    西安同步電子科技有限公司
    發布于 :2025年11月04日 17:55:01

    頻率計數器/定時 時間間隔計數器的應用領域和范圍的深度解析 頻率計數器模塊

    精密電子測量、科研實驗、工業控制等領域,時間間隔的精準測量是保障系統性能與數據可靠性的關鍵環節。 SYN5620A時間間隔計數器模塊 作為一款集成化、高性能的測量單元,憑借其高精度、寬量程、高
    的頭像 發表于 10-30 11:22 ?602次閱讀
    頻率<b class='flag-5'>計數器</b>/定時<b class='flag-5'>器</b> 時間間隔<b class='flag-5'>計數器</b>的應用領域和范圍的深度解析 頻率<b class='flag-5'>計數器</b>模塊

    如何利用Verilog HDLFPGA上實現SRAM的讀寫測試

    本篇將詳細介紹如何利用Verilog HDLFPGA上實現SRAM的讀寫測試。SRAM是一種非易失性存儲,具有高速讀取和寫入的特點。F
    的頭像 發表于 10-22 17:21 ?4345次閱讀
    如何利用<b class='flag-5'>Verilog</b> HDL<b class='flag-5'>在</b>FPGA上<b class='flag-5'>實現</b>SRAM的讀寫測試

    SysTick系統滴答定時簡介

    SysTick—系統定時是屬于CM33內核中的一個外設,內嵌NVIC中。系統定時是一個24bit的向下遞減計數器
    的頭像 發表于 09-23 09:50 ?1630次閱讀
    SysTick系統滴答定時<b class='flag-5'>器</b>簡介

    雷擊計數器的種類和綜合選型部署解決方案

    一、雷擊計數器的定義與作用 雷擊計數器(Lightning Counter,又稱雷電計數器、雷擊記錄儀)是安裝在避雷針、接閃桿、SPD(浪涌保護)或下引線回路中,用于記錄雷擊或浪涌事
    的頭像 發表于 09-11 15:28 ?863次閱讀
    雷擊<b class='flag-5'>計數器</b>的種類和綜合選型部署解決方案

    Texas Instruments CD74HC4040/CD74HCT4040 12級二進制計數器數據手冊

    Texas Instruments CD74HC4040/CD74HCT4040 12級二進制計數器是控制觸發的高速計數器級。每個輸入
    的頭像 發表于 07-03 11:05 ?971次閱讀
    Texas Instruments CD74HC4040/CD74HCT4040 12級二進制<b class='flag-5'>計數器</b>數據手冊

    雷電(雷擊)計數器的原理、作用及行業應用解決方案

    安全事故。雷電(雷擊)計數器作為防雷系統中的重要組成部分,扮演著“記錄雷擊事件、輔助安全運維”的關鍵角色,已經成為智能防雷系統中不可或缺的一環。 二、雷電(雷擊)計數器的原理 1. 工作原理 雷電計數器主要依靠電磁
    的頭像 發表于 06-12 15:14 ?1064次閱讀
    雷電(雷擊)<b class='flag-5'>計數器</b>的原理、作用及行業應用解決方案

    MCU定時/計數器

    RISC-V核低功耗MCU通過靈活的定時架構、低功耗模式適配及硬件級中斷優化,工業控制、智能家居等場景中實現高精度計時與能耗控制的協同設計,滿足復雜任務調度與實時響應的雙重需求?。 一、?硬件
    的頭像 發表于 04-27 13:54 ?778次閱讀

    數字電路—24、計數器

    在數字電路中,能夠記憶輸入脈沖個數的電路稱為計數器
    發表于 03-26 15:13