One of the many netlist formats that XJTAG supports is EDIF 2, an open data exchange format that is widely supported. EDIF stores both netlist and schematic data, but XJTAG only uses the netlist data. It often seems like the obvious choice of format to export from your CAD tool to use in XJTAG.
However, there are a number of problems that we have come across with EDIF netlists:
- EDIF export is notoriously badly implemented
Over the years, we have dealt with many support requests where XJTAG has been unable to parse an EDIF netlist, because it contained syntactical errors. These errors range from simply including illegal characters in net names to mismatched brackets. This experience is born out in this Wikipedia article:
Hardly any software vendor wrote EDIF 2 0 0 output that did not have severe violations of syntax or semantics. The semantics were just loose enough that there might be several ways to describe the same data. This began to be known as “flavors” of EDIF. The vendor companies did not always feel it important to allocate many resources to EDIF products, even if they sold a large number of them. There were several stories of active products with virtually no-one to maintain them for years.
- EDIF is slow to parse
EDIF is a complex format that can include hierarchical information. Parsing such a file can be quite slow, making opening an XJTAG project slower than it needs to be.
We therefore recommend that customers try and find an alternative format to use if possible. XJTAG supports over 70 other netlist formats from a wide array of different CAD packages, and are willing to add new formats as they are encountered.
To make the best use of the tools, export the netlist as ODB++. XJDeveloper and XJRunner will then be able view the layout of the board in the layout Viewer.