引言
加法器是非常重要的,它不僅是其它復雜算術運算的基礎,也是 CPU 中 ALU 的核心部件(全加器)。兩個二進制數(shù)之間的算術邏輯運算例如加減乘除,在數(shù)字計算機中都是化為若干步加法操作進行的,因此,學好數(shù)字電路,從學好加法器開始。
加法器分為半加器和全加器。全加器和半加器相比也就多了那么一個相加的進位輸入,全加器就是三位相加,半加器就是二位相加。例如,我們在做加法運算的時候,總是需要進行低位進位的判斷,從而再進行下一位的計算,這就是全加器的由來。詳細的也可以參考百度百科。
一、半加器的 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; // 實踐證明,這里 <= 和 = 的結果都一樣;都是純粹的組合邏輯;
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; // 實踐證明,這里 <= 和 = 的結果都一樣;都是純粹的組合邏輯;
// cout = a & b | b & cin | a & cin;
// end
// 數(shù)據(jù)流描述
// assign {cout,sum} = a + b + cin;
endmodule
這里,“{}” 符號表示的是 “拼接位”,即先計算 a 與 b 的值,當 a 與 b 為 “0” 和 “1” 時,它們之和為 1,那么就是{01},對應 cout 和 sum ;當 a 與 b 為 “1” 和 “1” 時,它們之和為 2,那么就是轉換為二進制就是{10},同樣對應 cout 和 sum 等等。
基于多種方式描述的一個全加器電路的 RTL 電路圖如下所示:

全加器的 RTL 電路實現(xiàn)
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
加法器
+關注
關注
6文章
183瀏覽量
31425 -
RTL
+關注
關注
1文章
394瀏覽量
62663 -
半加器
+關注
關注
1文章
29瀏覽量
9127 -
Verilog設計
+關注
關注
0文章
20瀏覽量
6743 -
全加器電路
+關注
關注
0文章
3瀏覽量
1740
發(fā)布評論請先 登錄
相關推薦
熱點推薦
加法器
請問下大家,,進位選擇加法器和進位跳躍加法器的區(qū)別是啥啊?我用Verilog實現(xiàn)16位他們的加法器有什么樣的不同???還請知道的大神告訴我一下。。
發(fā)表于 10-20 20:23
加法器,加法器是什么意思
加法器,加法器是什么意思
加法器 : 加法器是為了實現(xiàn)加法的?! 〖词钱a(chǎn)生數(shù)的和的裝置。加數(shù)和被加數(shù)為輸入,和數(shù)與
發(fā)表于 03-08 16:48
?5925次閱讀
同相加法器電路原理與同相加法器計算
同相加法器輸入阻抗高,輸出阻抗低 反相加法器輸入阻抗低,輸出阻抗高.加法器是一種數(shù)位電路,其可進行數(shù)字的
發(fā)表于 09-13 17:23
?5.9w次閱讀
加法器的原理及采用加法器的原因
有關加法器的知識,加法器是用來做什么的,故名思義,加法器是為了實現(xiàn)加法的,它是一種產(chǎn)生數(shù)的和的裝置,那么加法器的工作原理是什么,為什么要采用
半加法器的工作原理及電路解析
半加法器是一種執(zhí)行二進制數(shù)相加的數(shù)字電路。它是最簡單的數(shù)字加法器,您只需使用兩個邏輯門即可構建一個;一個異或門和一個 AND 門。
同相加法器和反相加法器的區(qū)別是什么
同相加法器和反相加法器是運算放大器在模擬電路設計中常用的兩種基本電路結構,它們在信號處理方面有著不同的特性和應用場景。
串行加法器和并行加法器的區(qū)別?
串行加法器和并行加法器是兩種基本的數(shù)字電路設計,用于執(zhí)行二進制數(shù)的加法運算。它們在設計哲學、性能特點以及應用場景上有著明顯的區(qū)別。
請問增益為1的加法器有哪些?
增益為1的加法器指的是輸出信號的幅度與輸入信號幅度相等的加法器。這類加法器在模擬電路設計中非常重要,因為它們在執(zhí)行
基于Verilog的經(jīng)典數(shù)字電路設計(1)加法器
評論