一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

Verilog實(shí)現(xiàn)計(jì)數(shù)器在某個(gè)區(qū)間內(nèi)循環(huán)計(jì)數(shù),遞增遞減

鄒逸謙 ? 來(lái)源:鄒逸謙 ? 作者:鄒逸謙 ? 2022-04-07 17:33 ? 次閱讀

有時(shí)候在復(fù)雜系統(tǒng)設(shè)計(jì)的時(shí)候會(huì)用遇到讓“計(jì)數(shù)器在某個(gè)區(qū)間內(nèi)來(lái)回不停遞增遞減”的問題。

話不多說(shuō),我們直接上代碼。

以0-10的循環(huán)計(jì)數(shù)為例。

工具:Modelsim, VScode

1.準(zhǔn)備工作

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

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

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

請(qǐng)注意:一定不能有中文路徑?。?/p> poYBAGJOrDmARXC8AAA2ZMhSnLM789.png這樣是錯(cuò)誤的

pYYBAGJOrI6AVnMiAAA4VSHNhEg615.png應(yīng)該這樣修改

2.工程建立

  • 在src文件中添加一個(gè).v文件,名字自擬,最好能夠體現(xiàn)出文件的特性。
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文件夾中新建文件,給出仿真所需要的激勵(lì)。我們此次所需的只有時(shí)鐘和復(fù)位。時(shí)鐘設(shè)置為50Mhz,復(fù)位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文件夾中新建一個(gè)Modelsim仿真工程,添加src,tb中的文件,此過(guò)程不再展示。

3.仿真驗(yàn)證

仿真1us,觀察波形。實(shí)現(xiàn)了0-10直接的循環(huán)計(jì)數(shù),設(shè)計(jì)成功。

poYBAGJOr5qAFlL0AACTavGPYfo707.png

