next up previous contents index
Next: The Assemble Button: Layout Up: The Format Conversion Button: Previous: The Format Conversion Button:   Contents   Index


Generating ASCII Output from Layout Data

The conversion of GDSII to ``gds-text'' is a diagnostic tool for converting the data in a (binary) GDSII file into a text form. Each record of the stream file is parsed and output generated in sequence. The text file can grow quite large, though a range specification can be given to limit the number of records printed. The text file is mainly used as a diagnostic for misbehaving GDSII files. It can be reconverted into a GDSII file, thus, the text representation is in effect another valid file format for layout data. This facility allows corrupted or otherwise problematic GDSII files to be repaired.

OASIS files converted to ASCII text use the same ASCII record format as anuvad-0.8 from SoftJin (http://www.softjin.com/html/anuvad.htm), except for the separator lines that indicate the start of physical and electrical records. The anuvad tool set is free, and contains libraries and programs to convert between GDSII and OASIS formats, and to/from ASCII text representations of those formats. The boolean variable OasPrintNoWrap will suppress line wrapping when set, i.e., each record will occupy one possibly very long text line. The boolean variable OasPrintOffset will add file offsets to the output when set. These variables track the settings of the check boxes on the ASCII text output format tab page in the Format Conversion panel.

When converting to text format, the user will be prompted for an optional range specification string. If no string is given, the entire archive file will be written as text. The range specification string is expected to be in the following format.

[start_offs[-end_offs]] [-r rec_count] [-c cell_count]

The square brackets indicate optional terms. The meanings are:

start_offs
An integer, in decimal or ``0x'' hex format (a hex digit preceded by ``0x''). The printing will begin at the first record with offset greater than or equal to this value.

end_offs
An integer in decimal or ``0x'' hex format. If this value is greater than start_offs, the last record printed is at most the one containing this offset. If given, this should appear after a `-' character following the start_offs, with no space.

rec_count
A positive integer, at most this many records will be printed.

cell_count
A non-negative integer, at most the records for this many cell definitions will be printed. If given as 0, the records from the start_offs to the next cell definition will be printed.

Records are printed from the beginning of the file, or the start_offs if given. Printing continues to the end of the file, or to the first of end_offs, rec_count, or cell_count if any of these have been given.

Back-conversion of the ASCII output into binary form is unlikely to succeed unless the whole file is written as ASCII.


next up previous contents index
Next: The Assemble Button: Layout Up: The Format Conversion Button: Previous: The Format Conversion Button:   Contents   Index
Stephen R. Whiteley 2017-04-09