数字电路设计之有符号乘法的两种实现

第一种实现:使用选择器再移位。

module signed_multi(a,b,result);//in this module,you can find that you can initial the value of wire
	input   [7:0]  a,b;
	output  [15:0] result;
	wire    [7:0]  a,b;
	wire    [15:0] result;
	wire    [7:0]  ab0 = a[0]?b:8'b0;
	wire    [7:0]  ab1 = a[1]?b:8'b0;
	wire    [7:0]  ab2 = a[2]?b:8'b0;
	wire    [7:0]  ab3 = a[3]?b:8'b0;
	wire    [7:0]  ab4 = a[4]?b:8'b0;
	wire    [7:0]  ab5 = a[5]?b:8'b0;
	wire    [7:0]  ab6 = a[6]?b:8'b0;
	wire    [7:0]  ab7 = a[7]?b:8'b0;
	assign      result = {8'b1,~ab0[7],ab0[6:0]}     + {7'b0,~ab1[7],ab1[6:0],1'b0} + {6'b0,~ab2[7],ab2[6:0],2'b0} + {5'b0,~ab3[7],ab3[6:0],3'b0}
	                   + {4'b0,~ab4[7],ab4[6:0],4'b0}+ {3'b0,~ab5[7],ab5[6:0],5'b0} + {2'b0,~ab6[7],ab6[6:0],6'b0} + {1'b1,~ab7[7],ab7[6:0],7'b0};
endmodule</
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值