Extending the AIF FormatJune 25, 2001Several 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 SectionThe 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. |