From 7096f94f47c8bedc03e5a4f1e6eb7ce73b692ef2 Mon Sep 17 00:00:00 2001 From: Jeremy Shen Date: Wed, 20 May 2026 18:21:42 +0800 Subject: [PATCH] PMU DC Control Output & bug fix --- 1.Docs/NewCalBoard_DIG_SYY.md | 328 +++++++++++++++++ 1.Docs/NewCalBoard_DIG_SYY.xlsx | Bin 376566 -> 38819 bytes 2.FW/CPLD1/.spreadsheet_view.ini | 78 ++-- 2.FW/CPLD1/CPLD_Con.v | 6 +- 2.FW/CPLD1/NewExtIns_CPLD1.lpf | 450 ++++++++++++++---------- 2.FW/CPLD1/RelayConTop.v | 90 ++++- 2.FW/CPLD2/Reg_file.v | 2 +- 3.FW_Docs/CPLD_Firmware_Architecture.md | 416 ++++++++++++++++++++++ 8 files changed, 1116 insertions(+), 254 deletions(-) create mode 100644 1.Docs/NewCalBoard_DIG_SYY.md create mode 100644 3.FW_Docs/CPLD_Firmware_Architecture.md diff --git a/1.Docs/NewCalBoard_DIG_SYY.md b/1.Docs/NewCalBoard_DIG_SYY.md new file mode 100644 index 0000000..8a1650a --- /dev/null +++ b/1.Docs/NewCalBoard_DIG_SYY.md @@ -0,0 +1,328 @@ +# NewCalBoard_DIG_SYY + +> Extracted from `NewCalBoard_DIG_SYY.xlsx` + +- **File size:** 38,819 bytes (37.9 KB) +- **Total sheets:** 6 + +## Sheet Summary + +| # | Sheet Name | Rows | Columns | Merged Cells | Data Rows | +|---|-----------|------|---------|-------------|----------| +| 1 | Notes | 6 | 3 | 0 | 5 | +| 2 | CPLD_REG | 35 | 42 | 39 | 12 | +| 3 | ARM_CPLD | 36 | 7 | 0 | 34 | +| 4 | Freq_CPLD | 57 | 8 | 0 | 57 | +| 5 | Freq_Output | 20 | 18 | 19 | 17 | +| 6 | PMU_CH_Sel | 133 | 26 | 98 | 129 | + +--- + +## Sheet: `Notes` + +- **Dimensions:** 6 rows x 3 columns +- **Merged cell ranges:** 0 + +| SCLK_S03定义错误 | | | +|---|---|---|---|---| +| Zynq与CPLD互连线冲突 | 1_B5_31 | TPL241A & 5522 | +| | 2_B2_35 | ARM & ULN | +| | 2_B2_38 | ARM & ULN | +| | 3_B2_56 | ARM & ADG | + +--- + +## Sheet: `CPLD_REG` + +- **Dimensions:** 35 rows x 42 columns +- **Merged cell ranges:** 39 + +| Addr[7:0] | | | | Data[23:0] | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| MSB | | | LSB | MSB(bit23) | | | | | | | | | | | | bit11 | | bit9 | | | | | | | | bit1 | LSB(bit0) | | | | | | | | | | | | | | | +| W(1)/R(0) | 0 (IDENT) | | | CPLD3 | CPLD2 | CPLD1 | Reserved | | | | | | | | | Major Version | | | | Minor Version | | | | Reversion | | | | | | | | | | | | | | | | | | +| W(1)/R(0) | 1 (STATE) | | | RDY | Reserved | | | | | | | | | | | | | | | | | | | | | | EXEC | Level1(MSB) | | Level2 | | | | Level3(LSB) | | | | | | | | +| W(1)/R(0) | 2 (Freq_Slot1) | | | Per Relay_Control (1 to Switch/0 to Not Switch) | | | | | | | | | | | | | | Channel_Number | | | | | | | | | Slot_EN(1 to EN) | RC_F1 | RC_F2 | RC_S1 | RC_S2 | RC_S3 | RC_S4 | RC_T1 | RC_T2 | RC_T3 | RC_T4 | RC_T5 | RC_T6 | RC_T7 | RC_T8 | +| W(1)/R(0) | 3 (Freq_Slot2) | | | Per Relay_Control (1 to Switch/0 to Not Switch) | | | | | | | | | | | | | | Channel_Number | | | | | | | | | Slot_EN(1 to EN) | RC_F3 | RC_F4 | RC_S5 | RC_S6 | RC_S7 | RC_S8 | RC_T9 | RC_T10 | RC_T11 | RC_T12 | RC_T13 | RC_T14 | RC_T15 | RC_T16 | +| W(1)/R(0) | 4 (Freq_Slot3) | | | Per Relay_Control (1 to Switch/0 to Not Switch) | | | | | | | | | | | | | | Channel_Number | | | | | | | | | Slot_EN(1 to EN) | RC_F5 | RC_F6 | RC_S9 | RC_S10 | RC_S11 | RC_S12 | RC_T17 | RC_T18 | RC_T19 | RC_T20 | RC_T21 | RC_T22 | RC_T23 | RC_T24 | +| W(1)/R(0) | 5 (Freq_Slot4) | | | Per Relay_Control (1 to Switch/0 to Not Switch) | | | | | | | | | | | | | | Channel_Number | | | | | | | | | Slot_EN(1 to EN) | RC_F7 | RC_F8 | RC_S13 | RC_S14 | RC_S15 | RC_S16 | RC_T25 | RC_T26 | RC_T27 | RC_T28 | RC_T29 | RC_T30 | RC_T31 | RC_T32 | +| W(1)/R(0) | 6 (DC_Slot1) | | | PMU(0)/DPS(1) | V(0)/I(1) | Rload_Sel | | | | | Reserved | | | | | | | Channel_Number | | | | | | | | | Slot_EN(1 to EN) | | | | | | | | | | | | | | | +| W(1)/R(1) | 7 (DC_Slot2) | | | PMU(0)/DPS(1) | V(0)/I(1) | Rload_Sel | | | | | Reserved | | | | | | | Channel_Number | | | | | | | | | Slot_EN(1 to EN) | | | | | | | | | | | | | | | +| W(1)/R(2) | 8 (DC_Slot3) | | | PMU(0)/DPS(1) | V(0)/I(1) | Rload_Sel | | | | | Reserved | | | | | | | Channel_Number | | | | | | | | | Slot_EN(1 to EN) | | | | | | | | | | | | | | | +| W(1)/R(3) | 9 (DC_Slot4) | | | PMU(0)/DPS(1) | V(0)/I(1) | Rload_Sel | | | | | Reserved | | | | | | | Channel_Number | | | | | | | | | Slot_EN(1 to EN) | | | | | | | | | | | | | | | + +--- + +## Sheet: `ARM_CPLD` + +- **Dimensions:** 36 rows x 7 columns +- **Merged cell ranges:** 0 + +| SIG | ARM | DIR(Zynq) | CPLD | | | | +|---|---|---|---|---|---|---|---|---| +| RVAILD | B13_L15P_AF19 | | 1_B2_56 | AA16 | | OPTIONAL | +| CLK | B13_L9P_AB21 | | 1_B2_35 | AA10 | | | +| ERR | B13_L16N_AE21 | | 1_B2_55 | AB16 | | | +| MOSI | B13_L19N_Y20 | | 1_B2_39 | AB12 | | | +| WREADY | B13_L16P_AE20 | | 1_B2_54 | Y15 | | | +| RST_N | B13_L18N_AF18 | | 1_B2_47 | Y14 | | | +| RREADY | B13_L17P_AD18 | | 1_B2_48 | AB15 | | | +| WVAILD | B13_L17N_AD19 | | 1_B2_53 | AA15 | | | +| MISO | B13_L18P_AE18 | | 1_B2_44 | AA14 | | | +| CS | B13_L19P_W20 | | 1_B2_38 | AB11 | | | +| | B13_L10P_AA22 | | 1_XO2_CLK2_0 | AA9 | | | +| ERR | B13_L1P_AA25 | | 2_B2_55 | AB16 | | | +| CLK | B13_L1N_AB25 | | 2_B2_56 | AA16 | | | +| CS | B13_L11P_AD23 | | 2_B2_54 | Y15 | | | +| WVAILD | B13_L11N_AD24 | | 2_B2_53 | AA15 | | | +| RST_N | B13_L12P_AC23 | | 2_B2_47 | Y14 | | | +| MOSI | B13_L13P_AD20 | | 2_B2_39 | AB12 | | | +| RVAILD | B13_L12N_AC24 | | 2_B2_48 | AB15 | | | +| RREADY | B13_L14P_AC21 | | 2_B2_35 | AA10 | 2_B2_35同时连到ARM & ULN | | +| MISO | B13_L13N_AD21 | | 2_B2_44 | AA14 | | | +| WREADY | B13_L14N_AC22 | | 2_B2_38 | AB11 | 2_B2_38同时连到ARM & ULN | | +| | B13_L15N_AF20 | | 2_XO2_CLK2_0 | AA9 | | | +| ERR | B12_L10P_AE13 | | 3_B2_55 | AB16 | | | +| RVAILD | B12_L10N_AF13 | | 3_B2_56 | AA16 | 3_B2_56同时连到ARM & ADG | | +| WREADY | B12_L9P_AE11 | | 3_B2_54 | Y15 | | | +| WVAILD | B12_L9N_AF10 | | 3_B2_53 | AA15 | | | +| RST_N | B12_L8P_AE12 | | 3_B2_47 | Y14 | | | +| MOSI | B12_L8N_AF12 | | 3_B2_39 | AB12 | | | +| RREADY | B12_L7P_AE10 | | 3_B2_48 | AB15 | | | +| CLK | B12_L7N_AD10 | | 3_B2_35 | AA10 | | | +| MISO | B12_L6P_AA13 | | 3_B2_44 | AA14 | | | +| CS | B12_L6N_AA12 | | 3_B2_38 | AB11 | | | +| | B12_L5P_W13 | | 3_XO2_CLK2_0 | AA9 | | | + +--- + +## Sheet: `Freq_CPLD` + +- **Dimensions:** 57 rows x 8 columns +- **Merged cell ranges:** 0 + +| Level | Relay | CPLD | CPLD_Pin | Channel | Slot | | | +|---|---|---|---|---|---|---|---|---|---| +| #1 | RC_F1 | 2_B2_58 | U13 | 1-4&65-68||5-8&69-72 | 1 | | | +| | RC_F2 | 2_B2_46 | U12 | 129-132&193-196||133-136&197-200 | 1 | | | +| | RC_F3 | 2_B2_45 | T12 | 1-4&65-68||5-8&69-72 | 2 | | | +| | RC_F4 | 2_B2_34 | T11 | 129-132&193-196||133-136&197-200 | 2 | | | +| | RC_F5 | 2_B2_33 | U11 | 1-4&65-68||5-8&69-72 | 3 | | | +| | RC_F6 | 2_B2_29 | V11 | 129-132&193-196||133-136&197-200 | 3 | | | +| | RC_F7 | 2_B2_30 | W11 | 1-4&65-68||5-8&69-72 | 4 | | | +| | RC_F8 | 2_B2_27 | U10 | 129-132&193-196||133-136&197-200 | 4 | | | +| #2 | RC_S1 | 2_B2_28 | T10 | 1-2&5-6||3-4&7-8 | 1 | | | +| | RC_S2 | 2_B2_24 | W9 | 65-66&69-70||67-68&71-72 | 1 | | | +| | RC_S3 | 2_B2_11 | AB2 | 129-130&133-134||131-132&135-136 | 1 | | | +| | RC_S4 | 2_B2_01 | Y3 | 193-194&197-198||195-196&199-200 | 1 | | | +| | RC_S5 | 2_B2_02 | AA3 | 1-2&5-6||3-4&7-8 | 2 | | | +| | RC_S6 | 2_B2_12 | AB3 | 65-66&69-70||67-68&71-72 | 2 | | | +| | RC_S7 | 2_B2_06 | Y4 | 129-130&133-134||131-132&135-136 | 2 | | | +| | RC_S8 | 2_B2_13 | AA4 | 193-194&197-198||195-196&199-200 | 2 | | | +| | RC_S9 | 2_B2_14 | Y5 | 1-2&5-6||3-4&7-8 | 3 | | | +| | RC_S10 | 2_B2_15 | W6 | 65-66&69-70||67-68&71-72 | 3 | | | +| | RC_S11 | 2_B2_19 | AB5 | 129-130&133-134||131-132&135-136 | 3 | | | +| | RC_S12 | 2_B2_21 | AB6 | 193-194&197-198||195-196&199-200 | 3 | | | +| | RC_S13 | 2_B2_20 | Y6 | 1-2&5-6||3-4&7-8 | 4 | | | +| | RC_S14 | 2_B2_22 | Y7 | 65-66&69-70||67-68&71-72 | 4 | | | +| | RC_S15 | 2_B2_26 | AB7 | 129-130&133-134||131-132&135-136 | 4 | | | +| | RC_S16 | 2_B2_25 | AA7 | 193-194&197-198||195-196&199-200 | 4 | | | +| #3 | RC_T1 | 2_B2_32 | AA8 | 1&3||2&4 | 1 | | | +| | RC_T2 | 2_B2_84 | Y10 | 5&7||6&8 | 1 | | | +| | RC_T3 | 2_B2_36 | AB10 | 65&67||66&68 | 1 | | | +| | RC_T4 | 2_B2_35 | AA10 | 69&71||70&72 | 1 | | | +| | RC_T5 | 2_B2_37 | AA11 | 129&131||130&132 | 1 | | | +| | RC_T6 | 2_B2_38 | AB11 | 133&135||134&136 | 1 | | | +| | RC_T7 | 2_B2_40 | AA12 | 193&195||194&196 | 1 | | | +| | RC_T8 | 2_B2_41 | AB13 | 192&199||198&200 | 1 | | | +| | RC_T9 | 2_B2_17 | AA13 | 1&3||2&4 | 2 | | | +| | RC_T10 | 2_B2_50 | V12 | 5&7||6&8 | 2 | | | +| | RC_T11 | 2_B2_49 | W12 | 65&67||66&68 | 2 | | | +| | RC_T12 | 2_B2_51 | Y12 | 69&71||70&72 | 2 | | | +| | RC_T13 | 2_B2_52 | V13 | 129&131||130&132 | 2 | | | +| | RC_T14 | 2_B2_62 | V14 | 133&135||134&136 | 2 | | | +| | RC_T15 | 2_B2_73 | V16 | 193&195||194&196 | 2 | | | +| | RC_T16 | 2_B2_60 | AB17 | 192&199||198&200 | 2 | | | +| | RC_T17 | 2_B2_69 | Y18 | 1&3||2&4 | 3 | | 65&67||66&68 | +| | RC_T18 | 2_B2_70 | AA19 | 5&7||6&8 | 3 | | 69&71||70&72 | +| | RC_T19 | 2_B2_71 | AB20 | 65&67||66&68 | 3 | | 1&3||2&4 | +| | RC_T20 | 2_B2_80 | W19 | 69&71||70&72 | 3 | | 5&7||6&8 | +| | RC_T21 | 2_B2_68 | W17 | 129&131||130&132 | 3 | | 193&195||194&196 | +| | RC_T22 | 2_B2_63 | Y17 | 133&135||134&136 | 3 | | 192&199||198&200 | +| | RC_T23 | 2_B2_77 | T15 | 193&195||194&196 | 3 | | 129&131||130&132 | +| | RC_T24 | 2_B2_74 | U15 | 192&199||198&200 | 3 | | 133&135||134&136 | +| | RC_T25 | 2_B2_57 | T13 | 1&3||2&4 | 4 | | | +| | RC_T26 | 2_B2_42 | AA13 | 5&7||6&8 | 4 | | | +| | RC_T27 | 1_B2_58 | U13 | 65&67||66&68 | 4 | | | +| | RC_T28 | 1_B2_46 | U12 | 69&71||70&72 | 4 | | | +| | RC_T29 | 1_B2_45 | T12 | 129&131||130&132 | 4 | | | +| | RC_T30 | 1_B2_34 | T11 | 133&135||134&136 | 4 | | | +| | RC_T31 | 1_B2_33 | U11 | 193&195||194&196 | 4 | | | +| | RC_T32 | 1_B2_29 | V11 | 192&199||198&200 | 4 | | | + +--- + +## Sheet: `Freq_Output` + +- **Dimensions:** 20 rows x 18 columns +- **Merged cell ranges:** 19 + +| Slot | Relay_Out | Channel_Range | DUT_Port | DUT_EN | CPLD_Pin | | | DMM_EN | CPLD_Pin | | OUTPUT_Port | | Freq_BNC | CPLD_Pin | | | | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| 1 | CAL_1.01 | 001-008 | D1_1 | OC_1.01 | 1_B1_35 | M19 | S_DMM_1 | OC_DMM0 | 1_B0_38 | F17 | DMM1 | 1_CAL | IO_RC1 | 1_B0_23 | F10 | | CTRL_SIG | +| | CAL_1.09 | 065-072 | D1_3 | OC_1.09 | 2_B0_59 | D14 | S_DMM_2 | OC_DMM1 | 1_B0_37 | E17 | | | | | | | CPLD1 | +| | CAL_1.17 | 129-136 | D1_5 | OC_1.17 | 1_B2_15 | W6 | S_DMM_3 | OC_DMM2 | 1_B0_52 | D17 | | | | | | | CPLD2 | +| | CAL_1.25 | 193-200 | D1_7 | OC_1.25 | 2_B3_04 | N5 | S_DMM_4 | OC_DMM3 | 1_B0_55 | C17 | | | | | | | CPLD3 | +| 2 | CAL_2.01 | 001-008 | D1_9 | OC_2.01 | 1_B0_45 | E16 | S_DMM_5 | OC_DMM4 | 1_B2_36 | AB10 | DMM2 | 2_CAL | IO_RC1 | 1_B0_23 | F10 | | | +| | CAL_2.09 | 065-072 | D1_11 | OC_2.09 | 2_B5_10 | C1 | S_DMM_6 | OC_DMM5 | 1_B2_37 | AA11 | | | PMU_RC1 | 3_B3_10 | V2 | | | +| | CAL_2.17 | 129-136 | D1_13 | OC_2.17 | 1_B0_58 | A17 | S_DMM_7 | OC_DMM6 | 1_B2_40 | AA12 | | | PMU_RC2 | 3_B1_38 | N18 | | | +| | CAL_2.25 | 193-200 | D1_15 | OC_2.25 | 2_B3_26 | T7 | S_DMM_8 | OC_DMM7 | 1_B2_41 | AB13 | | | | | | | | +| 3 | CAL_3.09 | 065-072 | D1_19 | OC_3.09 | 2_B0_34 | A11 | S_DMM_9 | OC_DMM8 | 1_B0_53 | D15 | DMM3 | 3_CAL | IO_RC1 | 1_B0_23 | F10 | | | +| | CAL_3.01 | 001-008 | D1_17 | OC_3.01 | 1_B3_03 | M3 | S_DMM_10 | OC_DMM9 | 1_B0_59 | D14 | | | PMU_RC1 | 3_B3_10 | V2 | | | +| | CAL_3.25 | 193-200 | D1_23 | OC_3.25 | 2_B0_76 | B13 | S_DMM_12 | OC_DMM12 | 1_B0_72 | F12 | | | PMU_RC3 | 3_B1_63 | P19 | | | +| | CAL_3.17 | 129-136 | D1_21 | OC_3.17 | 1_B0_17 | E8 | S_DMM_11 | OC_DMM11 | 1_B0_69 | C13 | | | | | | | | +| 4 | CAL_4.01 | 001-008 | D1_25 | OC_4.01 | 1_B0_75 | A13 | S_DMM_13 | OC_DMM12 | 1_B2_49 | W12 | DMM4 | 4_CAL | IO_RC1 | 1_B0_23 | F10 | | | +| | CAL_4.09 | 065-072 | D1_27 | OC_4.09 | 2_B5_22 | G1 | S_DMM_14 | OC_DMM13 | 1_B2_50 | V12 | | | PMU_RC1 | 3_B3_10 | V2 | | | +| | CAL_4.17 | 129-136 | D1_29 | OC_4.17 | 1_B0_68 | C15 | S_DMM_15 | OC_DMM14 | 1_B2_51 | Y12 | | | PMU_RC4 | 3_B1_64 | P18 | | | +| | CAL_4.25 | 193-200 | D1_31 | OC_4.25 | 2_B5_31 | E1 | S_DMM_16 | OC_DMM15 | 1_B2_52 | V13 | | | | | | | | + +--- + +## Sheet: `PMU_CH_Sel` + +- **Dimensions:** 133 rows x 26 columns +- **Merged cell ranges:** 98 + +| Slot | Relay_Out | Channel_Range | DUT_Port | DUT_EN | CPLD_Pin | | | DMM_EN | CPLD_Pin | | OUTPUT_Port | | DMM_SW | CPLD_Pin | | Resistor | Load_SW | CPLD_Pin | | VP/AP_SW | CPLD_Pin | | DMM_N | CPLD_Pin | | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| 1 | CAL_1.01 | 001-008 | D1_1 | OC_1.01 | 1_B1_35 | M19 | S_DMM_1 | OC_DMM1 | 1_B0_38 | F17 | DMM1 | 1_CAL | PMU_RC1 | 3_B3_10 | V2 | 1Ω | RC_RL1 | 1_B4_14 | M6 | RC_VpK | 1_B4_08 | L7 | RC_LOF1 | 1_B5_32 | F3 | +| | CAL_1.02 | 009-016 | D2_1 | OC_1.02 | 1_B1_77 | R16 | | | | | | | | | | 5Ω | RC_RL2 | 1_B4_17 | M4 | RC_ApK | 1_B3_12 | P6 | RC_LOF2 | 1_B5_30 | H4 | +| | CAL_1.03 | 017-024 | D3_1 | OC_1.03 | 1_B1_31 | N20 | | | | | | | | | | 10Ω | RC_RL3 | 1_B0_35 | B10 | | | | RC_LOS1 | 1_B5_16 | G4 | +| | CAL_1.04 | 025-032 | D4_1 | OC_1.04 | 1_B1_69 | P20 | | | | | | | | | | 100Ω | RC_RL4 | 1_B4_15 | P3 | | | | RC_LOS2 | 1_B4_07 | L6 | +| | CAL_1.05 | 033-040 | D1_2 | OC_1.05 | 1_B1_10 | G19 | | | | | | | | | | 150Ω | RC_RL5 | 1_B5_04 | F5 | | | | | | | +| | CAL_1.06 | 041-048 | D2_2 | OC_1.06 | 1_B1_16 | J19 | | | | | | | | | | 499Ω | RC_RL6 | 1_B0_24 | G10 | | | | | | | +| | CAL_1.07 | 049-056 | D3_2 | OC_1.07 | 1_B1_04 | H16 | | | | | | | | | | 1kΩ | RC_RL7 | 1_B5_03 | F6 | | | | | | | +| | CAL_1.08 | 057-064 | D4_2 | OC_1.08 | 1_B1_13 | J17 | | | | | | | | | | 4.99kΩ | RC_RL8 | 1_B0_27 | C8 | | | | | | | +| | CAL_1.09 | 065-072 | D1_3 | OC_1.09 | 2_B0_59 | D14 | S_DMM_2 | OC_DMM2 | 1_B0_37 | E17 | | | | | | 10kΩ | RC_RL9 | 1_B0_21 | B7 | | | CPLD1 | CPLD2 | CPLD3 | | +| | CAL_1.10 | 073-080 | D2_3 | OC_1.10 | 2_B0_61 | G13 | | | | | | | | | | 49.9kΩ | RC_RL10 | 1_B0_09 | F8 | | | | | | | +| | CAL_1.11 | 081-088 | D3_3 | OC_1.11 | 2_B0_69 | C13 | | | | | | | | | | 100kΩ | RC_RL11 | 1_B0_14 | C5 | | | | | | | +| | CAL_1.12 | 089-096 | D4_3 | OC_1.12 | 2_B0_62 | F13 | | | | | | | | | | 402kΩ | RC_RL12 | 1_B0_08 | A3 | | | | | | | +| | CAL_1.13 | 097-104 | D1_4 | OC_1.13 | 2_B0_55 | C17 | | | | | | | | | | 1MΩ | RC_RL13 | 1_B0_33 | B11 | | | | | | | +| | CAL_1.14 | 105-112 | D2_4 | OC_1.14 | 2_B0_38 | F17 | | | | | | | | | | 1.5MΩ | RC_RL14 | 1_B0_15 | A5 | | | | | | | +| | CAL_1.15 | 113-120 | D3_4 | OC_1.15 | 2_B0_52 | D17 | | | | | | | | | | 2MΩ | RC_RL15 | 1_B0_13 | B4 | | | | | | | +| | CAL_1.16 | 121-128 | D4_4 | OC_1.16 | 2_B0_37 | E17 | | | | | | | | | | 4.99MΩ | RC_RL16 | 1_B0_31 | F11 | | | | | | | +| | CAL_1.17 | 129-136 | D1_5 | OC_1.17 | 1_B2_15 | W6 | S_DMM_3 | OC_DMM3 | 1_B0_52 | D17 | | | | | | 10MΩ | RC_RL17 | 1_B0_20 | D9 | | | | | | | +| | CAL_1.18 | 137-144 | D2_5 | OC_1.18 | 1_B2_25 | AA7 | | | | | | | | | | REV | RC_RL18 | 1_B3_04 | N5 | | | | | | | +| | CAL_1.19 | 145-152 | D3_5 | OC_1.19 | 1_B2_21 | AB6 | | | | | | | | | | | | | | | | | | | | +| | CAL_1.20 | 153-160 | D4_5 | OC_1.20 | 1_B2_22 | Y7 | | | | | | | | | | | | | | | | | | | | +| | CAL_1.21 | 161-168 | D1_6 | OC_1.21 | 1_B3_20 | V4 | | | | | | | | | | | | | | | | | | | | +| | CAL_1.22 | 169-176 | D2_6 | OC_1.22 | 1_B3_18 | R6 | | | | | | | | | | | | | | | | | | | | +| | CAL_1.23 | 177-184 | D3_6 | OC_1.23 | 1_B3_14 | U4 | | | | | | | | | | | | | | | | | | | | +| | CAL_1.24 | 185-192 | D4_6 | OC_1.24 | 1_B3_17 | T5 | | | | | | | | | | | | | | | | | | | | +| | CAL_1.25 | 193-200 | D1_7 | OC_1.25 | 2_B3_04 | N5 | S_DMM_4 | OC_DMM4 | 1_B0_55 | C17 | | | | | | | | | | | | | | | | +| | CAL_1.26 | 201-208 | D2_7 | OC_1.26 | 2_B0_53 | D15 | | | | | | | | | | | | | | | | | | | | +| | CAL_1.27 | 209-216 | D3_7 | OC_1.27 | 2_B4_15 | P3 | | | | | | | | | | | | | | | | | | | | +| | CAL_1.28 | 217-224 | D4_7 | OC_1.28 | 2_B4_17 | M4 | | | | | | | | | | | | | | | | | | | | +| | CAL_1.29 | 225-232 | D1_8 | OC_1.29 | 2_B3_18 | R6 | | | | | | | | | | | | | | | | | | | | +| | CAL_1.30 | 233-240 | D2_8 | OC_1.30 | 2_B3_17 | T5 | | | | | | | | | | | | | | | | | | | | +| | CAL_1.31 | 241-248 | D3_8 | OC_1.31 | 2_B3_12 | P6 | | | | | | | | | | | | | | | | | | | | +| | CAL_1.32 | 249-256 | D4_8 | OC_1.32 | 2_B3_14 | U4 | | | | | | | | | | | | | | | | | | | | +| 2 | CAL_2.01 | 001-008 | D1_9 | OC_2.01 | 1_B0_45 | E16 | S_DMM_5 | OC_DMM5 | 1_B2_36 | AB10 | DMM2 | 2_CAL | PMU_RC2 | 3_B1_38 | N18 | | | | | | | | | | | +| | CAL_2.02 | 009-016 | D2_9 | OC_2.02 | 1_B0_44 | F16 | | | | | | | | | | | | | | | | | | | | +| | CAL_2.03 | 017-024 | D3_9 | OC_2.03 | 1_B0_51 | D16 | | | | | | | | | | | | | | | | | | | | +| | CAL_2.04 | 025-032 | D4_9 | OC_2.04 | 1_B0_43 | G15 | | | | | | | | | | | | | | | | | | | | +| | CAL_2.05 | 033-040 | D1_10 | OC_2.05 | 1_B1_06 | C22 | | | | | | | | | | | | | | | | | | | | +| | CAL_2.06 | 041-048 | D2_10 | OC_2.06 | 1_B1_48 | D20 | | | | | | | | | | | | | | | | | | | | +| | CAL_2.07 | 049-056 | D3_10 | OC_2.07 | 1_B1_49 | D21 | | | | | | | | | | | | | | | | | | | | +| | CAL_2.08 | 057-064 | D4_10 | OC_2.08 | 1_B1_12 | D22 | | | | | | | | | | | | | | | | | | | | +| | CAL_2.09 | 065-072 | D1_11 | OC_2.09 | 2_B5_10 | C1 | S_DMM_6 | OC_DMM6 | 1_B2_37 | AA11 | | | | | | | | | | | | | | | | +| | CAL_2.10 | 073-080 | D2_11 | OC_2.10 | 2_B5_02 | C2 | | | | | | | | | | | | | | | | | | | | +| | CAL_2.11 | 081-088 | D3_11 | OC_2.11 | 2_B5_01 | C3 | | | | | | | | | | | | | | | | | | | | +| | CAL_2.12 | 089-096 | D4_11 | OC_2.12 | 2_B5_09 | B1 | | | | | | | | | | | | | | | | | | | | +| | CAL_2.13 | 097-104 | D1_12 | OC_2.13 | 2_B5_29 | H5 | | | | | | | | | | | | | | | | | | | | +| | CAL_2.14 | 105-112 | D2_12 | OC_2.14 | 2_B5_11 | H6 | | | | | | | | | | | | | | | | | | | | +| | CAL_2.15 | 113-120 | D3_12 | OC_2.15 | 2_B5_26 | H2 | | | | | | | | | | | | | | | | | | | | +| | CAL_2.16 | 121-128 | D4_12 | OC_2.16 | 2_B5_25 | H3 | | | | | | | | | | | | | | | | | | | | +| | CAL_2.17 | 129-136 | D1_13 | OC_2.17 | 1_B0_58 | A17 | S_DMM_7 | OC_DMM7 | 1_B2_40 | AA12 | | | | | | | | | | | | | | | | +| | CAL_2.18 | 137-144 | D2_13 | OC_2.18 | 1_B0_56 | A18 | | | | | | | | | | | | | | | | | | | | +| | CAL_2.19 | 145-152 | D3_13 | OC_2.19 | 1_B0_49 | C18 | | | | | | | | | | | | | | | | | | | | +| | CAL_2.20 | 153-160 | D4_13 | OC_2.20 | 1_B0_42 | D18 | | | | | | | | | | | | | | | | | | | | +| | CAL_2.21 | 161-168 | D1_14 | OC_2.21 | 1_B0_61 | G13 | | | | | | | | | | | | | | | | | | | | +| | CAL_2.22 | 169-176 | D2_14 | OC_2.22 | 1_B0_46 | F15 | | | | | | | | | | | | | | | | | | | | +| | CAL_2.23 | 177-184 | D3_14 | OC_2.23 | 1_B0_62 | F13 | | | | | | | | | | | | | | | | | | | | +| | CAL_2.24 | 185-192 | D4_14 | OC_2.24 | 1_B0_71 | G12 | | | | | | | | | | | | | | | | | | | | +| | CAL_2.25 | 193-200 | D1_15 | OC_2.25 | 2_B3_26 | T7 | S_DMM_8 | OC_DMM8 | 1_B2_41 | AB13 | | | | | | | | | | | | | | | | +| | CAL_2.26 | 201-208 | D2_15 | OC_2.26 | 2_B3_25 | U5 | | | | | | | | | | | | | | | | | | | | +| | CAL_2.27 | 209-216 | D3_15 | OC_2.27 | 2_B2_05 | W5 | | | | | | | | | | | | | | | | | | | | +| | CAL_2.28 | 217-224 | D4_15 | OC_2.28 | 2_B3_22 | T6 | | | | | | | | | | | | | | | | | | | | +| | CAL_2.29 | 225-232 | D1_16 | OC_2.29 | 2_B0_17 | E8 | | | | | | | | | | | | | | | | | | | | +| | CAL_2.30 | 233-240 | D2_16 | OC_2.30 | 2_B0_19 | E9 | | | | | | | | | | | | | | | | | | | | +| | CAL_2.31 | 241-248 | D3_16 | OC_2.31 | 2_B0_25 | E10 | | | | | | | | | | | | | | | | | | | | +| | CAL_2.32 | 249-256 | D4_16 | OC_2.32 | 2_B0_30 | D11 | | | | | | | | | | | | | | | | | | | | +| 3 | CAL_3.01 | 001-008 | D1_17 | OC_3.01 | 1_B3_03 | M3 | S_DMM_10 | OC_DMM10 | 1_B0_59 | D14 | DMM3 | 3_CAL | PMU_RC3 | 3_B1_63 | P19 | | | | | | | | | | | +| | CAL_3.02 | 009-016 | D2_17 | OC_3.02 | 1_B4_16 | R1 | | | | | | | | | | | | | | | | | | | | +| | CAL_3.03 | 017-024 | D3_17 | OC_3.03 | 1_B4_20 | N2 | | | | | | | | | | | | | | | | | | | | +| | CAL_3.04 | 025-032 | D4_17 | OC_3.04 | 1_B4_19 | N1 | | | | | | | | | | | | | | | | | | | | +| | CAL_3.05 | 033-040 | D1_18 | OC_3.05 | 1_B1_09 | F19 | | | | | | | | | | | | | | | | | | | | +| | CAL_3.06 | 041-048 | D2_18 | OC_3.06 | 1_B1_47 | E19 | | | | | | | | | | | | | | | | | | | | +| | CAL_3.07 | 049-056 | D3_18 | OC_3.07 | 1_B0_40 | C20 | | | | | | | | | | | | | | | | | | | | +| | CAL_3.08 | 057-064 | D4_18 | OC_3.08 | 1_B0_39 | B20 | | | | | | | | | | | | | | | | | | | | +| | CAL_3.09 | 065-072 | D1_19 | OC_3.09 | 2_B0_34 | A11 | S_DMM_9 | OC_DMM9 | 1_B0_53 | D15 | | | | | | | | | | | | | | | | +| | CAL_3.10 | 073-080 | D2_19 | OC_3.10 | 2_B0_73 | A12 | | | | | | | | | | | | | | | | | | | | +| | CAL_3.11 | 081-088 | D3_19 | OC_3.11 | 2_B0_74 | B12 | | | | | | | | | | | | | | | | | | | | +| | CAL_3.12 | 089-096 | D4_19 | OC_3.12 | 2_B0_75 | A13 | | | | | | | | | | | | | | | | | | | | +| | CAL_3.13 | 097-104 | D1_20 | OC_3.13 | 2_B0_50 | B19 | | | | | | | | | | | | | | | | | | | | +| | CAL_3.14 | 105-112 | D2_20 | OC_3.14 | 2_B0_49 | C18 | | | | | | | | | | | | | | | | | | | | +| | CAL_3.15 | 113-120 | D3_20 | OC_3.15 | 2_B0_58 | A17 | | | | | | | | | | | | | | | | | | | | +| | CAL_3.16 | 121-128 | D4_20 | OC_3.16 | 2_B0_64 | B16 | | | | | | | | | | | | | | | | | | | | +| | CAL_3.17 | 129-136 | D1_21 | OC_3.17 | 1_B0_17 | E8 | S_DMM_11 | OC_DMM11 | 1_B0_69 | C13 | | | | | | | | | | | | | | | | +| | CAL_3.18 | 137-144 | D2_21 | OC_3.18 | 1_B0_19 | E9 | | | | | | | | | | | | | | | | | | | | +| | CAL_3.19 | 145-152 | D3_21 | OC_3.19 | 1_B0_25 | E10 | | | | | | | | | | | | | | | | | | | | +| | CAL_3.20 | 153-160 | D4_21 | OC_3.20 | 1_B0_30 | D11 | | | | | | | | | | | | | | | | | | | | +| | CAL_3.21 | 161-168 | D1_22 | OC_3.21 | 1_B0_10 | E7 | | | | | | | | | | | | | | | | | | | | +| | CAL_3.22 | 169-176 | D2_22 | OC_3.22 | 1_B0_12 | D7 | | | | | | | | | | | | | | | | | | | | +| | CAL_3.23 | 177-184 | D3_22 | OC_3.23 | 1_B0_18 | D8 | | | | | | | | | | | | | | | | | | | | +| | CAL_3.24 | 185-192 | D4_22 | OC_3.24 | 1_B0_28 | B8 | | | | | | | | | | | | | | | | | | | | +| | CAL_3.25 | 193-200 | D1_23 | OC_3.25 | 2_B0_76 | B13 | S_DMM_12 | OC_DMM12 | 1_B0_72 | F12 | | | | | | | | | | | | | | | | +| | CAL_3.26 | 201-208 | D2_23 | OC_3.26 | 2_B0_70 | B14 | | | | | | | | | | | | | | | | | | | | +| | CAL_3.27 | 209-216 | D3_23 | OC_3.27 | 2_B0_67 | B15 | | | | | | | | | | | | | | | | | | | | +| | CAL_3.28 | 217-224 | D4_23 | OC_3.28 | 2_B0_68 | C15 | | | | | | | | | | | | | | | | | | | | +| | CAL_3.29 | 225-232 | D1_24 | OC_3.29 | 2_B1_17 | G21 | | | | | | | | | | | | | | | | | | | | +| | CAL_3.30 | 233-240 | D2_24 | OC_3.30 | 2_B1_51 | E22 | | | | | | | | | | | | | | | | | | | | +| | CAL_3.31 | 241-248 | D3_24 | OC_3.31 | 2_B1_50 | E20 | | | | | | | | | | | | | | | | | | | | +| | CAL_3.32 | 249-256 | D4_24 | OC_3.32 | 2_B1_49 | D21 | | | | | | | | | | | | | | | | | | | | +| 4 | CAL_4.01 | 001-008 | D1_25 | OC_4.01 | 1_B0_75 | A13 | S_DMM_13 | OC_DMM13 | 1_B2_49 | W12 | DMM4 | 4_CAL | PMU_RC4 | 3_B1_63 | P18 | | | | | | | | | | | +| | CAL_4.02 | 009-016 | D2_25 | OC_4.02 | 1_B0_76 | B13 | | | | | | | | | | | | | | | | | | | | +| | CAL_4.03 | 017-024 | D3_25 | OC_4.03 | 1_B0_70 | B14 | | | | | | | | | | | | | | | | | | | | +| | CAL_4.04 | 025-032 | D4_25 | OC_4.04 | 1_B0_67 | B15 | | | | | | | | | | | | | | | | | | | | +| | CAL_4.05 | 033-040 | D1_26 | OC_4.05 | 1_B0_50 | B19 | | | | | | | | | | | | | | | | | | | | +| | CAL_4.06 | 041-048 | D2_26 | OC_4.06 | 1_B0_65 | D12 | | | | | | | | | | | | | | | | | | | | +| | CAL_4.07 | 049-056 | D3_26 | OC_4.07 | 1_B0_60 | E14 | | | | | | | | | | | | | | | | | | | | +| | CAL_4.08 | 057-064 | D4_26 | OC_4.08 | 1_B0_54 | E15 | | | | | | | | | | | | | | | | | | | | +| | CAL_4.09 | 065-072 | D1_27 | OC_4.09 | 2_B5_22 | G1 | S_DMM_14 | OC_DMM14 | 1_B2_50 | V12 | | | | | | | | | | | | | | | | +| | CAL_4.10 | 073-080 | D2_27 | OC_4.10 | 2_B5_21 | G2 | | | | | | | | | | | | | | | | | | | | +| | CAL_4.11 | 081-088 | D3_27 | OC_4.11 | 2_B5_18 | G3 | | | | | | | | | | | | | | | | | | | | +| | CAL_4.12 | 089-096 | D4_27 | OC_4.12 | 2_B5_17 | F1 | | | | | | | | | | | | | | | | | | | | +| | CAL_4.13 | 097-104 | D1_27 | OC_4.13 | 2_B0_04 | C4 | | | | | | | | | | | | | | | | | | | | +| | CAL_4.14 | 105-112 | D2_27 | OC_4.14 | 2_B0_14 | C5 | | | | | | | | | | | | | | | | | | | | +| | CAL_4.15 | 113-120 | D3_27 | OC_4.15 | 2_B0_32 | G11 | | | | | | | | | | | | | | | | | | | | +| | CAL_4.16 | 121-128 | D4_27 | OC_4.16 | 2_B0_29 | E11 | | | | | | | | | | | | | | | | | | | | +| | CAL_4.17 | 129-136 | D1_29 | OC_4.17 | 1_B0_68 | C15 | S_DMM_15 | OC_DMM15 | 1_B2_51 | Y12 | | | | | | | | | | | | | | | | +| | CAL_4.18 | 137-144 | D2_29 | OC_4.18 | 1_B0_63 | A16 | | | | | | | | | | | | | | | | | | | | +| | CAL_4.19 | 145-152 | D3_29 | OC_4.19 | 1_B0_64 | B16 | | | | | | | | | | | | | | | | | | | | +| | CAL_4.20 | 153-160 | D4_29 | OC_4.20 | 1_B0_57 | C16 | | | | | | | | | | | | | | | | | | | | +| | CAL_4.21 | 161-168 | D1_30 | OC_4.21 | 1_B0_66 | E12 | | | | | | | | | | | | | | | | | | | | +| | CAL_4.22 | 169-176 | D1_30 | OC_4.22 | 1_B0_48 | A21 | | | | | | | | | | | | | | | | | | | | +| | CAL_4.23 | 177-184 | D1_30 | OC_4.23 | 1_B1_05 | B22 | | | | | | | | | | | | | | | | | | | | +| | CAL_4.24 | 185-192 | D1_30 | OC_4.24 | 1_B1_46 | C21 | | | | | | | | | | | | | | | | | | | | +| | CAL_4.25 | 193-200 | D1_31 | OC_4.25 | 2_B5_31 | E1 | S_DMM_16 | OC_DMM16 | 1_B2_52 | V13 | | | | | | | | | | | | | | | | +| | CAL_4.26 | 201-208 | D1_29 | OC_4.26 | 2_B5_14 | D1 | | | | | | | | | | | | | | | | | | | | +| | CAL_4.27 | 209-216 | D1_29 | OC_4.27 | 2_B5_13 | E2 | | | | | | | | | | | | | | | | | | | | +| | CAL_4.28 | 217-224 | D1_29 | OC_4.28 | 2_B5_06 | D3 | | | | | | | | | | | | | | | | | | | | +| | CAL_4.29 | 225-232 | D1_29 | OC_4.29 | 2_B0_26 | C11 | | | | | | | | | | | | | | | | | | | | +| | CAL_4.30 | 233-240 | D1_29 | OC_4.30 | 2_B0_07 | A2 | | | | | | | | | | | | | | | | | | | | +| | CAL_4.31 | 241-248 | D1_29 | OC_4.31 | 2_B0_01 | B3 | | | | | | | | | | | | | | | | | | | | +| | CAL_4.32 | 249-256 | D1_29 | OC_4.32 | 2_B0_08 | A3 | | | | | | | | | | | | | | | | | | | | + +--- + diff --git a/1.Docs/NewCalBoard_DIG_SYY.xlsx b/1.Docs/NewCalBoard_DIG_SYY.xlsx index a95e9de5e89dc90730e9446d00bb5f6a34a909ad..d1fddb1949420856a4c9598f5142269bd290e8a8 100644 GIT binary patch delta 31028 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 PA7%tv&9f!q>HGf&0ROZe literal 376566 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 **Project:** NewCalBoard DIG +> **Toolchain:** Lattice Diamond (CPLD1/2/3), Xilinx Vivado 2023.2 (NewExtInst_Debug) +> **Note:** This firmware is NOT fully complete — several features are stubbed out or incomplete. + +--- + +## 1. System Overview + +The system uses a **Zynq SoC (ARM + FPGA)** architecture with **3 external Lattice CPLDs** communicating via SPI: + +``` +┌─────────────────────────────────────────────────────────────────┐ +│ Zynq SoC (ARM + FPGA) │ +│ ┌──────────┐ AXI ┌──────────────┐ SPI ┌─────────┐ │ +│ │ ARM │◄────────►│NewExtInst_TOP│◄────────►│ CPLDs │ │ +│ │ (Linux) │ GP0 │ (Vivado BD) │ SPI_Con │ (3x) │ │ +│ └──────────┘ └──────────────┘ └─────────┘ │ +│ ▲ │ │ +│ │ ▼ │ +│ │ ┌─────────────────┐ │ +│ │ │ clk_wiz (PLL) │ → 100MHz CPLD clk │ +│ │ │ proc_sys_reset │ │ +│ │ └─────────────────┘ │ +│ │ │ │ +│ │ ▼ │ +│ │ ┌─────────────────┐ │ +│ │ │ ps7_axi_periph │ (1→3 split) │ +│ │ └─────────────────┘ │ +└─────────────────────────────────────────────────────────────────┘ +``` + +### Key Components + +| Component | Tool | Purpose | +|-----------|------|---------| +| `NewExtInst_TOP` | Vivado 2023.2 | Top-level block design (Zynq PS + AXI peripherals) | +| `CPLD1/2/3` | Lattice Diamond | CPLD firmware (Verilog) | +| `Release/*.jed` | — | Programming files for CPLDs | + +--- + +## 2. CPLD Architecture (CPLD1/2/3) + +Each CPLD has the same **3-module internal structure**: + +``` +RelayConTop (Top) +├── BUS_Con — SPI master interface (Mode 0) +├── Reg_file — Register file + FSM +└── CPLD_Con — Relay control logic +``` + +### 2.1 Module: BUS_Con (SPI Interface) + +**Purpose:** Implements a SPI Mode 0 (CPOL=0, CPHA=0) master interface. + +**SPI Protocol:** +- CS active LOW +- MOSI sampled on rising edge of SCLK +- MISO shifted on falling edge of SCLK +- 32-bit transaction: `[Bit31: WR] [Bit30:24: Addr(7bit)] [Bit23:0: Data(24bit)]` + +**FSM States:** +``` +IDLE → CMD_SENT → DONE → IDLE + ↑ ↓ + WAIT_BUSY (waits for reg_busy to clear) +``` + +**Key Signals:** +| Signal | Direction | Description | +|--------|-----------|-------------| +| `i_sclk` | input | SPI clock | +| `i_mosi` | input | SPI data in | +| `i_cs` | input | Chip select (active LOW) | +| `o_miso` | output | SPI data out (tri-state) | +| `o_cmd_valid` | output | Command valid pulse | +| `o_addr[6:0]` | output | Register address | +| `o_data[23:0]` | output | Write data | +| `o_wr` | output | 1=write, 0=read | +| `o_wready` | output | Ready to accept new command | +| `o_err` | output | Bit count error flag | + +**Important Notes:** +- `o_rvalid` is hardcoded to `1'b0` (not implemented) +- Typo in original: `o_rvaild` vs `o_rvalid` in LPF +- MISO is tri-stated when CS is HIGH: `assign o_miso = cs_active ? miso_shift[31] : 1'bz;` + +### 2.2 Module: Reg_file (Register File) + +**Purpose:** 16-register file (0-15) with read/write FSM. + +**Register Map:** +| Addr | Name | R/W | Description | +|------|------|-----|-------------| +| 0 | IDENT | R/W | Identity: `24'h200000` (CPLD3=0, CPLD2=0, CPLD1=1, Major=2, Minor=0, Rev=0) | +| 1 | STATE | R/W | State/Execution control. Bit 0 = EXEC trigger, Bit 23 = RDY, Bits 22:20 = Level | +| 2 | Freq_Slot1 | R/W | Frequency slot 1 relay control | +| 3 | Freq_Slot2 | R/W | Frequency slot 2 relay control | +| 4 | Freq_Slot3 | R/W | Frequency slot 3 relay control | +| 5 | Freq_Slot4 | R/W | Frequency slot 4 relay control | +| 6 | DC_Slot1 | R/W | DC slot 1 control | +| 7 | DC_Slot2 | W | DC slot 2 control (write-only per Excel) | +| 8 | DC_Slot3 | W | DC slot 3 control (write-only per Excel) | +| 9 | DC_Slot4 | W | DC slot 4 control (write-only per Excel) | +| 10-15 | — | — | Reserved/Unused | + +**Register Bit Layout (24 bits):** + +**Freq_Slot N (Addr 2-5):** +``` +Bit 23:8: Per Relay_Control (1=Switch, 0=Not Switch) +Bit 17:12: RC_Tx (for Slot 4 only) — 6 bits (T27-T32), updated from [14:10] +Bit 9:1: Channel_Number (1-256) +Bit 0: Slot_EN (1=Enable) +``` + +**Relay Control Bits per Slot (from Excel Freq_CPLD sheet):** +| Slot | RC_F | RC_S | RC_T | +|------|------|------|------| +| 1 | RC_F1, RC_F2 | RC_S1-RC_S4 | RC_T1-RC_T8 | +| 2 | RC_F3, RC_F4 | RC_S5-RC_S8 | RC_T9-RC_T16 | +| 3 | RC_F5, RC_F6 | RC_S9-RC_S12 | RC_T17-RC_T24 | +| 4 | RC_F7, RC_F8 | RC_S13-RC_S16 | RC_T25-RC_T32 | + +**RC_Tx Mapping (CPLD1):** +| RC_Tx Bit | Output Pin | +|-----------|-----------| +| [5] | o_RC_T27 | +| [4] | o_RC_T28 | +| [3] | o_RC_T29 | +| [2] | o_RC_T30 | +| [1] | o_RC_T31 | +| [0] | o_RC_T32 | + +**Source:** `i_freq_relay4[17:12]` → `RC_Tx[5:0]` (updated from [14:10] in old version) + +**DC_Slot N (Addr 6-9):** +``` +Bit 23: PMU(0)/DPS(1) — PMU or DPS mode select +Bit 22: V(0)/I(1) — Voltage or Current select +Bit 21:17: Rload_Sel (0-31) — Resistor selection (5-bit, 0-31 range) +Bit 16: Reserved +Bit 9:1: Channel_Number (1-256) +Bit 0: Slot_EN (1=Enable) +``` + +**FSM States:** +``` +IDLE → BUSY → EXEC_ACK → EXEC_WAIT → IDLE + ↑ + (crash recovery: if exec_bit==1 at reset) +``` + +**Execution Protocol:** +1. Write `STATE` register with bit 0 = 1 +2. Register FSM enters EXEC_ACK, waits for `con_done` to go LOW (controller busy) +3. Enters EXEC_WAIT, waits for `con_done` to go HIGH (controller done) +4. Auto-clears exec bit, sets ready bit +5. **Cannot write if controller is already running** (exec_bit==1 → error) + +### 2.3 Module: CPLD_Con (Control Logic) + +**Purpose:** Decodes register values and generates relay control outputs. + +**Key Logic:** +- **Sanity check:** Only ONE enable bit should be active (`en_t > 1` → error) +- **Freq mode:** Routes channel numbers to OC_x01/OC_x17/DMM_EN based on channel range +- **DC mode:** Selects resistor, PMU/DPS, V/I mode + +**Freq Slot Decoding (per slot, from CPLD_Con.v code):** +| Channel Range | OC_x01 | OC_x17 | DMM_EN | +|--------------|--------|--------|--------| +| 1-8 | Set | 0 | DMM1 | +| 9-72 | 0 | 0 | DMM2/DMM3/DMM4 | +| 73-136 | 0 | Set | DMM3/DMM4 | +| 137-200 | 0 | 0 | DMM4 | + +**Note:** Code uses `< 9`, `< 72`, `< 137`, `< 201` for ranges. Excel Freq_CPLD sheet shows actual channel groupings are more complex (e.g., "1-4&65-68||5-8&69-72"). + +**ARM_CPLD Pin Assignments (from Excel ARM_CPLD sheet):** + +| Signal | CPLD1 Pin | CPLD2 Pin | CPLD3 Pin | Notes | +|--------|-----------|-----------|-----------|-------| +| SCLK | AA16 | AA10 | AA16 | **LPF discrepancy**: CPLD1 LPF says AA10 | +| CS | AB11 | Y15 | AB11 | | +| MOSI | AB12 | AB12 | AB12 | Shared across all CPLDs | +| MISO | AA14 | AA14 | AA14 | Shared across all CPLDs | +| RST_N | Y14 | Y14 | Y14 | | +| ERR | AB16 | AB16 | AB16 | | +| WVAILD | AA15 | AA15 | AA15 | | +| RREADY | AB15 | AA10 | AB15 | CPLD2: AA10 same as SCLK? | +| WREADY | Y15 | Y15 | Y15 | | +| CLK | AA10 | AA16 | AA10 | CPLD1/3: AA10, CPLD2: AA16 | +| RVAILD | AA16 | AB15 | AA16 | CPLD2: AB15 same as RREADY? | + +**⚠ Critical Note:** CPLD1 and CPLD3 share identical SPI pins (SCLK=AA16, CS=AB11, MOSI=AB12, MISO=AA14). This requires external multiplexing or the LPF is incorrect. The LPF file may need review. + +**DC Slot Decoding (per slot):** +- Bit 22: V(0)/I(1) select → `RC_VSel` / `RC_ISel` +- Bit 21:17: Resistor selection → `RC_RLSel` (18-bit one-hot) +- Bit 23: PMU(0)/DPS(1) — **DPS path is STUBBED OUT** (empty branch) + +**Output Signals:** +| Signal | Width | Description | +|--------|-------|-------------| +| `o_OC_x01` | 4:0 | OC relay selector (CPLD1: 4-bit, CPLD2: 4-bit) | +| `o_OC_x17` | 4:0 | OC relay selector (CPLD1: 4-bit, CPLD2: 4-bit) | +| `o_RC_F[7:0]` | 8:0 | RC_F relays (CPLD2 only) | +| `o_RC_S[15:0]` | 16:0 | RC_S relays (CPLD2 only) | +| `o_RC_T[5:0]` | 6:0 | RC_T relays (CPLD1: 6 bits T27-T32, CPLD2: 26 bits) | +| `o_RC_T27-T32` | 6:0 | RC_T relays (CPLD1 only, expanded from 5 bits) | +| `o_RC_RLSel[17:0]` | 18:0 | Resistor load select (CPLD1 only) | +| `o_RC_VSel` | 1:0 | Voltage select (CPLD1 only) | +| `o_RC_ISel` | 1:0 | Current select (CPLD1 only) | +| `o_RC_LOF[1:0]` | 2:0 | DMM_N port relay LOF (CPLD1 only) | +| `o_RC_LOS[1:0]` | 2:0 | DMM_N port relay LOS (CPLD1 only) | +| `o_PMU_OC_[1-4][31:0]` | 32:0 | PMU output channel (CPLD1 only) | +| `o_PMU_RC[3:0]` | 4:0 | PMU relay control (CPLD3 only) | +| `o_DMM_EN[18:0]` | 19:0 | DMM enable signals (CPLD1 only) | +| `o_IO_RC1` | 1:0 | IO relay control (CPLD1 only) | +| `o_con_done` | 1:0 | Execution done flag | +| `o_err` | 1:0 | Error flag | + +--- + +## 3. CPLD Differences + +### CPLD1 (Most Complete) +- **Role:** Main relay control + PMU output + DMM enable +- **Outputs:** Full set including PMU_OC, DMM_EN, RC_RLSel, RC_V/I Sel, RC_LOF/LOS, IO_RC1 +- **RC_Tx:** Expanded from 5 bits to 6 bits (T27-T32), source `[17:12]` +- **RC_LOF/LOS:** 2-bit outputs for DMM_N port relays — `o_RC_LOF = (RC_VSel==1)? 2'b01 : 2'b10` +- **SPI Pins:** SCLK=AA16, CS=AB11, MOSI=AB12, MISO=AA14 (per ARM_CPLD sheet) +- **Clock:** B9, Reset: Y14 +- **Note:** LPF file has SCLK=AA10 (discrepancy with ARM_CPLD sheet which says AA16) + +### CPLD2 (Partial) +- **Role:** RC_F/RC_S/RC_T relay control + OC channels +- **Outputs:** RC_F[7:0], RC_S[15:0], RC_T[25:0], OC_[1-4][31:0] +- **Missing:** No DC control, no DMM_EN, no RC_RLSel +- **SPI Pins:** SCLK=AA10, CS=Y15, MOSI=AB12, MISO=AA14 (per ARM_CPLD sheet) +- **Note:** `i_wvaild` typo (should be `i_wvalid`) +- **Note:** No `CPLD_Con` DC handling — only Freq relay logic + +### CPLD3 (Minimal) +- **Role:** PMU relay control only +- **Outputs:** PMU_RC[3:0] only +- **SPI Pins:** SCLK=AA16, CS=AB11, MOSI=AB12, MISO=AA14 (per ARM_CPLD sheet) +- **Note:** No DC control, no Freq relay logic +- **Note:** `i_rvalid` typo (should be `i_rvalid` — consistent with CPLD1) + +--- + +## 4. System Interconnect (Vivado Block Design) + +### NewExtInst_TOP Architecture +``` +Zynq PS (M_AXI_GP0) + │ + ▼ +ps7_0_axi_periph (1→3 split) + ├── M00 → SPI_Con_0 → CPLD1 + ├── M01 → SPI_Con_1 → CPLD2 + └── M02 → SPI_Con_2 → CPLD3 +``` + +### Clock Tree +``` +Zynq FCLK_CLK0 → clk_wiz_0 → clk_out1 (100MHz) → CPLD SPI_Con IP + ↓ + rst_clk_wiz_0_100M → peripheral reset +``` + +### SPI_Con IP (Custom AXI Peripheral) +- 3 instances (one per CPLD) +- AXI4-Lite slave interface +- 7-bit address space (matches CPLD register count) +- Maps AXI writes to CPLD SPI commands + +--- + +## 5. Known Issues & Incomplete Features + +### Critical Incomplete Features +1. **DPS Path Not Implemented** — `CPLD_Con.v` lines 266-268, 288-290, 310-312, 332-334: DPS selection branch is empty (all 4 DC slots). When `i_DC_Con[N][23] == 1'b1`, no output is driven. +2. **CPLD_Con Slot 4 Bug** — `CPLD_Con.v` line 328: `i_DC_Con1[23]` should be `i_DC_Con4[23]` for slot 4 PMU/DPS selection +3. **CPLD2 Missing DC Control** — No `i_DC_Con` inputs, no DC handling in `CPLD_Con` +4. **CPLD3 Minimal** — Only PMU_RC output, no relay logic +5. **o_rvalid Hardcoded** — `BUS_Con.v` line 211: `assign o_rvalid = 1'b0;` (but commented out in CPLD1 top module) +6. **IDENT Constant Bug** — `Reg_file.v` line 38: uses `||` (logical OR) instead of `|` (bitwise OR): `24'h200000 || 12'b0001_0000_0000` evaluates to `1'b1`, not the intended bit pattern + +### Typos Found +| File | Typo | Should Be | +|------|------|-----------| +| `BUS_Con.v:92` | `o_cmd_vaild` | `o_cmd_valid` | +| `CPLD1/RelayConTop.v:105` | `cmd_vaild` | `cmd_valid` | +| `CPLD2/RelayConTop.v:11` | `i_wvaild` | `i_wvalid` | +| `CPLD2/RelayConTop.v:56` | `i_rvaild` | `i_rvalid` | +| `CPLD3/RelayConTop.v:25` | `cmd_vaild` | `cmd_valid` | +| `LPF files` | `o_rvaild` | `o_rvalid` | + +### Design Concerns +1. **No timeout on execution FSM** — If controller hangs, FSM can hang forever (line 139 in Reg_file.v: "Optional: Timeout counter here") +2. **No concurrent execution** — Only one slot can execute at a time (`en_t > 1` → error) +3. **Channel range validation incomplete** — DC slot checks 1-18 for resistor but 1-256 for channel +4. **CPLD1/3 share same SPI pins** — Need external multiplexing or different pin assignment (see ARM_CPLD sheet) +5. **LPF vs ARM_CPLD sheet discrepancy** — CPLD1 SCLK: LPF=AA10, ARM_CPLD=AA16. LPF may be outdated. +6. **CPLD_Con channel range mismatch** — Code uses `< 9, < 72, < 137, < 201` but Excel Freq_CPLD shows complex groupings like "1-4&65-68||5-8&69-72" + +--- + +## 6. File Inventory + +### Source Files (Verilog) +| File | Location | Lines | Purpose | +|------|----------|-------|---------| +| `RelayConTop.v` | CPLD1/ | 194 | Top module (CPLD1) | +| `RelayConTop.v` | CPLD2/ | 118 | Top module (CPLD2) | +| `RelayConTop.v` | CPLD3/ | 98 | Top module (CPLD3) | +| `BUS_Con.v` | CPLD1/ | 213 | SPI interface (shared) | +| `BUS_Con.v` | CPLD2/ | — | Same as CPLD1 | +| `BUS_Con.v` | CPLD3/ | — | Same as CPLD1 | +| `Reg_file.v` | CPLD1/ | 179 | Register file (shared) | +| `Reg_file.v` | CPLD2/ | — | Same as CPLD1 | +| `Reg_file.v` | CPLD3/ | — | Same as CPLD1 | +| `CPLD_Con.v` | CPLD1/ | 376 | Control logic (CPLD1 only) | +| `RelayConTop_tf.v` | CPLD1/ | 93 | Test fixture template | + +### Constraints (LPF) +| File | Location | Lines | Purpose | +|------|----------|-------|---------| +| `NewExtIns_CPLD1.lpf` | CPLD1/ | 283 | Pin assignments (CPLD1) | +| `NewExtIns_CPLD2.lpf` | CPLD2/ | 322 | Pin assignments (CPLD2) | +| `NewExtIns_CPLD3.lpf` | CPLD3/ | 29 | Pin assignments (CPLD3) | + +### Programming Files +| File | Size | Date | +|------|------|------| +| `Release/NewExtIns_CPLD1.jed` | 1.4 MB | Jan 19 | +| `Release/NewExtIns_CPLD2.jed` | 1.4 MB | Jan 19 | +| `Release/NewExtIns_CPLD3.jed` | 1.4 MB | Jan 19 | + +### Vivado Block Design +| File | Location | Purpose | +|------|----------|---------| +| `NewExtInst_TOP.v` | NewExtInst_Debug/.../sim/ | Top-level netlist | +| `SPI_Con_v1_0.v` | .../ipshared/8878/hdl/ | Custom SPI AXI IP | +| `processing_system7_v5_5.v` | .../ipshared/8fd3/ | Zynq PS IP | + +--- + +## 7. Register Protocol Summary + +### Write Sequence (ARM → CPLD) +1. ARM writes to AXI address via `M_AXI_GP0` +2. `SPI_Con` IP converts to SPI transaction +3. `BUS_Con` receives 32-bit SPI frame +4. `Reg_file` stores data in register table +5. If bit 0 of STATE register set → triggers execution + +### Read Sequence (CPLD → ARM) +1. ARM reads AXI address +2. `SPI_Con` initiates SPI transaction +3. `BUS_Con` shifts out 32-bit response: `[8'h00][24-bit rdata]` +4. **Note:** `o_rvalid` is hardcoded to 0 — read acknowledgment not implemented + +### Execution Sequence +1. ARM writes `STATE` register with bit 0 = 1 +2. `Reg_file` FSM → EXEC_ACK (waits for `con_done` LOW) +3. `CPLD_Con` decodes register values, drives outputs +4. `CPLD_Con` sets `con_done` HIGH when complete +5. `Reg_file` FSM → EXEC_WAIT (waits for `con_done` HIGH) +6. Auto-clears exec bit, returns to IDLE + +--- + +## 8. Key Bit Fields Reference + +### IDENT Register (Addr 0) +``` + 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + CPLD3 CPLD2 CPLD1 Reserved Major Version Minor Version Reversion +``` +- CPLD3, CPLD2, CPLD1: Board identity flags (CPLD1=1 means board has CPLD1) +- Major Version: 2 +- Minor Version: 0 +- Reversion: 0 + +### Freq_Slot Register (Addr 2-5) +``` + 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + Per Relay_Control (1=Switch, 0=Not Switch) Reserved Channel_Number Slot_EN +``` + +### DC_Slot Register (Addr 6-9) +``` + 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + DPS V/I Rload_Sel (0-31) Reserved Channel_Number Slot_EN +``` + +### STATE Register (Addr 1) +``` + 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + RDY Reserved EXEC Level1 Level2 Level3 +``` +- Bit 23: RDY (ready flag) +- Bits 22:20: Reserved +- Bit 0: EXEC (1=start execution) +- Bits 2:0: Level (Level1=MSB, Level2, Level3=LSB) + +--- + +*Document generated from source code analysis. Last updated: May 2026*