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

求两个数的差值

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 时,使用了或符号)

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 11:45
你不要过来啊啊啊啊啊啊啊
码农索隆:对面:“今天你不面也得面”
点赞 评论 收藏
分享
点赞 评论 收藏
分享
06-26 17:24
已编辑
宁波大学 golang
迷失西雅图:别给,纯kpi,别问我为什么知道
点赞 评论 收藏
分享
06-19 10:54
门头沟学院 Java
绝迹的星:行情挺好的, 刚拒了一个美团offer, 因为不给配电动车
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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