MM,
Note that Model_Specific and Reserved_Parameter branches are described in two
sections of IBIS 7.0. In the [External Model] section and in the AMI section.
The below section for .ami files is quite explicate that the Root can have only
one or two branches and they must be either Reserved_Parameters, or
Reserved_Parameters and Model_Specific. I guess there is no limitation of
Reserved_Parameters or Model_Specific branches below (<Root>(
Reserved_Parameters( or below (<Root>( Model_Specific(, but these would have no
particular meaning to the EDA tool.
We could make it a rule to not allow Model_Specific or Reserved_Parameters
branches or parameters other than one of each below the Root node. Or just
leave what is in IBIS 7.0 alone.
The concept of a .ami file having a "selector" is interesting. I think the way
to do this with a minimal impact on EDA tools is to allow multiple roots in the
.ami file, and the EDA tool would need a "Root Selector".
Do you think there is a need for having a "Root Selector" capability?
Walter
[cid:image001.jpg@01D6086E.5DF35060]
From: ibis-macro-bounce@xxxxxxxxxxxxx <ibis-macro-bounce@xxxxxxxxxxxxx> On
Behalf Of Mirmak, Michael
Sent: Wednesday, April 1, 2020 9:04 PM
To: IBIS-ATM <ibis-macro@xxxxxxxxxxxxx>
Subject: [ibis-macro] Tricky AMI branching question
The IBIS specification currently contains a lot of rules regarding the
Model_Specific and Reserved_Parameters branches within a .ami file. However,
at least in 7.0, there are some curious anomalies:
1. There's no explicit requirement that a given .ami file contain only one
Reserved_Parameters branch, but one is certainly required
2. Similarly, while connecting Model_Specific and Reserved_Parameters
branches to the root branch is explicitly permitted (these are the only ones
permitted), it does not actually seem to be required
What this suggests is that one could create different branches connected to the
root, each subsuming a Model_Specific and a Reserved_Parameters branch, but
within the same .ami file. This would effectively become the equivalent of a
model selector, but for .ami files.
I should note that the parser does *not* support the syntax I am suggesting
here - putting branches between the root and the Model_Specific branch, or root
and the Reserved_Parameters branch results in errors.
However, was this option envisioned? If not, do we need stricter language in
the specification to make the placement requirements for these branches more
explicit?
Thanks in advance...
* MM