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

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

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

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

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

引言

加法器是非常重要的,它不僅是其它復(fù)雜算術(shù)運算的基礎(chǔ),也是 CPU 中 ALU 的核心部件(全加器)。兩個二進制數(shù)之間的算術(shù)邏輯運算例如加減乘除,在數(shù)字計算機中都是化為若干步加法操作進行的,因此,學(xué)好數(shù)字電路,從學(xué)好加法器開始。

加法器分為半加器和全加器。全加器和半加器相比也就多了那么一個相加的進位輸入,全加器就是三位相加,半加器就是二位相加。例如,我們在做加法運算的時候,總是需要進行低位進位的判斷,從而再進行下一位的計算,這就是全加器的由來。詳細的也可以參考百度百科。

一、半加器的 Verilog 代碼實現(xiàn)和 RTL 電路實現(xiàn)

module Half_Adder(
    input wire a, // 加數(shù)
    input wire b, // 加數(shù)
    output reg sum, // 和
    output reg cout // 進位輸出
    );
// 行為描述
    always @(a or b) begin
        sum  = a ^ b; // 實踐證明,這里 <= 和 = 的結(jié)果都一樣;都是純粹的組合邏輯;
        cout = a & b;
    end

// 數(shù)據(jù)流描述
// assign sum  = a ^ b;
// assign cout = a & b;

// 門級描述
// and(cout,a,b);
// xor(sum,a,b);

endmodule

基于多種方式描述的一個全加器電路的 RTL 電路圖如下所示:

圖片

半加器的 RTL 電路實現(xiàn)

二、全加器的 Verilog 代碼實現(xiàn)和 RTL 電路實現(xiàn)

module Full_Adder(
    input wire a, // 加數(shù)
    input wire b, // 加數(shù)
    input wire cin,// 進位輸入
    output reg sum, // 和
    output reg cout // 進位輸出
    );

// 行為描述
    always @(a or b or cin) begin
        {cout,sum} <= a + b + cin;
    end

// 行為描述
//    always @(a or b or cin) begin
//        sum  = a ^ b ^ cin; // 實踐證明,這里 <= 和 = 的結(jié)果都一樣;都是純粹的組合邏輯;
//        cout = a & b | b & cin | a & cin;
//    end

// 數(shù)據(jù)流描述
// assign {cout,sum} = a + b + cin;

endmodule

這里,“{}” 符號表示的是 “拼接位”,即先計算 a 與 b 的值,當(dāng) a 與 b 為 “0” 和 “1” 時,它們之和為 1,那么就是{01},對應(yīng) cout 和 sum ;當(dāng) a 與 b 為 “1” 和 “1” 時,它們之和為 2,那么就是轉(zhuǎn)換為二進制就是{10},同樣對應(yīng) cout 和 sum 等等。

基于多種方式描述的一個全加器電路的 RTL 電路圖如下所示:

圖片

