Page 23 of 26

waveline.gif goes here.

TDML Example


Shown below is a sample of TDML code.


<!DOCTYPE timing.diagram PUBLIC "-//TDML Working Group//DTD XML-PCISTDML.DTD 19990514 Draft 1.1 Timing Diagram Markup Language DTD//EN" "xml-pcistdml.dtd" > <timing.diagram default.time.units="1e-12 s" show.delays="1" show.holds="1" show.samples="1" show.setups="1" line.thickness="1" font.ptr="ID1" show.uncertainty="ALL" delay.rule="first"> <tdml.admin.info> <tool.info id="X1"> <tool.name id="X2">TDML Tool</tool.name> <tool.type id="X3">Timing Diagram Editor</tool.type> </tool.info> </tdml.admin.info> <sources> <conn.source id="X4"> <connection conn.type="O" id="ID2"> <conn.name id="X5"></conn.name> </connection> <connection conn.type="O" id="ID3"> <conn.name id="X6">CLK0</conn.name> </connection> <connection conn.type="O" id="ID4"> <conn.name id="X7">SIG0</conn.name> </connection> <connection conn.type="O" id="ID5"> <conn.name id="X8">DINPUT</conn.name> </connection> <connection conn.type="O" id="ID6"> <conn.name id="X9">QOUTPUT</conn.name> </connection> </conn.source> </sources> <signal id="ID7" show="1" show.grid="0"> <conn.ptr conn.id="ID2"></conn.ptr> <waveform></waveform> </signal> <signal id="ID8" show="1" show.grid="0" clock="1" inverted="0"> <conn.ptr conn.id="ID3">CLK0</conn.ptr> <clock.info> <period> <tdml.expression expression.handling="default"> <expression id="X10">100</expression> <evaluated.to>100000</evaluated.to> </tdml.expression> </period> <duty.cycle> <tdml.expression expression.handling="default"> <expression id="X11">50</expression> <evaluated.to>50</evaluated.to> </tdml.expression> </duty.cycle> <time.offset> <tdml.expression expression.handling="default"> <expression id="X12"></expression> <evaluated.to>0</evaluated.to> </tdml.expression> </time.offset> <uncertainty.falling> <tdml.expression expression.handling="default"> <expression id="X13"></expression> <evaluated.to>0</evaluated.to> </tdml.expression> </uncertainty.falling> <uncertainty.rising> <tdml.expression expression.handling="default"> <expression id="X14"></expression> <evaluated.to>0</evaluated.to> </tdml.expression> </uncertainty.rising> </clock.info> <waveform id="ID9" locked="1"> <e te="0" s="0" id="ID9V"></e> <e driven="1" s="1" te="0" tl="0" id="ID10"></e> <e driven="1" s="0" te="50000" tl="50000" id="ID11"></e> <e driven="1" s="1" te="100000" tl="100000" id="ID12"></e> <e driven="1" s="0" te="150000" tl="150000" id="ID13"></e> <e driven="1" s="1" te="200000" tl="200000" id="ID14"></e> <e driven="1" s="0" te="250000" tl="250000" id="ID15"></e> <e driven="1" s="1" te="300000" tl="300000" id="ID16"></e> </waveform> </signal> <signal id="ID17" show="1" show.grid="0"> <conn.ptr conn.id="ID4">SIG0</conn.ptr> <waveform id="ID18" locked="0"> <e id="ID18V" driven="1" s="1" te="0" tl="0"></e> <e id="ID19" driven="1" s="0" te="54000" tl="58000"></e> <e id="ID20" driven="1" s="1" te="154000" tl="158000"></e> <e id="ID21" driven="1" s="0" te="254000" tl="258000"></e> <e te="299520" tl="299520"></e> </waveform> </signal> <signal id="ID22" show="1" show.grid="0"> <conn.ptr conn.id="ID5">DINPUT</conn.ptr> <waveform id="ID23" locked="0"> <e id="ID23V" driven="1" s="V" te="0" tl="0"></e> <e vs="EE" id="ID24" driven="1" s="V" te="86016" tl="86016"></e> <e vs="F3" id="ID25" driven="1" s="V" te="176640" tl="176640"></e> <e vs="2C" te="299520" tl="299520"></e> </waveform> </signal> <signal id="ID26" show="1" show.grid="0"> <conn.ptr conn.id="ID6">QOUTPUT</conn.ptr> <waveform id="ID27" locked="1"> <e id="ID27V" driven="1" s="V" te="0" tl="0"></e> <e vs="'bz" driven="1" s="V" te="0" tl="0"></e> <e vs="'bx" driven="1" s="V" te="50000" tl="50000"></e> <e vs="EE" driven="1" s="V" te="150000" tl="150000"></e> <e vs="F3" driven="1" s="V" te="250000" tl="250000"></e> <e vs="2C" te="299520" tl="299520"></e> </waveform> </signal> <edge.relationships> <relationship type="marker" tdml.cc.ptr="ID28"> <one.edge target.signal.ptr="ID8" e.ptr="ID16"></one.edge> <user.defined><key>SnapOn</key><user.value>True</user.value></user.defined> </relationship> <relationship type="delay" tdml.cc.ptr="ID29" show="1"> <two.edge source.e="ID11" target.e="ID19"></two.edge> <relationship.label label.type="minmax">&percnt;n v=&percnt;mv,&percnt;Mv f=&percnt;mf,&percnt;Mf m=&percnt;mm,&percnt;Mm d=&percnt;md,&percnt;Md &percnt;c </relationship.label> </relationship> <relationship type="delay" tdml.cc.ptr="ID29" show="1"> <two.edge source.e="ID13" target.e="ID20"></two.edge> <relationship.label label.type="minmax">&percnt;n v=&percnt;mv,&percnt;Mv f=&percnt;mf,&percnt;Mf m=&percnt;mm,&percnt;Mm d=&percnt;md,&percnt;Md &percnt;c </relationship.label> </relationship> <relationship type="delay" tdml.cc.ptr="ID29" show="1"> <two.edge source.e="ID15" target.e="ID21"></two.edge> <relationship.label label.type="minmax">&percnt;n v=&percnt;mv,&percnt;Mv f=&percnt;mf,&percnt;Mf m=&percnt;mm,&percnt;Mm d=&percnt;md,&percnt;Md &percnt;c </relationship.label> </relationship> <relationship type="setup" tdml.cc.ptr="ID30" show="1"> <two.edge source.e="ID24" target.e="ID13"></two.edge> <relationship.label label.type="default">&percnt;n v=&percnt;mv,&percnt;Mv f=&percnt;mf,&percnt;Mf m=&percnt;mm,&percnt;Mm d=&percnt;md,&percnt;Md &percnt;c </relationship.label> </relationship> <relationship type="setup" tdml.cc.ptr="ID30" show="1"> <two.edge source.e="ID25" target.e="ID15"></two.edge> <relationship.label label.type="default">&percnt;n v=&percnt;mv,&percnt;Mv f=&percnt;mf,&percnt;Mf m=&percnt;mm,&percnt;Mm d=&percnt;md,&percnt;Md &percnt;c </relationship.label> </relationship> </edge.relationships> <annotation x.offset="121856" y.offset="-0.25" font.ptr="ID31"><highlight highlight.pref="bold">TDML 1.1 Example</highlight> </annotation> <view.group> <view first.signal="ID7" last.signal="ID26" begin.time="0" end.time="339968"></view> </view.group> <cc.list> <title id="X17">Parameter Data Table</title> <tdml.cc id="ID32" static="1" show="1"> <parm id="X18"> <parm.symbol id="X19">F0</parm.symbol> </parm> <tdml.value id="X20" value.type="MIN"> <tdml.expression expression.handling="default"> <expression id="X21">2</expression> <evaluated.to>2000</evaluated.to> </tdml.expression> </tdml.value> <tdml.value value.type="MAX"> <tdml.expression expression.handling="default"> <expression id="X22">4</expression> <evaluated.to>4000</evaluated.to> </tdml.expression> </tdml.value> </tdml.cc> <tdml.cc id="ID29" static="1" show="1"> <parm id="X23"> <parm.symbol id="X24">D0</parm.symbol> </parm> <tdml.value id="X25" value.type="MIN"> <tdml.expression expression.handling="default"> <expression id="X26">2*F0</expression> <evaluated.to>4000</evaluated.to> </tdml.expression> </tdml.value> <tdml.value value.type="MAX"> <tdml.expression expression.handling="default"> <expression id="X27">2*F0</expression> <evaluated.to>8000</evaluated.to> </tdml.expression> </tdml.value> </tdml.cc> <tdml.cc id="ID30" static="1" show="1"> <parm id="X28"> <parm.symbol id="X29">S0</parm.symbol> </parm> <tdml.value id="X30" value.type="MIN"> <tdml.expression expression.handling="default"> <expression id="X31">15</expression> <evaluated.to>15000</evaluated.to> </tdml.expression> </tdml.value> <tdml.value value.type="MAX"> <tdml.expression expression.handling="default"> <expression id="X32"></expression> </tdml.expression> </tdml.value> </tdml.cc> <tdml.cc id="ID28" static="0"> <parm id="X33"> <parm.symbol id="X34">MARK0</parm.symbol> </parm> <tdml.value value.type="MIN"> <tdml.expression expression.handling="default"> <expression id="X35"></expression> <evaluated.to>0</evaluated.to> </tdml.expression> </tdml.value> </tdml.cc> </cc.list> <font.list> <font id="ID1" face.name="Arial" point.size="10" color="0"></font> <font id="ID31" face.name="Courier New" point.size="12" color="0"></font> </font.list> <user.defined><key>DefaultTimingModel</key><user.value>minmax</user.value></user.defined> </timing.diagram>