一位全减器VHDL 程序

一位全减器VHDL 程序,第1张

数据流描述:

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

全减器是两个二进制的数进行减法运算时使用的一种运算单元。

仅适用异或门和与非门设计全减器方法如下:

输入:A为被减数,B为减数,Cin为低位本位的借位。

输出: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。敬核


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12560038.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存