umd-lhcb / UT-Aux-mapping

Python script to generate various UT auxiliary mappings
BSD 2-Clause "Simplified" License
1 stars 0 forks source link

Problems for P2B2 -> PPP connections #7

Closed yipengsun closed 3 years ago

yipengsun commented 3 years ago
  1. Note that the JPU connectors have the following name: JPU1, JPU2, JPU3

  2. The following nets in PPP doesn't have a matching JPU connector pin:

    JP2_JPU0_P2_EAST_LV_RETURN
    JP2_JPU0_P2_EAST_LV_RETURN
    JP2_JPU0_P2_EAST_LV_RETURN
    JP2_JPU0_P2_EAST_LV_SOURCE
    JP2_JPU0_P2_EAST_LV_SOURCE
    JP2_JPU0_P2_EAST_LV_SOURCE
    JP5_JPU1_P2_EAST_LV_RETURN
    JP5_JPU1_P2_EAST_LV_RETURN
    JP5_JPU1_P2_EAST_LV_RETURN
    JP5_JPU1_P2_EAST_LV_SOURCE
    JP5_JPU1_P2_EAST_LV_SOURCE
    JP5_JPU1_P2_EAST_LV_SOURCE
    JP6_JPU1_P1_WEST_LV_RETURN
    JP6_JPU1_P1_WEST_LV_RETURN
    JP6_JPU1_P1_WEST_LV_RETURN
    JP6_JPU1_P1_WEST_LV_SOURCE
    JP6_JPU1_P1_WEST_LV_SOURCE
    JP6_JPU1_P1_WEST_LV_SOURCE
    JP8_JPU2_P1_WEST_LV_RETURN
    JP8_JPU2_P1_WEST_LV_RETURN
    JP8_JPU2_P1_WEST_LV_RETURN
    JP8_JPU2_P1_WEST_LV_SOURCE
    JP8_JPU2_P1_WEST_LV_SOURCE
    JP8_JPU2_P1_WEST_LV_SOURCE
    JP9_JPU2_P2_EAST_LV_RETURN
    JP9_JPU2_P2_EAST_LV_RETURN
    JP9_JPU2_P2_EAST_LV_RETURN
    JP9_JPU2_P2_EAST_LV_SOURCE
    JP9_JPU2_P2_EAST_LV_SOURCE
    JP9_JPU2_P2_EAST_LV_SOURCE
    JP11_JPU2_P2_EAST_LV_RETURN
    JP11_JPU2_P2_EAST_LV_RETURN
    JP11_JPU2_P2_EAST_LV_RETURN
    JP11_JPU2_P2_EAST_LV_SOURCE
    JP11_JPU2_P2_EAST_LV_SOURCE
    JP11_JPU2_P2_EAST_LV_SOURCE

    For example, JP2_JPU0_P2_EAST_LV_RETURN:

    1. On P2B2 (true), two swages are connected: JP_JPU_ZERO_21, JP_JPL_ZERO_5
    2. On BP (true), JP_JPL_ZERO_5 is connected to JPL0_21
    3. JPL0_21 on BP is connected to JPL0_10 on Inner BB. it has a netname GND.

      So I guess this example is actually fine.

  3. Some of the nets doesn't match anything on P2B2. This might be problematic

    JP2_JPU0_P3_LV_RETURN
    JP2_JPU0_P3_LV_RETURN
    JP2_JPU0_P3_LV_RETURN
    JP2_JPU0_P3_LV_SOURCE
    JP2_JPU0_P3_LV_SOURCE
    JP2_JPU0_P3_LV_SOURCE
yipengsun commented 3 years ago

BTW, Zishuo's Pigtail depopulation table might come in handy: ZishuoYang/UT-Backplane-mapping#59.

scottely commented 3 years ago

Hi, Yipeng, I think that is just a small error in my label, the JP2 JPU0 P3 Source/Return should actually be labeled with JPU1. This shouldn't affect the cabling though. Thanks for the maps, they are very helpful! Looking through the other lines now...

