ZishuoYang / UT-Backplane-mapping

MIT License
0 stars 0 forks source link

Additional netlist error-checking: depopulation resistors' reference designator flags #87

Closed ZishuoYang closed 4 years ago

ZishuoYang commented 4 years ago

We can add an additional automated check to the existing code, for depopulation resistors' reference designator flags, as described in the https://github.com/ZishuoYang/UT-Backplane-mapping/issues/18#issuecomment-461598415.

What Phoebe suggested on Slack, "no Rx should be attached to a line that ends up on a pigtail connector (ie is used in some variant) except for ground sense", is to get all the nets with a PT pin and check that there's no resistor present except for on ground sense lines. But this has to be done while identifying what nets should be active on a given variant. Because we are checking the netlist, we risk going in to a circle here to use the depopulation resistors for identifying active nets in the first place.

I think the more practical way is to:

In the mean time, I have checked both True and Mirror schematics by eye. See details in the lab-notes issue post.

yipengsun commented 4 years ago

Currently, the idea is the following:

  1. To check RB mislabeled as R: List all elink and control nets in JP0-11 that are not for reference only (FRO), and see if they contain a R. If they do, the Rs are wrong
  2. To check RBSP mislabeled as RB: List all elinks and control nets in JP8-11 that has a RB, and see if the net involves only the 4th elinks of a hybrid. If not, the RBs are wrong.
yipengsun commented 4 years ago

I manually changed the net:

  (net "JD7_JP8_EC_RESET_GPIO_1_N"
    (node "C186" "2")
    (node "JP8" "i22")
    ; (node "RBSP_3" "1")  original
    (node "RB_3" "1")  ; manually changed to make sure the checker works
    (attr "DifferentialPair" "True" (textStyleRef "(Default)"))
  )

I can confirm that the RBSP mislabeled as RB is also effective:

Incorrectly labeled resistor RB_3 found in JD7_JP8_EC_RESET_GPIO_1_N
Incorrectly labeled resistor R41 found in JD3_JP3_EC_HYB_i2C_SDA_1_P
Incorrectly labeled resistor R42 found in JD3_JP3_EC_HYB_i2C_SCL_1_P
Incorrectly labeled resistor R44 found in JD3_JP2_EC_RESET_GPIO_5_P
Incorrectly labeled resistor R43 found in JD3_JP2_EC_RESET_GPIO_3_P
yipengsun commented 4 years ago

Finally, these are the real problems:

Incorrectly labeled resistor R41 found in JD3_JP3_EC_HYB_i2C_SDA_1_P
Incorrectly labeled resistor R42 found in JD3_JP3_EC_HYB_i2C_SCL_1_P
Incorrectly labeled resistor R44 found in JD3_JP2_EC_RESET_GPIO_5_P
Incorrectly labeled resistor R43 found in JD3_JP2_EC_RESET_GPIO_3_P
ZishuoYang commented 4 years ago

Great, the real ones listed above agree with my checking by eye, and you can find RBSP mislabeled as RB. There's one more thing: find RBSP mislabeled as RSP, since I found these shown in https://github.com/umd-lhcb/lab-notes/issues/55#issuecomment-563005216.

yipengsun commented 4 years ago

I added a new rule to list all RSP_\d+ resistors, on the assumptions that all these are mislabeled and require manual annotation. Here's the result:

Incorrectly labeled resistor RSP_5 found in JD11_JPL2_1V5
Incorrectly labeled resistor RSP_4 found in JD11_AGND
Incorrectly labeled resistor RSP_2 found in JD11_10_JPL2_2V5
Incorrectly labeled resistor RSP_3 found in JD10_JPL2_1V5
Incorrectly labeled resistor RSP_1 found in JD10_AGND
Incorrectly labeled resistor R41 found in JD3_JP3_EC_HYB_i2C_SDA_1_P
Incorrectly labeled resistor R42 found in JD3_JP3_EC_HYB_i2C_SCL_1_P
Incorrectly labeled resistor R44 found in JD3_JP2_EC_RESET_GPIO_5_P
Incorrectly labeled resistor R43 found in JD3_JP2_EC_RESET_GPIO_3_P
Incorrectly labeled resistor RSP_1, RSP_2, RSP_3, RSP_4, RSP_5 found in GND
ZishuoYang commented 4 years ago

Great, I'll merge this and close the issue now.

yipengsun commented 4 years ago

These are the mirror backplane errors:

Incorrectly labeled resistor RSP_2 found in JD11_JPL2_1V5
Incorrectly labeled resistor RSP_1 found in JD11_AGND
Incorrectly labeled resistor RSP_4 found in JD11_10_JPL2_2V5
Incorrectly labeled resistor RSP_5 found in JD10_JPL2_1V5
Incorrectly labeled resistor RSP_3 found in JD10_AGND
Incorrectly labeled resistor R95 found in JD2_JP1_EC_HYB_i2C_SDA_1_P
Incorrectly labeled resistor R96 found in JD2_JP1_EC_HYB_i2C_SCL_1_P
Incorrectly labeled resistor R98 found in JD2_JP0_EC_RESET_GPIO_5_P
Incorrectly labeled resistor R97 found in JD2_JP0_EC_RESET_GPIO_3_P
Incorrectly labeled resistor RSP_1, RSP_2, RSP_3, RSP_4, RSP_5 found in GND