题解 | #时钟切换#

时钟切换

https://www.nowcoder.com/practice/1de5e9bf749244cb8e5908626cc36d36

//用DFF来做通过在每个时钟源的选择路径中插入一个负边沿触发的D触发器,可以确保时钟在高电平时,输出保持不变。 通过这种反馈的方式使得在时钟切换时需要等待当前时钟取消选择,从而避免毛刺的产生。
`timescale 1ns/1ns

module huawei6(
	input wire clk0  ,
	input wire clk1  ,
	input wire rst  ,
	input wire sel ,
	output reg clk_out
);
//*************code***********//
    reg q0,q1;
    always@(negedge clk0 or negedge rst)
	if(!rst)
	q0<=0;
	else 
	q0<=~sel&(~q1);
	always@(negedge clk1 or negedge rst)
	if(~rst)
	q1<=0;
	else 
	q1<=sel&(~q0);
	always @ (*) begin
        clk_out <= (q1 & clk1) | (q0 & clk0);
    end

//*************code***********//
endmodule

全部评论

相关推荐

尊嘟假嘟点击就送:加v细说,问题很大
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务