scottely commented 3 years ago

Oh that was one of the issues, the P2B2 breaks the convention indexing from 0, and the order is sort of backwards than what you would expect. (I imagine this was a hold over from when we still had the outer BB, but I am not sure). You can see that in the schematic of the P2B2, all of the net names have the JPU0 labels, but the component name is JPU3. Still, I will double check those lines above.

scottely commented 3 years ago

Ok, I went through the table (removing the redundant lines for beta, gamma), looking both at the PPP and the P2B2 schematics. I don't see any nets without both a PPP pin and a P2B2 pin, see below:

Net Name PPP Pin P2B2 Pin
JP2_JPU0_P2_EAST_LV_RETURN P3 - 13 JPU3 - 13
JP2_JPU0_P2_EAST_LV_SOURCE P3 - 5 JPU3 - 27
JP5_JPU1_P2_EAST_LV_RETURN P5 - 13 JPU2 - 8
JP5_JPU1_P2_EAST_LV_SOURCE P5 - 5 JPU2 - 23
JP6_JPU1_P1_WEST_LV_RETURN P2 - 12 JPU2 - 15
JP6_JPU1_P1_WEST_LV_SOURCE P2 - 4 JPU2 - 30
JP8_JPU2_P1_WEST_LV_RETURN P4 - 9 JPU1 - 7
JP8_JPU2_P1_WEST_LV_SOURCE P4 - 1 JPU1 - 22
JP9_JPU2_P2_EAST_LV_RETURN P4 - 13 JPU1 - 12
JP9_JPU2_P2_EAST_LV_SOURCE P4 - 5 JPU1 - 27
JP11_JPU2_P2_EAST_LV_RETURN P1 - 10 JPU1 - 15
JP11_JPU2_P2_EAST_LV_SOURCE P1 - 2 JPU1 - 30
scottely commented 3 years ago

Lastly, I worked through your example, up to iii I agree with what you have:

_On P2B2 (true), two swages are connected: JP_JPU_ZERO_21, JP_JPL_ZERO5 I see JP_JPU_ZERO_21 is connected to JPU3 - 13, with the net JP2 JPU0 P2 EAST LV RETURN. Seems OK. JP_JPL_ZERO_5 has the net JP0_JPL0_P4_LV_RETURN, which connects to the Inner BB, since that hybrid routes from there. All good so far.

_On BP (true), JP_JPL_ZERO_5 is connected to JPL021 Yes, I see this.

_JPL0_21 on BP is connected to JPL010 on Inner BB. it has a netname GND. I don't believe this is true. JPL0 21 on BP connects to JPL0 21 on Inner BB, at least that is how I see it here. It would actually be problematic if a hybrid RETURN line was connected to a GND net, as these two grounds should not be connected, the hybrid grounds should be isolated and connect only to the LVR return.

yipengsun commented 3 years ago

Indeed, with updated P2B2 nets, and with manual fix of JP2 JPU0 P3 -> JP2 JPU1 P3, no error message is given.

yipengsun commented 3 years ago

For Mirror P2B2 -> Mirror PPP, I got the following warnings

