Presentation is loading. Please wait.

Presentation is loading. Please wait.

Predictable Success Isolation Information Theoretic: UPF 2.0 and the Isolation Attributes Rev. 0.1 Jason Binney 5/15/2008 “AKA: Back to the Future”

Similar presentations


Presentation on theme: "Predictable Success Isolation Information Theoretic: UPF 2.0 and the Isolation Attributes Rev. 0.1 Jason Binney 5/15/2008 “AKA: Back to the Future”"— Presentation transcript:

1 Predictable Success Isolation Information Theoretic: UPF 2.0 and the Isolation Attributes Rev. 0.1 Jason Binney 5/15/2008 “AKA: Back to the Future”

2 © 2006 Synopsys, Inc. (2) Predictable Success Isolation in UPF 1.0 set_isolation isolation_name \  -domain domain_name \  \  [-elements list] \  [-clamp_value ]  [-applies_to ] set_isolation_control isolation_name \  -domain domain_name \  -isolation_signal signal_name \  [-isolation_sense ]  [-location

3 © 2006 Synopsys, Inc. (3) Predictable Success The Troubles with Isolation in UPF 1.0 UPF 1.0: “runaway”, ummm what happened to the SNPS donation ? Ah the Noble Primitives….. such a blissful state of global ignorance. Splitting Up is Hard to Do: Damn I cut my finger off, do you think they will notice that in the Casserole ? (The curse of schedule vs content driven work.) Honey was that “sweet meat” ? IP encapsulation and the hand-off model ? What does the Isolation Information Mean ?  Directive OR Constraint ? Pointing Fingers: that’s your problem… IP developer vs IP integrator Use it or Ignore it, when can I do this ? Am I allowed to? Relativity is not just for Einstein: The quest for meaningful intent. Late vs Early Binding: When to Domain ? (AKA this domain could be all yours… but I have a few things I want you to do first, my son.) Sideness and the limits of your frame of reference. Coupling is the nature of the world, are you being enabled ?

4 © 2006 Synopsys, Inc. (4) Predictable Success Isolation in UPF 1.0 set_isolation isolation_name \  -domain domain_name \  \  [-elements list] \  [-clamp_value ]  [-applies_to ] set_isolation_control isolation_name \  -domain domain_name \  -isolation_signal signal_name \  [-isolation_sense ]  [-location ] Bad Split, should be in the 2 nd cmd and optional “inputs”/”outputs” are ill defined. Bad Split, should be in 2 nd cmd Signal to Domain is confused location is ill defined.

5 © 2006 Synopsys, Inc. (5) Predictable Success Objections to UPF 1.0 *isolation* UPF 1.0: set_isolation/set_isolation_control is meaningless as it loses intent rendering formal checking hard to do. UPF 1.0: set_isolation/set_isolation_control breaks the IP developer to IP integrator handoff model. UPF 1.0: set_isolation/set_isolation_control is a primitive directive that the user must manually infer from other information that is available otherwise in UPF except for a few key things. UPF 1.0: set_isolation/set_isolation_control is tied to a domain and early power network definitions and this makes it an IP integrator specification.

6 © 2006 Synopsys, Inc. (6) Predictable Success Objectives for UPF 2.0 *isolation* 1. UPF 2.0: Bring back a meaningful user intent. 2. UPF 2.0: Correct to allow for a reasonable handoff model from IP developer to IP integrator. 3. UPF 2.0: Make the tools unambiguously infer isolation cells from constraints that reflect the isolation intent and not a simple directive. 4. UPF 2.0: Make a useful checking semantic. 5. UPF 2.0: Release the strong initial association with a domain until this is ultimately resolved later by the IP integrator. However still allow the IP developer to clearly define his information.

7 © 2006 Synopsys, Inc. (7) Predictable Success Depends what your meaning of “is” is. OK Mr Clinton let’s go through some semantic gymnastics then……..

8 © 2006 Synopsys, Inc. (8) Predictable Success Gedanken Experiment Info Yellow AND gate is an “isolator” All blocks are labeled with a “PD” prefix PD1PD2 PwrCtl PDTOP

9 © 2006 Synopsys, Inc. (9) Predictable Success Gedanken Experiment I Who owns the clamp value ? What does this isolator do ? Where can this exist ? When does this exist ? (and when can I ignore it ?) PD1PD2 PwrCtl PDTOP

10 © 2006 Synopsys, Inc. (10) Predictable Success Gedanken Experiment IIa Is this redundant ? PD1 PD2 (has a switch) PwrCtl PDTOP

11 © 2006 Synopsys, Inc. (11) Predictable Success Gedanken Experiment IIb Is this redundant ? Is this correct ? Is this isolating PD1 ? Or PD2 ? PD1 (has a switch) PD2 (has a switch) PwrCtl PDTOP

12 © 2006 Synopsys, Inc. (12) Predictable Success Gedanken Experiment IIc Is this redundant ? Is this correct ? Is this over specified ? PD1 (has a switch) PD2 (has a switch) c1 PwrCtl PDTOP c0

13 © 2006 Synopsys, Inc. (13) Predictable Success Gedanken Experiment IId Is this redundant ? Is this correct ? Is this over specified ? PD1 (has a switch) PD2 (has a switch) PwrCtl PDTOP c1 c0

14 © 2006 Synopsys, Inc. (14) Predictable Success Gedanken Experiment IIIa How many isolators are needed ? PD1PD3 PwrCtl PDTOP PD2 c0 c1

15 © 2006 Synopsys, Inc. (15) Predictable Success Gedanken Experiment IIIb How many isolators are needed ? PD1 (has off) PD3 PwrCtl PDTOP PD2 c0 c1

16 © 2006 Synopsys, Inc. (16) Predictable Success Gedanken Experiment IIIc How many isolators are needed ? PD1 (has off) PD3 PwrCtl PDTOP PD2 (has off) c0 c1

17 © 2006 Synopsys, Inc. (17) Predictable Success Gedanken Experiment IIId How many isolators are needed ? PD1 (has off) PD3 PwrCtl PDTOP PD2 (has off) c0 c1

18 © 2006 Synopsys, Inc. (18) Predictable Success Gedanken Experiment IIIe How many isolators are needed ? PD1 (has off) PD3 (has off) PwrCtl PDTOP PD2 (has off) c0 c1

19 © 2006 Synopsys, Inc. (19) Predictable Success What’s the right answer ? You can’t answer any of these at all. (In a UPF 1.0 context) So there is no right answer. (Paradise Lost) The UPF 1.0 specification for isolation reads like a “Religious Edict”. And in the tradition of Martin Luther, I’d suggest we subvert the dominate and arbitrary power of such Papal Mumblings.

20 © 2006 Synopsys, Inc. (20) Predictable Success OK wise guy, what can I reason about UPF 1.0 *iso* cmds ? With UPF 1.0 I can reason:  I can relate “relative always on-ness” or that 1.the power net hooked to the isolation gate that is related to the output is more “on” than the cell the output drives. 2. the power net hooked to the isolation gate that is related to the input is more “on” than the cell that the input “data pin” is driven by. 3.Or both of 1 or 2. The isolation gate drives a specific clamp value. The isolation gate has an enable pin that is hooked to signal “S”. The isolation gate exists in a logical hierarchy.

21 © 2006 Synopsys, Inc. (21) Predictable Success Isolation in UPF 1.0 set_isolation isolation_name \  -domain domain_name \  \  [-elements list] \  [-clamp_value ]  [-applies_to ] set_isolation_control isolation_name \  -domain domain_name \  -isolation_signal signal_name \  [-isolation_sense ]  [-location ] Bad Split, should be in the 2 nd cmd and optional “inputs”/”outputs” are ill defined. Bad Split, should be in 2 nd cmd Signal to Domain is confused location is ill defined.

22 © 2006 Synopsys, Inc. (22) Predictable Success Proposed Isolation in UPF 2.0 (I of II) set_isolation_elements isolation_list_name \  -elements elements_list \  [-exclude_elements elements_list]  [-clamp_value ] (default: 0) This is a new command. Its based on the current scope and not a domain. This means it acts as a constraint which may never be used as these elements may not be on or direct connected to a power domain boundary.

23 © 2006 Synopsys, Inc. (23) Predictable Success Proposed Isolation in UPF 2.0 (I of II) set_isolation isolation_list_name \  [-domain domain_name  [λ -elements elements_list ] \  [-clamp_value ] (default: 0)  [-source domain_name ] [-sink domain_name ] \  [-applies_to ] \  [ ] \  [λ –enable_signal {net_name} ] \  [λ –enable_event {{boolean_function} } ] \  [λ –guard_signal {net_name} ] \  [λ –guard_event {{boolean_function} } ] \  [-location ] \  [λ -force] \  [-update]

24 © 2006 Synopsys, Inc. (24) Predictable Success Proposed Isolation in UPF 2.0 (I of II) set_port_attributes \  [-ports { port_list } ] [-exclude_ports { port_list } ] \  [ {-domains { domain_list } [-applies_to } ] \  [ {-exclude_domains { domain_list } [-applies_to } ] \  [ {-elements { element_list } [-applies_to } ] \  [ {-exclude_elements { element_list } [-applies_to } ] \  [–model hard_macro] \  [–enable_clamp ] \  [–enable_{{enable_expression} [-source domain_name] [-sink domain_name] } ]* \  [–guard_clamp ] \  [–guard_{{guard_expression} ]* \  [–hi_conn_supply supply_set_ref ] \  [-iso_location ]

25 © 2006 Synopsys, Inc. (25) Predictable Success Proposed Isolation in UPF 2.0 (I of II) set_port_attributes \ This is a new command. Its based on the current scope and not a domain. This means it acts as a constraint which may never be used as these elements may not be on or direct connected to a power domain boundary.

26 © 2006 Synopsys, Inc. (26) Predictable Success Proposed Isolation in UPF 2.0 (II of II) set_isolation isolation_list_name \  [-domain domain_name  [λ -elements elements_list ] \  [-clamp_value ] (default: 0)  [-source domain_name ] [-sink domain_name ] \  [-applies_to ] \  [ ] \  [λ –enable_signal {net_name} ] \  [λ –enable_event {{boolean_function} } ] \  [-location ] \  [λ -force] \  [-update]

27 © 2006 Synopsys, Inc. (27) Predictable Success Challenges How to maintain backwards compatibility ? (Even though the use model is changing.) Move toward a constraint driven approach. How to fix the order of operations problems inherent with the current UPF 1.0 approach. Enable a more succinct definition for isolation without a large user investment in tracing the netlist. Distinguish the “input” to a domain isolation case from the “output” from a domain case.

28 © 2006 Synopsys, Inc. (28) Predictable Success Proposed UPF 2.0 Isolation Benefits Backwards compatibility: All set_isolation options maintained, -update argument added for “layering”, all new options/arguments added as orthogonal to current options/args. Constraint driven approach: set_isolation_elements added to allow for a way to give IP developers a way to specify if needed this is the clamp value required but does not mean she needs to know the domain/power network definition. Order of operations problem: deprecate: “set_isolation_control” and add some of this in the 2 nd and updated “set_isolation” command which is after the new 1 st “set_isolation_elements” command. Succinct definition for isolation: pairwise domain specification with a more correct notion of “input” and “output” relative to a domain’s ports. Distinguish the “input” to a domain isolation case from the “output” from a domain case with separate enabling conditions for each case.

29 © 2006 Synopsys, Inc. (29) Predictable Success Example UPF 2.0: Info Yellow AND gate is an “isolator” (not an “and” gate) All power domains are labeled with a “PD” prefix All blocks are labeled with a “LH” prefix PD1LH2 PwrCtl PDTOP

30 © 2006 Synopsys, Inc. (30) Predictable Success Example UPF 2.0: Set Iso Constraints LH1LH3 PwrCtl LHTOP LH2 c0 c1 outA LH4 current_scope LHTOP set_isolation_elements –elem LH4/LH2/inA –clamp 0 set_isolation_elements –elem LH3/inB –clamp 1 set_isolation_elements –elem LH1/outA –clamp 1 inA inB c1

31 © 2006 Synopsys, Inc. (31) Predictable Success Example UPF 2.0: Set Iso Constraints LH1LH3 PwrCtl LHTOP LH2 c0 c1 outA LH4 current_scope LHTOP set_port_attributes –ports LH4/LH2/inA –guard_clamp 0 set_port_attributes –ports LH3/inB –guard_clamp 1 set_port_attributes -ports LH1/outA –enable_clamp 1 inA inB c1

32 © 2006 Synopsys, Inc. (32) Predictable Success Example UPF 2.0: Define Domains LH1LH3 PwrCtl LHTOP LH2 c0 c1 outA LH4 create_power_domain PD1 –elem LH1 create_power_domain PD2 –elem LH4 create_power_domain PD3 –elem LH3 create_power_domain PDTOP inA inB c1 PD2 PD3 PD2

33 © 2006 Synopsys, Inc. (33) Predictable Success Example UPF 2.0: Define Switched Supplies LH1LH3 PwrCtl LHTOP LH2 c0 c1 outA LH4 create_power_switch SW1 … associate_supply_set to PD1 create_power_switch SW2 … associate_supply_set to PD2 create_power_switch SW3 … associate_supply_set to PD3 reflect PST to define “off” states for the blocks, all are unrelated inA inB c1 PD2(off) PD3(off) PD1(off)

34 © 2006 Synopsys, Inc. (34) Predictable Success Example UPF 2.0: Add Enabling Signals (I of II) LH1LH3 PwrCtl LHTOP LH2 c0 c1 outA LH4 set_port_attributes –enable e1 –source PD1 –sink PD2 set_port_attributes –dom PD2 –guard e2 set_port_attributes –enable e3 –source PD1 –sink PD3 set_port_attributes –dom PD3 –guard_sig e3 inA inB c1 PD2(off) PD3(off) PD1(off)

35 © 2006 Synopsys, Inc. (35) Predictable Success Example UPF 2.0: Add Enabling Signals (II of II) LH1LH3 PwrCtl LHTOP LH2 c0 c1 outA LH4 inA inB c1 PD2(off) PD3(off) PD1(off) e3 e2 e1 tied 1 set_port_attributes –enable e1 –source PD1 –sink PD2 set_port_attributes –dom PD2 –guard e2 set_port_attributes –enable e3 –source PD1 –sink PD3 set_port_attributes –dom PD3 –guard e3

36 © 2006 Synopsys, Inc. (36) Predictable Success Example UPF 2.0: Add Enabling Signals (II of II) LH1LH3 PwrCtl LHTOP LH2 c0 c1 outA LH4 set_isolation –dom PD1 –enable_sig e1 –source PD1 –sink PD2 set_isolation –dom PD2 –guard_sig e2 –source PD1 –sink PD2 set_isolation –dom PD1 –enable_sig e3 –source PD1 –sink PD3 set_isolation –dom PD3 –guard_sig e3 –source PD1 –sink PD3 inA inB c1 PD2(off) PD3(off) PD1(off) e3 e2 e1 tied 1

37 Predictable Success Retention Information Theoretic: UPF 2.0 and the Retention Upgrades Rev. 0.1 Jason Binney 5/15/2008 “AKA: Splitting up is hard to do”

38 © 2006 Synopsys, Inc. (38) Predictable Success Proposed Retention in UPF 2.0 (I of II) set_retention_elements retention_list_name \  -elements elements_list \  [-exclude_elements elements_list] This is a new command. Its based on the current scope and not a domain. It may include a domain but this is not required. This means it acts as a constraint which may never be used as these elements may not inside a domain that has an offstate.

39 © 2006 Synopsys, Inc. (39) Predictable Success Proposed Retention in UPF 2.0 (II of II) set_retention retention_list_name \  -domain domain_name \  [β ] \  [λ -elements elements_list ] \  [λ –exclude_elements elements_list ] \  [λ -retention_supply_set supply_set_name] \  [λ –save {{logic_net }} –restore {{logic_net }} ] \  [λ –save_condition {{boolean_function}} ] \  [λ –restore_condition {{boolean_function}} ] \  [λ –retention_condition {{boolean_function}} ] \  [ ] \  [-update]

40 © 2006 Synopsys, Inc. (40) Predictable Success Semantics The condition gates the event. So if the restore signal is “restore” and the condition is “!clock” then the register restores when and only when the restore signal is active and the clock signal is low. It is simply a definition of the behavior of the register. This definition is useful (and, we can hope, adequate) for representing real retention register behavior, including user-specified prioritization between save and restore signals and other pre-existing control signals. (Lisa/Jim exchange)

41 © 2006 Synopsys, Inc. (41) Predictable Success Proposed UPF 2.0 Retention Benefits Backwards compatibility: All set_retention options maintained, -update argument added for “layering”, all new options/arguments added as orthogonal to current options/args. Constraint driven approach: set_retention_elements added to allow for a way to give IP developers a way to specify if needed this is the object to be retained if later an IP integrator choses to define a domain associated with the elements which will be shutdown. Order of operations problem: deprecate: “set_retention_control” and add some of this in the 2 nd and updated “set_retention” command which is after the new 1 st “set_retention_elements” command. More General definition for Retention: Retention Supply set specification along with added optionality of the control (save/restore) signals for “Zero” pin retention cases. Added “_condition” for more complete retention behaviour based on non save/restore conditionality and control signal prioritization. Enables true formal verification.

42 © 2006 Synopsys, Inc. (42) Predictable Success


Download ppt "Predictable Success Isolation Information Theoretic: UPF 2.0 and the Isolation Attributes Rev. 0.1 Jason Binney 5/15/2008 “AKA: Back to the Future”"

Similar presentations


Ads by Google