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

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

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

基于Verilog的經(jīng)典數(shù)字電路設(shè)計(jì)—計(jì)數(shù)器

冬至子 ? 來源:新芯設(shè)計(jì) ? 作者:新芯設(shè)計(jì) ? 2023-10-09 17:48 ? 次閱讀

在數(shù)字系統(tǒng)中,使用得最多的時(shí)序電路差不多就是計(jì)數(shù)器了。計(jì)數(shù)器不僅能夠用于對(duì)時(shí)鐘脈沖計(jì)數(shù),還可以用于分頻、定時(shí)、產(chǎn)生節(jié)拍脈沖、產(chǎn)生脈沖序列以及進(jìn)行數(shù)字運(yùn)算等等。

其實(shí),計(jì)數(shù)也是一種最簡單最基本的運(yùn)算,就像我們心里默念的計(jì)數(shù)一樣。不過不同的是,計(jì)數(shù)器是有一定頻率的計(jì)數(shù),具有一定的時(shí)間間隔,而我們心里默念的計(jì)數(shù)的時(shí)間間隔不一樣罷了(也就是不夠準(zhǔn)確的啦),而計(jì)數(shù)器就是實(shí)現(xiàn)這種運(yùn)算的邏輯電路,主要是通過對(duì)時(shí)鐘(上升)脈沖的個(gè)數(shù)進(jìn)行計(jì)數(shù)的。

計(jì)數(shù)器在我們身邊也很普遍,比如手機(jī)中自帶的跑步的計(jì)時(shí)器、電腦定時(shí)關(guān)機(jī)等等;所以,熟悉掌握計(jì)數(shù)器,不僅對(duì)于學(xué)習(xí) Verilog 非常有用,而且,還能鍛煉我們的邏輯能力和更深刻地理解數(shù)字電路的工作原理,從而對(duì)科技更加感興趣!

一、計(jì)數(shù)器的 Verilog 代碼實(shí)現(xiàn)和 RTL 電路實(shí)現(xiàn)

下面是計(jì)數(shù)器的 Verilog 代碼實(shí)現(xiàn):

module Counters(
    input Clk,
    input Up, // 可增可減(可逆)計(jì)數(shù)器
    output reg [7:0] Cout = 8'b0000_0000 // 8 位計(jì)數(shù)器
    );

   always @(posedge Clk)
      if (Up)
         Cout <= Cout + 1'b1;
      else
         Cout <= Cout - 1'b1;

endmodule

下面是計(jì)數(shù)器的 RTL 電路實(shí)現(xiàn):

圖片

計(jì)數(shù)器的 RTL 電路圖

時(shí)鐘信號(hào):Clk(時(shí)鐘信號(hào),就是電路的“心臟”,不可或缺);

復(fù)位信號(hào):rst_n(復(fù)位信號(hào),也是一個(gè)合格的電路不應(yīng)該缺少的一個(gè)輸入信號(hào),當(dāng)復(fù)位信號(hào)為低電平時(shí),輸出全部置零,這就是所謂的低電平有效)當(dāng)復(fù)位信號(hào)為高電平時(shí),開始計(jì)數(shù),每一個(gè)時(shí)鐘信號(hào)的上升沿到來就計(jì)一次數(shù),每計(jì)數(shù)滿 256 個(gè)時(shí)鐘周期為一個(gè)輸出循環(huán),輸出置零,然后重新計(jì)數(shù);當(dāng)然,這里為了更好地讀懂代碼,并沒有加入復(fù)位信號(hào)啊哈哈哈嗝。

計(jì)數(shù)值信號(hào):Cout(顯示計(jì)數(shù)值,根據(jù)自己設(shè)計(jì)的需要,可以對(duì)位數(shù)進(jìn)行設(shè)置,比如最大計(jì)數(shù)值為 6,那么位數(shù)就可以設(shè)置為 3 bits)

