题解 | #求两个数的差值#

求两个数的差值

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

`timescale 1ns/1ns
module data_minus(
	input clk,
	input rst_n,
	input [7:0]a,
	input [7:0]b,

	output  reg [8:0]c
);

always @(posedge clk,negedge rst_n)
	if(!rst_n)
		c <= 9'b0;
	else if(a > b)
		c <= a - b;
	else if((a < b) | (a == b) )
		c <= b - a;
endmodule

自己没有看题解第一个通过题,虽然很简单也庆祝一下。

第一:判断复位信号是否有效,有效则输出9'b0(因为a+b是可能溢出的,所以在输出口给的是9为的输出)

第二:判断a和b的大小关系,并将值赋给c。(因为<=是非阻塞赋值语句,所以在判断a <= b 时,使用了或符号)

全部评论

相关推荐

点赞 评论 收藏
分享
想要offer的牛油果很大方:老哥,你啥时候面的,有timeline吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务