IBIS Component Use Model (ibis)
Description
IBIS (I/O Buffer Information Specification) is a standard for electronic behavioral specification of integrated circuit (IC) input/output analog characteristics. It allows you to define a model for the IC component package, and a buffer model for each pin. IBIS standard also allows you to describe a board-level component containing several components on a common substrate or printed circuit board (PCB). For example, a SIMM module is a board-level component that is used to attach several DRAM components on the PCB to a motherboard through edge connector pins. Board pins, components on the board, and connections between them are defined in an Electrical Board Description file with extension.ebd. Component pins, buffers, and package descriptions are in a separate IBIS file with extension.ibs. An Additional Package file with extension.pkg can be used to describe advanced package models.
Spectre supports IBIS 6.0 and previous versions. Some keywords are not supported.
IBIS files can be referenced in Spectre netlist by using the ibis_include statement:
ibis_include "DRAM.ibs" [options]
IBIS file "DRAM.ibs" is translated into Spectre netlist format by using ibis2subckt utility. The output file, "DRAM.scs", containing subcircuit definitions for each IBIS component, board, and package found in the input IBIS file, is included in the netlist. The list of options may consist of: corner={typ|min|max|slow|fast}, swsel=<int> and mdsel=<int>. These options are transferred to ibis2subckt. They are used to select IBIS buffer model corner, change position of series-switch models, and choose the required models from model selector list.
IBIS component and board subcircuits can be instantiated in a Spectre netlist along with regular Spectre primitives. Subcircuit name is the same as the component name, but is appended with the suffix_ibis. Subcircuit terminals are component pins, arranged in the order they are listed in the IBIS file. Each pin terminal is followed by a number of signal terminals, depending on the type of the pin buffer model. For example, if m1 is defined in IBIS file as an input buffer model, and m2 - as I/O type, the following IBIS component:
[Component] IC
[Pin] signal_name model_name R_pin L_pin C_pin
p1 s1 GND
p3 s3 m1
p4 s4 NC
p5 s5 m2
p2 s2 POWER
can be instantiated in the netlist as:
x_ic ( p1 p3 s3_in p4 p5 s5_in s5_out s5_en p2 ) IC_ibis
ibis2subckt can also be used as a stand-alone utility with the following command-line arguments:
ibis2subckt -in <IBIS files> -out <subckt file> -corner {typ|min|max|slow|fast} -swsel <int> -mdsel <int>
corner typ
mdsel -1
swsel -1
For the IBIS component, Spectre also supports the SPICE .IBIS and .EBD statements.
The supported parameters of.IBIS syntax are file, component, mod_sel, package, and typ.
.IBIS Parameters
The supported parameters of the .EBD syntax are file, model, and component.
|
Specifies name of the board-level model provided in |
|
|
Specifies the component name of the ibis buffer. Multiple components are supported. |
.ibis I1
+ file = file.ibs
+ component = Component
+ mod_sel = DQ=DQ1,CQ=CQ1
+ package=0
+ typ=slow
.ebd pkg
+ file = file.ebd
+ model = XXXX
+ component = Component1
+ component = Component2
Supported IBIS Keywords in Spectre
The following shows the sections and keywords in the IBIS file that are supported in Spectre:
.ibis FILE
FILE Header Section
[IBIS Ver]
[Comment Char]
[File Name]
[File Rev]
[Date]
[Source]
[Notes]
[Disclaimer]
[Copyright]
[Component] Si Location, Timing_location
[Manufacturer]
[Package] R_pkg, L_pkg, C_pkg
[Pin] signal_name, model_name, R_pin, L_pin, C_pin
[Package Model]
[Pin Mapping] pulldown_ref, pullup_ref, gnd_clamp_ref, power_clamp_ref, ext_ref
[Diff Pin] inv_pin, vdiff, tdelay_typ, tdelay_min, tdelay_max
[Series Pin Mapping] pin_2, model_name, function_table_group
[Series Switch Groups] On (m), Off (m)
[Model Selector]
[Model] Model_type, Polarity, Enable, Vinl, Vinh, C_comp, C_comp_pullup, C_comp_pulldown, C_comp_power_clamp, C_comp_gnd_clamp, Vmeas, Cref, Rref, Vref
[Model Spec] Vinh, Vin1
[Add Submodel]
[Driver Schedule]
[Temperature Range]
[Voltage Range]
[Pullup Reference]
[Pulldown Reference]
[Power Clamp Reference]
[GND Clamp Reference]
[C Comp Corner] C_comp, C_comp_pullup, C_comp_pulldown,
C_comp_power_clamp, C_comp_gnd_clamp
[Pulldown]
[Pullup]
[GND Clamp]
[POWER Clamp]
[ISSO PU]
[ISSO PD]
[Rgnd]
[Rpower]
[Rac]
[Cac]
[On]
[Off]
[R Series]
[L Series]
[R1 Series]
[C Series]
[LC Series]
[RC Series]
[Series Current]
[Series MOSFET] Vds
[Ramp] dV/dt_r, dV/dt_f, R_load
[Rising Waveform] R_fixture, V_fixture, V_fixture_min, V_fixture_max, C_fixture, L_fixture,
[Composite Current]
[Falling Waveform] _fixture, V_fixture, V_fixture_min, V_fixture_max, C_fixture, L_fixture,
[Composite Current]
[External Model] Language, Corner, Parameters, Ports, D_to_A, A_to_D
[End External Model]
[Sub Model] Sub model type
[Sub Model Spec] V_trigger_r, V_trigger_f
[POWER Pulse Table]
[GND Pulse Table]
[Pulldown]
[Pullup]
[GND Clamp]
[POWER Clamp]
[Ramp] dV/dt_r, dV/dt_f, R_load
[Rising Waveform] R_fixture, V_fixture, V_fixture_min, V_fixture_max, C_fixture, L_fixture,
[Falling Waveform] R_fixture, V_fixture, V_fixture_min, V_fixture_max, C_fixture, L_fixture,
[Define Package Model]
[Manufacturer]
[OEM]
[Description]
[Number of Sections]
[Number of Pins]
[Pin Numbers] Len, L, R, C, Fork, Endfork
[Model Data]
[Resistance Matrix] Banded_matrix, Sparse_matrix, Full_matrix
[Bandwidth]
[Row]
[Inductance Matrix] Banded_matrix, Sparse_matrix, Full_matrix
[Bandwidth]
[Row]
[Capacitance Matrix] Banded_matrix, Sparse_matrix, Full_matrix
[Bandwidth]
[Row]
[End Model Data]
[End Package Model’
[END]
The following shows the sections and keywords in the package file that are supported in Spectre:
.pkg FILE
FILE Header Section
[IBIS Ver]
[Comment Char]
[File Name]
[File Rev]
[Date]
[Source]
[Notes]
[Disclaimer]
[Copyright]
[Define Package Model]
[Manufacturer]
[OEM]
[Description]
[Number of Sections]
Number of Pins]
[Pin Numbers] Len, L, R, C, Fork, Endfork
[Model Data]
[Resistance Matrix] Banded_matrix, Sparse_matrix, Full_matrix
[Bandwidth]
[Row]
[Inductance Matrix] Banded_matrix, Sparse_matrix, Full_matrix
[Bandwidth]
[Row]
[Capacitance Matrix] Banded_matrix, Sparse_matrix, Full_matrix
[Bandwidth]
[Row]
[End Model Data]
[End Package Model’
[END]
The following shows the sections and keywords in the EBD file that are supported in Spectre:
.pkg FILE
FILE Header Section
[IBIS Ver]
[Comment Char]
[File Name]
[File Rev]
[Date]
[Source]
[Notes]
[Disclaimer]
[Copyright]
[Begin Board Description]
[Manufacturer]
[Number of Pins]
[Pin List] signal_name
[Path Description] Len, L, R, C, Fork, Endfork, Pin, Node
[Reference Designator Map]
[End Board Description]
[END]
Return to top