| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- module AdcSync
- #(
- parameter AdcDataWidth = 14
- )
- (
- input Clk_i,
- input Rst_i,
-
- input [AdcDataWidth*2-1:0] Data_i,
-
- output [AdcDataWidth*2-1:0] Data_o
- );
- //================================================================================
- // REG/WIRE
- //================================================================================
- reg [AdcDataWidth*2-1:0] adcDataSyncPipe [2:0];
- integer i;
- //================================================================================
- // ASSIGNMENTS
- //================================================================================
- assign Data_o = adcDataSyncPipe[2];
- //================================================================================
- // CODING
- //================================================================================
- always @(posedge Clk_i) begin
- if (!Rst_i) begin
- adcDataSyncPipe[0] <= Data_i;
- for(i=1; i<3; i=i+1) begin
- adcDataSyncPipe [i]<=adcDataSyncPipe[i-1];
- end
- end else begin
- adcDataSyncPipe [i] <= 0;
- end
- end
- endmodule
|