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

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
    +關注

    關注

    1629

    文章

    21748

    瀏覽量

    603874
  • 仿真分析
    +關注

    關注

    3

    文章

    105

    瀏覽量

    33666
收藏 人收藏

    評論

    相關推薦

    雷擊計數器的概述與應用分析

    雷擊計數器 是一種用于監測和記錄電力系統、通信系統、建筑物等關鍵設施遭受雷擊次數的設備。它能夠有效地幫助管理人員掌握雷電活動的情況,以便進行預防性維護和風險評估。雷擊計數器根據工作原理可以分為無源
    的頭像 發表于 10-21 10:31 ?310次閱讀
    雷擊<b class='flag-5'>計數器</b>的概述與應用分析

    74ls163是幾進制同步計數器

    到9,然后回到0,形成一個循環。 以下是關于74LS163的一些基本信息: 功能 :74LS163 是一個同步計數器,意味著所有的計數位同時更新。它通常用于需要精確控制計數序列的應用中
    的頭像 發表于 10-18 13:54 ?1107次閱讀

    計數器的特點和參數

    計數器作為一種常用的電子元件,電子設備和系統中扮演著至關重要的角色。它們不僅用于存儲和增減數字值,還廣泛應用于時序和頻率測量、事件計數、控制步進電機和伺服系統、錯誤檢測和糾正以及計算機數據存儲和操作等領域。以下將詳細闡述
    的頭像 發表于 08-29 14:54 ?1127次閱讀

    計數器同步和異步怎么判斷

    計數器同步和異步是數字電路設計中的一個重要概念,它們很多應用場景中都扮演著關鍵角色。 一、計數器概述 計數器是一種常見的數字電路,它可以對輸入信號進行
    的頭像 發表于 07-23 11:14 ?1473次閱讀

    PLC計數器的工作原理與功能

    至關重要的角色。計數器能夠統計輸入信號的脈沖次數,實現某個事件的計數和監控,是控制系統實現精確控制的關鍵元件之一。本文將詳細闡述PLC中
    的頭像 發表于 06-18 11:51 ?2205次閱讀

    SN74HC193-Q1 4位同步遞增/遞減計數器數據表

    電子發燒友網站提供《SN74HC193-Q1 4位同步遞增/遞減計數器數據表.pdf》資料免費下載
    發表于 06-04 10:46 ?0次下載
    SN74HC193-Q1 4位同步<b class='flag-5'>遞增</b>/<b class='flag-5'>遞減</b><b class='flag-5'>計數器</b>數據表

    SN54LS668、SN54LS669、SN74LS668、sn74ls669同步4位遞增/遞減計數器數據表

    電子發燒友網站提供《SN54LS668、SN54LS669、SN74LS668、sn74ls669同步4位遞增/遞減計數器數據表.pdf》資料免費下載
    發表于 06-04 10:40 ?0次下載
    SN54LS668、SN54LS669、SN74LS668、sn74ls669同步4位<b class='flag-5'>遞增</b>/<b class='flag-5'>遞減</b><b class='flag-5'>計數器</b>數據表

    SN54LS696、SN54LS697、SN54LS699、SN74LS696、SN74LS697、sn74ls 699同步遞增/遞減計數器手冊

    電子發燒友網站提供《SN54LS696、SN54LS697、SN54LS699、SN74LS696、SN74LS697、sn74ls 699同步遞增/遞減計數器手冊.pdf》資料免費下載
    發表于 06-04 10:38 ?0次下載
    SN54LS696、SN54LS697、SN54LS699、SN74LS696、SN74LS697、sn74ls 699同步<b class='flag-5'>遞增</b>/<b class='flag-5'>遞減</b><b class='flag-5'>計數器</b>手冊

    二進制串行計數器工作原理是什么?

    在數字電路設計中,計數器是一種非常關鍵的組件,用于測量時間、計數事件或跟蹤狀態變化等。其中,二進制串行計數器作為一種常用的計數器類型,多種
    的頭像 發表于 05-28 15:52 ?882次閱讀

    同步計數器和異步計數器的區別

    在數字電子領域中,計數器是一種用于統計脈沖信號數量的重要設備。其中,同步計數器和異步計數器是兩種不同類型的計數器,它們工作原理、特性以及應
    的頭像 發表于 05-24 14:36 ?4443次閱讀

    計數器的結構和工作原理

    計數器,作為一種基礎的電子設備,廣泛應用于數字電路、計算機系統以及工業自動化等多個領域。它通過對輸入信號進行計數和狀態轉換,實現對事件發生次數的統計和顯示。本文將深入探討計數器的定義、
    的頭像 發表于 05-23 15:34 ?4971次閱讀

    脈沖計數器的分類和作用

    電子技術和數字系統中,脈沖計數器作為一種基本而重要的邏輯器件,其應用廣泛且功能多樣。脈沖計數器不僅能夠實現基本的計數操作,還具備多種輸出功
    的頭像 發表于 05-15 17:11 ?1248次閱讀

    計數器怎么判斷同步和異步 計數器異步和同步的區別

    應用中的各自優勢和限制。 一、計數器概述 計數器是一個數值型的變量,它能夠用于存儲和追蹤特定事件的發生次數。計算機系統中,計數器起到非常重要的作用,例如統計程序執行的指令數、計算
    的頭像 發表于 02-22 15:14 ?3854次閱讀

    計數器怎么用 計數器的作用有哪些

    計數器是一種被廣泛應用于各個領域的實用工具,我們的日常生活中隨處可見。無論是進行時間統計,協助工作任務的完成,還是用于科學研究和編程技術,各個領域都起到了重要的作用。本文將詳細介紹計數器
    的頭像 發表于 02-03 10:04 ?5490次閱讀

    雷擊計數器綜合選型應用方案

    雷擊計數器的基本原理是利用雷電流通過導線時產生的感應電壓或電流來驅動計數器計數。根據計數器的類型,可以分為機械式雷擊計數器和電子式雷擊
    的頭像 發表于 01-31 09:50 ?568次閱讀
    雷擊<b class='flag-5'>計數器</b>綜合選型應用方案
    主站蜘蛛池模板: 蜜臀AV色欲A片无码一区| 国产乱子影视频上线免费观看| 亚洲高清在线mv| 亚洲国产精品天堂在线播放| 一品探花论坛| 91精品一区二区三区在线观看| yellow在线观看免费高清的日本| 电影 qvod| 精品国产在天天线在线麻豆| 久青草国产97香蕉在线视频| 青青草 久久久| 亚洲乱亚洲乱妇13p| 99热最新在线| 国产片MV在线观看| 男女啪啪抽搐呻吟高潮动态图| 丝袜美腿美女被狂躁在线观看| 亚洲精品一本之道高清乱码| 国产精品成人网| 美国色吧影院| 亚洲精品在线免费| 国产树林野战在线播放| 欧美乱码伦视频免费66网| 亚洲mv在线观看| 国偷自产AV一区二区三区健身房| 欧美人与善交大片| 办公室韩国电影免费完整版| 日韩插啊免费视频在线观看| 羽月希被黑人吃奶dasd585| 国产成人精品自拍| 啦啦啦WWW在线观看免费高清版| 3344永久在线观看视频免费| 很很射影院| 午夜插插插| 成人在免费视频手机观看网站| 久久这里只有精品视频9| 97人视频国产在线观看| 久久re6热在线视频| 五月丁香啪啪.| 久久精品国产亚洲AV久五月天| 18videosex性欧美黑色| 久久精品手机观看|