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

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

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
	);
//c=12*a+5*b=8a+4a+4b+b
reg [8:0] a1,b1,c1;
// assign a1={5'b0,a};
// assign b1={5'b0,b};
// assign c= (a1<<3)+(a1<<2)+(b1<<2)+b;
always@(posedge clk or negedge rst_n)
if(!rst_n) begin
  a1 <= 0;
  b1 <= 0;
  c1 <= 0;
end
else begin
  a1 <= (a<<3)+(a<<2);
  b1 <= (b<<2)+b;
  c1 <= a1+b1;
end
assign c = c1;
endmodule

其实用组合逻辑可以直接出的。但是答案又打了几拍,只能用时序逻辑打个拍才能过

全部评论

相关推荐

程序员牛肉:你这简历有啥值得拷打的?在牛客你这种简历一抓一大把,也就是个人信息不一样而已。 关键要去找亮点,亮点啊,整个简历都跟流水线生产出来的一样。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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