全加器的 RTL 電路實現(xiàn)

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

    關(guān)注

    6

    文章

    183

    瀏覽量

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

    關(guān)注

    1

    文章

    385

    瀏覽量

    59665
  • 半加器
    +關(guān)注

    關(guān)注

    1

    文章

    29

    瀏覽量

    8766
  • Verilog設(shè)計
    +關(guān)注

    關(guān)注

    0

    文章

    20

    瀏覽量

    6509
  • 全加器電路
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    1622
收藏 人收藏

    評論

    相關(guān)推薦

    運算放大器的同相加法器和反相加法器

      運算放大器構(gòu)成加法器 可以分為同相加法器和反相加法器
    發(fā)表于 08-05 17:17 ?3w次閱讀
    運算放大器的同相<b class='flag-5'>加法器</b>和反相<b class='flag-5'>加法器</b>

    加法器

    請問下大家,,進位選擇加法器和進位跳躍加法器的區(qū)別是啥?。课矣?b class='flag-5'>Verilog實現(xiàn)16位他們的加法器有什么樣的不同?。窟€請知道的大神告訴我一下。。
    發(fā)表于 10-20 20:23

    什么是加法器加法器的原理是什么 ?

    什么是加法器加法器的原理是什么 反相加法器等效原理圖解析
    發(fā)表于 03-11 06:30

    4位并行的BCD加法器電路

       圖二所示為4位并行的BCD加法器電路。其中上面加法器的輸入來自低一級的BCD數(shù)字。下
    發(fā)表于 03-28 16:35 ?1.3w次閱讀
    4位并行的BCD<b class='flag-5'>加法器</b><b class='flag-5'>電路</b>圖

    加法器,加法器是什么意思

    加法器,加法器是什么意思 加法器 :  加法器是為了實現(xiàn)加法的?! 〖词钱a(chǎn)生數(shù)的和的裝置。加數(shù)和被加數(shù)為輸入,和數(shù)與
    發(fā)表于 03-08 16:48 ?5484次閱讀

    同相加法器電路原理與同相加法器計算

    同相加法器輸入阻抗高,輸出阻抗低 反相加法器輸入阻抗低,輸出阻抗高.加法器是一種數(shù)位電路,其可進行數(shù)字
    發(fā)表于 09-13 17:23 ?5.7w次閱讀
    同相<b class='flag-5'>加法器</b><b class='flag-5'>電路</b>原理與同相<b class='flag-5'>加法器</b>計算

    加法器是如何實現(xiàn)的

     verilog實現(xiàn)加法器,從底層的門級電路級到行為級,本文對其做出了相應(yīng)的闡述。
    發(fā)表于 02-18 14:53 ?6192次閱讀
    <b class='flag-5'>加法器</b>是如何實現(xiàn)的

    加法器設(shè)計代碼參考

    介紹各種加法器Verilog代碼和testbench。
    發(fā)表于 05-31 09:23 ?19次下載

    加法器的原理及采用加法器的原因

    有關(guān)加法器的知識,加法器是用來做什么的,故名思義,加法器是為了實現(xiàn)加法的,它是一種產(chǎn)生數(shù)的和的裝置,那么加法器的工作原理是什么,為什么要采用
    的頭像 發(fā)表于 06-09 18:04 ?5011次閱讀

    加法器的工作原理及電路解析

    加法器是一種執(zhí)行二進制數(shù)相加的數(shù)字電路。它是最簡單的數(shù)字加法器,您只需使用兩個邏輯門即可構(gòu)建一個;一個異或門和一個 AND 門。
    的頭像 發(fā)表于 06-29 14:35 ?1w次閱讀
    半<b class='flag-5'>加法器</b>的工作原理及<b class='flag-5'>電路</b>解析

    鏡像加法器電路結(jié)構(gòu)及仿真設(shè)計

    鏡像加法器是一個經(jīng)過改進的加法器電路,首先,它取消了進位反相門;
    的頭像 發(fā)表于 07-07 14:20 ?2402次閱讀
    鏡像<b class='flag-5'>加法器</b>的<b class='flag-5'>電路</b>結(jié)構(gòu)及仿真設(shè)計

    同相加法器和反相加法器的區(qū)別是什么

    同相加法器和反相加法器是運算放大器在模擬電路設(shè)計中常用的兩種基本電路結(jié)構(gòu),它們在信號處理方面有著不同的特性和應(yīng)用場景。
    的頭像 發(fā)表于 05-23 14:35 ?2115次閱讀

    加法器的原理是什么 加法器有什么作用

    加法器數(shù)字電路中的基本組件之一,用于執(zhí)行數(shù)值的加法運算。加法器的基本原理和作用可以從以下幾個方面進行詳細闡述。
    的頭像 發(fā)表于 05-23 15:01 ?2277次閱讀
    <b class='flag-5'>加法器</b>的原理是什么 <b class='flag-5'>加法器</b>有什么作用

    串行加法器和并行加法器的區(qū)別?

    串行加法器和并行加法器是兩種基本的數(shù)字電路設(shè)計,用于執(zhí)行二進制數(shù)的加法運算。它們在設(shè)計哲學(xué)、性能特點以及應(yīng)用場景上有著明顯的區(qū)別。
    的頭像 發(fā)表于 05-23 15:06 ?2009次閱讀

    請問增益為1加法器有哪些?

    增益為1加法器指的是輸出信號的幅度與輸入信號幅度相等的加法器。這類加法器在模擬電路設(shè)計中非常重要,因為它們在執(zhí)行
    的頭像 發(fā)表于 05-23 15:10 ?975次閱讀