[ibis-macro] Re: Analog BIRD overview slide

  • From: "Walter Katz" <wkatz@xxxxxxxxxx>
  • To: <Arpad_Muranyi@xxxxxxxxxx>, "'IBIS-ATM'" <ibis-macro@xxxxxxxxxxxxx>
  • Date: Wed, 04 Jan 2012 13:11:17 -0500 (EST)


Let me propose a new approach to Analog Models. I will go for the gold,
and assume that we have defined IBIS-BSS (Buffer Spice Subckts). An
IBIS-BSS will be one (or more) .bss files. There is similar complexities
of interfacing to a SPICE subkt as there are to interfacing to an AMI DLL.
My suggestion is that the interface to the subckt be a .bsi file using the
parameter tree language we defined for .ami files.

Using the various Formats, Usage and Types we can use the .bsi file to
handle more than three corners, and defining additional subckt ports and
parameters that would be passed to the subckt. Here is an example of what
an IO buffer .bsi file might look like:

(Model_Type (Value "I/O") (Usage Info) (Type String))
(Supporting_Files (List "typ.bss" "slow.bss" "fast.bss") (Usage Info)
(Type String))
(File         (Corner "typ.bss" "slow.bss" "fast.bss") (Usage Info) (Type
(Subckt  ( Corner "typ"        "slow"         "fast"        ) (Usage Info)
(Type String))
(Ports     (Usage Info) (Type String String String String String String
                 (Table  ("Stimulus" "Enable" "Pad" "Z" "PuRef" "PdRef")))
(Stimulus (Rise_Time (Corner 50e-12 70e-12 30e-12) (Usage Info)(Type
                    (VoL (Value 0.) (Usage Info)(Type Float))
                    (VoH (Value 1.) (Usage Info)(Type Float)))
(Enable (Rise_Time (Corner 50e-12 70e-12 30e-12) (Usage Info)(Type Float))
                    (On (Value 0.) (Usage Info)(Type Float))
                    (Off (Value 1.) (Usage Info)(Type Float)))
(PdRef (Value 0.) (Usage Info)(Type Float))
(PuRef (Corner 1.3 1.1 1.5)  (Usage Info)(Type Float))
(Params (Vref (Corner .65 .55 .75) (Usage In)(Type Float))
                 (Framis (Corner 53 87 24) (Usage In)(Type Float)))   

An AMI ISS Tx .bsi file might be:

(Model_Type (Value "Differential_Output") (Usage Info) (Type String))
(File         (Value "AMI(subckt_file)") (Usage Info) (Type String))
(Subckt  (Value "AMI(subckt)") (Usage Info) (Type String))
(Ports     (Usage Info) (Type String String String String))
                 (Table  ("Stimulus_H" "Stimulus_L" "Pad_H" "Pad_L")))
(Stimulus (Rise_Time (Value AMI(Trf)) (Usage Info)(Type Float))
                    (VoL (Value 0.) (Usage Info)(Type Float))
                    (VoH (Value AMI(Voh)) (Usage Info)(Type Float)))
 (Params (Rs (Value AMI(Trf)) (Usage In)(Type Float))
                   (Framis (Value AMI(Framis)) (Usage In)(Type Float)))   

I think both of these example are self-documenting, and describe exactly
how a model instance would be instantiated in a SPICE netlist.

Of course, this syntax can be included directly in the .ibs file, but it
may be convenient to have them in separate files that get delivered with
the .bss and .iss files. This way multiple .ibs files that used the same
buffer model would only need a pointer to the .bsi file in the [Model]

I think package modeling could use a similar approach. For example, all of
the pin models of a package can often use the same subckt on each pin,
parameterized by a length. So associated with each pin might be a .ips
file e.g. in the [Pin] section, instead of NA NA NA for RLC as in: 
     <pin> <signal> <mode> NA NA NA
one might have
     <pin> <signal> <mode> pkg.ips pkglen=.01

And then the pkg.ips file might be

(Model_Type (Value "Single_Ended") (Usage Info) (Type String))
(File         (Value "pkg.iss") (Usage Info) (Type String))
(Subckt  (Value "pkg") (Usage Info) (Type String))
(Ports     (Usage Info) (Type String String))
                 (Table  ("Pad" "Pin")))
(Params (pkglen (Range .015 .05 .3) (Usage In)(Type Float))
                  (Impedance (Range 50 45 55) (Usage In)(Type Float)))   


-----Original Message-----
From: ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Muranyi, Arpad
Sent: Tuesday, January 03, 2012 4:22 PM
Subject: [ibis-macro] Analog BIRD overview slide

Hello everyone,

Now that we have submitted BIRD 123.3 to the IBIS Open Forum, I would like
to dive into the discussion of our next major topic, the analog modeling

As promised in the ATM meeting today, I am distributing this slide to
serve as a discussion starter.  This slide is just the beginning of a
summary I would like to put together on the various analog modeling BIRDs.
I would like to add more detail as we go with our discussions to summarize
the content of each proposal appropriately so that at the end we can make
decisions on what to keep, what to merge and what to discard.

Comments, questions, suggestions welcome.


IBIS Macro website  :  http://www.eda.org/pub/ibis/macromodel_wip/
IBIS Macro reflector:  //www.freelists.org/list/ibis-macro
To unsubscribe send an email:
  To: ibis-macro-request@xxxxxxxxxxxxx
  Subject: unsubscribe

Other related posts: