LIBRARY IEEE
USE IEEE.STD_LOGIC_1164.ALL
USE IEEE.STD_LOGIC_UNSIGNED.ALL
ENTITY F_suber1 IS
PORT( A,B :IN STD_LOGIC
CIN :IN STD_LOGIC
DIFF,COUT : OUT STD_LOGIC)
END
ARCHITECTURE example OF F_suber1 IS
SIGNAL S :STD_LOGIC_VECTOR(2 DOWNTO 0)BEGIN
S<=CIN&A&B
PROCESS(A,B,CIN)
BEGIN
CASE S IS
WHEN "000"氏芹=>DIFF<='0'COUT<='0'
WHEN "001"=>DIFF<='1'COUT<='1'
WHEN "010"=>DIFF<='1'COUT<='0'
WHEN "011"=>DIFF<='0'COUT<='0'
WHEN "100"=>DIFF<='饥核旅1'COUT<='1'
WHEN "101"=>DIFF<='0'COUT<='1'
WHEN "110"=>DIFF<='0'COUT<='0'
WHEN "111"=>DIFF<='1'COUT<='1'
WHEN OTHERS=>DIFF<='X'烂凳
C
全减器是两个二进制的数进行减法运算时使用的一种运算单元。
仅适用异或门和与非门设计全减器方法如下:
输出:S为本位的差,CO为本位向高位的借位。
原理:最简单的全减器是采用本位结果和借位来显示,二进制中是借一当芹大二,所以可以使用两个输出变量的高低电平变化来实现减法运算。
扩展内容:
全加器是能够计算低位进位的二进制加法电路。与半加器相比,全加器不只考虑本位计算结果是否有进位,也考虑上一位对本位的进位,可以把多个一位全加器级联后做成多位全加器。
如果要实现多位加法可以进行级联,就是串起来使用;比如32位+32位,就需要32个全加器;这种级联就是串行结构速度慢,如果要并行快速相加可以用超前进位加兄腊法。
仅适用异或门和与非门设计全加器方法如下:
输入:A为被加数,B为加数,Cin为相邻低位来的进位数。
输出:Sum为输出本位嫌尘竖和。
进位输出:Cout为相邻高位进位数。
先写出1位二进制全减器的真值表:
然后将两片LS151的选择控制引脚C、B、A分别连接全减器的输入端bin、x和y,LS151的选通端STROBE接低电戚稿宴平(接地)。其中一片151的D0、D3、D5、和D6接低电平,D1、高银D2、D4和D7接高电平(通过上拉电阻接到电源端),它的输出端Y就输出了差d;另外一片151的D0、D2、D3和D6接低电平,D1、D4、D5和D7接高电平,它的输出端Y就是本位向高位的借位bout。敬核
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)