JP0_JPU0_P1_EAST_LV_RETURN doesn't have a matching JPU
JP0_JPU0_P1_EAST_LV_RETURN doesn't have a matching JPU
JP0_JPU0_P1_EAST_LV_SOURCE doesn't have a matching JPU
JP0_JPU0_P1_EAST_LV_SOURCE doesn't have a matching JPU
JP0_JPU0_P2_WEST_LV_RETURN doesn't have a matching JPU
JP0_JPU0_P2_WEST_LV_RETURN doesn't have a matching JPU
JP0_JPU0_P2_WEST_LV_SOURCE doesn't have a matching JPU
JP0_JPU0_P2_WEST_LV_SOURCE doesn't have a matching JPU
JP1_JPU0_P1_EAST_LV_RETURN doesn't have a matching JPU
JP1_JPU0_P1_EAST_LV_RETURN doesn't have a matching JPU
JP1_JPU0_P1_EAST_LV_SOURCE doesn't have a matching JPU
JP1_JPU0_P1_EAST_LV_SOURCE doesn't have a matching JPU
JP2_JPU0_P1_EAST_LV_RETURN doesn't have a matching JPU
JP2_JPU0_P1_EAST_LV_RETURN doesn't have a matching JPU
JP2_JPU0_P1_EAST_LV_SOURCE doesn't have a matching JPU
JP2_JPU0_P1_EAST_LV_SOURCE doesn't have a matching JPU
JP4_JPU1_P1_EAST_LV_RETURN doesn't have a matching JPU
JP4_JPU1_P1_EAST_LV_RETURN doesn't have a matching JPU
JP4_JPU1_P1_EAST_LV_SOURCE doesn't have a matching JPU
JP4_JPU1_P1_EAST_LV_SOURCE doesn't have a matching JPU
JP5_JPU1_P1_EAST_LV_RETURN doesn't have a matching JPU
JP5_JPU1_P1_EAST_LV_RETURN doesn't have a matching JPU
JP5_JPU1_P1_EAST_LV_SOURCE doesn't have a matching JPU
JP5_JPU1_P1_EAST_LV_SOURCE doesn't have a matching JPU
JP6_JPU1_P1_EAST_LV_RETURN doesn't have a matching JPU
JP6_JPU1_P1_EAST_LV_RETURN doesn't have a matching JPU
JP6_JPU1_P1_EAST_LV_SOURCE doesn't have a matching JPU
JP6_JPU1_P1_EAST_LV_SOURCE doesn't have a matching JPU
JP7_JPU2_P1_EAST_LV_RETURN doesn't have a matching JPU
JP7_JPU2_P1_EAST_LV_RETURN doesn't have a matching JPU
JP7_JPU2_P1_EAST_LV_SOURCE doesn't have a matching JPU
JP7_JPU2_P1_EAST_LV_SOURCE doesn't have a matching JPU
JP2_JPU0_P3_LV_RETURN doesn't match any net in P2B2. This is like an error in PPP
JP2_JPU0_P3_LV_RETURN doesn't match any net in P2B2. This is like an error in PPP
JP2_JPU0_P3_LV_RETURN doesn't match any net in P2B2. This is like an error in PPP
JP2_JPU0_P3_LV_SOURCE doesn't match any net in P2B2. This is like an error in PPP
JP2_JPU0_P3_LV_SOURCE doesn't match any net in P2B2. This is like an error in PPP
JP2_JPU0_P3_LV_SOURCE doesn't match any net in P2B2. This is like an error in PPP
JP3_JPU1_P1_EAST_LV_RETURN doesn't match any net in P2B2. This is like an error in PPP
JP3_JPU1_P1_EAST_LV_RETURN doesn't match any net in P2B2. This is like an error in PPP
JP3_JPU1_P1_EAST_LV_RETURN doesn't match any net in P2B2. This is like an error in PPP
JP3_JPU1_P1_EAST_LV_SOURCE doesn't match any net in P2B2. This is like an error in PPP
JP3_JPU1_P1_EAST_LV_SOURCE doesn't match any net in P2B2. This is like an error in PPP
JP3_JPU1_P1_EAST_LV_SOURCE doesn't match any net in P2B2. This is like an error in PPP
JP3_JPU1_P2_WEST_LV_RETURN doesn't match any net in P2B2. This is like an error in PPP
JP3_JPU1_P2_WEST_LV_RETURN doesn't match any net in P2B2. This is like an error in PPP
JP3_JPU1_P2_WEST_LV_RETURN doesn't match any net in P2B2. This is like an error in PPP
JP3_JPU1_P2_WEST_LV_SOURCE doesn't match any net in P2B2. This is like an error in PPP
JP3_JPU1_P2_WEST_LV_SOURCE doesn't match any net in P2B2. This is like an error in PPP
JP3_JPU1_P2_WEST_LV_SOURCE doesn't match any net in P2B2. This is like an error in PPP
yipengsun commented 3 years ago

