题解 | #脉冲同步器(快到慢)#
脉冲同步器(快到慢)
https://www.nowcoder.com/practice/9f7c92635b5f49579e8e38fd8c8450d7
`timescale 100ps/100ps
module pulse_detect(
input clka,
input clkb,
input rst_n,
input sig_a,
output sig_b
);
reg qa;
reg [2:0]qb;
assign sig_b=qb[2]^qb[1];
always@(posedge clka or negedge rst_n)
if(!rst_n)begin
qa<=0;
end else begin
qa<=(sig_a)?(~qa):qa;
end
always@(posedge clkb or negedge rst_n)
if(!rst_n)begin
qb<=0;
end else begin
qb={qb[1:0],qa};//三拍
end
endmodule

腾讯成长空间 5970人发布