|
|
@@ -45,7 +45,7 @@ module S5443Top
|
|
|
parameter DataWidth = 24,
|
|
|
parameter DataNum = 26,
|
|
|
parameter CmdRegWidth = 32,
|
|
|
- parameter HeaderWidth = 7,
|
|
|
+ parameter AddrWidth = 8,
|
|
|
parameter CmdDataRegWith = 24,
|
|
|
parameter DataCntWidth = 5,
|
|
|
parameter Divparam = 4,
|
|
|
@@ -59,6 +59,14 @@ module S5443Top
|
|
|
input Clk_i,
|
|
|
output Led_o,
|
|
|
|
|
|
+ //pcie interface
|
|
|
+ input [CmdRegWidth-1:0] Cmd_i,
|
|
|
+ input [AddrWidth-1:0] Addr_i,
|
|
|
+
|
|
|
+ output [ResultWidth-1:0] MeasData_o,
|
|
|
+ input ReadReq_i,
|
|
|
+ input WrReq_i,
|
|
|
+
|
|
|
//fpga-adc1 data interface
|
|
|
input Adc1FclkP_i,
|
|
|
input Adc1FclkN_i,
|
|
|
@@ -99,18 +107,6 @@ module S5443Top
|
|
|
output DitherCtrlCh1_o,
|
|
|
output DitherCtrlCh2_o,
|
|
|
|
|
|
- //fpga-dsp cmd interface
|
|
|
- input Mosi_i,
|
|
|
- input Sck_i,
|
|
|
- input Ss_i,
|
|
|
- input Miso_i,
|
|
|
- output Miso_o,
|
|
|
-
|
|
|
- //fpga-dsp data interface
|
|
|
- output LpOutClk_o,
|
|
|
- output LpOutFs_o,
|
|
|
- output [LpDataWidth-1:0] LpOutData_o,
|
|
|
-
|
|
|
//fpga-dsp signals
|
|
|
input StartMeas_i, //"high"- start meas, "low"-stop meas
|
|
|
output StartMeasEvent_o,
|
|
|
@@ -142,9 +138,7 @@ module S5443Top
|
|
|
output DspReadyForRxToFpgaS_o,
|
|
|
|
|
|
output StartMeasDsp_o,
|
|
|
- output [ChNum-1:0] AmpEn_o, // 0-adc1ChA 1-adc1ChB 2-adc2ChA 3-adc2ChB
|
|
|
-
|
|
|
- output [ResultWidth*9-1:0] MeasData_o
|
|
|
+ output [ChNum-1:0] AmpEn_o // 0-adc1ChA 1-adc1ChB 2-adc2ChA 3-adc2ChB
|
|
|
);
|
|
|
//================================================================================
|
|
|
// reg/wire
|
|
|
@@ -200,8 +194,7 @@ module S5443Top
|
|
|
wire [CmdRegWidth-1:0] cmdDataReg;
|
|
|
wire cmdDataVal;
|
|
|
|
|
|
- wire [CmdDataRegWith-1:0] ansReg;
|
|
|
- wire [HeaderWidth-1:0] ansAddr;
|
|
|
+ wire [CmdDataRegWith-1:0] ansReg;
|
|
|
|
|
|
wire [CmdDataRegWith-1:0] gainCtrl;
|
|
|
wire [CmdDataRegWith-1:0] gainLowThreshT1;
|
|
|
@@ -365,6 +358,8 @@ module S5443Top
|
|
|
wire [CmdDataRegWith-1:0] muxCtrl3;
|
|
|
wire [CmdDataRegWith-1:0] muxCtrl4;
|
|
|
|
|
|
+ wire [CmdDataRegWith-1:0] measSeqCfg;
|
|
|
+
|
|
|
wire [CmdRegWidth-29:0] pgModeArray [PGenNum-1:0];
|
|
|
wire pgPulsePolArray [PGenNum-1:0];
|
|
|
wire pgEnEdgeArray [PGenNum-1:0];
|
|
|
@@ -411,6 +406,7 @@ module S5443Top
|
|
|
wire [31:0] serviceData = {ampEnR2,ampEnT2,ampEnR1,ampEnT1};
|
|
|
wire [ResultWidth*(ChNum*2+1)-1:0] measDataBus;
|
|
|
|
|
|
+ wire measDataRdreq;
|
|
|
//================================================================================
|
|
|
// assignments
|
|
|
//================================================================================
|
|
|
@@ -695,77 +691,6 @@ Clk200Gen ClocksGenerator
|
|
|
// .Adc2ChR2Data_o (adc2ChR2Data),
|
|
|
// .Adc2ChT2Data_o (adc2ChT2Data)
|
|
|
// );
|
|
|
-
|
|
|
-//--------------------------------------------------------------------------------
|
|
|
-// External DSP Interface
|
|
|
-//--------------------------------------------------------------------------------
|
|
|
-
|
|
|
-/*DspInterface
|
|
|
-#(
|
|
|
- .ODataWidth (LpDataWidth),
|
|
|
- .ResultWidth (ResultWidth),
|
|
|
- .ChNum (ChNum),
|
|
|
- .CmdRegWidth (CmdRegWidth),
|
|
|
- .CmdDataRegWith (CmdDataRegWith),
|
|
|
- .HeaderWidth (HeaderWidth),
|
|
|
- .DataCntWidth (DataCntWidth)
|
|
|
-)
|
|
|
-ExternalDspInterface
|
|
|
-(
|
|
|
- .Clk_i (gclk),
|
|
|
- .Rst_i (initRst),
|
|
|
- .OscWind_i (oscWind),
|
|
|
- .StartMeasDsp_i (startMeasSyncRR),
|
|
|
- .DspReadyForRx_i (dspReadyForRxRegRR),
|
|
|
- .MeasNum_i ({measNum2[7:0],measNum1}),
|
|
|
-
|
|
|
- .Mosi_i (Mosi_i),
|
|
|
- .Sck_i (Sck_i),
|
|
|
- .Ss_i (Ss_i),
|
|
|
-
|
|
|
- .Mode_i (measCtrl[0]),
|
|
|
- .PortSel_i (measCtrl[23:22]),
|
|
|
- .DecimFactor_i (measCtrl[3:1]),
|
|
|
- .IfFtwL_i (ifFtwL),
|
|
|
- .IfFtwH_i (ifFtwH),
|
|
|
-
|
|
|
- .OscDataRdFlag_o (oscDataRdFlag),
|
|
|
-
|
|
|
- .Adc1ChT1Data_i (adcDataBus[ChNum-1]),
|
|
|
- .Adc1ChR1Data_i (adcDataBus[ChNum-1]),
|
|
|
- .Adc2ChR2Data_i (adcDataBus[ChNum-1]),
|
|
|
- .Adc2ChT2Data_i (adcDataBus[ChNum-1]),
|
|
|
-
|
|
|
- .Mosi_o (adcInitMosi),
|
|
|
- .Sck_o (adcInitSck),
|
|
|
- .Ss0_o (adc0InitCs),
|
|
|
- .Ss1_o (adc1InitCs),
|
|
|
- .Miso_i (Miso_i),
|
|
|
- .Miso_o (Miso_o),
|
|
|
-
|
|
|
- .CmdDataReg_o (cmdDataReg),
|
|
|
- .CmdDataVal_o (cmdDataVal),
|
|
|
-
|
|
|
- .AnsReg_i (ansReg),
|
|
|
- .AnsAddr_o (ansAddr),
|
|
|
-
|
|
|
- .LpOutFs_o (LpOutFs_o),
|
|
|
- .LpOutClk_o (LpOutClk_o),
|
|
|
- .LpOutData_o (LpOutData_o),
|
|
|
-
|
|
|
- .Adc1T1ImResult_i (adc1ImT1),
|
|
|
- .Adc1T1ReResult_i (adc1ReT1),
|
|
|
- .Adc1R1ImResult_i (adc1ImR1),
|
|
|
- .Adc1R1ReResult_i (adc1ReR1),
|
|
|
-
|
|
|
- .Adc2R2ImResult_i (adc2ImR2),
|
|
|
- .Adc2R2ReResult_i (adc2ReR2),
|
|
|
- .Adc2T2ImResult_i (adc2ImT2),
|
|
|
- .Adc2T2ReResult_i (adc2ReT2),
|
|
|
- .ServiseRegData_i (ampEnNewStates),
|
|
|
-
|
|
|
- .LpOutStart_i (measDataRdy)
|
|
|
-);*/
|
|
|
|
|
|
//--------------------------------------------------------------------------------
|
|
|
// Internal DSP calculation module
|
|
|
@@ -804,7 +729,7 @@ InternalDsp
|
|
|
.GatingPulse_i (gatingPulse),
|
|
|
|
|
|
.StartMeas_i (measStart),
|
|
|
- .StartMeasDsp_i (startMeasSyncRR),
|
|
|
+ .StartMeasDsp_i (measSeqCfg[0]),
|
|
|
.OscDataRdFlag_i (oscDataRdFlag),
|
|
|
|
|
|
.MeasNum_i ({measNum2[7:0],measNum1}),
|
|
|
@@ -845,7 +770,7 @@ InternalDsp
|
|
|
RegMap
|
|
|
#(
|
|
|
.CmdRegWidth (CmdRegWidth),
|
|
|
- .HeaderWidth (HeaderWidth),
|
|
|
+ .AddrWidth (AddrWidth),
|
|
|
.CmdDataRegWith (CmdDataRegWith)
|
|
|
)
|
|
|
RegMapInst
|
|
|
@@ -854,11 +779,15 @@ RegMapInst
|
|
|
.Rst_i (initRst),
|
|
|
.PGenRstDone_i (pGenRstDone),
|
|
|
|
|
|
- .Val_i (cmdDataVal),
|
|
|
.CalDone_i (calDone),
|
|
|
- .Data_i (cmdDataReg),
|
|
|
- .AnsAddr_i (ansAddr),
|
|
|
- .AnsDataReg_o (ansReg),
|
|
|
+
|
|
|
+ .Cmd_i (Cmd_i),
|
|
|
+ .Addr_i (Addr_i),
|
|
|
+ .ReadReq_i (ReadReq_i),
|
|
|
+ .WrReq_i (WrReq_i),
|
|
|
+ .MeasEnd_i (measDataRdy),
|
|
|
+ .AnsData_o (ansReg),
|
|
|
+ .MeasDataReq_o (measDataRdreq),
|
|
|
|
|
|
.OverCtrlReg_i (overCtrl),
|
|
|
|
|
|
@@ -966,7 +895,8 @@ RegMapInst
|
|
|
.MuxCtrl1Reg_o (muxCtrl1),
|
|
|
.MuxCtrl2Reg_o (muxCtrl2),
|
|
|
.MuxCtrl3Reg_o (muxCtrl3),
|
|
|
- .MuxCtrl4Reg_o (muxCtrl4)
|
|
|
+ .MuxCtrl4Reg_o (muxCtrl4),
|
|
|
+ .MeasSeqCfgReg_o (measSeqCfg)
|
|
|
);
|
|
|
|
|
|
//--------------------------------------------------------------------------------
|
|
|
@@ -1105,7 +1035,7 @@ MeasTrigMux
|
|
|
.MuxCtrl_i (muxCtrl3[14:10]),
|
|
|
|
|
|
.DspTrigOut_i (1'b0),
|
|
|
- .DspStartCmd_i (startMeasSyncRR),
|
|
|
+ .DspStartCmd_i (measSeqCfg[0]),
|
|
|
.IntTrig_i (1'b0),
|
|
|
.IntTrig2_i (1'b0),
|
|
|
.PulseBus_i (7'b0),
|
|
|
@@ -1123,7 +1053,7 @@ MeasStartEventGen MeasStartEventGenInst
|
|
|
.Clk_i (gclk),
|
|
|
|
|
|
.MeasTrig_i (measTrig),
|
|
|
- .StartMeasDsp_i (startMeasSyncRR),
|
|
|
+ .StartMeasDsp_i (measSeqCfg[0]),
|
|
|
|
|
|
.StartMeasEvent_o (startMeasEvent),
|
|
|
.InitTrig_o ()
|
|
|
@@ -1277,7 +1207,7 @@ ExtPortsMux
|
|
|
.MuxCtrl_i (extTrigMuxCtrlArray[l]),
|
|
|
|
|
|
.DspTrigOut_i (DspTrigOut_i),
|
|
|
- .DspStartCmd_i (startMeasSyncRR), //tut nichego nebilo 14.02.2023 zamknul suda startMeasSync
|
|
|
+ .DspStartCmd_i (measSeqCfg[0]), //tut nichego nebilo 14.02.2023 zamknul suda startMeasSync
|
|
|
.IntTrig_i (intTrig1),
|
|
|
.IntTrig2_i (intTrig2),
|
|
|
.PulseBus_i (pulseBus),
|