题解 | #信号发生器#

信号发生器

https://www.nowcoder.com/practice/39f6766689cc448e928a0921d1d1f858

`timescale 1ns/1ns
module signal_generator(
	input clk,
	input rst_n,
	input [1:0] wave_choise,
	output reg [4:0]wave
	);
reg [4:0] cnt0;
reg dec;
always@(posedge clk or negedge rst_n)begin
	if(!rst_n) begin
	wave <= 'd0;
	cnt0 <= 'd0;
	dec  <= 'd1;
	end
	else 
	case(wave_choise)
	0: begin
		wave <= (cnt0 == 5'd19) ? 0:
				(cnt0 == 5'd9)  ? 5'd20:wave;
		cnt0 <= (cnt0 == 5'd19) ?'d0 :(cnt0 + 1) ;
		dec  <= 'd1;
	end
	1: begin
		wave <= (wave < 5'd20) ?(wave + 1) : 'd0;
		dec  <= 'd1;
	end
	2:begin
		wave <= (dec && (wave!='d0))?(wave -1):
				(!dec && (wave =='d20))?wave-1:wave+1;
		dec  <= (wave=='d0 || wave=='d20) ? ~dec:dec;
	end
	default:begin
		wave <= 'd0;
		cnt0 <= 'd0;
		dec  <= 'd1;
	end
	endcase
end

endmodule

全部评论

相关推荐

03-03 23:12
已编辑
北京邮电大学 Java
书海为家:我来给一点点小建议,因为毕竟还在学校不像工作几年的老鸟有丰富的项目经验,面试官在面试在校生的时候更关注咱们同学的做事逻辑和思路,所以最好在简历中描述下自己做过项目的完整过程,比如需求怎么来的,你对需求的解读,你想到的解决办法,遇到困难如何找人求助,最终项目做成了什么程度,你从中收获了哪些技能,你有什么感悟。
你的简历改到第几版了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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