Some of these are clearly false positives, for example JP0_JPU0_P1_EAST_LV_RETURN. Still investigating.

yipengsun commented 3 years ago

I think I figured out. The first kind error was due to me forgot to take Scott's PPP depopulation into account. The second kind error is another inconsistency between PPP and P2B2 netnames, and I've fixed these manually.

yipengsun commented 3 years ago

@scottely One very weird thing: For true, P+D has 14+11+10 connections, for mirror, 14+10+10.

scottely commented 3 years ago

@yipengsun hhhmm strange indeed. Maybe I forgot to depopulate one line in the true version? It seems that 11 is a mistake, there should be an even number of connections.

yipengsun commented 3 years ago

Sorry, the total number is 2*(14+11+10) so it is a even number already. I think it might be possible that a pair of source and return was missing for mirror.

scottely commented 3 years ago

Yea I noticed that when looking at the maps again, its split by wire color. So the difference is 22 vs 20 wires. I will double check things. It may be correct though, like it could be due to the lines that get routed to the inner bb for true vs mirror accounts for this difference. I don't know though, I have to look into it. Easiest way will be to hunt for the pair that is not on the mirror version and look to see where it ended up.

yipengsun commented 3 years ago

Here's the nets that are unique to 1 PPP variant:

The following nets are in true_ppp not mirror_ppp:

JP1_JPU0_P2_WEST_LV_RETURN
JP1_JPU0_P2_WEST_LV_SOURCE
JP2_JPU0_P2_WEST_LV_RETURN
JP2_JPU0_P2_WEST_LV_SOURCE
JP4_JPL1_P4_LV_RETURN
JP4_JPL1_P4_LV_SOURCE
JP7_JPL1_P4_LV_RETURN
JP7_JPL1_P4_LV_SOURCE
JP8_JPL2_P4_LV_RETURN
JP8_JPL2_P4_LV_SOURCE
JP11_JPL2_P4_LV_RETURN
JP11_JPL2_P4_LV_SOURCE

The following nets are in mirror_ppp not true_ppp:

JP0_JPU0_P2_WEST_LV_RETURN
JP0_JPU0_P2_WEST_LV_SOURCE
JP2_JPL1_P4_LV_RETURN
JP2_JPL1_P4_LV_SOURCE
JP5_JPL1_P4_LV_RETURN
JP5_JPL1_P4_LV_SOURCE
JP6_JPL1_P4_LV_RETURN
JP6_JPL1_P4_LV_SOURCE
JP9_JPL2_P4_LV_RETURN
JP9_JPL2_P4_LV_SOURCE
JP10_JPL2_P4_LV_RETURN
JP10_JPL2_P4_LV_SOURCE
yipengsun commented 3 years ago

I guess maybe we are missing a pair of P2W on mirror?

More specifically, JP3_P2W.

yipengsun commented 3 years ago

Note to myself: The editing for mirror PPP netlist is in this commit: a14261d

yipengsun commented 3 years ago

Hmm, from Zishuo's table, there's 12 depopulated hybrids from F -> P. Suppose we use all 90 connections in JPU in F type, then in P type we should have 90-12*2=66 connections left.

Instead, for true PPP, we have 70 connections left, for mirror, 68.

Does that make sense or am I just insane?

yipengsun commented 3 years ago

Some more check between PPP and P2B2:

The following nets are in mirror_ppp not mirror_p2b2:

JP2_JPL1_P4_LV_RETURN
JP2_JPL1_P4_LV_SOURCE

This is irrelevant, as this is a JPL connection.

The following nets are in mirror_p2b2 not mirror_ppp:

JP3_JPU0_P2_WEST_LV_RETURN
JP3_JPU0_P2_WEST_LV_SOURCE

