2024-10-08 11:23:42 +08:00
|
|
|
//+FHDR--------------------------------------------------------------------------------------------------------
|
|
|
|
// Company:
|
|
|
|
//-----------------------------------------------------------------------------------------------------------------
|
2025-03-08 11:32:53 +08:00
|
|
|
// File Name : syncer.v
|
2024-10-08 11:23:42 +08:00
|
|
|
// Department :
|
2025-03-08 11:32:53 +08:00
|
|
|
// Author : PWY
|
2024-10-08 11:23:42 +08:00
|
|
|
// Author's Tel :
|
|
|
|
//-----------------------------------------------------------------------------------------------------------------
|
|
|
|
// Relese History
|
|
|
|
// Version Date Author Description
|
2025-03-08 11:32:53 +08:00
|
|
|
// 0.1 2024-03-13 PWY AWG dedicated register file
|
|
|
|
// 0.2 2024-05-13 PWY
|
2024-10-08 11:23:42 +08:00
|
|
|
//-----------------------------------------------------------------------------------------------------------------
|
|
|
|
// Keywords :
|
|
|
|
//
|
|
|
|
//-----------------------------------------------------------------------------------------------------------------
|
|
|
|
// Parameter
|
|
|
|
//
|
|
|
|
//-----------------------------------------------------------------------------------------------------------------
|
|
|
|
// Purpose :
|
|
|
|
//
|
|
|
|
//-----------------------------------------------------------------------------------------------------------------
|
|
|
|
// Target Device:
|
|
|
|
// Tool versions:
|
|
|
|
//-----------------------------------------------------------------------------------------------------------------
|
|
|
|
// Reuse Issues
|
|
|
|
// Reset Strategy:
|
|
|
|
// Clock Domains:
|
|
|
|
// Critical Timing:
|
|
|
|
// Asynchronous I/F:
|
|
|
|
// Synthesizable (y/n):
|
|
|
|
// Other:
|
|
|
|
//-FHDR--------------------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
2025-03-08 11:32:53 +08:00
|
|
|
module syncer # (
|
|
|
|
parameter width = 1
|
|
|
|
,parameter stage = 2
|
|
|
|
)
|
|
|
|
(
|
|
|
|
input clk_d
|
|
|
|
,input rstn_d
|
|
|
|
,input [width-1:0] data_s
|
|
|
|
,output [width-1:0] data_d
|
|
|
|
);
|
2024-10-08 11:23:42 +08:00
|
|
|
|
2025-03-08 11:32:53 +08:00
|
|
|
generate
|
|
|
|
genvar i;
|
|
|
|
wire [width-1:0] data_temp[stage-1:0];
|
|
|
|
sirv_gnrl_dffr #(width) data_temp0_dffr (data_s ,data_temp[0], clk_d, rstn_d);
|
|
|
|
for(i=1;i<stage;i=i+1) begin: SYNCER
|
|
|
|
sirv_gnrl_dffr #(width) data_tempn0_dffr (data_temp[i-1] ,data_temp[i], clk_d, rstn_d);
|
|
|
|
end
|
|
|
|
endgenerate
|
2024-10-08 11:23:42 +08:00
|
|
|
|
2025-03-08 11:32:53 +08:00
|
|
|
assign data_d = data_temp[stage-1];
|
2024-10-08 11:23:42 +08:00
|
|
|
|
2025-03-08 11:32:53 +08:00
|
|
|
endmodule
|