審核編輯:符乾江

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

    關(guān)注

    1643

    文章

    21923

    瀏覽量

    612401
  • 仿真分析
    +關(guān)注

    關(guān)注

    3

    文章

    105

    瀏覽量

    33851
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    智能雷擊計(jì)數(shù)器的綜合行業(yè)解決方案

    智能雷擊計(jì)數(shù)器 是一種用于記錄雷擊事件發(fā)生次數(shù)的高科技裝置,廣泛應(yīng)用于防雷系統(tǒng)中。與傳統(tǒng)的機(jī)械式雷擊計(jì)數(shù)器相比,智能雷擊計(jì)數(shù)器不僅能夠精確記錄雷擊次數(shù),還能對(duì)雷電參數(shù)進(jìn)行分析,并通過(guò)智能通信模塊
    的頭像 發(fā)表于 12-20 10:50 ?388次閱讀
    智能雷擊<b class='flag-5'>計(jì)數(shù)器</b>的綜合行業(yè)解決方案

    雷擊計(jì)數(shù)器的概述與應(yīng)用分析

    雷擊計(jì)數(shù)器 是一種用于監(jiān)測(cè)和記錄電力系統(tǒng)、通信系統(tǒng)、建筑物等關(guān)鍵設(shè)施遭受雷擊次數(shù)的設(shè)備。它能夠有效地幫助管理人員掌握雷電活動(dòng)的情況,以便進(jìn)行預(yù)防性維護(hù)和風(fēng)險(xiǎn)評(píng)估。雷擊計(jì)數(shù)器根據(jù)工作原理可以分為無(wú)源
    的頭像 發(fā)表于 10-21 10:31 ?618次閱讀
    雷擊<b class='flag-5'>計(jì)數(shù)器</b>的概述與應(yīng)用分析

    74ls163是幾進(jìn)制同步計(jì)數(shù)器

    到9,然后回到0,形成一個(gè)循環(huán)。 以下是關(guān)于74LS163的一些基本信息: 功能 :74LS163 是一個(gè)同步計(jì)數(shù)器,意味著所有的計(jì)數(shù)位同時(shí)更新。它通常用于需要精確控制計(jì)數(shù)序列的應(yīng)用中
    的頭像 發(fā)表于 10-18 13:54 ?1963次閱讀

    正交解碼計(jì)數(shù)器

    正交解碼計(jì)數(shù)器
    發(fā)表于 09-06 11:41 ?0次下載

    計(jì)數(shù)器的特點(diǎn)和參數(shù)

    計(jì)數(shù)器作為一種常用的電子元件,電子設(shè)備和系統(tǒng)中扮演著至關(guān)重要的角色。它們不僅用于存儲(chǔ)和增減數(shù)字值,還廣泛應(yīng)用于時(shí)序和頻率測(cè)量、事件計(jì)數(shù)、控制步進(jìn)電機(jī)和伺服系統(tǒng)、錯(cuò)誤檢測(cè)和糾正以及計(jì)算機(jī)數(shù)據(jù)存儲(chǔ)和操作等領(lǐng)域。以下將詳細(xì)闡述
    的頭像 發(fā)表于 08-29 14:54 ?2045次閱讀

    計(jì)數(shù)器同步和異步怎么判斷

    計(jì)數(shù)器同步和異步是數(shù)字電路設(shè)計(jì)中的一個(gè)重要概念,它們很多應(yīng)用場(chǎng)景中都扮演著關(guān)鍵角色。 一、計(jì)數(shù)器概述 計(jì)數(shù)器是一種常見的數(shù)字電路,它可以對(duì)輸入信號(hào)進(jìn)行
    的頭像 發(fā)表于 07-23 11:14 ?2211次閱讀

    PLC計(jì)數(shù)器的工作原理與功能

    至關(guān)重要的角色。計(jì)數(shù)器能夠統(tǒng)計(jì)輸入信號(hào)的脈沖次數(shù),實(shí)現(xiàn)對(duì)某個(gè)事件的計(jì)數(shù)和監(jiān)控,是控制系統(tǒng)實(shí)現(xiàn)精確控制的關(guān)鍵元件之一。本文將詳細(xì)闡述PLC中
    的頭像 發(fā)表于 06-18 11:51 ?3261次閱讀

    SN74HC193-Q1 4位同步遞增/遞減計(jì)數(shù)器數(shù)據(jù)表

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

    SN54LS668、SN54LS669、SN74LS668、sn74ls669同步4位遞增/遞減計(jì)數(shù)器數(shù)據(jù)表

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

    SN54LS696、SN54LS697、SN54LS699、SN74LS696、SN74LS697、sn74ls 699同步遞增/遞減計(jì)數(shù)器手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《SN54LS696、SN54LS697、SN54LS699、SN74LS696、SN74LS697、sn74ls 699同步遞增/遞減計(jì)數(shù)器手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 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'>計(jì)數(shù)器</b>手冊(cè)

    二進(jìn)制串行計(jì)數(shù)器工作原理是什么?

    在數(shù)字電路設(shè)計(jì)中,計(jì)數(shù)器是一種非常關(guān)鍵的組件,用于測(cè)量時(shí)間、計(jì)數(shù)事件或跟蹤狀態(tài)變化等。其中,二進(jìn)制串行計(jì)數(shù)器作為一種常用的計(jì)數(shù)器類型,多種
    的頭像 發(fā)表于 05-28 15:52 ?1263次閱讀

    同步計(jì)數(shù)器和異步計(jì)數(shù)器的區(qū)別

    在數(shù)字電子領(lǐng)域中,計(jì)數(shù)器是一種用于統(tǒng)計(jì)脈沖信號(hào)數(shù)量的重要設(shè)備。其中,同步計(jì)數(shù)器和異步計(jì)數(shù)器是兩種不同類型的計(jì)數(shù)器,它們工作原理、特性以及應(yīng)
    的頭像 發(fā)表于 05-24 14:36 ?5616次閱讀

    計(jì)數(shù)器的結(jié)構(gòu)和工作原理

    計(jì)數(shù)器,作為一種基礎(chǔ)的電子設(shè)備,廣泛應(yīng)用于數(shù)字電路、計(jì)算機(jī)系統(tǒng)以及工業(yè)自動(dòng)化等多個(gè)領(lǐng)域。它通過(guò)對(duì)輸入信號(hào)進(jìn)行計(jì)數(shù)和狀態(tài)轉(zhuǎn)換,實(shí)現(xiàn)對(duì)事件發(fā)生次數(shù)的統(tǒng)計(jì)和顯示。本文將深入探討計(jì)數(shù)器的定義、
    的頭像 發(fā)表于 05-23 15:34 ?6976次閱讀

    脈沖計(jì)數(shù)器的分類和作用

    電子技術(shù)和數(shù)字系統(tǒng)中,脈沖計(jì)數(shù)器作為一種基本而重要的邏輯器件,其應(yīng)用廣泛且功能多樣。脈沖計(jì)數(shù)器不僅能夠實(shí)現(xiàn)基本的計(jì)數(shù)操作,還具備多種輸出功
    的頭像 發(fā)表于 05-15 17:11 ?1830次閱讀

    簡(jiǎn)單認(rèn)識(shí)脈沖計(jì)數(shù)器

    在數(shù)字電路和電子測(cè)量領(lǐng)域中,脈沖計(jì)數(shù)器作為一種基本而重要的工具,其應(yīng)用十分廣泛。脈沖計(jì)數(shù)器,也被稱為脈沖頻率計(jì)或脈沖數(shù)計(jì),主要用于統(tǒng)計(jì)和測(cè)量輸入脈沖信號(hào)的頻率或數(shù)量。本文將詳細(xì)闡述脈沖計(jì)數(shù)器的基本概念、工作原理、分類、應(yīng)用領(lǐng)域以
    的頭像 發(fā)表于 05-15 17:08 ?2438次閱讀