A. 請問如何利用四位集成全加器和門電路,實現一位餘3代碼的加法運算數電,數字電路,數字電子技術
假設要實現A X B,利用門電路搭一個2-4解碼器。2-4解碼器的輸入信號為A;然後用2-4解碼器的輸出控制一個4路選擇器,4路選擇器的4個輸入分別是0,B,B+B,B+B+B,這部分用二位全加器實現。
向左轉|向右轉
位移和添加乘法器的一般結構如下圖所示,對於32比特的數乘運算,根據乘數最低有效位的數值,被乘數的數值被相加並累積。
在每一個時鍾循環周期內,乘數被左移一個比特,並且它的位值被測試,如果位值是0,則只進行一次位移操作。如果位值是1,則被加數被放入累加器中,並且左移一位。
當所有乘數的比特值被測試完之後,結果就在累加器當中。累加器最初是N位,相加之後變成2N位,最低有效位包涵了乘數。延遲是N個最大循環周期。這類電路放在非同步電路中有許多好處。
B. 利用兩個4位二進制全加器72LS283和與非門,設計一個1位NBCD碼的全加器,畫出設計電路圖。
你是來考我們的吧!
C. 畫出全加器邏輯圖並給出進位公式
二進制全加器
用於門電路實現兩個二進制數相加並求出和的組合線路,稱為一位全加器。一位全加器可以處理低位進位,並輸出本位加法進位。多個一位全加器進行級聯可以得到多位全加器。常用二進制四位全加器74LS283。提供與非門的是74LS86,有4個與非門。
加法器由一個加法位和一個進位位組成。 進位位可以通過與門實現。 加法位需要通過或門和與非門組建的異或門(需要與門將兩個邏輯門連接)實現。
將加法位和進位位連接,實現加法位輸出和進位位輸出。 通過以上幾步就已近組建好了一個半加器。 將兩個半加器和一個或門連接就組建成了一個全加器(二進制加法器)。
若想實現更多位數需要將跟多的全加器連接,一個全加器是二位,八個全加器連接就是八位,同樣n個相連就是n位。
參考資料來源:網路-全加器
D. 求二,三,四位全加器在proteus上的模擬的電路圖解
要做多位加法器,就不能再用門電路了,那是很麻煩的。可以用四位集電加法器74LS283來做就方便了。下面的模擬圖的輸出和用了數碼管來顯 示的,如果你不需要就不用畫了。
四位加法器模擬圖
E. 求用兩片74ls138設計一個四位全加器的電路圖謝謝
如果是設計四位加法器還可以,但已經很麻煩了。可是設計全加器是不能的,因全加器有5個變數,解碼器要有32個輸出端,而兩片74LS138卻只有16個輸出端,怎麼做?那需要4片,那電路可麻煩死了,也沒有意義畫這么復雜的電路了。
可現在的問題是,兩片74LS138是做不來的,這是誰出的鬼題?
F. 四位全加器的原理
加法器是數字系統中的基本邏輯器件。例如:為了節省資源,減法器和硬體乘法器都可由加法器來構成。但寬位加法器的設計是很耗費資源的,因此在實際的設計和相關系統的開發中需要注意資源的利用率和進位速度等兩方面的問題。多位加法器的構成有兩種方式:並行進位和串列進位方式。並行進位加法器設有並行進位產生邏輯,運算速度快;串列進位方式是將全加器級聯構成多位加法器。通常,並行加法器比串列級聯加法器佔用更多的資源,並且隨著位數的增加,相同位數的並行加法器比串列加法器的資源佔用差距也會越來越大。
全加器可對兩個多位二進制數進行加法運算,同時產生進位。當兩個二進制數相加時,較高高位相加時必須加入較低位的進位項(Ci),以得到輸出為和(S)和進位(C0)。
G. 全加器的工作原理
全加器英語名稱為full-adder,是用門電路實現兩個二進制數相加並求出和的組合線路,稱為一位全加器。一位全加器可以處理低位進位,並輸出本位加法進位。多個一位全加器進行級聯可以得到多位全加器。常用二進制四位全加器74LS283。
一位全加器(FA)的邏輯表達式為:
S=A⊕B⊕Cin;Cout=AB+BCin+ACin,其中A,B為要相加的數,Cin為進位輸入;S為和,Co是進位輸出;如果要實現多位加法可以進行級聯,就是串起來使用。
比如32位+32位,就需要32個全加器;這種級聯就是串列結構速度慢,如果要並行快速相加可以用超前進位加法。
如果將全加器的輸入置換成A和B的組合函數Xi和Y(S0…S3控制),然後再將X,Y和進位數通過全加器進行全加,就是ALU的邏輯結構結構。即 X=f(A,B);Y=f(A,B)不同的控制參數可以得到不同的組合函數,因而能夠實現多種算術運算和邏輯運算。
假設超前進位加法器中的每個門時延是t,對於4位加法,最多經過4t的時延,而且,即使增加更多的位數,其時延也是4t。
對比串列進位加法器和超前進位加法器,前者線路簡單,時延與參與計算的二進制串長度成正比,而後者則是線路復雜,時延是固定值。
通常,對於32的二進制串,可以對其進行分組,每8位一組,組內加法用超前進位加法器,組間進位則用串列進位。採用這種折中方法,既保證了效率,又降低了內部線路復雜度。
H. 使用一個4位二進制全加器,設計將8421碼轉換成餘三碼的電路,畫出設計的電路圖(用的是74283)
A1、A2、A3、A4接輸入A、B、C、D,B3、B2、CI接地,B1、B0接高電平,輸出CO懸空,S3、S2、S1、S0就是輸回出Y3、Y2、Y1、Y0。就可以將輸答入的四位BCD碼轉化成餘三碼。
根據餘3碼的定義可知,餘3碼是由8421碼加3後形成的代碼。所以用4位二進制並行加法器實現8421碼到餘3碼的轉換,只需從4位二進制並行加法器的輸入端A4、A3、A2和A1輸入8421碼;
從輸入端B4、B3、B2和B1輸入二進制數0011,進位輸入端C0接上「0」,便可從輸出端F4、F3、F2和F1得到與輸入8421碼對應的餘3碼。
(8)四位全加器電路圖擴展閱讀:
規律:個位上的數字的次數是0,十位上的數字的次數是1,......,依次遞增,而十分位的數字的次數是-1,百分位上數字的次數是-2,......,依次遞減。
二進位計數制的四則運算規則十分簡單。而且四則運算最後都可歸結為加法運算和移位,這樣,電子計算機中的運算器線路也變得十分簡單了。不僅如此,線路簡化了,速度也就可以提高。這也是十進位計數制所不能相比的。
I. 什麼是一位全加器,怎麼設計邏輯電路圖
全加器英語名稱為full-adder,是用門電路實現兩個二進制數相加並求出和的組合線路,稱為一位全加器。
一位全加器可以處理低位進位,並輸出本位加法進位。多個一位全加器進行級聯可以得到多位全加器。常用二進制四位全加器74LS283。
邏輯電路圖設計如下:
一位全加器(FA)的邏輯表達式為:
S=A⊕B⊕Cin
Co=(A⊕B)Cin+AB
其中A,B為要相加的數,Cin為進位輸入;S為和,Co是進位輸出;
如果要實現多位加法可以進行級聯,就是串起來使用;比如32位+32位,就需要32個全加器;這種級聯就是串列結構速度慢,如果要並行快速相加可以用超前進位加法。
(9)四位全加器電路圖擴展閱讀:
全加器是組合邏輯電路中最常見也最實用的一種,考慮低位進位的加法運算就是全加運算,實現全加運算的電路稱為全加器。而其功能設計可以根據組合邏輯電路的設計方法來完成。
通過邏輯門、74LS138解碼器、74LS153D數據選擇器來實現一位全加器的電路設計,並且實現擴展的兩位全加器電路。並且Multisim是一個專門用於電路設計與模擬的工具軟體。
J. 四位全加器在Quartus上如何實現
恩 怎麼說呢,方法太多了 我可以用VHDL 可以用 Verilog寫 可以用電路圖畫。 四位全加器水平太低了把。 你才給0分。
用verilog寫的畫。可以用門級別的方式。可以用數據輸出流方式 ,可以用行為描述級別的。 N中方式。太多了
VHLD
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity adder4bit is
port(cin: in std_logic;
a,b: in std_logic_vector(3 downto 0);
s: out std_logic_vector(3 downto 0);
cout: out std_logic );
end adder4bit;
architecture beh of adder4bit is
signal sint: std_logic_vector(4 downto 0);
signal aa,bb: std_logic_vector(4 downto 0);
begin
aa<='0' & a (3 downto 0);
bb<='0' & b(3 downto 0);
sint<= aa+bb+cin;
s(3 downto 0) <= sint (3 downto 0);
cout<= sint(4);
end beh;
verilog門級別的:mole halfadder (a,b,s,c);
input a;
input b;
output s;
output c;
reg s;
reg c;
always @(a,b)
begin
s<=a^b;
c<=a&b;
end
endmole
mole fulladder (a,b,cin,s,co);
input a;
input b;
input cin;
output s;
output co;
wire s1,d1,d2;
halfadder HA1(a,b,s1,d1);
halfadder HA2(cin,s1,s,d2);
or (d1,d2,co);
endmole
mole _4bit_adder (a,b,cin,s,co);
input [3:0]a;
input [3:0]b;
input cin;
output [3:0]s;
output co;
wire c0,c1,c2;
fulladder FA0(a[0],b[0],cin,s[0],c0);
fulladder FA1(a[1],b[1],c0,s[1],c1);
fulladder FA2(a[2],b[2],c1,s[2],c2);
fulladder FA3(a[3],b[3],c2,s[3],co);
endmole
verilog數據流級:mole Verilog1(a,b,s,cin,cont);
input [3:0]a,b;
input cin;
output [3:0]cont;
output s;
assign {s,cont}=a+b+cin;
endmole
verilog行為描述級別:
太麻煩了 我不想寫了 自己練習吧
呵呵最好用 門級別的。 穩定性最好。