📄 top.v
字号:
2'b00: begin
McuOutputReg <= McuReadReg[31:24];
OutputDataReg <= McuReadReg[23:0];
end
2'b01: McuOutputReg <= OutputDataReg[23:16];
2'b10: McuOutputReg <= OutputDataReg[15:8];
2'b11: McuOutputReg <= OutputDataReg[7:0];
endcase
end
end
always @(posedge SYS_CLK)
begin
WRSamp <= WR;
WRSignal <= WRSamp;
end
always @(posedge SYS_CLK)
begin
if (WRSignal&&(!WRSamp))
begin
case (AddrBus[1:0]) // synthesis full_case
2'b00: McuWriteReg[23:16] <= DataBus;
2'b01: McuWriteReg[15:8] <= DataBus;
2'b10: McuWriteReg[7:0] <= DataBus;
2'b11: begin
if (AddrBus[15]==0)
begin
case (AddrBus[14:2])
OFG: OFG_Set <= MCUFullData;
PLIM: PLIM_Set <= MCUFullData;
GLIM: GLIM_Set <= MCUFullData;
OP_MODE: OP_MODE_Set <= MCUFullData[1:0];
GAIN_SET: GAIN_SET_Set <=MCUFullData;
PWR_SET: PWR_SET_Set <= MCUFullData;
VOA_SET: VOA_SET_Set <= MCUFullData;
CURR_SET1: CURR_SET_Set <= MCUFullData[11:0];
ASTM: ASTM_Set <= MCUFullData[0];
EYESAFE_PWR: EYESAFE_PWR_Set <= MCUFullData;
RAMP_TIME: RAMP_TIME_Set <= MCUFullData;
RAMP_STEPS: RAMP_STEPS_Set <= MCUFullData[9:0];
LOSMODE: LOSMODE_Set <= MCUFullData[1:0];
DEBOUNCE_TIME: DEBOUNCE_TIME_Set <= MCUFullData;
AUTO_MUTE: AUTO_MUTE_Set <= MCUFullData[0];
LOS_THR: LOS_THR_Set <= MCUFullData;
MTH_THR: MTH_THR_Set <= MCUFullData;
MTL_THR: MTL_THR_Set <= MCUFullData;
TMP_THR: TMP_THR_Set <= MCUFullData;
ILD1_THR: ILD_THR_Set <= MCUFullData;
CT_THR: CT_THR_Set <= MCUFullData;
RFL_THR: RFL_THR_Set <= MCUFullData;
LOS_HYS: LOS_HYS_Set <= MCUFullData;
MTH_HYS: MTH_HYS_Set <= MCUFullData;
MTL_HYS: MTL_HYS_Set <= MCUFullData;
TMP_HYS: TMP_HYS_Set <= MCUFullData;
ILD1_HYS: ILD_HYS_Set <= MCUFullData;
CT_HYS: CT_HYS_Set <= MCUFullData;
RFL_HYS: RFL_HYS_Set <= MCUFullData;
PIN_K: PIN_K_Set <= MCUFullData;
PIN_B: PIN_B_Set <= MCUFullData;
POUT_K: POUT_K_Set <= MCUFullData;
POUT_B: POUT_B_Set <= MCUFullData;
VOA_INPUT_K: VOA_INPUT_K_Set <= MCUFullData;
VOA_INPUT_B: VOA_INPUT_B_Set <= MCUFullData;
VOA_OUTPUT_K: VOA_OUTPUT_K_Set <= MCUFullData;
VOA_OUTPUT_B: VOA_OUTPUT_B_Set <= MCUFullData;
RFL_K: RFL_K_Set <= MCUFullData;
RFL_B: RFL_B_Set <= MCUFullData;
VOA_KP: VOA_KP_Set <= MCUFullData;
VOA_KI: VOA_KI_Set <= MCUFullData;
AGC_KP: AGC_KP_Set <= MCUFullData;
AGC_KI: AGC_KI_Set <= MCUFullData;
APC_KP: APC_KP_Set <= MCUFullData;
APC_KI: APC_KI_Set <= MCUFullData;
INPUTSAMPSTART: INPUTSAMPSTART_Set <= MCUFullData[AD_WIDTH-2:0];
OUTPUTSAMPSTART: OUTPUTSAMPSTART_Set <= MCUFullData[AD_WIDTH-2:0];
GAIN_A: GAIN_A_Set <= MCUFullData;
GAIN_B: GAIN_B_Set <= MCUFullData;
FEED_K: FEED_K_Set <= MCUFullData;
FEED_B: FEED_B_Set <= MCUFullData;
VOA_TARGET: VOA_TARGET_Set <= MCUFullData;
LOP_THR_HI: LOP_THR_HI_Set <= MCUFullData;
LOP_THR_LO: LOP_THR_LO_Set <= MCUFullData;
LOP_HYS_HI: LOP_HYS_HI_Set <= MCUFullData;
LOP_HYS_LO: LOP_HYS_LO_Set <= MCUFullData;
SYS_CTRL: SYS_CTRL_Set <= MCUFullData[7:0];
VOA_DAC : VOA_DAC_Reg<=MCUFullData[11:0];
MUTEON: MUTEON_Set <= MCUFullData[0];
PUMPON: PUMPON_Set <= MCUFullData[0];
MT_AD: MT_Reg <= MCUFullData;
PUMP1_ILD_AD: PUMP_ILD_Reg <= MCUFullData;
PUMP1_TMP_AD: PUMP_TMP_Reg <= MCUFullData;
CT_AD: CT_Reg <= MCUFullData;
//RFL_AD: REFLECT_Reg <= MCUFullData;
ISP_AUTO1: ISP_AUTO_Set <= MCUFullData[0];
INPUT_KEY: INPUT_KEY_Set<= MCUFullData[1:0];
CLEARALARM: begin
MTHClear <= ~MTHClear;
MTLClear <= ~MTLClear;
TMPClear <= ~TMPClear;
ILDClear <= ~ILDClear;
LOSClear <= ~LOSClear;
LOPClear <= ~LOPClear;
ReflectionClear <= ~ReflectionClear;
CTClear <= ~CTClear;
end
CLEARMTH: MTHClear <= ~MTHClear;
CLEARMTL: MTLClear <= ~MTLClear;
CLEARTMP: TMPClear <= ~TMPClear;
CLEARILD: ILDClear <= ~ILDClear;
CLEARLOS: LOSClear <= ~LOSClear;
CLEARDOP: LOPClear <= ~LOPClear;
CLEARRFL: ReflectionClear <= ~ReflectionClear;
CLEARCT: CTClear <= ~CTClear;
endcase
end
end
endcase
end
end
/***************** MCU Interface End *******************/
always @(posedge SYS_CLK)
begin
if (WR)
begin
if (Module_Temperature_High_Alarm)
Module_Temperature_High_Alarm_SST <= 1'b1;
else if (MTHClearReg!=MTHClear)
begin
Module_Temperature_High_Alarm_SST <= 1'b0;
MTHClearReg<=MTHClear;
end
if (Module_Temperature_Low_Alarm)
Module_Temperature_Low_Alarm_SST <= 1'b1;
else if (MTLClearReg!=MTLClear)
begin
Module_Temperature_Low_Alarm_SST <= 1'b0;
MTLClearReg<=MTLClear;
end
if (Pump_Current_Alarm)
Pump_Current_Alarm_SST <= 1'b1;
else if (ILDClearReg!=ILDClear)
begin
Pump_Current_Alarm_SST <= 1'b0;
ILDClearReg<=ILDClear;
end
if (Pump_Temperature_Alarm)
Pump_Temperature_Alarm_SST <= 1'b1;
else if (TMPClearReg!=TMPClear)
begin
Pump_Temperature_Alarm_SST <= 1'b0;
TMPClearReg<=TMPClear;
end
if (Input_LOS_Alarm)
Input_LOS_Alarm_SST <= 1'b1;
else if (LOSClearReg!=LOSClear)
begin
Input_LOS_Alarm_SST <= 1'b0;
LOSClearReg<=LOSClear;
end
if (Output_LOP_Alarm)
Output_LOP_Alarm_SST <= 1'b1;
else if (LOPClearReg!=LOPClear)
begin
Output_LOP_Alarm_SST <= 1'b0;
LOPClearReg<=LOPClear;
end
if (Reflection_Alarm)
Reflection_Alarm_SST <= 1'b1;
else if (ReflectionClearReg!=ReflectionClear)
begin
Reflection_Alarm_SST <= 1'b0;
ReflectionClearReg<=ReflectionClear;
end
if (CT_Low_Alarm)
CT_Low_Alarm_SST <= 1'b1;
else if (CTClearReg!=CTClear)
begin
CT_Low_Alarm_SST <= 1'b0;
CTClearReg<=CTClear;
end
end
end
ADC adc(
.CLK(SYS_CLK),
.PIN_K_Set(PIN_K_Set),
.PIN_B_Set(PIN_B_Set),
.POUT_K_Set(POUT_K_Set),
.POUT_B_Set(POUT_B_Set),
.VOA_INPUT_K_Set(VOA_INPUT_K_Set),
.VOA_INPUT_B_Set(VOA_INPUT_B_Set),
.VOA_OUTPUT_K_Set(VOA_OUTPUT_K_Set),
.VOA_OUTPUT_B_Set(VOA_OUTPUT_B_Set),
.RFL_K_Set(RFL_K_Set),
.RFL_B_Set(RFL_B_Set),
.InputPwrAD(InputPwrAD_Signal),
.OutputPwrAD(OutputPwrAD_Signal),
.VOAInputAD(VOAInputAD_Signal),
.VOAOutputAD(VOAOutputAD_Signal),
.RFLAD(RFLAD_Signal),
.InputPwr(InputPwr),
.OutputPwr(OutputPwr),
.VOAInputPwr(VOAInputPwr),
.VOAOutputPwr(VOAOutputPwr),
.RFLPwr(RFLPwr),
.VOAAtt(VOAAtt)
);
SyncRead SyncParamModule(
.RD(RD),
.CLK(SYS_CLK),
.InputPwrIn(InputPwr),
.OutputPwrIn(OutputPwr),
.VOAInputPwrIn(VOAInputPwr),
.VOAOutputPwrIn(VOAOutputPwr),
.RFLPwrIn(RFLPwr),
.VOAAttIn(VOAAtt),
.GainIn(Gain_Disp),
.POutsigIn(POutsig_Disp),
.InputPwrADIn(InputPwrAD_Signal),
.OutputPwrADIn(OutputPwrAD_Signal),
.VOAInputADIn(VOAInputAD_Signal),
.VOAOutputADIn(VOAOutputAD_Signal),
.RFLADIn(RFLAD_Signal),
.PumpDacIn(Pump_DacData),
.HrsIn(Hrs),
.IldmIn(Ildm),
.InputPwrOut(PIN_Reg),
.OutputPwrOut(POUT_Reg),
.VOAInputPwrOut(VOA_INPUT_Reg),
.VOAOutputPwrOut(VOA_OUTPUT_Reg),
.RFLPwrOut(RFL_Reg),
.VOAAttOut(VOA_Reg),
.GainOut(GAIN_Reg),
.POutsigOut(POUTSIG_Reg),
.InputPwrADOut(PIN_AD_Reg),
.OutputPwrADOut(POUT_AD_Reg),
.VOAInputADOut(VOA_INPUT_AD_Reg),
.VOAOutputADOut(VOA_OUTPUT_AD_Reg),
.RFLADOut(RFL_AD_Reg),
.PumpDacOut(PumpDac_Reg),
.HrsOut(Hrs_Reg),
.IldmOut(Ildm_Reg)
);
VOACtrl VOAModule(.CLK(SYS_CLK),
.EN(SYS_RUN),
.Ramp(Ramp),
.OpMode(OpMode),
.VOA_SET_Set(VOA_SET_Set),
.VOAAtt(VOAAtt),
.VOATarget(VOA_TARGET_Set),
.VOA_KP_Set(VOA_KP_Set),
.VOA_KI_Set(VOA_KI_Set),
.VOA_DacData(VOA_DacData));
AGCCtrl agcCtrl(
.EN(SYS_RUN),
.CLK(SYS_CLK),
.WR(WR),
.SetGain(SYS_CTRL_Set[2]),
.Feed_K_Set(FEED_K_Set),
.Feed_B_Set(FEED_B_Set),
.AddrBus(AddrBus),
.DataBus(MCUFullData),
.InputPwrAD(InputPwrAD_Signal),
.OutputPwrAD(OutputPwrAD_Signal),
.Input_Samp_Start(INPUTSAMPSTART_Set),
.Output_Samp_Start(OUTPUTSAMPSTART_Set),
.A(GAIN_A_Set),
.B(GAIN_B_Set),
.Gain(Gain),
.InputPwrAsmW(InputPwrAsmW),
.OutputPwrAsmW(OutputPwrAsmW),
.POutsig(POutsig),
.Gain_Disp(Gain_Disp),
.POutsig_Disp(POutsig_Disp),
.FeedForwardData(FeedForwardData));
ModeCtrl ModeCtrlModule(
.CLK(SYS_CLK),
.EN(SYS_RUN),
.OP_MODE_Set(OP_MODE_Set),
.LOSMODE_Set(LOSMODE_Set),
.AUTO_MUTE_Set(AUTO_MUTE_Set),
.APC_KP_Set(APC_KP_Set),
.APC_KI_Set(APC_KI_Set),
.AGC_KP_Set(AGC_KP_Set),
.AGC_KI_Set(AGC_KI_Set),
.GLIM_Set(GLIM_Set),
.PLIM_Set(PLIM_Set),
.CURR_SET_Set(CURR_SET_Set),
.ISP_AUTO_Set(ISP_AUTO_Set),
.TARGET_GAIN_Set(GAIN_SET_Set),
.TARGET_PWR_Set(PWR_SET_Set),
.EYESAFE_PWR_Set(EYESAFE_PWR_Set),
.MUTEON_Set(MUTEON_Set),
.PUMPON_Set(PUMPON_Set),
.OutputPwrAsmW(OutputPwrAsmW),
.Input_LOS_Alarm(Input_LOS_Alarm),
.Reflection_Alarm(Reflection_Alarm),
.Amplifier_Disable_Input(Amplifier_Disable_Input),
.Output_Mute_Input(Output_Mute_Input),
.Pump_Protect_Alarm(Pump_Protect_Alarm),
.Gain(Gain),
.Ramp(Ramp),
.Mst(Mst),
.PumpDown(PumpDown),
.RampStart(RampStart),
.POutsig(POutsig),
.FeedForwardData(FeedForwardData),
.OpModeOut(OpMode),
.OutputLim(OutputLim),
.Pump_DacData(Pump_DacData));
ADCAlarmMonitor adcAlarmMonitor(
.EN(AlarmEN),
.CLK(SYS_CLK),
.InputPwr(InputPwr),
.POutsig(POutsig_Disp),
.Gain(Gain_Disp),
.OpMode(OP_MODE_Set),
.LOS_THR_Set(LOS_THR_Set),
.LOS_HYS_Set(LOS_HYS_Set),
.LOP_THR_HI_Set(LOP_THR_HI_Set),
.LOP_THR_LO_Set(LOP_THR_LO_Set),
.LOP_HYS_HI_Set(LOP_HYS_HI_Set),
.LOP_HYS_LO_Set(LOP_HYS_LO_Set),
.Debounce_Time_Set(DEBOUNCE_TIME_Set),
.Input_LOS_Alarm_Output(Input_LOS_Alarm),
.Output_LOP_Alarm_Output(Output_LOP_Alarm)
);
MCUAlarmMonitor mcuAlarmMonitor(
.EN(AlarmEN),
.Ramp(Ramp),
.PumpDown(PumpDownSignal),
.SYS_CLK(SYS_CLK),
.PUMP_ILDReg(PUMP_ILD_Reg),
.PUMP_TMPReg(PUMP_TMP_Reg),
.MTReg(MT_Reg),
.CTReg(CT_Reg),
.REFLECTReg(RFLPwr),
.OutputPwr(OutputPwr),
.Debounce_Time_Set(DEBOUNCE_TIME_Set),
.ILD_THR_Set(ILD_THR_Set),
.ILD_HYS_Set(ILD_HYS_Set),
.TMP_THR_Set(TMP_THR_Set),
.TMP_HYS_Set(TMP_HYS_Set),
.MTH_THR_Set(MTH_THR_Set),
.MTH_HYS_Set(MTH_HYS_Set),
.MTL_THR_Set(MTL_THR_Set),
.MTL_HYS_Set(MTL_HYS_Set),
.CT_THR_Set(CT_THR_Set),
.CT_HYS_Set(CT_HYS_Set),
.REFLECT_THR_Set(RFL_THR_Set),
.REFLECT_HYS_Set(RFL_HYS_Set),
.Pump_Current_Alarm_Output(Pump_Current_Alarm),
.Pump_Temperature_Alarm_Output(Pump_Temperature_Alarm),
.Reflection_Alarm_Output(Reflection_Alarm),
.Module_Temperature_High_Alarm_Output(Module_Temperature_High_Alarm),
.Module_Temperature_Low_Alarm_Output(Module_Temperature_Low_Alarm),
.Coil_Temperature_Alarm_Output(CT_Low_Alarm),
.MT_Protect_Alarm(MT_Protect_Alarm)
);
/*
RAMP RampModule(.EN(SYS_RUN),
.SYS_CLK(SYS_CLK),
.RampStart(RampStart),
.OpMode(OpMode),
// .ISP_AUTO_Set(ISP_AUTO_Set),
.EYESAFE_PWR_Set(EYESAFE_PWR_Set),
.GAIN_SET_Set(GAIN_SET_Set),
.PWR_SET_Set(PWR_SET_Set),
.RAMP_TIME_Set(RAMP_TIME_Set),
.CURR_SET_Set(CURR_SET_Set),
.OutputPwrAsmW(OutputPwrAsmW),
.Gain(Gain),
.OutputLim(OutputLim),
.POutsig(POutsig),
.Pump_DacData(Pump_DacData),
.VOA_DacData(VOA_DacData),
.Pump_DacOut(Pump_DacSignal),
//.VOA_DacOut(VOA_DacSignal),
.RampOut(Ramp));
*/
Pump PumpModule(.CLK(SYS_CLK),
.PumpDown(PumpDownSignal),
.Ild(PUMP_ILD_Reg),
.Hrs(Hrs),
.Ildm(Ildm));
DAC dac(
.DAC_CLK(PUMP_DAC_CLK),
.VOA_CLK(VOA_DAC_CLK),
.Pump_DacData(Pump_DacData),
.VOA_DacData(VOA_DacData),
.Pump_DacOut(Pump_DacOut),
.VOA_DacOut(VOA_DacOut));
endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -