//	因为受时钟控制,所以输出延迟输入一个clk,要有这个概念。
//
//	编写乘法器求解
`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]	a_buf, b_buf;
reg		[8:0]	c_buf;
always@(posedge clk or negedge rst_n)		begin
	if(!rst_n)	begin
		a_buf	<= 8'd0;
		b_buf	<= 8'd0;
		c_buf	<= 8'd0;
		end
	else begin
		a_buf	<= (a << 3) + (a << 2);
		b_buf	<= (b << 2) + b;
		c_buf	<= a_buf + b_buf;
		end
end	
	
assign	c = c_buf;
	
endmodule