mirror of
https://github.com/aolofsson/oh.git
synced 2025-01-17 20:02:53 +08:00
3dbb3755af
-Represent set of cells that need hard coded cells or hard coded gate level designs.
28 lines
943 B
Verilog
28 lines
943 B
Verilog
//#############################################################################
|
|
//# Function: Data Syncrhonizer #
|
|
//#############################################################################
|
|
//# Author: Andreas Olofsson #
|
|
//# License: MIT (see LICENSE file in OH! repository) #
|
|
//#############################################################################
|
|
|
|
module asic_dsync
|
|
(
|
|
input clk, // clock
|
|
input nreset, // async active low reset
|
|
input in, // input data
|
|
output out // synchronized data
|
|
);
|
|
|
|
localparam SYNCPIPE=2;
|
|
|
|
reg [SYNCPIPE-1:0] sync_pipe;
|
|
always @ (posedge clk or negedge nreset)
|
|
if(!nreset)
|
|
sync_pipe[SYNCPIPE-1:0] <= 'b0;
|
|
else
|
|
sync_pipe[SYNCPIPE-1:0] <= {sync_pipe[SYNCPIPE-1:0],in};
|
|
|
|
assign out = sync_pipe[SYNCPIPE-1];
|
|
|
|
endmodule
|