[ibis-macro] Re: BIRD 117 AMI parameter uniqueness

  • From: "Muranyi, Arpad" <Arpad_Muranyi@xxxxxxxxxx>
  • To: IBIS-ATM <ibis-macro@xxxxxxxxxxxxx>
  • Date: Tue, 10 Apr 2012 23:33:23 +0000

Mike,

You are making a good point.  But instead of resolving this
on the D_to_A line, as you suggested:

D_to_A D_drive  my_drive my_ref (Vd2a(low)) (Vd2a(high)) (Td2a(fall)) 
(Td2a(rise)) Typ

this should be resolved on the parameter assignment line:

Converter_Parameters  MyVinl = thisfile.ibs:TreeRootName(Vd2a(high))

because the converter parameter name on the D_to_A line is
just a parameter name in the .ibs file (defined by the
"Converter_Parameters" subparameter), not the parameter
name in the parameter tree...

Thanks,

Arpad
=============================================================



-----Original Message-----
From: ibis-macro-bounce@xxxxxxxxxxxxx [mailto:ibis-macro-bounce@xxxxxxxxxxxxx] 
On Behalf Of Mike LaBonte
Sent: Saturday, April 07, 2012 8:03 AM
To: IBIS-ATM
Subject: [ibis-macro] BIRD 117 AMI parameter uniqueness

As we have been discussing BIRD 117, which offers a way to reference
AMI-style parameters trees, I am wondering if we might suffer from
name ambiguity. Consider this fragment of a .ami file:

  (Model_Specific
    (dfe
      (mode (Usage In)(Type Integer)(List 0 1)(Description "DFE on/off
control"))
    )
    (agc
      (mode (Usage In)(Type Integer)(List 0 1)(Description "AGC on/off
control"))
    )
  )

The parameter "mode" appears twice, but as far as I can tell that is
legal because it follows the BIRD 127 rule that "Each sub-branch of a
branch must have a unique name.". I can't find any rule disallowing
two parameters with the same name in different branches.

EDA tools handle this ambiguity by using a syntax like "dfe.mode" and
"agc.mode" when giving users control. But nothing like that is
suggested in BIRD 117. The examples there are simple parameter names
like "MyTrise". It seems it would be up to the EDA tool to walk
through the various branch levels until it finds a parameter at any
level with a matching name. If only one is found, great. If more than
one is found ... then what?

I would feel more comfortable if parameters were always referenced by
full hierarchy. For example:

| D_to_A d_port   port1      port2    vlow     vhigh     trise
tfall    corner_name
D_to_A   D_drive  my_drive   my_ref   MyVlow   MyVhigh1  MyTfall  MyTrise  Typ

could be...

| D_to_A d_port   port1      port2    vlow     vhigh     trise
tfall    corner_name
D_to_A   D_drive  my_drive   my_ref   (Vlow)   (Vhigh1)  (Tfall)  (Trise)  Typ

or...

| D_to_A d_port   port1      port2    vlow     vhigh     trise
tfall    corner_name
D_to_A   D_drive  my_drive   my_ref   (Vd2a(low))   (Vd2a(high))
(Td2a(fall))  (Td2a(rise))  Typ

depending on where the parameters fall in the tree hierarchy.

Mike
---------------------------------------------------------------------
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

---------------------------------------------------------------------
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: