page header

 

Extending the AIF Format

June 25, 2001

Several users who have adopted AIF would like to add extensions to it in order to describe either electrical or other features not currently in the spec. Nothing prevents you from doing so if you write your own tools, but of course, the main purpose of AIF is to be able to exchange data easily with others so arbitrarily extending the database is not a good idea.

 

 

 

Nevertheless, we understand that these extensions are useful and will be added by various users so we would like to offer both some guidelines and also some examples of where Artwork is planning extensions. This advise applies to those who are writing AIF readers or parsers: In general, if you don't recognize a section or a parameter, ignore it.




 

Adding a new Section

The cleanest way to extend AIF is to use a new section. Most readers should be able to bypass an unrecognized section. Suppose you wanted to describe some layer stackup information - something that AIF does not deal with. Your best bet would be to create a new section [stackup] followed by parameters you need. Here's an example:

[STACKUP]
L1=WIREBOND,WBT1,0.00,9.99E6, 1.000
L2=MElTAL,M1,0.002,9.99E6,0.99995
L3=DIELECTRIC,K1,0.100,0.0E-5,0.4509

It might also be a good idea to put a comment or two before the section that desscribes the purpose of the extension, who created it and how to contact them. This might be helpful later on if the extension either causes a problem or if others would like to "adopt" it.

;AIF Extension by XYZ, Corp. May 10, 2001
;describes layer stackup
;contact John James, jjames@xyz.com
;layer#=type,name,thickness,conductivity,permitivity
[STACKUP]
L1=WIREBOND,WBT1,0.00,9.99E6, 1.000
L2=METAL,M1,0.002,9.99E6,0.99995
L3=DIELECTRIC,K1,0.100,0.0E-5,0.4509


 

Adding New Parameters to an Existing Section

In principal one should be able to add new "parameters" to an existing section; however this may cause some AIF readers that are not robust enough to crash. So this method is not preferred unless there is a compelling reason to do so.

Consider the case when you wish to add to the die section a thermal junction coefficient.

[DIE]
NAME=testdie45
WIDTH=6400
HEIGHT=6450
THETAJC=0.85

A properly constructed parser will not recognize the THETAJC parameter and should ignore it.