Home > Community > Forums > PCB Design > Phase Tolerance: Proper pin pair setup

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 Phase Tolerance: Proper pin pair setup 

Last post Mon, Feb 7 2011 4:39 PM by annoonan. 7 replies.
Started by Eric IntAZ 13 Mar 2009 01:52 PM. Topic has 7 replies and 5163 views
Page 1 of 1 (8 items)
Sort Posts:
  • Fri, Mar 13 2009 1:52 PM

    • Eric IntAZ
    • Not Ranked
    • Joined on Thu, Feb 26 2009
    • Posts 3
    • Points 60
    Phase Tolerance: Proper pin pair setup Reply

    I am attempting to use phase tolerance to control some relative length rules within a differential pair. The topology is essentially 3 components which I will call A, B and C. The signal goes from a pin on comp A to one on comp B and continues on from B to a pin on comp C.

    I would like to set phase tolerance to say 5mils and see the property on pin pairs from A-B and A-C though I could live with B-C being created as well.

    The issue that I am having with this is that Allegro configures the pin pairs associated with a given net/diff pair based upon the PINUSE property (and apparently the part CLASS, though I haven't seen this affect anything in my situation.) The pins in question are functionally bi-directional, yet I don't get the pin pairs I would expect if I set the PINUSE property of the associated pins on A, B and C to "BI". Perhaps I'm not thinking about this correctly, but in my mind a bi-directional pin is one that can either drive or receive a signal. As such, I would expect to see 3 pin pairs created when all components are set as mentioned (pinuse = "BI"); A.pin:B.pin; A.pin:C.pin; B.pin:C.pin. Instead, Allegro will only create a pin pair based upon the longest length (A.pin:C.pin).

    I decided to research this a bit further and found information essentially saying that there has to be an explicit definition of driver and receiver, otherwise the longest path will be chosen. To further complicate matters I tried the following configuration: A = TRI         B = BI         C = BI

    This yielded the 3 aforementioned pin pairs I would've expected to see on a BI, BI, BI configuration. What is confusing here is that a pin pair is created between components B and C which again, were both set to BI... yet in the previous configuration (BI, BI, BI) Allegro defaulted to the longest path method of pin pair creation.

    I can work around this issue by using the following: A = OUT         B = IN         C = IN. This works fine for my purposes as I will get A.pin:B.pin; A.pin:C.pin as I originally wanted, but it is functionally incorrect in terms of PINUSE which could adversely affect other disciplines interacting with the topology.

     

    To summarize, I would like to know if there is a way to set this up in such a way that I can access the desired pin pairs while maintaining accurate PINUSE properties.

     

     

     

     

     

    • Post Points: 20
  • Mon, Mar 16 2009 9:07 AM

    • Khurana
    • Top 25 Contributor
    • Joined on Thu, Aug 14 2008
    • Posts 238
    • Points 3,270
    Re: Phase Tolerance: Proper pin pair setup Reply

    Phase Tolerance property gets applied to the differential pair (i.e. the diff pair object in CM and gets applied to the "whole" net not pin pairs, I think) so I am not sure what you mean by "would like to set phase tolerance to say 5mils and see the property on pin pairs from A-B and A-C though I could live with B-C being created as well."

    If you want to apply length restrictions on pin pairs then group the pin pairs in a match group - this is done in Relative Propagation Delay tab.  You can create pin pairs in Relative Propagation Delay worksheet then create a match group by selecting those pin pairs.

     

     

    • Post Points: 20
  • Mon, Mar 16 2009 11:23 AM

    • Eric IntAZ
    • Not Ranked
    • Joined on Thu, Feb 26 2009
    • Posts 3
    • Points 60
    Re: Phase Tolerance: Proper pin pair setup Reply

    Thanks for the response. I will attempt to elaborate.

    You are partially correct in your first statement; phase tolerance IS a property that is applied to the differential pair, but Allegro will break the individual nets of the differential pair into pin pairs according to their PINUSE configuration. Please see the following table:

     

    DP__NET_A<5>This group was created by configuring PINUSE as follows:

    Comp_A = OUT
    Comp_B = BI
    Comp_C = BI
    NET_A_DN<5>
    Comp_B.93:Comp_C.93
    Comp_A.K7:Comp_B.93
    Comp_A.K7:Comp_C.93
    NET_A_DP<5>
    Comp_B.94:Comp_C.94
    Comp_A.L7:Comp_B.94
    Comp_A.L7:Comp_C.94
    DP__NET_B_D<6>This group was created by configuring PINUSE as follows:

    Comp_A = OUT
    Comp_B = IN
    Comp_C = IN
    NET_B_DN<6>
    Comp_A.P5:Comp_B.102
    Comp_A.P5:Comp_C.102
    NET_B_DP<6>
    Comp_A.P6:Comp_B.103
    Comp_A.P6:Comp_C.103
    DP__NET_C_D<7>This group was created by configuring PINUSE as follows:

    Comp_A = BI
    Comp_B = UNSPEC
    Comp_C = UNSPEC
    NET_C_DN<7>
    Comp_A.T8:Comp_C.111
    NET_C_DP<7>
    Comp_A.U8:Comp_C.112

     

    I did find the following information (which seems all too similar to an IQ Test question) as a solution to a similar issue on sourcelink:

    * If there are no RECEIVER pins, then all UNSPECIFIED pins are assumed to be RECEIVERs; otherwise if there are no DRIVER pins, then all UNSPECIFIED pins are assumed to be DRIVERs.
    * If there are DRIVER pins but no RECEIVER pins, then all BI pins are assumed to be RECEIVERS; otherwise all BIs are assumed to be DRIVERS.

    The above seems to indicate that UNSPECIFIED and BI PINUSE types will fill the need of either missing property (driver or receiver.) This gets a bit convoluted when coupled with other pinuse types such as BI, BI, BI gives A:C yet TRI, BI, BI yields A:B, A:C, B:C.

    I suppose you can disregard this post for now as I will ask Cadence directly and then post the answer. Thanks again.

     

    • Post Points: 20
  • Mon, Feb 7 2011 3:57 PM

    • annoonan
    • Not Ranked
    • Joined on Thu, Dec 11 2008
    • Posts 8
    • Points 135
    Re: Phase Tolerance: Proper pin pair setup Reply
    Wondering if there are any updates on this. I have an issue with proper diff pair phase tolerance matching when a mid-bus probe is inserted in the path, making the diff pair net 3 pairs of nodes, when normally it is two pairs (point to point). Somehow, the mid bus probe symbol was created with PINUSE as BI, and I think should be UNSPEC, since it's a non-directional component. There is an AC coupling cap which has PINUSE = UNSPEC, and the receiver is 'IN'.
    • Post Points: 20
  • Mon, Feb 7 2011 4:13 PM

    • Khurana
    • Top 25 Contributor
    • Joined on Thu, Aug 14 2008
    • Posts 238
    • Points 3,270
    Re: Phase Tolerance: Proper pin pair setup Reply

    Not sure where the problem is, if there's one but Allegro PCB allows you to change the PINUSE in Constraint Manager's Component folder when you choose Properties selector bar.

    • Post Points: 20
  • Mon, Feb 7 2011 4:26 PM

    • annoonan
    • Not Ranked
    • Joined on Thu, Dec 11 2008
    • Posts 8
    • Points 135
    Re: Phase Tolerance: Proper pin pair setup Reply
    Hi Khurana, Allegro mis-reports DRC on phase tolerance. I have one net 6730mils etch length and another 6373mils and Allegro reports them as out of phase by over 9 mils. The half of the net that goes from Driver to mid-bus probe behaves like diff pair (pick up a net and route, both P/N route together). The other half of the net from Mid Bus probe to AC coupling cap does not display any diff pair routing/sliding behaviors.
    • Post Points: 20
  • Mon, Feb 7 2011 4:34 PM

    • Khurana
    • Top 25 Contributor
    • Joined on Thu, Aug 14 2008
    • Posts 238
    • Points 3,270
    Re: Phase Tolerance: Proper pin pair setup Reply

    What's the value of Phase Tolerance for the diff pair?  Also, dynamic phase tolerance was introduced recently...can you invoke Show Element on the DRC and post it here?

    • Post Points: 20
  • Mon, Feb 7 2011 4:39 PM

    • annoonan
    • Not Ranked
    • Joined on Thu, Dec 11 2008
    • Posts 8
    • Points 135
    Re: Phase Tolerance: Proper pin pair setup Reply
    Deleting previous post (too difficult to read), and replacing I have several diff pairs, with each net containing 3 nodes; driver, mid-bus probe, and AC coupling cap. The diff pair property is applied to the net (I am not aware of any other way to apply the diff pair property). But the software is only calculating phase tolerance from the driver to the mid bus probe. What is happening? Electrical Constraints assigned to net prop delay: from L to S min=0.00 MIL max=12000.00 MIL diff pair positive coupled tolerance: 0.4 MIL diff pair negative coupled tolerance: 0.4 MIL diff pair min line spacing: 3.8 MIL diff pair max uncoupled length: 800 MIL diff pair phase tolerance: 2.5 MILS Constraint information: (Dly) U121.AM18 to TP19.1 max= 12000 MIL actual= 4559.36 MIL (-5984.66,-6499.99) pin U121.AM18,IN,TOP/TOP,pin=392.64 MIL 28.28 MIL cline TOP (-5984.66,-6528.27) via TOP/BOTTOM 4113.44 MIL cline T07 (-2258.46,-6475.00) via TOP/BOTTOM (-2258.46,-6450.00) pin TP19.1,UNSPEC,TOP/TOP (Dly) C1142.2 to TP19.1 min= 0 MIL actual= 3503.8 MIL (-2891.50,-3550.00) pin C1142.2,UNSPEC,TOP/TOP 34.5 MIL cline TOP (-2926.00,-3550.00) via TOP/BOTTOM 3444.3 MIL cline T07 (-2258.46,-6425.00) via TOP/BOTTOM (-2258.46,-6450.00) pin TP19.1,UNSPEC,TOP/TOP (DPTol) TP19.1 to U121.AM18 min= 4557.43 MIL max= 4562.43 MIL actual= 4559.36 MIL DPData: gap=var (-0.40,+0.40) tolerance= 2.50; max uncoupled= 800.00 (-2258.46,-6450.00) pin TP19.1,UNSPEC,TOP/TOP (-2258.46,-6475.00) via TOP/BOTTOM 4113.44 MIL cline T07 (-5984.66,-6528.27) via TOP/BOTTOM 28.28 MIL cline TOP (-5984.66,-6499.99) pin U121.AM18,IN,TOP/TOP,pin=392.64 MIL
    • Post Points: 5
Page 1 of 1 (8 items)
Sort Posts:
Started by Eric IntAZ at 13 Mar 2009 01:52 PM. Topic has 7 replies.