reg sck;
reg sck_r0,sck_r1;
wire sck_n,sck_p;
always@(posedge clk or negedge rst_n) begin
if(!rst_n) begin
sck_r0 <= 1'b1; //sck of the idle state is high
sck_r1 <= 1'b1;
end
else begin
sck_r0 <= SCK;
sck_r1 <= sck_r0;
end
end
assign sck_n = (~sck_r0 & sck_r1)? 1'b1:1'b0; //capture the sck negedge
assign sck_p = (~sck_r1 & sck_r0)? 1'b1:1'b0; //capture the sck posedge
如何获得某一时钟信号的上升沿和下降沿
于 2022-03-15 10:01:33 首次发布
该博客内容涉及数字电路中的时钟信号处理。通过两个寄存器sck_r0和sck_r1来捕获时钟信号的上升沿和下降沿,当rst_n为低电平时,sck_r0和sck_r1被置为高电平,表示时钟的空闲状态。在时钟边沿检测中,sck_n用于捕获下降沿,sck_p用于捕获上升沿。
摘要由CSDN通过智能技术生成