| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- `timescale 1ns / 1ns
-
- module MeasDataFifoWrapper
- #(
- parameter DataWidth = 32,
- parameter ChNum = 4
- )
- (
- input Clk_i,
- input Rst_i,
- input PpiBusy_i,
- input StartMeasDsp_i,
- input DspReadyForRx_i,
- input [DataWidth-1:0] MeasNum_i,
-
- input [DataWidth*(ChNum*2)-1:0] MeasDataBus_i,
- input MeasDataVal_i,
-
- output [DataWidth*(ChNum*2)-1:0] MeasDataBus_o,
- output MeasDataVal_o
- );
- //================================================================================
- // REG/WIRE
- //================================================================================
- wire fullFlag;
- wire emptyFlag;
- wire wrEn;
- wire rdEn;
- reg startMeasDspReg;
- wire startMeasDspNeg;
- wire startMeasDspPos;
-
- reg ppiBusyReg;
-
- reg rstFromDsp;
- wire trueRstFromDsp;
-
- integer i;
- reg [0:0] rstFromDspPipe [49:0];
- //================================================================================
- // ASSIGNMENTS
- //================================================================================
- assign MeasDataVal_o = rdEn;
- assign startMeasDspPos = (StartMeasDsp_i&(!startMeasDspReg));
- //================================================================================
- // CODING
- //================================================================================
- always @(posedge Clk_i) begin
- if (!Rst_i) begin
- startMeasDspReg <= StartMeasDsp_i;
- end else begin
- startMeasDspReg <= 1'b0;
- end
- end
- MeasDataFifo MeasDataFifoInst
- (
- .clk (Clk_i),
- .srst (Rst_i|startMeasDspPos),
- .din (MeasDataBus_i),
- .wr_en (wrEn),
- .rd_en (rdEn),
- .dout (MeasDataBus_o),
- .full (fullFlag),
- .empty (emptyFlag)
- );
-
- FifoController FifoControllerInst
- (
- .Clk_i (Clk_i),
- .Rst_i (Rst_i|startMeasDspPos),
- .DspReadyForRx_i (DspReadyForRx_i),
- .PpiBusy_i (PpiBusy_i),
- .MeasDataVal_i (MeasDataVal_i),
- .FullFlag_i (fullFlag),
- .EmptyFlag_i (emptyFlag),
-
- .MeasDataVal_o (),
- .WrEn_o (wrEn),
- .RdEn_o (rdEn)
- );
- endmodule
|