2018-06-05 23:42:20 -07:00
|
|
|
/**
|
|
|
|
* Simple edge detector circuit. Takes in a clock and a signal,
|
|
|
|
* and produces an output of 1 when the signal changes from 0 to 1.
|
|
|
|
* Otherwise, the output is 0.
|
|
|
|
*/
|
2018-06-05 22:57:01 -07:00
|
|
|
module edge_detector(input logic in, clk,
|
|
|
|
output logic out);
|
|
|
|
logic old_in;
|
2018-06-05 23:42:20 -07:00
|
|
|
|
2018-06-05 22:57:01 -07:00
|
|
|
always_ff@(posedge clk)
|
|
|
|
old_in <= in;
|
2018-06-05 23:42:20 -07:00
|
|
|
|
2018-06-05 22:57:01 -07:00
|
|
|
assign out = in & ~old_in;
|
2018-06-05 23:42:20 -07:00
|
|
|
endmodule
|