其實(shí),這個(gè)既是計(jì)數(shù)器,又能當(dāng)分頻器,而且還能當(dāng)計(jì)時(shí)器喲(再者還可以當(dāng)鬧鐘功能)這三者其實(shí)都是息息相關(guān)的,但是博主并沒有把分頻器和定時(shí)器的功能加上去,其實(shí)只需要增加一兩個(gè)信號(hào)即可,小伙伴們能否想到怎么添加,從而使得這個(gè)程序既有計(jì)數(shù)器的功能,也有分頻器的功能和定時(shí)器的功能呢?

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

    關(guān)注

    32

    文章

    2241

    瀏覽量

    93970
  • 時(shí)序電路
    +關(guān)注

    關(guān)注

    1

    文章

    114

    瀏覽量

    21652
  • RTL
    RTL
    +關(guān)注

    關(guān)注

    1

    文章

    384

    瀏覽量

    59515
  • 計(jì)時(shí)器
    +關(guān)注

    關(guān)注

    1

    文章

    414

    瀏覽量

    32485
  • Verilog設(shè)計(jì)
    +關(guān)注

    關(guān)注

    0

    文章

    20

    瀏覽量

    6501
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    招聘:數(shù)字電路設(shè)計(jì)

    [獵頭職位]國家重要芯片研發(fā)中心職位:數(shù)字電路設(shè)計(jì)工程師【崗位職責(zé)】負(fù)責(zé)USB、MIPI等高速接口IP或AD/DA的數(shù)字電路設(shè)計(jì)【任職資格】1.電子工程、微電子等相關(guān)專業(yè)碩士以上學(xué)歷,兩年以上
    發(fā)表于 02-27 10:52

    數(shù)字電路設(shè)計(jì)Verilog HDL

    數(shù)字電路設(shè)計(jì)Verilog HDL
    發(fā)表于 07-16 16:21

    數(shù)字電路--百位計(jì)數(shù)器電路設(shè)計(jì)

    數(shù)字電路--百位計(jì)數(shù)器電路設(shè)計(jì)
    發(fā)表于 11-25 15:16

    數(shù)字電路設(shè)計(jì)的基本方法有哪些

    化簡→畫邏輯電路圖。時(shí)序電路設(shè)計(jì):列原始狀態(tài)轉(zhuǎn)移圖和表→狀態(tài)優(yōu)化→狀態(tài)分配→觸發(fā)選型→求解方程式→畫邏輯電路圖。在實(shí)際應(yīng)用中,數(shù)字電路設(shè)計(jì)
    發(fā)表于 02-27 11:55

    格雷碼計(jì)數(shù)器Verilog描述

    格雷碼計(jì)數(shù)器Verilog描述
    發(fā)表于 08-03 09:39 ?45次下載
    格雷碼<b class='flag-5'>計(jì)數(shù)器</b>的<b class='flag-5'>Verilog</b>描述

    基于LabVIEW的數(shù)字電路設(shè)計(jì)和仿真

    基于LabVIEW的數(shù)字電路設(shè)計(jì)和仿真 數(shù)字電路設(shè)計(jì)和仿真是電子工程領(lǐng)域的基本技術(shù)。介紹了基于LabV IEW的數(shù)字電路設(shè)計(jì)和仿真的原理和方法,比較了其與專業(yè)EDA軟
    發(fā)表于 03-30 16:09 ?124次下載

    數(shù)字電路設(shè)計(jì)

    數(shù)字電路設(shè)計(jì) 關(guān)于高速數(shù)字電路的電氣特性,設(shè)計(jì)重點(diǎn)大略可分為三項(xiàng): 正時(shí)(Timing) :由于數(shù)字電路
    發(fā)表于 08-26 19:08 ?2769次閱讀

    計(jì)數(shù)器的定義和分類

    計(jì)數(shù)器的定義和分類 計(jì)數(shù)器定義在數(shù)字電路中,計(jì)數(shù)器屬于時(shí)序電路,它主要由具有記憶功能的觸發(fā)構(gòu)
    發(fā)表于 03-08 17:37 ?1.4w次閱讀

    基于計(jì)數(shù)器數(shù)字電子鐘的設(shè)計(jì)

    本設(shè)計(jì)就是研究用數(shù)字電路實(shí)現(xiàn)的數(shù)字電子鐘,整體的電路設(shè)計(jì)就是由振蕩、分頻、計(jì)數(shù)器、譯碼
    發(fā)表于 09-14 10:50 ?1w次閱讀
    基于<b class='flag-5'>計(jì)數(shù)器</b>的<b class='flag-5'>數(shù)字</b>電子鐘的設(shè)計(jì)

    數(shù)字電路組成的計(jì)數(shù)器原理電路

    如圖所示的 數(shù)字電路 組成的計(jì)數(shù)器是采用紅外線作檢測信號(hào),對(duì)活動(dòng)目標(biāo)掃描計(jì)數(shù)的小裝置,很適用于生產(chǎn)線,對(duì)傳送帶上移動(dòng)的物品進(jìn)行快速而準(zhǔn)確的計(jì)數(shù)。也可用于其他目的,例
    發(fā)表于 09-18 11:41 ?7868次閱讀
    <b class='flag-5'>數(shù)字電路</b>組成的<b class='flag-5'>計(jì)數(shù)器</b>原理<b class='flag-5'>電路</b>

    數(shù)字電路中的FPGA和verilog教程

    數(shù)字電路中的FPGA和verilog教程,好東西,喜歡的朋友可以下載來學(xué)習(xí)。
    發(fā)表于 01-18 17:44 ?42次下載

    數(shù)字電路設(shè)計(jì)的基本流程

    數(shù)字電路設(shè)計(jì)數(shù)字電路最為關(guān)鍵及重要的一步,今天我們將從各個(gè)流程為大家介紹完整的數(shù)字電路設(shè)計(jì)!
    的頭像 發(fā)表于 07-10 17:14 ?7311次閱讀

    數(shù)字電路中的計(jì)數(shù)器詳解

    數(shù)字電路中一個(gè)非常重要的器件就是計(jì)數(shù)器,即統(tǒng)計(jì)脈沖個(gè)數(shù)。
    的頭像 發(fā)表于 10-17 12:46 ?3865次閱讀
    <b class='flag-5'>數(shù)字電路</b>中的<b class='flag-5'>計(jì)數(shù)器</b>詳解

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

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

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

    計(jì)數(shù)器同步和異步是數(shù)字電路設(shè)計(jì)中的一個(gè)重要概念,它們?cè)诤芏鄳?yīng)用場景中都扮演著關(guān)鍵角色。 一、計(jì)數(shù)器概述 計(jì)數(shù)器是一種常見的數(shù)字電路,它可以對(duì)
    的頭像 發(fā)表于 07-23 11:14 ?298次閱讀