在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 6282|回复: 19

[求助] verilog语言12x12位有符号数代码

[复制链接]
发表于 2016-1-13 16:18:46 | 显示全部楼层 |阅读模式
20资产
RT,这个怎么写,有资料或者链接什么的大神可以给我参考一下吗,谢谢

发表于 2016-1-13 17:40:47 | 显示全部楼层
这个直接用signed 定义乘数和被乘数就好了。难道要用booth算法+加法树去做?
 楼主| 发表于 2016-1-13 17:59:33 | 显示全部楼层
回复 2# whz7783478


   其实我不大懂,网上的代码很复杂,我一句话不行吗,assign Y=X1*X2
发表于 2016-1-13 18:41:30 | 显示全部楼层
回复 3# cfpdl


   input  signed [7:0] a, b;output  signed [15:0] o;assign o = a * b;
 楼主| 发表于 2016-1-14 09:41:56 | 显示全部楼层
回复 4# whz7783478


   这个就是12位有符号整数的么,怎么网上的好几十行
 楼主| 发表于 2016-1-14 10:48:47 | 显示全部楼层
回复 4# whz7783478


   我是那个弄一个module12x12(clk,a,b,result)这种的,每次始终上升沿就执行一次操作,12X12有符号整数的
发表于 2016-1-14 11:18:07 | 显示全部楼层
我本人会方法
1、generate一个mux_ip
2、手写一个
发表于 2016-1-14 11:27:15 | 显示全部楼层
回复 6# cfpdl

一般情况下乘法器就是组合逻辑,你如果要1clk出一个结果,需要乘数、被乘数一个clk改变一次就可以了啊
 楼主| 发表于 2016-1-14 17:58:41 | 显示全部楼层
回复 7# z894811350


   我想手写用一个的,但是我不明白要不要考虑原码和补码那些,因为我的数里有负数,还有看到很多很复杂的又要移位什么的,不是一个乘号*就行了吗,我写了一个,这个有什么问题吗

module 12X12(clock,dataa,datab,result)

input clock;

input signed [11:0]  dataa,datab;//输入12位有符号整数

output[22:0]  result;//23位的输出,1符号位+22位数字

reg [22:0] result;

reg [11:0] x1,x2,x3,x4;//x1x2存放输入变量;x3x4存放变量的原码

reg x5;               //存放输出的符号位

reg[21:0] x6;         //22位寄存器,存放22位有效数字相乘结果

reg[22:0] x7;          //存放输出数据的原码

always@ (posedge clock)

begin

  x1<=dataa;            //寄存器赋值

  x2<=datab;

  x3<=(x1[11]==0)?x1:{1'b1,~x1[10:0]+1'b1}; //判断最高位是否为1,即输入是否为负数,是                           


                                        就取其补码


x4<=(x2[11]==0)?x2:{1'b1,~x2[10:0]+1'b1};//同上

  x5<=x3[11]^x4[11];              //两数符号位异或

  x6<=x3[10:0]*x4[10:0];          //11位有效数字相乘

  x7<={x5,x6};                   //输出的原码,由符号位+有效数字组成

  result<=(x7[22]==0)?x7:[1'b1,~x7[21:0]+1'b1];//判断输出是否为负数,是就变为补码

end

endmodule

 楼主| 发表于 2016-1-14 18:06:55 | 显示全部楼层
回复 8# whz7783478


   我楼下自己写的那个感觉不大对,我也不确定输出到底是23位还是24位,要不要补码运算,能看一下吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-25 07:11 , Processed in 0.020700 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表