This might be missing? Not sure though.

scottely commented 3 years ago

I guess maybe we are missing a pair of P2W on mirror?

More specifically, JP3_P2W.

JP3 P2W is on P5-7 and P5-15

scottely commented 3 years ago

Ok, I have gone through the table. I only spotted one minor problem, mismatch between JPL0 and JPL1, but ok. That is actually the same reason for the 'missing' JP3 P2W line you found. But this is unsurprising, because there is no consistency between connector names, so in your script I would just take that out of the matching. For the others, tables are below. Most lines in those tables depopulate between true/mirror because of the flex type. But have a look, see if you disagree.

Present in True, not in Mirror Line Name Connector True Connector Mirror
JP1_JPU0_P2_WEST_LV_RETURN P5 - 15 Med flex - No P2W
JP1_JPU0_P2_WEST_LV_SOURCE P5 - 7 Med flex - No P2W
JP2_JPU0_P2_WEST_LV_RETURN P2 - 15 Med flex - No P2W
JP2_JPU0_P2_WEST_LV_SOURCE P2 - 7 Med flex - No P2W
JP4_JPL1_P4_LV_RETURN P19 - 10 short flex - No P4
JP4_JPL1_P4_LV_SOURCE P19 - 2 short flex - No P4
JP7_JPL1_P4_LV_RETURN P22 - 10 short flex - No P4
JP7_JPL1_P4_LV_SOURCE P22 - 2 short flex - No P4
JP8_JPL2_P4_LV_RETURN P19 - 11 short flex - No P4
JP8_JPL2_P4_LV_SOURCE P19 - 3 short flex - No P4
JP11_JPL2_P4_LV_RETURN P22 - 11 short flex - No P4
JP11_JPL2_P4_LV_SOURCE P22 - 3 short flex - No P4
Present in Mirror, not in True Line Name Connector True Connector Mirror
JP0_JPU0_P2_WEST_LV_RETURN Med flex - no P2W P2 - 15
JP0_JPU0_P2_WEST_LV_SOURCE Med flex - no P2W P2 - 7
JP2_JPL1_P4_LV_RETURN P22 - 13 - Mismatch of JPLX P22 - 9
JP2_JPL1_P4_LV_SOURCE P22 - 5 - Mismatch of JPLX P22 - 1
JP5_JPL1_P4_LV_RETURN Short flex - No P4 P19 - 10
JP5_JPL1_P4_LV_SOURCE Short flex - No P4 P19 - 2
JP6_JPL1_P4_LV_RETURN Short flex - No P4 P22 - 10
JP6_JPL1_P4_LV_SOURCE Short flex - No P4 P22 - 2
JP9_JPL2_P4_LV_RETURN Short flex - No P4 P19 -11
JP9_JPL2_P4_LV_SOURCE Short flex - No P4 P19 - 3
JP10_JPL2_P4_LV_RETURN Short flex - No P4 P19 - 13
JP10_JPL2_P4_LV_SOURCE Short flex - No P4 P19 - 5
yipengsun commented 3 years ago

I guess maybe we are missing a pair of P2W on mirror? More specifically, JP3_P2W.

JP3 P2W is on P5-7 and P5-15

These are P2E according to the wirelist: https://github.com/umd-lhcb/UT-Aux-mapping/blob/e586e5140f1c7fef5e0e74d7a85bd91242ebd262/input/mirror_ppp.wirelist#L513-L517

yipengsun commented 3 years ago

I think what you are saying is that this P2E in the exported netlist is just an inconsistency in names, and they are really P2W. If I'm understanding you correctly, then I'll just rename that.

scottely commented 3 years ago

It looks that way, but I don't see the error when I open the netlist file in Altium: image

yipengsun commented 3 years ago

I think the files in https://github.com/umd-lhcb/UT-Aux-mapping/releases/tag/0.5.3.1 should be good for a dry run. Consider this solved.

Please open new issues if you find any new problems in the mapping.