有符号无符号乘法---------------verilog中 “ * ” 号的探索

有符号数的计算在 Verilog 中是一个很重要的问题(也很容易会被忽视),有时为了简单方便,我常常会使用“*”来偷懒,这样就不用去调用乘法器了,但是结果常常不同,下面实际试验一下 Verilog 的乘法问题;

编写程序测试无符号数和有符号数的乘法

编写程序如下,其中,乘法的两个乘数分别是无符号、有符号的四种组合,输出的积也是分为无符号和有符号,共计 8 种可能;

module signed_test(   
input           [7:0]   data_in_unsigned_1,    
input           [7:0]   data_in_unsigned_2,    
input   signed[7:0]   data_in_signed_1,    
input   signed[7:0]   data_in_signed_2,        
output          [15:0]  data_out_000,    
output          [15:0]  data_out_001,    
output          [15:0]  data_out_010,    
output          [15:0]  data_out_011,        
output  signed[15:0]  data_out_100,   
output  signed[15:0]  data_out_101,    
output  signed[15:0]  data_out_110,    
output  signed[15:0]  data_out_111);

//无符号 = 无符号 * 无符号 
assign data_out_000 = data_in_unsigned_1 * data_in_unsigned_2;
//无符号 = 无符号 * 有符号 
assign data_out_001 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值