02-布尔运算习题

一,基本构件的说明

1,半加器
芯片名:HalfAdder
输入:a,b
输出:sum,carry
功能:sum=LSB of a+b
carry=MSB of a+b
————————————————————————————————————————————
2,全加器
芯片名:FullAdder
输入:a,b,c
输出:sum,carry
功能:sum = LSB of a+b+c
carry= MSB of a+b+c
————————————————————————————————————————————
3,加法器
芯片名:Add16
输入:a[16],b[16]
输出:out[16]
功能:out=a+b
说明:2补码的整数加法,不处理溢出的情况

————————————————————————————————————————————
4,增量器
芯片名:Inc16
输入:in[16]
输出:out[16]
功能:out=in+1
说明:2补码的整数加法,不处理溢出的情况
————————————————————————————————————————————
5,ALU
芯片名:ALU
输入:x[16], y[16]
zx, //x输入置0
nx, //x输入取反
zy, //y输入置0
ny, //y输入取反
f, //功能码:1 Add 0 and
no // out输出取反
输出:out[16], //16位输出
zr, //若out=0,为True,否则为False
ng //若out<0,为True,否则为False
功能:if zx then x=0
if nx then x=!x
if zy then y=0
if ny then y=!y
if f then out=x+y else out=x&y
if no then out=!out
if out=0 then zr=1 else zr=0
if out<0 then ng=1 else ng=0
说明:不处理溢出的情况
————————————————————————————————————————————
二,ALU 的功能列表:

注意:以上的理解基于下面的基础:
    (1)zx=1,nx=1 =====> x = -1
    (2)!x+1=-x
  举例子:
  (a)f(x,y) = !(!x-1)
        = !(!x+1-2)
        = !(-x-2)
        = !(-x-2)+1-1
        = -(-x-2)-1
        =x+1
   (b)f(x,y) = !(!x+y)
           = !(!x+1+y-1)
         = !(-x+y-1)+1-1
           = -(-x+y-1)-1
           = x-y

三,代码实现://TODO

1,半加器

————————————————————————————————————————————

2,全加器

————————————————————————————————————————————

3,加法器

————————————————————————————————————————————

4,增量器

————————————————————————————————————————————

5,ALU

————————————————————————————————————————————

 

转载于:https://www.cnblogs.com/wisdom-share/p/5967488.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值