CPLD1 fix DMM & OC shifting logic
This commit is contained in:
+22
-12
@@ -55,9 +55,9 @@ module CPLD_Con (
|
|||||||
reg [31:0]PMU_OC_4 ;
|
reg [31:0]PMU_OC_4 ;
|
||||||
|
|
||||||
//Condition Tester
|
//Condition Tester
|
||||||
reg [15:0]en_t ;
|
reg [3:0]en_t ;
|
||||||
reg freq_t;
|
reg [3:0]freq_t;
|
||||||
reg dc_t;
|
reg [3:0]dc_t;
|
||||||
|
|
||||||
//Flags
|
//Flags
|
||||||
reg exec_flag;
|
reg exec_flag;
|
||||||
@@ -69,6 +69,16 @@ module CPLD_Con (
|
|||||||
//Counter
|
//Counter
|
||||||
reg [15:0]delay_cnt;
|
reg [15:0]delay_cnt;
|
||||||
|
|
||||||
|
//Shift Counter
|
||||||
|
wire [4:0]OC_Shifter1 = i_DC_Con1[8:4]; // Channel Number div 8
|
||||||
|
wire [2:0]DMM_Shifter1 = i_DC_Con1[8:7]; // Channel Number div 64
|
||||||
|
wire [4:0]OC_Shifter2 = i_DC_Con2[8:4]; // Channel Number div 8
|
||||||
|
wire [2:0]DMM_Shifter2 = i_DC_Con2[8:7]; // Channel Number div 64
|
||||||
|
wire [4:0]OC_Shifter3 = i_DC_Con3[8:4]; // Channel Number div 8
|
||||||
|
wire [2:0]DMM_Shifter3 = i_DC_Con3[8:7]; // Channel Number div 64
|
||||||
|
wire [4:0]OC_Shifter4 = i_DC_Con4[8:4]; // Channel Number div 8
|
||||||
|
wire [2:0]DMM_Shifter4 = i_DC_Con4[8:7]; // Channel Number div 64
|
||||||
|
|
||||||
always @(posedge i_sys_clk) begin
|
always @(posedge i_sys_clk) begin
|
||||||
if (i_rst_n == 1'b0) begin
|
if (i_rst_n == 1'b0) begin
|
||||||
delay_cnt <= 'd0;
|
delay_cnt <= 'd0;
|
||||||
@@ -212,7 +222,7 @@ module CPLD_Con (
|
|||||||
else if (i_freq_relay3[9:1] < 201) begin
|
else if (i_freq_relay3[9:1] < 201) begin
|
||||||
OC_x17 <= 4'd0;
|
OC_x17 <= 4'd0;
|
||||||
OC_x01 <= 'd0;
|
OC_x01 <= 'd0;
|
||||||
DMM_en <= 16'b000_0000_1000_0000_0000;
|
DMM_en <= 19'b000_0000_1000_0000_0000;
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
4'b1000: begin
|
4'b1000: begin
|
||||||
@@ -260,8 +270,8 @@ module CPLD_Con (
|
|||||||
else begin
|
else begin
|
||||||
RC_RLSel <= (18'b00_0000_0000_0000_0001)<<(i_DC_Con1[21:17] - 1);
|
RC_RLSel <= (18'b00_0000_0000_0000_0001)<<(i_DC_Con1[21:17] - 1);
|
||||||
if (i_DC_Con1[23] == 1'b0) begin //Select PMU
|
if (i_DC_Con1[23] == 1'b0) begin //Select PMU
|
||||||
PMU_OC_1 <= (32'b0000_0000_0000_0000_0000_0000_0000_0001)<<(i_DC_Con1[9:1]/8);
|
PMU_OC_1 <= (32'b0000_0000_0000_0000_0000_0000_0000_0001)<<(OC_Shifter1);
|
||||||
DMM_en <= (19'b000_0000_0000_0000_0001)<<(i_DC_Con1[9:1]/8);
|
DMM_en <= (19'b000_0000_0000_0000_0001)<<(DMM_Shifter1);
|
||||||
end
|
end
|
||||||
else if (i_DC_Con1[23] == 1'b1) begin //Select DPS
|
else if (i_DC_Con1[23] == 1'b1) begin //Select DPS
|
||||||
|
|
||||||
@@ -282,8 +292,8 @@ module CPLD_Con (
|
|||||||
else begin
|
else begin
|
||||||
RC_RLSel <= (18'b00_0000_0000_0000_0001)<<(i_DC_Con2[21:17] - 1);
|
RC_RLSel <= (18'b00_0000_0000_0000_0001)<<(i_DC_Con2[21:17] - 1);
|
||||||
if (i_DC_Con2[23] == 1'b0) begin //Select PMU
|
if (i_DC_Con2[23] == 1'b0) begin //Select PMU
|
||||||
PMU_OC_2 <= (32'b0000_0000_0000_0000_0000_0000_0000_0001)<<(i_DC_Con2[9:1]/8);
|
PMU_OC_2 <= (32'b0000_0000_0000_0000_0000_0000_0000_0001)<<(OC_Shifter2);
|
||||||
DMM_en <= (19'b000_0000_0000_0000_0001)<<(i_DC_Con2[9:1]/8);
|
DMM_en <= (19'b000_0000_0000_0001_0000)<<(DMM_Shifter2);
|
||||||
end
|
end
|
||||||
else if (i_DC_Con2[23] == 1'b1) begin //Select DPS
|
else if (i_DC_Con2[23] == 1'b1) begin //Select DPS
|
||||||
|
|
||||||
@@ -304,8 +314,8 @@ module CPLD_Con (
|
|||||||
else begin
|
else begin
|
||||||
RC_RLSel <= (18'b00_0000_0000_0000_0001)<<(i_DC_Con3[21:17] - 1);
|
RC_RLSel <= (18'b00_0000_0000_0000_0001)<<(i_DC_Con3[21:17] - 1);
|
||||||
if (i_DC_Con3[23] == 1'b0) begin //Select PMU
|
if (i_DC_Con3[23] == 1'b0) begin //Select PMU
|
||||||
PMU_OC_3 <= (32'b0000_0000_0000_0000_0000_0000_0000_0001)<<(i_DC_Con3[9:1]/8);
|
PMU_OC_3 <= (32'b0000_0000_0000_0000_0000_0000_0000_0001)<<(OC_Shifter3);
|
||||||
DMM_en <= (19'b000_0000_0000_0000_0001)<<(i_DC_Con3[9:1]/8);
|
DMM_en <= (19'b000_0000_0001_0000_0000)<<(DMM_Shifter3);
|
||||||
end
|
end
|
||||||
else if (i_DC_Con3[23] == 1'b1) begin //Select DPS
|
else if (i_DC_Con3[23] == 1'b1) begin //Select DPS
|
||||||
|
|
||||||
@@ -326,8 +336,8 @@ module CPLD_Con (
|
|||||||
else begin
|
else begin
|
||||||
RC_RLSel <= (18'b00_0000_0000_0000_0001)<<(i_DC_Con4[21:17] - 1);
|
RC_RLSel <= (18'b00_0000_0000_0000_0001)<<(i_DC_Con4[21:17] - 1);
|
||||||
if (i_DC_Con4[23] == 1'b0) begin //Select PMU
|
if (i_DC_Con4[23] == 1'b0) begin //Select PMU
|
||||||
PMU_OC_4 <= (32'b0000_0000_0000_0000_0000_0000_0000_0001)<<(i_DC_Con4[9:1]/8);
|
PMU_OC_4 <= (32'b0000_0000_0000_0000_0000_0000_0000_0001)<<(OC_Shifter4);
|
||||||
DMM_en <= (19'b000_0000_0000_0000_0001)<<(i_DC_Con4[9:1]/8);
|
DMM_en <= (19'b000_0000_0000_0000_0001)<<(DMM_Shifter4);
|
||||||
end
|
end
|
||||||
else if (i_DC_Con4[23] == 1'b1) begin //Select DPS
|
else if (i_DC_Con4[23] == 1'b1) begin //Select DPS
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user