mirror of
https://github.com/aolofsson/oh.git
synced 2025-01-17 20:02:53 +08:00
289024fd89
- Creating an arbitrary 'src' directory really doesn't help much... - Goal is to make each folder self contained - Make meta repos and individual repos have the same directory structure
27 lines
972 B
Verilog
27 lines
972 B
Verilog
//#############################################################################
|
|
//# Function: Data Syncrhonizer #
|
|
//#############################################################################
|
|
//# Author: Andreas Olofsson #
|
|
//# License: MIT (see LICENSE file in OH! repository) #
|
|
//#############################################################################
|
|
|
|
module asic_dsync #(parameter PROP = "DEFAULT") (
|
|
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
|