微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 新人请教乘法器的问题

新人请教乘法器的问题

时间:10-02 整理:3721RD 点击:

1  一个8位串行乘法器
其中一个部部分reg[15:0] reg[7:0]y_reg
t<={{8{x[7]}},x}这句是什么意思
if(y_reg[0]==1)     这个又是为什么?意思我懂
begin
......
.......
2   4位流水线乘法器
begin
stored3<=mul_b[3]?{1'b0,mul_a,3'b0};8'b0;
stored2<=mul_b[2]?{2'b0,mul_a,a'bo};8'b0;
stored1<=mul_b[1]?{3'b0,mul_a,a'bo};8'b0;
stored0<=mul_b[0]?{4'b0,mul_a};8'b0;
注释写着实现移位相加,有人能帮具体解释下么?

这些程序只写了一部分,如果看不懂我会把全部的打上来的

你最好写完整,等高手来了好看明白。

顶一下

顶一下

1  一个8位串行乘法器
其中一个部部分reg[15:0] reg[7:0]y_reg
t<={{8{x[7]}},x}这句是什么意思
if(y_reg[0]==1)     这个又是为什么?意思我懂
begin
......
.......
2   4位流水线乘法器
begin
stored3<=mul_b[3]?{1'b0,mul_a,3'b0};8'b0;
stored2<=mul_b[2]?{2'b0,mul_a,a'bo};8'b0;
stored1<=mul_b[1]?{3'b0,mul_a,a'bo};8'b0;
stored0<=mul_b[0]?{4'b0,mul_a};8'b0;

我试试解释下,如果不对多多包含,
t<={{8{x[7]}},x}就是T={X(7), X(7),X(7),X(7),X(7),X(7),X(7),X(7)}
stored3<=mul_b[3]?{1'b0,mul_a,3'b0};8'b0;
stored2<=mul_b[2]?{2'b0,mul_a,a'bo};8'b0;
stored1<=mul_b[1]?{3'b0,mul_a,a'bo};8'b0;
stored0<=mul_b[0]?{4'b0,mul_a};8'b0;
这个就是说检查其中一个乘数的每一位,你这应该是四位的乘法,所以他要判断每一位,如果是1就让stored暂时移位,最后再把stored0  stored3 stored1 stored2
加起来就对了   这样太麻烦了

不知道5楼的说的对不

第一个是SIGNED数字加法时的符号扩展,
第二个是乘法移位阿,而且代码还写错了,正确的应该是:
begin
stored3<=mul_b[3]?{1'b0,mul_a,3'b0};8'b0;
stored2<=mul_b[2]?{2'b0,mul_a,2'b0};8'b0;
stored1<=mul_b[1]?{3'b0,mul_a,1'b0};8'b0;
stored0<=mul_b[0]?{4'b0,mul_a};8'b0;

谁能把第一个给个准确的答案?还有第二个怎么移位的 我不是很懂 能详细讲下么

自己对照仿真波形去理解
这也是学习过程
依靠心里太强不适合干这行

问题是就一条语句怎么仿真  
别整的一幅很拽的样子成么?楼上的   别太自大了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top