FreeCalypso > hg > fc-sim-sniff
comparison fpga/sniffer-basic/sync_inputs.v @ 6:7db5fd6646df
fpga/sniffer-basic: initial version
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Mon, 21 Aug 2023 00:52:00 +0000 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 5:07c5aac6e84f | 6:7db5fd6646df |
|---|---|
| 1 /* | |
| 2 * This Verilog module captures the input synchronizer logic: passing all 3 | |
| 3 * SIM sniffer inputs through double-DFF synchronizers to bring them into | |
| 4 * our internal clock domain. | |
| 5 */ | |
| 6 | |
| 7 module sync_inputs (IntClk, SIM_RST_in, SIM_RST_sync, SIM_CLK_in, SIM_CLK_sync, | |
| 8 SIM_IO_in, SIM_IO_sync); | |
| 9 | |
| 10 input IntClk; | |
| 11 input SIM_RST_in, SIM_CLK_in, SIM_IO_in; | |
| 12 output SIM_RST_sync, SIM_CLK_sync, SIM_IO_sync; | |
| 13 reg SIM_RST_sync, SIM_CLK_sync, SIM_IO_sync; | |
| 14 | |
| 15 reg SIM_RST_sync1, SIM_CLK_sync1, SIM_IO_sync1; | |
| 16 | |
| 17 always @(posedge IntClk) | |
| 18 SIM_RST_sync1 <= SIM_RST_in; | |
| 19 | |
| 20 always @(posedge IntClk) | |
| 21 SIM_RST_sync <= SIM_RST_sync1; | |
| 22 | |
| 23 always @(posedge IntClk) | |
| 24 SIM_CLK_sync1 <= SIM_CLK_in; | |
| 25 | |
| 26 always @(posedge IntClk) | |
| 27 SIM_CLK_sync <= SIM_CLK_sync1; | |
| 28 | |
| 29 always @(posedge IntClk) | |
| 30 SIM_IO_sync1 <= SIM_IO_in; | |
| 31 | |
| 32 always @(posedge IntClk) | |
| 33 SIM_IO_sync <= SIM_IO_sync1; | |
| 34 | |
| 35 endmodule |
