<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE twReport [
<!ELEMENT twReport (twHead?, (twWarn | twDebug | twInfo)*, twBody, twSum?,
					twDebug*, twFoot?, twClientInfo?)>
<!ATTLIST twReport version CDATA "10,4">
<!ELEMENT twHead (twExecVer?, twCopyright, twCmdLine?, twDesign?, twPCF?, twDevInfo, twRptInfo, twEnvVar*)>
<!ELEMENT twExecVer (#PCDATA)>
<!ELEMENT twCopyright (#PCDATA)>
<!ELEMENT twCmdLine (#PCDATA)>
<!ELEMENT twDesign (#PCDATA)>
<!ELEMENT twPCF (#PCDATA)>
<!ELEMENT twDevInfo (twDevName, twSpeedGrade, twSpeedVer?)>
<!ELEMENT twDevName (#PCDATA)>
<!ATTLIST twDevInfo arch CDATA #IMPLIED pkg CDATA #IMPLIED>
<!ELEMENT twSpeedGrade (#PCDATA)>
<!ELEMENT twSpeedVer (#PCDATA)>
<!ELEMENT twRptInfo (twItemLimit?, (twUnconst, twUnconstLimit?)?)>
<!ATTLIST twRptInfo twRptLvl (twErr | twVerbose | twTerseErr | twSum | twTimeGrp) #REQUIRED>
<!ATTLIST twRptInfo twAdvRpt  (TRUE | FALSE) "FALSE">
<!ATTLIST twRptInfo twTimeUnits (twPsec | twNsec | twUsec | twMsec | twSec) "twNsec">
<!ATTLIST twRptInfo twFreqUnits (twGHz | twMHz | twHz) "twMHz">
<!ATTLIST twRptInfo twReportMinPaths CDATA #IMPLIED>
<!ELEMENT twItemLimit (#PCDATA)>
<!ELEMENT twUnconst EMPTY>
<!ELEMENT twUnconstLimit (#PCDATA)>
<!ELEMENT twEnvVar EMPTY>
<!ATTLIST twEnvVar name CDATA #REQUIRED>
<!ATTLIST twEnvVar description CDATA #REQUIRED>
<!ELEMENT twWarn (#PCDATA)>
<!ELEMENT twInfo (#PCDATA)>
<!ELEMENT twDebug (#PCDATA)>
<!ELEMENT twBody (twDerating?, (twSumRpt | twVerboseRpt | twErrRpt | twTerseErrRpt | twTimeGrpRpt), twNonDedClks?)>
<!ATTLIST twBody twFastPaths CDATA #IMPLIED>
<!ELEMENT twDerating (twProc?, twTemp?, twVolt?)>
<!ELEMENT twProc (#PCDATA)>
<!ELEMENT twTemp (#PCDATA)>
<!ELEMENT twVolt (#PCDATA)>
<!ELEMENT twSumRpt (twConstRollupTable*, twConstList?, twConstSummaryTable?, twUnmetConstCnt?, (twWarn | twInfo | twDebug)*, twDataSheet?)>
<!ELEMENT twErrRpt (twCycles?, (twConst | twTIG |  twConstRollupTable)*, twUnmetConstCnt?, (twWarn | twInfo | twDebug)*, twDataSheet?, twTimeGrp*)>
<!ELEMENT twTerseErrRpt (twConstList, twUnmetConstCnt?, twDataSheet?)>
<!ELEMENT twVerboseRpt (twCycles?, (twConst | twTIG | twConstRollupTable)*, twUnmetConstCnt?, (twWarn | twInfo | twDebug)*, twDataSheet?, twTimeGrp*)> 
<!ELEMENT twCycles (twSigConn+)>
<!ATTLIST twCycles twNum CDATA #REQUIRED>
<!ELEMENT twSigConn (twSig, twDriver, twLoad)>
<!ELEMENT twSig (#PCDATA)>
<!ELEMENT twDriver (#PCDATA)>
<!ELEMENT twLoad (#PCDATA)> 
<!ELEMENT twConst (twConstHead, ((twPathRpt?,twRacePathRpt?, twPathRptBanner?)* |  (twPathRpt*, twRacePathRpt?) |  twNetRpt* | twClkSkewLimit*))>
<!ATTLIST twConst twConstType (NET | 
							   NETDELAY | 
							   NETSKEW | 
							   PATH |
							   DEFPERIOD |
							   UNCONSTPATH |
							   DEFPATH | 
							   PATH2SETUP |
							   UNCONSTPATH2SETUP | 
							   PATHCLASS | 
							   PATHDELAY | 
							   PERIOD |
							   FREQUENCY |
							   PATHBLOCK |
							   OFFSET |
							   OFFSETIN |
							   OFFSETINCLOCK | 
							   UNCONSTOFFSETINCLOCK |
							   OFFSETINDELAY |
							   OFFSETINMOD |
							   OFFSETOUT |
							   OFFSETOUTCLOCK |
							   UNCONSTOFFSETOUTCLOCK | 
							   OFFSETOUTDELAY |
							   OFFSETOUTMOD| CLOCK_SKEW_LIMITS) #IMPLIED> 
<!ELEMENT twConstHead (twConstName, twItemCnt, twErrCntSetup, twErrCntEndPt?, twErrCntHold,
					   twEndPtCnt?,
					   twPathErrCnt?, (twMinPer| twMaxDel| twMaxFreq| twMaxNetDel| twMaxNetSkew| twMinOff| twMaxOff)*)>
<!ELEMENT twConstName (#PCDATA)>
<!ATTLIST twConstName UCFConstName CDATA #IMPLIED>
<!ATTLIST twConstHead uID CDATA #IMPLIED>
<!ELEMENT twItemCnt (#PCDATA)>
<!ELEMENT twErrCnt (#PCDATA)>
<!ELEMENT twErrCntEndPt (#PCDATA)>
<!ELEMENT twErrCntSetup (#PCDATA)>
<!ELEMENT twErrCntHold (#PCDATA)>
<!ATTLIST twErrCntHold twRaceChecked (TRUE | FALSE) "FALSE">
<!ELEMENT twEndPtCnt (#PCDATA)>
<!ELEMENT twPathErrCnt (#PCDATA)>
<!ELEMENT twMinPer (#PCDATA) >
<!ELEMENT twFootnote EMPTY>
<!ATTLIST twFootnote number CDATA #REQUIRED>
<!ELEMENT twMaxDel (#PCDATA)>
<!ELEMENT twMaxFreq (#PCDATA)>
<!ELEMENT twMinOff (#PCDATA)>
<!ELEMENT twMaxOff (#PCDATA)>
<!ELEMENT twTIG (twTIGHead, (twPathRpt*,twRacePathRpt?))>
<!ELEMENT twTIGHead (twTIGName, twInstantiated, twBlocked)>
<!ELEMENT twTIGName (#PCDATA)>
<!ELEMENT twInstantiated (#PCDATA)>
<!ELEMENT twBlocked (#PCDATA)>
<!ELEMENT twRacePathRpt (twRacePath+)>
<!ELEMENT twPathRpt (twUnconstPath | twConstPath | twUnconstOffIn | twConstOffIn | twUnconstOffOut | twConstOffOut | twModOffOut)>
<!ELEMENT twUnconstPath (twTotDel, twSrc, twDest,  (twDel, twSUTime)?, twTotPathDel?, twClkSkew?, tw2Phase?, twClkUncert?, twDetPath?)>
<!ATTLIST twUnconstPath twDataPathType CDATA #IMPLIED
						twSimpleMinPath CDATA #IMPLIED>
<!ELEMENT twTotDel (#PCDATA)>
<!ELEMENT twSrc (#PCDATA)>
<!ATTLIST twSrc BELType CDATA #IMPLIED>
<!ELEMENT twDest (#PCDATA)>
<!ATTLIST twDest BELType CDATA #IMPLIED>
<!ELEMENT twDel (#PCDATA)>
<!ELEMENT twSUTime (#PCDATA)>
<!ELEMENT twTotPathDel (#PCDATA)>
<!ELEMENT twClkSkew (#PCDATA)>
<!ATTLIST twClkSkew dest CDATA #IMPLIED src CDATA #IMPLIED>
<!ELEMENT twConstPath (twSlack, twSrc, twDest, twTotPathDel?, twClkSkew?, twDelConst, tw2Phase?, twClkUncert?, twDetPath?)>
<!ATTLIST twConstPath twDataPathType CDATA "twDataPathMaxDelay">
<!ATTLIST twConstPath constType (period | fromto | unknown) "unknown">
<!ELEMENT twSlack (#PCDATA)>
<!ELEMENT twDelConst (#PCDATA)>
<!ELEMENT tw2Phase EMPTY>
<!ELEMENT twClkUncert (#PCDATA)>
<!ATTLIST twClkUncert fSysJit CDATA #IMPLIED  fInputJit CDATA #IMPLIED
					  fDCMJit CDATA #IMPLIED
					  fPhaseErr CDATA #IMPLIED
					  sEqu CDATA #IMPLIED>
<!ELEMENT twRacePath (twSlack, twSrc, twDest, twClkSkew, twDelConst?, twClkUncert?, twDetPath)>
<!ELEMENT twPathRptBanner (#PCDATA)>
<!ATTLIST twPathRptBanner sType CDATA #IMPLIED iPaths CDATA #IMPLIED iCriticalPaths CDATA #IMPLIED>
<!ELEMENT twUnconstOffIn (twOff, twSrc, twDest, twGuaranteed?, twClkUncert?, (twDataPath, twClkPath)?)>
<!ATTLIST twUnconstOffIn twDataPathType CDATA #IMPLIED>
<!ELEMENT twOff (#PCDATA)>
<!ELEMENT twGuaranteed EMPTY>
<!ELEMENT twConstOffIn (twSlack, twSrc, twDest, ((twClkDel, twClkSrc, twClkDest) | twGuarInSetup), twOff, twOffSrc, twOffDest, twClkUncert?, (twDataPath, twClkPath)?)>
<!ATTLIST twConstOffIn twDataPathType CDATA "twDataPathMaxDelay">
<!ATTLIST twConstOffIn twDurationNotSpecified CDATA #IMPLIED>
<!ELEMENT twClkDel (#PCDATA)>
<!ELEMENT twClkSrc (#PCDATA)>
<!ELEMENT twClkDest (#PCDATA)>
<!ELEMENT twGuarInSetup (#PCDATA)>
<!ELEMENT twOffSrc (#PCDATA)>
<!ELEMENT twOffDest (#PCDATA)>
<!ELEMENT twUnconstOffOut (twOff, twSrc, twDest, twClkUncert?, (twClkPath, twDataPath)?)>
<!ATTLIST twUnconstOffOut twDataPathType CDATA #IMPLIED>
<!ELEMENT twConstOffOut (twSlack, twSrc, twDest, twClkDel, twClkSrc, twClkDest, twDataDel, twDataSrc, twDataDest, twOff, twOffSrc, twOffDest, twClkUncert?, (twClkPath, twDataPath)?)>
<!ATTLIST twConstOffOut twDataPathType CDATA "twDataPathMaxDelay">
<!ELEMENT twDataDel (#PCDATA)>
<!ELEMENT twDataSrc (#PCDATA)>
<!ELEMENT twDataDest (#PCDATA)>
<!ELEMENT twModOffOut (twSlack, twDest, twDataDel, twDataSrc, twDataDest, twClkUncert?, twDataPath?)>
<!ELEMENT twDetPath (twSrc, twDest, twLogLvls, twSrcSite, twSrcClk?, twPathDel*, (twLogDel, twRouteDel, twTotDel)?, twDestClk?, (twPctLog, twPctRoute)?)>
<!ATTLIST twDetPath maxSiteLen CDATA #IMPLIED>
<!ELEMENT twDataPath (twSrc, twDest, twLogLvls, twSrcSite, twSrcClk?, twPathDel*, (twLogDel, twRouteDel, twTotDel)?, twDestClk?, (twPctLog, twPctRoute)?)>
<!ATTLIST twDataPath maxSiteLen CDATA #IMPLIED>
<!ELEMENT twClkPath (twSrc, twDest, twLogLvls, twSrcSite, twSrcClk?, twPathDel*, (twLogDel, twRouteDel, twTotDel)?, twDestClk?, (twPctLog, twPctRoute)?)>
<!ATTLIST twClkPath maxSiteLen CDATA #IMPLIED>
<!ELEMENT twLogLvls (#PCDATA)>
<!ELEMENT twSrcSite (#PCDATA)>
<!ELEMENT twSrcClk (#PCDATA)>
<!ATTLIST twSrcClk twEdge (twRising | twFalling) "twRising">
<!ATTLIST twSrcClk twArriveTime CDATA #IMPLIED>
<!ATTLIST twSrcClk twClkRes CDATA #IMPLIED>
<!ELEMENT twPathDel (twSite, twDelType, twFanCnt?, twDelInfo?, twComp, twNet?, twBEL*)>
<!ATTLIST twPathDel twHoldTime (TRUE | FALSE) "FALSE">
<!ELEMENT twDelInfo (#PCDATA)>
<!ATTLIST twDelInfo twEdge (twRising | twFalling | twIndet) #REQUIRED>
<!ATTLIST twDelInfo twAcc (twRouted | twEst | twApprox) "twRouted">
<!ELEMENT twSite (#PCDATA)>
<!ELEMENT twDelType (#PCDATA)>
<!ELEMENT twFanCnt (#PCDATA)>
<!ELEMENT twComp (#PCDATA)>
<!ELEMENT twNet (#PCDATA)>
<!ELEMENT twBEL (#PCDATA)>
<!ELEMENT twLogDel (#PCDATA)>
<!ELEMENT twRouteDel (#PCDATA)>
<!ELEMENT twDestClk (#PCDATA)>
<!ATTLIST twDestClk twEdge (twRising | twFalling) "twRising">
<!ATTLIST twDestClk twArriveTime CDATA #IMPLIED>
<!ATTLIST twDestClk twClkRes CDATA #IMPLIED>
<!ELEMENT twPctLog (#PCDATA)>
<!ELEMENT twPctRoute (#PCDATA)>
<!ELEMENT twNetRpt (twDelNet | twSlackNet | twSkewNet)>
<!ELEMENT twDelNet (twDel, twNet, twDetNet?)>
<!ELEMENT twSlackNet (twSlack, twNet, twDel, twNotMet?, twTimeConst, twAbsSlack, twDetNet?)>
<!ELEMENT twTimeConst (#PCDATA)>
<!ELEMENT twAbsSlack (#PCDATA)>
<!ELEMENT twSkewNet (twSlack, twNet, twSkew, twNotMet?, twTimeConst, twAbsSlack, twDetSkewNet?)>
<!ELEMENT twSkew (#PCDATA)>
<!ELEMENT twDetNet (twNetDel*)>
<!ELEMENT twNetDel (twSrc, twDest, twNetDelInfo)>
<!ELEMENT twNetDelInfo (#PCDATA)>
<!ATTLIST twNetDelInfo twAcc (twRouted | twEst | twApprox) "twRouted">
<!ELEMENT twDetSkewNet (twNetSkew*)>
<!ELEMENT twNetSkew (twSrc, twDest, twNetDelInfo, twSkew)>
<!ELEMENT twClkSkewLimit  EMPTY>
<!ATTLIST twClkSkewLimit slack CDATA #IMPLIED skew CDATA #IMPLIED arrv1name CDATA #IMPLIED                      arrv1 CDATA #IMPLIED
		         arrv2name CDATA #IMPLIED arrv2 CDATA #IMPLIED uncert CDATA #IMPLIED>
<!ELEMENT twConstRollupTable (twConstRollup*)>
<!ATTLIST twConstRollupTable uID CDATA #IMPLIED>
<!ELEMENT twConstRollup  EMPTY>
<!ATTLIST twConstRollup name CDATA #IMPLIED fullName CDATA #IMPLIED type CDATA #IMPLIED                      requirement CDATA #IMPLIED prefType CDATA #IMPLIED actual CDATA #IMPLIED>
<!ATTLIST twConstRollup  actualRollup CDATA #IMPLIED                      errors CDATA #IMPLIED errorRollup CDATA #IMPLIED items CDATA #IMPLIED                      itemsRollup CDATA #IMPLIED>
<!ELEMENT twConstList (twConstListItem)*>
<!ELEMENT twConstListItem (twConstName, twNotMet?, twReqVal?, twActVal?, twLogLvls?)> 
<!ATTLIST twConstListItem twUnits (twTime | twFreq) "twTime">
<!ELEMENT twNotMet EMPTY>
<!ELEMENT twReqVal (#PCDATA)>
<!ELEMENT twActVal (#PCDATA)>
<!ELEMENT twConstSummaryTable (twConstStats|twConstSummary)*>
<!ATTLIST twConstSummaryTable twEmptyConstraints CDATA #IMPLIED>
<!ELEMENT twConstStats (twConstName)>
<!ATTLIST twConstStats twUnits (twTime | twFreq) "twTime">
<!ATTLIST twConstStats twRequired CDATA #IMPLIED>
<!ATTLIST twConstStats twActual CDATA #IMPLIED>
<!ATTLIST twConstStats twSlack CDATA #IMPLIED>
<!ATTLIST twConstStats twLogLvls CDATA #IMPLIED>
<!ATTLIST twConstStats twErrors CDATA #IMPLIED>
<!ATTLIST twConstStats twPCFIndex CDATA #IMPLIED>
<!ATTLIST twConstStats twAbsSlackIndex CDATA #IMPLIED>
<!ATTLIST twConstStats twTCType CDATA #IMPLIED>
<!ELEMENT twConstSummary (twConstName, twConstData?, twConstData*)>
<!ATTLIST twConstSummary PCFIndex CDATA #IMPLIED  slackIndex CDATA #IMPLIED>
<!ELEMENT twConstData EMPTY>
<!ATTLIST twConstData type CDATA #IMPLIED  units (MHz | ns) "ns" slack CDATA #IMPLIED
					  best CDATA #IMPLIED requested CDATA #IMPLIED
					  errors CDATA #IMPLIED
					  score CDATA #IMPLIED>
<!ELEMENT twTimeGrpRpt (twTimeGrp)*>
<!ELEMENT twTimeGrp (twTimeGrpName, twCompList?, twBELList?, twMacList?, twBlockList?, twSigList?, twPinList?)>
<!ELEMENT twTimeGrpName (#PCDATA)>
<!ELEMENT twCompList (twCompName+)>
<!ELEMENT twCompName (#PCDATA)>
<!ELEMENT twSigList (twSigName+)>
<!ELEMENT twSigName (#PCDATA)>
<!ELEMENT twBELList (twBELName+)>
<!ELEMENT twBELName (#PCDATA)>
<!ELEMENT twBlockList (twBlockName+)>
<!ELEMENT twBlockName (#PCDATA)>
<!ELEMENT twMacList (twMacName+)>
<!ELEMENT twMacName (#PCDATA)>
<!ELEMENT twPinList (twPinName+)>
<!ELEMENT twPinName (#PCDATA)>
<!ELEMENT twUnmetConstCnt (#PCDATA)>
<!ELEMENT twDataSheet (twSUH2ClkList*, (twClk2PadList|twClk2OutList)*, twClk2SUList*, twPad2PadList?, twOffsetTables?)>
<!ATTLIST twDataSheet twNameLen CDATA #REQUIRED>
<!ELEMENT twSUH2ClkList (twDest, twSUH2Clk+)>
<!ATTLIST twSUH2ClkList twDestWidth CDATA #IMPLIED>
<!ATTLIST twSUH2ClkList twPhaseWidth CDATA #IMPLIED>
<!ELEMENT twSUH2Clk (twSrc, twSUHTime, twSUHTime?)> 
<!ELEMENT twSUHTime (twSU2ClkTime?,twH2ClkTime?)>
<!ATTLIST twSUHTime twInternalClk CDATA #IMPLIED>
<!ATTLIST twSUHTime twClkPhase CDATA #IMPLIED>
<!ELEMENT twSU2ClkTime (#PCDATA)>
<!ATTLIST twSU2ClkTime twEdge (twRising | twFalling | twIndet) #REQUIRED>
<!ELEMENT twH2ClkTime (#PCDATA)>
<!ATTLIST twH2ClkTime twEdge (twRising | twFalling | twIndet) #REQUIRED>
<!ELEMENT twClk2PadList (twSrc, twClk2Pad+)>
<!ELEMENT twClk2Pad (twDest, twTime)>
<!ELEMENT twTime (#PCDATA)>
<!ATTLIST twTime twEdge (twRising | twFalling | twIndet) #REQUIRED>
<!ELEMENT twClk2OutList (twSrc, twClk2Out+)>
<!ATTLIST twClk2OutList twDestWidth CDATA #REQUIRED>
<!ATTLIST twClk2OutList twPhaseWidth CDATA #REQUIRED>
<!ELEMENT twClk2Out EMPTY>
<!ATTLIST twClk2Out twOutPad CDATA #REQUIRED>
<!ATTLIST twClk2Out twMinTime CDATA #REQUIRED>
<!ATTLIST twClk2Out twMinEdge CDATA #REQUIRED>
<!ATTLIST twClk2Out twMaxTime CDATA #REQUIRED>
<!ATTLIST twClk2Out twMaxEdge CDATA #REQUIRED>
<!ATTLIST twClk2Out twInternalClk CDATA #REQUIRED>
<!ATTLIST twClk2Out twClkPhase CDATA #REQUIRED>
<!ELEMENT twClk2SUList (twDest, twClk2SU+)>
<!ATTLIST twClk2SUList twDestWidth CDATA #IMPLIED>
<!ELEMENT twClk2SU (twSrc, twRiseRise?, twFallRise?, twRiseFall?, twFallFall?)>
<!ELEMENT twRiseRise (#PCDATA)>
<!ELEMENT twFallRise (#PCDATA)>
<!ELEMENT twRiseFall (#PCDATA)>
<!ELEMENT twFallFall (#PCDATA)>
<!ELEMENT twPad2PadList (twPad2Pad+)>
<!ATTLIST twPad2PadList twSrcWidth CDATA #IMPLIED>
<!ATTLIST twPad2PadList twDestWidth CDATA #IMPLIED>
<!ELEMENT twPad2Pad (twSrc, twDest, twDel)>
<!ELEMENT twOffsetTables (twOffsetInTable*,twOffsetOutTable*)>
<!ELEMENT twOffsetInTable (twConstName, twOffInTblRow*)>
<!ATTLIST twOffsetInTable twDestWidth CDATA #IMPLIED>
<!ATTLIST twOffsetInTable twWorstWindow CDATA #IMPLIED>
<!ATTLIST twOffsetInTable twWorstSetup CDATA #IMPLIED>
<!ATTLIST twOffsetInTable twWorstHold CDATA #IMPLIED>
<!ATTLIST twOffsetInTable twWorstSetupSlack CDATA #IMPLIED>
<!ATTLIST twOffsetInTable twWorstHoldSlack CDATA #IMPLIED>
<!ELEMENT twOffsetOutTable (twConstName, twOffOutTblRow*)>
<!ATTLIST twOffsetOutTable twDestWidth CDATA #IMPLIED>
<!ATTLIST twOffsetOutTable twMinSlack CDATA #IMPLIED>
<!ATTLIST twOffsetOutTable twMaxSlack CDATA #IMPLIED>
<!ATTLIST twOffsetOutTable twRelSkew CDATA #IMPLIED>
<!ELEMENT twOffInTblRow (twSrc, twSUHSlackTime*)>       
<!ELEMENT twSUHSlackTime (twSU2ClkTime?,twH2ClkTime?)>
<!ATTLIST twSUHSlackTime twSetupSlack CDATA #IMPLIED  twHoldSlack CDATA #IMPLIED>
<!ELEMENT twOffOutTblRow EMPTY>
<!ATTLIST twOffOutTblRow twOutPad CDATA #IMPLIED>
<!ATTLIST twOffOutTblRow twSlack CDATA #IMPLIED>
<!ATTLIST twOffOutTblRow twRelSkew CDATA #IMPLIED>
<!ELEMENT twNonDedClks ((twWarn | twInfo), twNonDedClk+)>
<!ELEMENT twNonDedClk (#PCDATA)>
<!ELEMENT twSum ( twErrCnt, twScore, twConstCov, twStats)>
<!ELEMENT twScore (#PCDATA)>
<!ELEMENT twConstCov (twPathCnt, twNetCnt, twConnCnt, twPct?)>
<!ELEMENT twPathCnt (#PCDATA)>
<!ELEMENT twNetCnt (#PCDATA)>
<!ELEMENT twConnCnt (#PCDATA)>
<!ELEMENT twPct (#PCDATA)>
<!ELEMENT twStats ( twMinPer?, twFootnote?, twMaxFreq?, twMaxCombDel?, twMaxFromToDel?, twMaxNetDel?, twMaxNetSkew?, twMaxInAfterClk?, twMinInBeforeClk?, twMaxOutBeforeClk?, twMinOutAfterClk?, (twInfo | twWarn)*)>
<!ELEMENT twMaxCombDel (#PCDATA)>
<!ELEMENT twMaxFromToDel (#PCDATA)>
<!ELEMENT twMaxNetDel (#PCDATA)>
<!ELEMENT twMaxNetSkew (#PCDATA)>
<!ELEMENT twMaxInAfterClk (#PCDATA)>
<!ELEMENT twMinInBeforeClk (#PCDATA)>
<!ELEMENT twMaxOutBeforeClk (#PCDATA)>
<!ELEMENT twMinOutAfterClk (#PCDATA)>
<!ELEMENT twFoot (twFootnoteExplanation*, twTimestamp)>
<!ELEMENT twTimestamp (#PCDATA)>
<!ELEMENT twFootnoteExplanation EMPTY>
<!ATTLIST twFootnoteExplanation number CDATA #REQUIRED>
<!ATTLIST twFootnoteExplanation text CDATA #REQUIRED>
<!ELEMENT twClientInfo (twClientName, twAttrList?)>
<!ELEMENT twClientName (#PCDATA)>
<!ELEMENT twAttrList (twAttrListItem)*>
<!ELEMENT twAttrListItem (twName, twValue*)>
<!ELEMENT twName (#PCDATA)>
<!ELEMENT twValue (#PCDATA)>
]>
<twReport><twHead><twExecVer>Release 10.1.03 Trace  (nt)</twExecVer><twCopyright>Copyright (c) 1995-2008 Xilinx, Inc.  All rights reserved.</twCopyright><twCmdLine>C:\Xilinx\10.1\ISE\bin\nt\unwrapped\trce.exe -ise
E:/ProjFPGA/ct-BASIC-LCD/main/main.ise -intstyle ise -v 3 -s 4 -xml main
main.ncd -o main.twr main.pcf -ucf E:/ProjFPGA/ct-BASIC-LCD/source/main.ucf

</twCmdLine><twDesign>main.ncd</twDesign><twPCF>main.pcf</twPCF><twDevInfo arch="spartan3" pkg="tq144"><twDevName>xc3s400</twDevName><twSpeedGrade>-4</twSpeedGrade><twSpeedVer>PRODUCTION 1.39 2008-01-09</twSpeedVer></twDevInfo><twRptInfo twRptLvl="twVerbose"></twRptInfo><twEnvVar name="NONE" description="No environment variables were set" /></twHead><twInfo>INFO:Timing:2698 - No timing constraints found, doing default enumeration.</twInfo><twInfo>INFO:Timing:2752 - To get complete path coverage, use the unconstrained paths option. All paths that are not constrained will be reported in the unconstrained paths section(s) of the report.</twInfo><twInfo>INFO:Timing:3339 - The clock-to-out numbers in this timing report are based on a 50 Ohm transmission line loading model.  For the details of this model, and for more information on accounting for different loading conditions, please see the device datasheet.</twInfo><twBody><twVerboseRpt><twDataSheet twNameLen="15"><twSUH2ClkList twDestWidth = "9" twPhaseWidth = "6"><twDest>ClkIn</twDest><twSUH2Clk ><twSrc>Opto_Rx</twSrc><twSUHTime twInternalClk ="SYSCLK" twClkPhase ="0.000" ><twSU2ClkTime twEdge="twRising">1.841</twSU2ClkTime><twH2ClkTime twEdge="twRising">0.002</twH2ClkTime></twSUHTime></twSUH2Clk><twSUH2Clk ><twSrc>PS2_Clk</twSrc><twSUHTime twInternalClk ="SYSCLK" twClkPhase ="0.000" ><twSU2ClkTime twEdge="twRising">1.098</twSU2ClkTime><twH2ClkTime twEdge="twRising">0.598</twH2ClkTime></twSUHTime></twSUH2Clk><twSUH2Clk ><twSrc>PS2_Data</twSrc><twSUHTime twInternalClk ="SYSCLK" twClkPhase ="0.000" ><twSU2ClkTime twEdge="twRising">1.299</twSU2ClkTime><twH2ClkTime twEdge="twRising">0.436</twH2ClkTime></twSUHTime></twSUH2Clk><twSUH2Clk ><twSrc>Serial_Rx</twSrc><twSUHTime twInternalClk ="SYSCLK" twClkPhase ="0.000" ><twSU2ClkTime twEdge="twRising">1.565</twSU2ClkTime><twH2ClkTime twEdge="twRising">0.223</twH2ClkTime></twSUHTime></twSUH2Clk></twSUH2ClkList><twSUH2ClkList twDestWidth = "9" twPhaseWidth = "11"><twDest>F_SCK</twDest><twSUH2Clk ><twSrc>F_MOSI</twSrc><twSUHTime twInternalClk ="F_SCK_BUFGP" twClkPhase ="0.000" ><twSU2ClkTime twEdge="twRising">1.395</twSU2ClkTime><twH2ClkTime twEdge="twRising">3.009</twH2ClkTime></twSUHTime></twSUH2Clk><twSUH2Clk ><twSrc>VRAM_D&lt;0&gt;</twSrc><twSUHTime twClkPhase="0.000" twInternalClk ="F_SCK_BUFGP"><twSU2ClkTime twEdge="twFalling">-0.123</twSU2ClkTime><twH2ClkTime twEdge="twFalling">2.602</twH2ClkTime></twSUHTime></twSUH2Clk><twSUH2Clk ><twSrc>VRAM_D&lt;1&gt;</twSrc><twSUHTime twClkPhase="0.000" twInternalClk ="F_SCK_BUFGP"><twSU2ClkTime twEdge="twFalling">0.122</twSU2ClkTime><twH2ClkTime twEdge="twFalling">2.406</twH2ClkTime></twSUHTime></twSUH2Clk><twSUH2Clk ><twSrc>VRAM_D&lt;2&gt;</twSrc><twSUHTime twClkPhase="0.000" twInternalClk ="F_SCK_BUFGP"><twSU2ClkTime twEdge="twFalling">0.720</twSU2ClkTime><twH2ClkTime twEdge="twFalling">1.928</twH2ClkTime></twSUHTime></twSUH2Clk><twSUH2Clk ><twSrc>VRAM_D&lt;3&gt;</twSrc><twSUHTime twClkPhase="0.000" twInternalClk ="F_SCK_BUFGP"><twSU2ClkTime twEdge="twFalling">-0.490</twSU2ClkTime><twH2ClkTime twEdge="twFalling">2.896</twH2ClkTime></twSUHTime></twSUH2Clk><twSUH2Clk ><twSrc>VRAM_D&lt;4&gt;</twSrc><twSUHTime twClkPhase="0.000" twInternalClk ="F_SCK_BUFGP"><twSU2ClkTime twEdge="twFalling">0.378</twSU2ClkTime><twH2ClkTime twEdge="twFalling">2.202</twH2ClkTime></twSUHTime></twSUH2Clk><twSUH2Clk ><twSrc>VRAM_D&lt;5&gt;</twSrc><twSUHTime twClkPhase="0.000" twInternalClk ="F_SCK_BUFGP"><twSU2ClkTime twEdge="twFalling">0.142</twSU2ClkTime><twH2ClkTime twEdge="twFalling">2.390</twH2ClkTime></twSUHTime></twSUH2Clk><twSUH2Clk ><twSrc>VRAM_D&lt;6&gt;</twSrc><twSUHTime twClkPhase="0.000" twInternalClk ="F_SCK_BUFGP"><twSU2ClkTime twEdge="twFalling">-0.208</twSU2ClkTime><twH2ClkTime twEdge="twFalling">2.671</twH2ClkTime></twSUHTime></twSUH2Clk><twSUH2Clk ><twSrc>VRAM_D&lt;7&gt;</twSrc><twSUHTime twClkPhase="0.000" twInternalClk ="F_SCK_BUFGP"><twSU2ClkTime twEdge="twFalling">0.213</twSU2ClkTime><twH2ClkTime twEdge="twFalling">2.333</twH2ClkTime></twSUHTime></twSUH2Clk></twSUH2ClkList><twClk2OutList twDestWidth = "10" twPhaseWidth = "6"><twSrc>ClkIn</twSrc><twClk2Out  twOutPad = "LCDCLK" twMinTime = "8.892" twMinEdge ="twRising" twMaxTime = "10.147" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "LCDDATA&lt;0&gt;" twMinTime = "12.208" twMinEdge ="twRising" twMaxTime = "19.882" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "LCDDATA&lt;1&gt;" twMinTime = "12.104" twMinEdge ="twRising" twMaxTime = "19.010" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "LCDDATA&lt;2&gt;" twMinTime = "11.707" twMinEdge ="twRising" twMaxTime = "18.029" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "LCDDATA&lt;3&gt;" twMinTime = "11.985" twMinEdge ="twRising" twMaxTime = "18.094" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "LCDFRAME" twMinTime = "9.165" twMinEdge ="twRising" twMaxTime = "10.489" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "LCDLOAD" twMinTime = "9.612" twMinEdge ="twRising" twMaxTime = "11.047" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "OEN" twMinTime = "11.384" twMinEdge ="twRising" twMaxTime = "18.091" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "Opto_Tx" twMinTime = "10.525" twMinEdge ="twRising" twMaxTime = "12.186" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "Serial_Tx" twMinTime = "10.499" twMinEdge ="twRising" twMaxTime = "12.154" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "TestLED" twMinTime = "12.923" twMinEdge ="twRising" twMaxTime = "15.803" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "VRAM_A&lt;0&gt;" twMinTime = "12.059" twMinEdge ="twRising" twMaxTime = "17.755" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "VRAM_A&lt;1&gt;" twMinTime = "11.865" twMinEdge ="twRising" twMaxTime = "17.492" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "VRAM_A&lt;2&gt;" twMinTime = "11.206" twMinEdge ="twRising" twMaxTime = "17.522" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "VRAM_A&lt;3&gt;" twMinTime = "11.585" twMinEdge ="twRising" twMaxTime = "16.236" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "VRAM_A&lt;4&gt;" twMinTime = "11.751" twMinEdge ="twRising" twMaxTime = "17.607" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "VRAM_A&lt;5&gt;" twMinTime = "11.742" twMinEdge ="twRising" twMaxTime = "17.443" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "VRAM_A&lt;6&gt;" twMinTime = "11.750" twMinEdge ="twRising" twMaxTime = "17.535" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "VRAM_A&lt;7&gt;" twMinTime = "11.227" twMinEdge ="twRising" twMaxTime = "16.127" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "VRAM_A&lt;8&gt;" twMinTime = "10.537" twMinEdge ="twRising" twMaxTime = "16.183" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "VRAM_A&lt;9&gt;" twMinTime = "10.398" twMinEdge ="twRising" twMaxTime = "16.237" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "VRAM_A&lt;10&gt;" twMinTime = "10.447" twMinEdge ="twRising" twMaxTime = "15.563" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "VRAM_A&lt;11&gt;" twMinTime = "10.291" twMinEdge ="twRising" twMaxTime = "15.562" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "VRAM_A&lt;12&gt;" twMinTime = "10.108" twMinEdge ="twRising" twMaxTime = "15.543" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "VRAM_A&lt;13&gt;" twMinTime = "10.493" twMinEdge ="twRising" twMaxTime = "16.278" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "VRAM_A&lt;14&gt;" twMinTime = "10.049" twMinEdge ="twRising" twMaxTime = "15.858" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "VRAM_A&lt;15&gt;" twMinTime = "10.400" twMinEdge ="twRising" twMaxTime = "16.186" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "VRAM_D&lt;0&gt;" twMinTime = "12.154" twMinEdge ="twRising" twMaxTime = "19.156" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "VRAM_D&lt;1&gt;" twMinTime = "10.473" twMinEdge ="twRising" twMaxTime = "19.318" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "VRAM_D&lt;2&gt;" twMinTime = "11.011" twMinEdge ="twRising" twMaxTime = "18.504" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "VRAM_D&lt;3&gt;" twMinTime = "11.245" twMinEdge ="twRising" twMaxTime = "19.664" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "VRAM_D&lt;4&gt;" twMinTime = "11.819" twMinEdge ="twRising" twMaxTime = "20.175" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "VRAM_D&lt;5&gt;" twMinTime = "12.465" twMinEdge ="twRising" twMaxTime = "19.030" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "VRAM_D&lt;6&gt;" twMinTime = "12.502" twMinEdge ="twRising" twMaxTime = "20.168" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "VRAM_D&lt;7&gt;" twMinTime = "11.896" twMinEdge ="twRising" twMaxTime = "19.031" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out><twClk2Out  twOutPad = "WEN" twMinTime = "12.258" twMinEdge ="twRising" twMaxTime = "18.638" twMaxEdge ="twRising" twInternalClk="SYSCLK" twClkPhase="0.000" ></twClk2Out></twClk2OutList><twClk2OutList twDestWidth = "6" twPhaseWidth = "9"><twSrc>F_RS</twSrc><twClk2Out  twOutPad = "F_MISO" twMinTime = "12.719" twMinEdge ="twRising" twMaxTime = "20.255" twMaxEdge ="twRising" twInternalClk="F_RS_IBUF" twClkPhase="0.000" ></twClk2Out></twClk2OutList><twClk2OutList twDestWidth = "6" twPhaseWidth = "11"><twSrc>F_SCK</twSrc><twClk2Out  twOutPad = "F_MISO" twMinTime = "12.501" twMinEdge ="twFalling" twMaxTime = "16.570" twMaxEdge ="twFalling" twInternalClk="F_SCK_BUFGP" twClkPhase="0.000" ></twClk2Out></twClk2OutList><twClk2SUList twDestWidth = "5"><twDest>ClkIn</twDest><twClk2SU><twSrc>ClkIn</twSrc><twRiseRise>17.856</twRiseRise></twClk2SU><twClk2SU><twSrc>F_DS</twSrc><twRiseRise>4.376</twRiseRise><twFallRise>4.376</twFallRise></twClk2SU><twClk2SU><twSrc>F_RS</twSrc><twRiseRise>10.056</twRiseRise></twClk2SU></twClk2SUList><twClk2SUList twDestWidth = "5"><twDest>F_DS</twDest><twClk2SU><twSrc>F_SCK</twSrc><twRiseRise>2.326</twRiseRise></twClk2SU></twClk2SUList><twClk2SUList twDestWidth = "5"><twDest>F_RS</twDest><twClk2SU><twSrc>F_SCK</twSrc><twRiseRise>2.463</twRiseRise></twClk2SU></twClk2SUList><twClk2SUList twDestWidth = "5"><twDest>F_SCK</twDest><twClk2SU><twSrc>ClkIn</twSrc><twRiseFall>2.927</twRiseFall></twClk2SU><twClk2SU><twSrc>F_DS</twSrc><twRiseFall>4.102</twRiseFall><twFallFall>4.102</twFallFall></twClk2SU><twClk2SU><twSrc>F_RS</twSrc><twRiseFall>6.965</twRiseFall></twClk2SU><twClk2SU><twSrc>F_SCK</twSrc><twRiseRise>3.027</twRiseRise><twFallFall>4.502</twFallFall></twClk2SU></twClk2SUList><twPad2PadList twSrcWidth = "4" twDestWidth = "6"><twPad2Pad><twSrc>F_DS</twSrc><twDest>F_MISO</twDest><twDel>17.817</twDel></twPad2Pad></twPad2PadList><twOffsetTables></twOffsetTables></twDataSheet></twVerboseRpt></twBody><twFoot><twTimestamp>Tue Nov 03 12:47:32 2009 </twTimestamp></twFoot><twClientInfo><twClientName>Trace</twClientName><twAttrList><twAttrListItem><twName>Trace Settings</twName><twValue>

Peak Memory Usage: 111 MB
</twValue></twAttrListItem></twAttrList></twClientInfo></twReport>
