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:
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