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

求两个数的差值

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

全部评论

相关推荐

Lorn的意义:你这种岗位在中国现在要么牛马天天加班,要么关系户进去好吃好喝,8年时间,真的天翻地覆了,对于资本来说你就说一头体力更好的牛马,哎,退伍没有包分配你真的亏了。
点赞 评论 收藏
分享
风中翠竹:真的真的真的没有kpi。。。面试官是没有任何kpi的,捞是真的想试试看这个行不行,碰碰运气,或者是面试官比较闲现在,没事捞个人看看。kpi算HR那边,但是只有你入职了,kpi才作数,面试是没有的。
双非有机会进大厂吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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