题解 | #流水线乘法器#

流水线乘法器

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

//temp 一定给out的位宽 也就是俩倍
//打一拍输出
`timescale 1ns/1ns

module multi_pipe#(
	parameter size = 4
)(
	input 						clk 		,   
	input 						rst_n		,
	input	[size-1:0]			mul_a		,
	input	[size-1:0]			mul_b		,
 
 	output	reg	[size*2-1:0]	mul_out		
);
    wire [size*2-1:0]temp0;
	wire [size*2-1:0]temp1;
	wire [size*2-1:0]temp2;
	wire [size*2-1:0]temp3;
	reg [size*2-1:0]temp;
	assign temp0=mul_b[0]?{4'b0,mul_a}:0;
	assign temp1=mul_b[1]?{3'b0,mul_a,1'b0}:0;
	assign temp2=mul_b[2]?{2'b0,mul_a,2'b0}:0;
	assign temp3=mul_b[3]?{1'b0,mul_a,3'b0}:0;
	always@(posedge clk or negedge rst_n)begin
	if(!rst_n)
	mul_out<=0;
	else
	mul_out<=temp;end
		
	always@(posedge clk or negedge rst_n)begin
	if(!rst_n)
	temp<=0;
	else
	temp<=temp0+temp1+temp2+temp3;end



endmodule

全部评论

相关推荐

09-22 09:42
门头沟学院 Java
牛客37185681...:马德,我感觉这是我面过最恶心的公司,一面是两个女hr,说什么实习前几个月属于试用期,试用期过了才能转成正式实习生,我***笑了,问待遇就是不说,问能不能接受全栈,沙币公司
如果可以选,你最想去哪家...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务