Article Details

ID: 1911
Case Type: faq
Category: Device Modeling
Related To: IBIS
Family: All FPGA

Search Answer Database

Search Text Image

How can I generate a much smaller IBIS model file that only includes the IO types defined in my project?

Situation: An IBIS model file from the Lattice web site includes all the programmable IO types a device can be set to, but the IBIS model file is very large and for some simulators, can slow the simulation setup time substantially. It is desired to have an IBIS model file that only contains the IO model types used by the project to lower the IBIS model size and speed up the simulation setup.

Answer: The following procedure can be used to generate a much smaller IBIS model file that only includes the IO types used in the project:

  • Start up Lattice Diamond
  • Select FILE, OPEN and browse to the project of interest
  • If you have not already done so, use the spreadsheet view to define the IO types you will be using for each pin.
  • Push the PROCESS tab in the PROCESS window if it is not already selected
  • In the PROCESS main window left click on the IBIS MODEL check box under EXPORT FILES
  • Now right click on IBIS MODEL text link and select RUN
  • Push the OUTPUT tab in the OUTPUT window if it is not already selected
  • Wait until the OUTPUT window prints:  "Done: completed successfully"
  • Go to the IMPL1 directory within the project, or the currently selected implementation
  • There will now be a file in the implementation directory with a file name that has the suffix ".ibs" and the prefix of the simplified IBIS file name will include the name of the project and name of the implementation. For example if the project is called simple, the file name would be by default: simple_impl1.ibs.

As an example, the resultant file size for a LatticeECP3 project with 2 inputs and 2 outputs defined, is about 53K bytes in size, compared to the ~1000 times larger LatticeECP3 IBIS model file available on the Lattice web site. The IBIS model file generated by Diamond also includes the pin numbers associated to the IO types, as well as package parasitic information for the package selected in the project.

Note that it is best to use the latest version of Lattice Diamond as it will generate the most up to date simplified IBIS model file.