TDML: An XML-based Interchange Standard for Waveforms and Timing Specifications
One of the most serious problems facing engineers during the creation of digital systems is the interchange
of design and test data between different EDA tools and test systems. Frequently, data entered or produced
at one stage of development must be completely discarded and manually re-entered because no exchange
mechanism exists for converting data produced in one tool's format into a form acceptable to other tools.
This problem is most evident in the variety formats for representing digital waveform and timing information.
Waveform and timing parameter data is produced and distributed in many incompatible forms: timing diagrams
in printed data sheets, test vector stimulus, tester pattern files, static timing analyzer reports,
simulation dump files, logic analyzer data, etc. Each format has its own syntax and content requirements,
generally preventing the exchange of even simple waveforms. Ad hoc converters have been written by many
engineers to translate between individual formats, but due to the lack of a standardized intermediate
format, this has meant a new set of translators must be written every time a new format is introduced
in a design flow.
To address this problem, an interchange format called Timing Diagram Markup Language (TDML) has been
created that contains a superset of the information found in existing waveform and timing formats. TDML
stores this data in a structured form that makes it easy for EDA tools and translators to extract only
the portions of the data they need. TDML is also a human readable format, simplifying the creation and
testing of TDML reader and writer programs.
TDML is an XML-based format
TDML is based on the eXtensible Markup Language (XML), which has been hailed as the "next generation"
HTML for the Internet. There have been numerous articles written about XML in which the benefits are
described in terms of merging of database and document concepts in order to efficiently manage large
amounts of information. However, detemining how these benefits apply to engineering data and timing
diagrams may not be completely obvious. For engineers, the most useful benefits of TDML's XML-basis
are: (1) a highly structured, easily parsed format, (2) several freely available XML browsers and parsers
exist that provide file validity checking and simplify the creation of TDML parsers, (3) the format
provides a method for adding and preserving extra information in a TDML file that has not yet been defined
in the standard without breaking the ability of other tools to read the "standard" TDML information.
TDML is simple to parse because all the information is hierarchically organized and contained between
begin and end tags (figure 2 shows a TDML code fragment with start and end tags surrounding a signal
and its waveform). This structuring of the data and the fact that TDML is a text based format makes
it easy for engineers to write export scripts to convert their waveform data to and from TDML.
<signal id="ID2" show="1" show.grid="0">
<conn.ptr conn.id="ID1">SIG0</conn.ptr>
<waveform id="ID3" locked="0">
<e id="ID3V" driven="1" s="1" te="0" tl="0"></e>
<e driven="1" s="0" te="55000" tl="55000"></e>
<e driven="1" s="1" te="90000" tl="90000"></e>
<e driven="1" s="0" te="140000" tl="140000"></e>
<e te="190000" tl="190000"></e>
</waveform>
</signal>
Figure 2: TDML code fragment with start and end tags surrounding a signal and its waveform. Below is
the same waveform, when the TDML file is opened with WaveFormer Pro.
Several free XML parsers (with source code) are available, so TDML capability can easily be added by
EDA vendors and test equipment manufacturers. One relatively unique aspect of XML-based versions of
TDML parsers is that they can "validate" TDML files, guaranteeing that the TDML file contains
data that meets TDML file format requirements for structure and content. This ability dramatically reduces
the chance for the inadvertent creation of incompatible versions of TDML files as a result of a misreading
of the TDML specification standard and provides a "confidence check" for TDML users.
To make TDML a truly open standard, TDML supports a method for tools to ignore yet preserve information
that they do not understand. That means that a waveform translator such as SynaptiCAD's WaveFormer Pro
can write TDML files that include voltage threshold levels for generating SPICE files and VHDL and Verilog
signal typing information for generating HDL test stimulus. Yet a simple timing diagram editor can still
read the TDML file and ignore the information that it does not understand. Using the same methods, programs
can store application specific information in their TDML files without having to worry about breaking
other tools that need to read the basic TDML information contained in the files.
History of TDML
In November of 1996, SynaptiCAD learned that the SI2 standards organization was working on the development
of an electronic data sheet standard called ECIX (Electronic Component Interchange and eXchange) and
approached SI2 with a proposal to add a structured format for representing timing diagrams to the ECIX
standard. Subsequently, SI2 issued a Request for Technology and as a result, the TDML Working Group
was formed in December 1997 and the first version of the TDML standard was released in November 1998.
ECIX members include a number of semiconductor manufacturers such as Hewlett-Packard, Hitachi America,
IBM, Intel, Lucent, Motorola, National Semiconductor, Texas Instruments, and Philips Semiconductors.
Most of these manufacturers have plans to begin distributing their component timing information over
the web as TDML files to streamline delivery of component information and simplify import into EDA tools
and test equipment.
TDML and the IP industry
Although the original impetus for the development of TDML was as an interchange format for timing diagrams
that describe hardware components, TDML is equally at home describing "virtual" components
such as intellectual property (IP) cores.
One of the major challenges to using an IP core is to determine a method for communicating with the
IP block. IP blocks communicate using transaction protocols that describe the rules that need to be
followed in order for the block to function correctly. Transaction protocols have long been described
using timing diagrams because they form a concise visual description of cause-effect relationships between
signal events in a transaction. TDML-based timing diagrams can also specify the design constraints such
as setup and hold time requirements that must be met by interacting components.
Another important issue in IP usage is substitution of one IP block with another that is behaviorally
equivalent either for higher performance, increased functionality, or simply because a design is being
ported to a different process. Since timing diagrams focus on describing interface behavior rather than
internal operation, they document the design requirements for IP use without dictating implementation
details, simplifying drop-in replacement of IP blocks.
TDML provides an open format for distribution of protocol specifications, enabling IP vendors to release
complete interface information without tying their customer base to a specific EDA tool suite. An open
format also encourages tool vendors to find new uses for TDML information, increasing the ultimate usefulness
of TDML in the design process.
Free Waveform and TDML waveform viewer available for download
Although TDML is relatively new standard, both a free TDML viewer, WaveViewer, and an evaluation copy
of a commercial TDML-based waveform translator, WaveFormer, are available for download from SynaptiCAD's
web site at http://www.syncad.com. The free TDML viewer can also read waveforms in several other formats
including HP logic analyzer data files and Verilog VCD files. The commercial waveform translator can
import waveforms in any of these formats and translate them into stimulus files in a number of formats
including VHDL, Verilog, SPICE, and HP digital pattern generator format.
Download WaveFormer Pro
Back to Technical Papers page
|