FreeCalypso > hg > fc-sim-sniff
view 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 |
line wrap: on
line source
/* * This Verilog module captures the input synchronizer logic: passing all 3 * SIM sniffer inputs through double-DFF synchronizers to bring them into * our internal clock domain. */ module sync_inputs (IntClk, SIM_RST_in, SIM_RST_sync, SIM_CLK_in, SIM_CLK_sync, SIM_IO_in, SIM_IO_sync); input IntClk; input SIM_RST_in, SIM_CLK_in, SIM_IO_in; output SIM_RST_sync, SIM_CLK_sync, SIM_IO_sync; reg SIM_RST_sync, SIM_CLK_sync, SIM_IO_sync; reg SIM_RST_sync1, SIM_CLK_sync1, SIM_IO_sync1; always @(posedge IntClk) SIM_RST_sync1 <= SIM_RST_in; always @(posedge IntClk) SIM_RST_sync <= SIM_RST_sync1; always @(posedge IntClk) SIM_CLK_sync1 <= SIM_CLK_in; always @(posedge IntClk) SIM_CLK_sync <= SIM_CLK_sync1; always @(posedge IntClk) SIM_IO_sync1 <= SIM_IO_in; always @(posedge IntClk) SIM_IO_sync <= SIM_IO_sync1; endmodule