Bug fix & CPLD2 PMU implementation

This commit is contained in:
Jeremy Shen
2026-05-21 17:15:14 +08:00
parent 13611d20a0
commit 7f43729caf
9 changed files with 1373 additions and 585 deletions
+58 -9
View File
@@ -16,10 +16,10 @@ module RelayConTop (
output [25:0]o_RC_T, //Actually ONLY 25 pin(rest is on CPLD1)
//output [3:0] o_OC_x09,
//output [3:0] o_OC_x25,
output [31:0]o_OC_1,
output [31:0]o_OC_2,
output [31:0]o_OC_3,
output [31:0]o_OC_4
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
);
wire [7:0] RC_F;
@@ -37,12 +37,26 @@ module RelayConTop (
wire wr_flag; //1=write,0=read
wire bus_err_flag;
wire reg_err_flag;
wire cpld_err_flag;
wire con_exec;
wire [23:0]freq1_relay ;
wire [23:0]freq2_relay ;
wire [23:0]freq3_relay ;
wire [23:0]freq4_relay ;
//DC Control Reg output
wire [23:0]DC_Con1 ;
wire [23:0]DC_Con2 ;
wire [23:0]DC_Con3 ;
wire [23:0]DC_Con4 ;
//PMU OC Control
wire [31:0]PMU_OC_1 ;
wire [31:0]PMU_OC_2 ;
wire [31:0]PMU_OC_3 ;
wire [31:0]PMU_OC_4 ;
wire con_rvalid;
wire con_done;
@@ -79,6 +93,10 @@ module RelayConTop (
.o_freq2(freq2_relay), //Freq_Slot2
.o_freq3(freq3_relay), //Freq_Slot3
.o_freq4(freq4_relay), //Freq_Slot4
.o_DC1(DC_Con1),
.o_DC2(DC_Con2),
.o_DC3(DC_Con3),
.o_DC4(DC_Con4),
.o_rvalid(con_rvalid),
.o_rdata(r_data),
.o_exec(con_exec), //Exec cmd
@@ -94,12 +112,21 @@ module RelayConTop (
.i_freq_relay2(freq2_relay),
.i_freq_relay3(freq3_relay),
.i_freq_relay4(freq4_relay),
.i_DC_Con1(DC_Con1),
.i_DC_Con2(DC_Con2),
.i_DC_Con3(DC_Con3),
.i_DC_Con4(DC_Con4),
.o_PMU_OC_1(PMU_OC_1),
.o_PMU_OC_2(PMU_OC_2),
.o_PMU_OC_3(PMU_OC_3),
.o_PMU_OC_4(PMU_OC_4),
.o_con_done(con_done),
.o_RC_F(RC_F),
.o_RC_S(RC_S),
.o_RC_T(RC_T),
.o_OC_x09(OC_x09),
.o_OC_x25(OC_x25)
.o_OC_x25(OC_x25),
.o_err(cpld_err_flag)
);
@@ -107,10 +134,32 @@ module RelayConTop (
assign o_RC_S = RC_S;
assign o_RC_T = RC_T[25:0];
//assign o_OC_1[8] = OC_x09[0];
//assign o_OC_2[8] = OC_x09[1];
//assign o_OC_3[8] = OC_x09[2];
//assign o_OC_4[8] = OC_x09[3];
assign o_PMU_OC_1[8] = OC_x09[0];
assign o_PMU_OC_2[8] = OC_x09[1];
assign o_PMU_OC_3[8] = OC_x09[2];
assign o_PMU_OC_4[8] = OC_x09[3];
assign o_PMU_OC_1[24] = OC_x25[0];
assign o_PMU_OC_2[24] = OC_x25[1];
assign o_PMU_OC_3[24] = OC_x25[2];
assign o_PMU_OC_4[24] = OC_x25[3];
assign o_PMU_OC_1[7:0] = PMU_OC_1[7:0];
assign o_PMU_OC_1[23:9] = PMU_OC_1[23:8];
assign o_PMU_OC_1[31:25] = PMU_OC_1[31:25];
assign o_PMU_OC_2[7:0] = PMU_OC_2[7:0];
assign o_PMU_OC_2[23:9] = PMU_OC_2[23:9];
assign o_PMU_OC_2[31:25] = PMU_OC_2[31:25];
assign o_PMU_OC_3[7:0] = PMU_OC_3[7:0];
assign o_PMU_OC_3[23:9] = PMU_OC_3[23:9];
assign o_PMU_OC_3[31:25]= PMU_OC_3[31:25];
assign o_PMU_OC_4[7:0] = PMU_OC_4[7:0];
assign o_PMU_OC_4[23:9] = PMU_OC_4[23:9];
assign o_PMU_OC_4[31:25] = PMU_OC_4[31:25];
assign o_err = bus_err_flag || reg_err_flag;