| | ex2 - An example of how a tristate buffer model is built. This | example uses the [NoModel] switch to create "dummy" input | and enable pins that have no corresponding models in the | IBIS file. | | | Specify the IBIS version and file revision number. | [IBIS Ver] 2.1 [File rev] 1 | | Add some comments to identify the file. | [date] October 22, 2002 [source] From MegaFLOPS Inc. layout and silicon models. [notes] I really wouldn't try to use this driver. It's really bad. [disclaimer] This file is only for demonstration purposes. It describes a really crummy tri-state driver. You can put blank lines in any of these sections. (But s2ibis2 won't print them.) Of course, as noted in the documentation, any text in these sections is truncated at 1KB. [Copyright] Copyright 2001 MegaFLOPS Inc. | | Give the spice type. Allowable values are hspice, pspice, spice2, | spice3 and spectre. | [Spice type] hspice | | Now specify some global parameters. These parameters will apply to | _all_ the models in this file. | | Note on the [Temperature range] keyword: Since this is a CMOS circuit, | the min column contains the highest temperature, since this temperature | causes or amplifies the "min" (slow, weak) behavior, while the max | column contains the lowest temperature, since this temperature causes or | amplifies the "max" (fast, strong) behavior. If this were a bipolar | circuit, these temperature values would be reversed. | [temperature range] 27 100 0 [voltage range] 3.3 3 3.6 [sim time] 3ns [vil] 0 0 0 [vih] 3.3 3 3.6 [rload] 500 | | Specify the default pin parasitics | [R_pkg] 2.0m 1.0m 4.0m [L_pkg] 0.2nH 0.1nH 0.4nH [C_pkg] 2pF 1pF 4pF | | Component Description | [Component] MCM Trisate Driver [manufacturer] MegaFLOPS Inc. | | Specify the SPICE file where the circuit is located. | [Spice file] tristate.sp | | Now specify the pin list. Since we're just creating an IBIS file for | the driver, we'll use a very short pin list. | | The pin list formats can be found in doc/s2ibis2.txt. Briefly, the | first line of each pin is of the form | | pin_name spice_node signal_name model_name | | If a pin description has more than one line (e.g. the first pin in the | pin list below), the second line is of the form | | -> input_pin enable_pin | | Note that the second line must begin with the symbol "->". | | Therefore, a "translation" of the pin list below would read: | | - The first pin is pin number "out". It corresponds to node "out" in | the given SPICE file. The signal carried on this pin is named | "out". This pin is represented by the model "tristate_driver"; | it is driven by pin number "in" and is enabled by pin number | "enable". | - The second pin is pin number "in", which corresponds to node "in" | in the SPICE file; its signal is named "in". The model for this | pin is "dummy". | - The third pin is pin number "enable", which corresponds to node | "enable" in the SPICE file; its signal is named "enable". The | model for this pin is "dummy" (the same model as the input pin). | - The fourth pin is pin number "gnd", which corresponds to node "gnd" | in the SPICE file; it carries the "gnd" signal. The model for this | pin is "GND", which is an s2ibis2 reserved word that denotes a | ground supply pin. | - The fifth pin is pin number "vdd", which corresponds to node "vdd" | in the SPICE file; it carries the "vdd" signal. The model for this | pin is "POWER", which is an s2ibis2 reserved word that denotes a | power supply pin. | [Pin] out out out tristate_driver -> in ena in in in dummy ena enable enable dummy gnd gnd gnd GND vdd vdd vdd POWER | | Now we give the particulars of the model "tristate_driver". It is of | type "3-State" (allowable types may be found in doc/s2ibis2.txt) and is | non-inverting. We want to use models from the file "spectre.mod" for | typ, min and max simulations, and we want to include both a rising and | falling waveform in our IBIS model. Both the rising and falling | wveforms have a 500 ohm load; the rising waveform has the load | grounded, while the falling waveform has the load connected to 3.3V. | Neither waveform includes any other test fixture or package parasitics. | [Model] tristate_driver [Model type] 3-state [Polarity] Non-inverting [Enable] active-low [Model file] hspice.mod hspice.mod hspice.mod [Rising waveform] 500 0 NA NA NA NA NA NA NA [Falling waveform] 500 3.3 NA NA NA NA NA NA NA | | Now specify stuff for the model "dummy". Since we only wanted to model | the driver, we use the [NoModel] switch to tell s2ibis2 not to create | this model. | [Model] dummy [nomodel]