// File name: edgedetect.sv | |
// Created: 11/28/2020 | |
// Author: Zachary Ellis | |
// Version: 1.2 Only detect negative edges | |
// Description: edge detector for synchronization of CAN bus | |
module edgedetect ( | |
input clk, | |
input nRST, | |
input CANRX, | |
output edgedet | |
); | |
reg [1:0] delay_ff; | |
assign edgedet = ~delay_ff[0] & delay_ff[1]; | |
always_ff @(posedge clk, negedge nRST) begin | |
if(nRST == 0) | |
delay_ff <= '0; | |
else begin | |
delay_ff[0] <= CANRX; | |
delay_ff[1] <= delay_ff[0]; | |
end | |
end | |
endmodule |