Phone Conference P1450.3 Working Doc Subgroup

Friday, June 21, 1:15 to 2:30pm PDT


Attendees:
Daniel Fan
Jim Teischer
Tony Taylor

Agenda:
1. Discussion of Dan's proposal on resource allocation.


Discussion:


Topics for next meeting (Friday 7/19/2002)

Topics for discussion at next meeting:


Tony Taylor proposal

This proposal uses the <label> notation to provide a means to go into a valid STIL file after-the-fact and annotate it with resource identifiers that references things that are expected to be mapped into the same tester hardware memory. One of the criteria is that a parser can simply ignore all <labels> and the STIL file is still complete, or the <labels> can all be stripped out of the file and then it can be mapped to a new tester architecture.

Timing basic {
   WaveformTable one {
      Period period_one: '500ns';
      DIR { <seq1> 01 { '0ns' D/U; }}
      OE_ { 01 { '0ns' U; '200ns' D/U; '300ns' U; }}
      ABUS { <seq1> 01 { '10ns' D/U; }}
      BBUS { <seq1> LHZX { '0ns' Z; '260ns' L/H/X; '280ns' T; }}
   } // W one
   WaveformTable two {
      Period period_one:'500ns';
      DIR { <seq2> 01 { '0ns' D/U; }}
      OE_ { 01 { '0ns' U; '200ns' D/U; '300ns' U; }}
      ABUS { <seq2> LHZX { '0ns' Z; '260ns' l/h/t/x; '280ns' x; }}
      BBUS { <seq2> 01 { '10ns' D/U; }}
   } // W two
   WaveformTable three {
      Period period_two:'550ns';
      DIR { <seq1> 01 { '0ns' D/U; }}
      OE_ { 01 { '0ns' U; '200ns' D/U; '300ns' U; }}
      ABUS { <seq3> 01 { '10ns' D/U; }}
      BBUS { <seq3> LHZX { '0ns' Z; '260ns' L/H/X; '280ns' T;
   } // W three
   WaveformTable four {
      Period period_three:'550ns';
      DIR { <seq2> 01 { '0ns' D/U; }}
      OE_ { 01 { '0ns' U; '200ns' D/U; '300ns' U; }}
      ABUS { <seq4> LHZX { '0ns' Z; '460ns' L/H/X; '480ns' T; }}
      BBUS { <seq4> 01 { '10ns' D/U; }}
   } // W four
   WaveformTable five {
      Period period_one:'500ns';
      DIR { <seq1> 01 { '0ns' D/U; }}
      OE_ { 01 { '0ns' U; '200ns' D/U; '300ns' U; }}
      ABUS { <seq2> LHZX { '0ns' Z; '260ns' L/H/X; '280ns' T; }}
      BBUS { <seq1> LHZX { '0ns' Z; '260ns' L/H/X; '280ns' T; }}
   } // W five
} // Timing basic


Jim Teisher proposal

This proposal uses the Inherit statement as a mechanism for creating a STIL file that inherently shows the commonality of the structure of the data. Common definition are identified and then reused multiple times.


> Timing basic {
>    WaveformTable period_one {
>       Period '500ns';
>    }
>    WaveformTable period_two {
>       Period '550ns';
>    }
>    WaveformTable period_three {
>       Period '550ns';
>    }
>
>    WaveformTable sequence_one {
>       Waveforms {
>          DIR { 01 { '0ns' D/U }}
>          OE_ { 01 { '0ns' U; '200ns' D/U; '300ns' U;}}
>          ABUS { 01 { '10ns' D/U; '300ns' U;}
>               LHZX { '0ns' Z; '260ns' L/H/X; '280ns' T; }}
>          BBUS { 01 { '10ns' D/U; '300ns' U;}
>               LHZX { '0ns' Z; '260ns' L/H/X; '280ns' T; }}
>       } // end Waveforms
>    } // end sequence_one
>
>    WaveformTable sequence_two {
>       Waveforms {
>          DIR { 01 { '0ns' D/U }}
>          ABUS { 01 { '10ns' D/U; '300ns' U;}
>               LHZX { '0ns' Z; '460ns' L/H/X; '480ns' T; }}
>          BBUS { 01 { '10ns' D/U; '300ns' U;}
>               LHZX { '0ns' Z; '460ns' L/H/X; '480ns' T; }}
>       } // end Waveforms
>    } // end sequence_two
>
>    WaveformTable sequence_three {
>       Waveforms {
>          BBUS { 01 { '10ns' D/U; '300ns' U;}}
>       } // end Waveforms
>    } // end sequence_three
>
>    WaveformTable sequence_four {
>       Waveforms {
>          BBUS { LHZX { '0ns' Z; '460ns' L/H/X; '480ns' T; }}
>       } // end Waveforms
>    } // end sequence_four
>
>    WaveformTable one {
>       Period InheritWaveformTable period_one;
>       Waveforms {
>          ALL  { InheritWaveformTable sequence_one; }
>       }  // end Waveforms
>    } // end one
>
>    WaveformTable two {
>       Period InheritWaveformTable period_one;
>       Waveforms {
>          DIR  { InheritWaveformTable sequence_two; }
>          OE_  { InheritWaveformTable sequence_one; }
>          ABUS { InheritWaveformTable sequence_two; }
>          BBUS { InheritWaveformTable sequence_two; }
>       }  // end Waveforms
>    } // end two
>
>    WaveformTable three {
>       Period InheritWaveformTable period_two;
>       Waveforms {
>          DIR  { InheritWaveformTable sequence_one; }
>          OE_  { InheritWaveformTable sequence_one; }
>          ABUS { InheritWaveformTable sequence_two; }
>          BBUS { InheritWaveformTable sequence_three; }
>       }  // end Waveforms
>    } // end three
>
>    WaveformTable four {
>       Period InheritWaveformTable period_three;
>       Waveforms {
>          DIR  { InheritWaveformTable sequence_two; }
>          OE_  { InheritWaveformTable sequence_one; }
>          ABUS { InheritWaveformTable sequence_one; }
>          BBUS { InheritWaveformTable sequence_four; }
>       }  // end Waveforms
>    } // end four
>
>    WaveformTable five {
>       Period InheritWaveformTable period_one;
>       Waveforms {
>          DIR  { InheritWaveformTable sequence_one; }
>          OE_  { InheritWaveformTable sequence_one; }
>          ABUS { InheritWaveformTable sequence_two; }
>          BBUS { InheritWaveformTable sequence_three; }
>       }  // end Waveforms
>    } // end five
> } // end Timing basic


Dan Fan proposal

This proposal uses colon labels (label:)  and bracket labels <label> as a way of identifying common blocks of code in the STIL file. As in the case above, this has to be viewed as part of the basic STIL construct of the data.
 

66:Timing basic {
67:    WaveformTable {
68:       Period period_one: ‘500ns’;
69:       Period period_two: ‘550ns’;
70:       Period period_three:‘550ns’;
71:       DIR { sequence_one: 01 { ‘0ns’ D/U; }
72:          sequence_two: 01 { ‘0ns’ D/U; }}
73:          OE_ { only_one: 01 { ‘0ns’ U; ‘200ns’ D/U; ‘300ns’ U; }}
74:       ABUS { sequence_one: 01 { ‘10ns’ D/U; }
75:          sequence_two: LHZX { ‘0ns’ Z; ‘260ns’ L/H/X; ‘280ns’ T; }
76:          sequence_three: 01 { ‘10ns’ D/U; }
77:          sequence_four: LHZX { ‘0ns’ Z; ‘460ns’ L/H/X; ‘480ns’ T; }}
78:       BBUS { sequence_one: LHZX { ‘0ns’ Z; ‘260ns’ L/H/X; ‘280ns’ T; }
79:          sequence_two: 01 { ‘10ns’ D/U; }
80:          sequence_three: LHZX { ‘0ns’ Z; ‘260ns’ L/H/X; ‘280ns’ T; }
81:          sequence_four: 01 { ‘10ns’ D/U; }}
82:       } // W container
83:    WaveformTable one {
84:       Period <period_one>;
85:       DIR { <sequence_one> }
86:       OE_ { <only_one> }
87:       ABUS { <sequence_one> }
88:       BBUS { <sequence_one> }
89:    } // W one
90:    WaveformTable two {
91:       Period <period_one>;
92:       DIR { <sequence_two> }
93:       OE_ { <only_one> }
94:       ABUS { <sequence_two> }
95:       BBUS { <sequence_two> }
96:    } // W two
97:    WaveformTable three {
98:       Period <period_two>;
99:       DIR { <sequence_one> }
100:       OE_ { <only_one> }
101:       ABUS { <sequence_three> }
102:       BBUS { <sequence_three> }
103:    } // W three
104:    WaveformTable four {
105:       Period <period_three>;
106:       DIR { <sequence_two> }
107:       OE_ { <only_one> }
108:       ABUS { <sequence_four> }
109:       BBUS { <sequence_four> }
110:    } // W four
111:    WaveformTable five {
112:       Period <period_one>;
113:       DIR { <sequence_one> }
114:       OE_ { <only_one> }
115:       ABUS { <sequence_two> }
116:       BBUS { <sequence_one> }
117:    } // W five
118:} // Timing basic