全减器的原理与vhdl实现

本文介绍了全减器的工作原理,详细讲解了如何使用VHDL语言实现全减器,包括输入参数x、y、sub_in以及输出差值diff和借位输出s_out。内容涵盖了不同输入组合下的运算结果,并展示了如何通过例化语句构建四位串行全减器。最后,提到了例化语句在 vhdl 中作为并发语句的角色和使用。
摘要由CSDN通过智能技术生成

x:被减数 y:减数 sub_in: 借位输入(其实也是个减数,只不过从低位来的,类似于全加器中的低位进位输入)diff:差值 s_out: 借位输出(判断是否需要从高位借位才能相减)公式为x-y-sub_in=diff
x y sub_in diff s_out
0 0 0 0 0
0 0 1 1 1 --从高位借位(因为二进制)然后2-1=1
0 1 0 1 1
0 1 1 0 1 --借了一位后2-2=0
1 0 0 1 0

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity full_sub is
port(x,y,sub_in: in std_logic;
diff,s_out:out std_logic);
end full_sub;
architecture full of full is
begin
process(x,y,sub_in)
variable w: std_logic_vector(2 downto 0); -----这定义变量或信号都可以,因为后面并没有对w重复赋值或者跟其他表达式有交集构成储存器的情况,只是在case处有一个判断。
begin
w:=x&y&sub_in;
case w is
when “000”=>diff<=‘0’; s_out<=‘0’;
when “001”=>diff<=‘1’;sout<=‘1’;

when others=>null;
end case;
end proces

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值