题解 | #编写乘法器求解算法表达式#

编写乘法器求解算法表达式

https://www.nowcoder.com/practice/c414335a34b842aeb9960acfe5fc879f

`timescale 1ns/1ns

module calculation(
	input clk,
	input rst_n,
	input [3:0] a,
	input [3:0] b,
	output [8:0] c
	);
	reg[8:0]c;
	wire [8:0]out1,out2;
wire [3:0]t1=4'b1100;
wire [3:0]t2=4'b0101;
  cheng cheng_uut1(
	.in1(t1),
	.clk(clk),
	.rst_n(rst_n),
	.in2(a),
	.out(out1)
  );

 cheng cheng_uut2(
	.in1(t2),
	.clk(clk),
	.rst_n(rst_n),
	.in2(b),
	.out(out2)
  );
always@(posedge clk or negedge rst_n) 
    if(!rst_n)
	c<=0;
	else c<=out1+out2;  

endmodule

module cheng(
	input clk,
	input rst_n,
	input [3:0] in1,
	input [3:0] in2,
	output [8:0] out
);
genvar i;
reg [8:0]buff[3:0];
generate for(i=0;i<4;i=i+1) begin :loop
 always@(posedge clk or negedge rst_n) 
    if(!rst_n)
	 buff[i]<=0;
	 else 
     buff[i]<=in2[i]?(in1<<i):0;
end
endgenerate
assign out=buff[0]+buff[1]+buff[2]+buff[3];
endmodule

全部评论

相关推荐

02-05 08:49
已编辑
武汉大学 Java
野猪不是猪🐗:36k和36k之间亦有差距,ms的36k和pdd的36k不是一个概念
点赞 评论 收藏
分享
King987:在校生的话建议把在校经历丰富一下,多写一些比赛。项目简介中你的项目描述太长了,多写几个技术点。必须要是亮点让面试官有的问,他就会通过你的简历,自己改一改再投面试会多一些,改不好可以聊我
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务