CPLD2: Add DPS Function
This commit is contained in:
Jeremy Shen
2026-06-15 17:50:08 +08:00
parent 1ab71827c7
commit fd5ac5eae0
2 changed files with 71 additions and 17 deletions
+41 -11
View File
@@ -23,7 +23,12 @@ module CPLD_Con (
output [31:0]o_PMU_OC_1 ,
output [31:0]o_PMU_OC_2 ,
output [31:0]o_PMU_OC_3 ,
output [31:0]o_PMU_OC_4,
output [31:0]o_PMU_OC_4 ,
output [15:0]o_DPS_FS_1 ,
output [15:0]o_DPS_FS_2 ,
output [15:0]o_DPS_FS_3 ,
output [15:0]o_DPS_FS_4 ,
//Output FLAGs
output o_err,
@@ -45,6 +50,12 @@ module CPLD_Con (
reg [31:0]PMU_OC_3 ;
reg [31:0]PMU_OC_4 ;
reg [31:0]DPS_FS_1 ;
reg [31:0]DPS_FS_2 ;
reg [31:0]DPS_FS_3 ;
reg [31:0]DPS_FS_4 ;
//Flags
reg exec_done_flag;
reg exec_flag;
@@ -111,10 +122,17 @@ module CPLD_Con (
exec_flag <= 1'b0;
exec_done_flag <= 1'b1;
freq_slot_flag <= 'd0;
PMU_OC_1 <= 'd0;
PMU_OC_2 <= 'd0;
PMU_OC_3 <= 'd0;
PMU_OC_4 <= 'd0;
DPS_FS_1 <= 32'hffffffff;
DPS_FS_2 <= 32'hffffffff;
DPS_FS_3 <= 32'hffffffff;
DPS_FS_4 <= 32'hffffffff;
dc_slot_flag<='d0;
err_flag <= 'd0;
end
@@ -525,7 +543,7 @@ module CPLD_Con (
end
end
else if (i_DC_Con1[23] == 1'b1) begin //Select DPS
//TODO: TBD
DPS_FS_1 <= ~(32'b1 << ( Channel_1 - 1));
exec_flag <= 'd0;
exec_done_flag <= 1'b1;
end
@@ -814,7 +832,7 @@ module CPLD_Con (
end
end
else if (i_DC_Con2[23] == 1'b1) begin //Select DPS
//TODO: TBD
DPS_FS_2 <= ~(32'b1 << ( Channel_2 - 1));
exec_flag <= 'd0;
exec_done_flag <= 1'b1;
end
@@ -1102,7 +1120,7 @@ module CPLD_Con (
end
end
else if (i_DC_Con3[23] == 1'b1) begin //Select DPS
//TODO: TBD
DPS_FS_3 <= ~(32'b1 << ( Channel_3 - 1));
exec_flag <= 'd0;
exec_done_flag <= 1'b1;
end
@@ -1389,19 +1407,26 @@ module CPLD_Con (
end
end
else if (i_DC_Con4[23] == 1'b1) begin //Select DPS
DPS_FS_4 <= ~(32'b1 << ( Channel_4 - 1));
exec_flag <= 'd0;
exec_done_flag <= 1'b1;
end
end
end
default:begin // You Should NOT be HERE
PMU_OC_1 <= 'd0 ;
PMU_OC_2 <= 'd0 ;
PMU_OC_3 <= 'd0 ;
PMU_OC_4 <= 'd0 ;
relay_l1 <= 'd0 ;
relay_l2 <= 'd0 ;
relay_l3 <= 'd0 ;
PMU_OC_1 <= 'd0 ;
PMU_OC_2 <= 'd0 ;
PMU_OC_3 <= 'd0 ;
PMU_OC_4 <= 'd0 ;
DPS_FS_1 <= 32'hffffffff;
DPS_FS_2 <= 32'hffffffff;
DPS_FS_3 <= 32'hffffffff;
DPS_FS_4 <= 32'hffffffff;
relay_l1 <= 'd0 ;
relay_l2 <= 'd0 ;
relay_l3 <= 'd0 ;
end
endcase
end
@@ -1418,6 +1443,11 @@ module CPLD_Con (
assign o_PMU_OC_2 = PMU_OC_2;
assign o_PMU_OC_3 = PMU_OC_3;
assign o_PMU_OC_4 = PMU_OC_4;
assign o_DPS_FS_1 = DPS_FS_1[31:16];
assign o_DPS_FS_2 = DPS_FS_2[31:16];
assign o_DPS_FS_3 = DPS_FS_3[31:16];
assign o_DPS_FS_4 = DPS_FS_4[31:16];
assign o_err = err_flag;