📄 mcualarmmonitor.v
字号:
module MCUAlarmMonitor
(
EN,
SYS_CLK,
Ramp,
PumpDown,
PUMP_ILDReg,
PUMP_TMPReg,
MTReg,
CTReg,
REFLECTReg,
OutputPwr,
Debounce_Time_Set,
ILD_THR_Set,
ILD_HYS_Set,
TMP_THR_Set,
TMP_HYS_Set,
MTH_THR_Set,
MTH_HYS_Set,
MTL_THR_Set,
MTL_HYS_Set,
CT_THR_Set,
CT_HYS_Set,
REFLECT_THR_Set,
REFLECT_HYS_Set,
Pump_Current_Alarm_Output,
Pump_Temperature_Alarm_Output,
Coil_Temperature_Alarm_Output,
Module_Temperature_High_Alarm_Output,
Module_Temperature_Low_Alarm_Output,
Reflection_Alarm_Output,
MT_Protect_Alarm
);
`include "parameter.v"
input EN;
input SYS_CLK;
input Ramp;
input PumpDown;
input [31:0] Debounce_Time_Set;
input [31:0] OutputPwr;
input [31:0] ILD_THR_Set,
ILD_HYS_Set,
TMP_THR_Set,
TMP_HYS_Set,
MTH_THR_Set,
MTH_HYS_Set,
MTL_THR_Set,
MTL_HYS_Set,
CT_THR_Set,
CT_HYS_Set,
REFLECT_THR_Set,
REFLECT_HYS_Set;
input [31:0] PUMP_ILDReg;
input [31:0] PUMP_TMPReg;
input [31:0] MTReg;
input [31:0] CTReg;
input [31:0] REFLECTReg;
output Pump_Current_Alarm_Output;
output Pump_Temperature_Alarm_Output;
output Coil_Temperature_Alarm_Output;
output Module_Temperature_High_Alarm_Output;
output Module_Temperature_Low_Alarm_Output;
output Reflection_Alarm_Output;
output MT_Protect_Alarm;
reg [31:0] PUMP_ILDReg0,PUMP_ILDRegIn;
reg [31:0] PUMP_TMPReg0,PUMP_TMPRegIn;
reg [31:0] MTReg0,MTRegIn;
reg [31:0] CTReg0,CTRegIn;
reg [31:0] REFLECTReg0,REFLECTRegIn;
wire [31:0] RelectionPwr;
wire Module_Protect_Temperature_Low_Alarm;
wire Module_Protect_Temperature_High_Alarm;
assign MT_Protect_Alarm = Module_Protect_Temperature_Low_Alarm|Module_Protect_Temperature_High_Alarm;
lpm_sub_signed_32 Reflect_Sub(.dataa(OutputPwr),
.datab(REFLECTRegIn),
.result(RelectionPwr));
GTAlarmMonitor ILDAlarmMonitor(
.EN(EN),
.SYS_CLK(SYS_CLK),
.Param(PUMP_ILDRegIn),
.Debounce_Time_Set(Debounce_Time_Set),
.THR_Set(ILD_THR_Set),
.HYS_Set(ILD_HYS_Set),
.Alarm_Output(Pump_Current_Alarm_Output)
);
DOP2AlarmMonitor PumpTAlarmMonitor(
.EN(EN),
.SYS_CLK(SYS_CLK),
.Param(PUMP_TMPRegIn),
.Debounce_Time_Set(Debounce_Time_Set),
.Ref(32'd819200),//25
.THR_Set(TMP_THR_Set),
.HYS_Set(TMP_HYS_Set),
.Alarm_Output(Pump_Temperature_Alarm_Output)
);
LTAlarmMonitor CTAlarmMonitor(
.EN(EN),
.SYS_CLK(SYS_CLK),
.Param(CTRegIn),
.Debounce_Time_Set(Debounce_Time_Set),
.THR_Set(CT_THR_Set),
.HYS_Set(CT_HYS_Set),
.Alarm_Output(Coil_Temperature_Alarm_Output)
);
ReflectAlarmMonitor ReflectAlarmMonitor(
.EN(EN),
.Ramp(Ramp),
.PumpDown(PumpDown),
.SYS_CLK(SYS_CLK),
.Param(RelectionPwr),
.Debounce_Time_Set(Debounce_Time_Set),
.THR_Set(REFLECT_THR_Set),
.HYS_Set(REFLECT_HYS_Set),
.Alarm_Output(Reflection_Alarm_Output)
);
GTAlarmMonitor MTHAlarmMonitor(
.EN(EN),
.SYS_CLK(SYS_CLK),
.Param(MTRegIn),
.Debounce_Time_Set(Debounce_Time_Set),
.THR_Set(MTH_THR_Set),
.HYS_Set(MTH_HYS_Set),
.Alarm_Output(Module_Temperature_High_Alarm_Output)
);
LTAlarmMonitor MTLAlarmMonitor(
.EN(EN),
.SYS_CLK(SYS_CLK),
.Param(MTRegIn),
.Debounce_Time_Set(Debounce_Time_Set),
.THR_Set(MTL_THR_Set),
.HYS_Set(MTL_HYS_Set),
.Alarm_Output(Module_Temperature_Low_Alarm_Output)
);
GTAlarmMonitor MTHProtectAlarmMonitor(
.EN(EN),
.SYS_CLK(SYS_CLK),
.Param(MTRegIn),
.Debounce_Time_Set(Debounce_Time_Set),
.THR_Set(32'd2785280),//85
.HYS_Set(MTH_HYS_Set),
.Alarm_Output(Module_Protect_Temperature_High_Alarm)
);
LTAlarmMonitor MTLProtectAlarmMonitor(
.EN(EN),
.SYS_CLK(SYS_CLK),
.Param(MTRegIn),
.Debounce_Time_Set(Debounce_Time_Set),
.THR_Set(-32'd327680),
.HYS_Set(MTL_HYS_Set),
.Alarm_Output(Module_Protect_Temperature_Low_Alarm)
);
always @(posedge SYS_CLK)
begin
PUMP_ILDReg0 <= PUMP_ILDReg;
PUMP_TMPReg0 <= PUMP_TMPReg;
MTReg0 <= MTReg;
CTReg0 <= CTReg;
REFLECTReg0 <= REFLECTReg;
end
always @(posedge SYS_CLK)
begin
PUMP_ILDRegIn <= PUMP_ILDReg0;
PUMP_TMPRegIn <= PUMP_TMPReg0;
MTRegIn <= MTReg0;
CTRegIn <= CTReg0;
REFLECTRegIn <= REFLECTReg0;
end
endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -