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行为描述级别:
太麻烦了 我不想写了 自己练习吧
呵呵最好用 门级别的。 稳定性最好。