[ibis-macro] Re: BIRD 121.1 discussion

  • From: "Ken Willis" <kwillis@xxxxxxxxxxx>
  • To: "'Walter Katz'" <wkatz@xxxxxxxxxx>, <fangyi_rao@xxxxxxxxxxx>, <Arpad_Muranyi@xxxxxxxxxx>, <ibis-macro@xxxxxxxxxxxxx>
  • Date: Wed, 13 Jul 2011 10:14:10 -0400

Hi all,

I think you can see from the email string that there is not one standard way
to handle complex AMI models that use supporting files, be they executables,
obj files, rotator linearity files, pole zero files, or anything else. The
supporting files that may or may not be required by a given algorithmic
model are Model_Specific. Trying to shoehorn all IP suppliers into one
hard-coded directory structure does not look like a robust solution to me.

If the model supplier has a number of supporting files to be used with their
DLL, I don't think it is unreasonable for them to put pointers to them in
the Model_Specific section of their AMI file. You can specify a given
"support_file_dir" string parameter, under which can reside directories
a,b,c, and d, and the model should be able to find all the files it needs
from there as far as reading input files. SI engineers have been using Spice
in this manner for 40 years or so, so we are not really on new ground with
this.

I think the EDA tool should be responsible for handling the path to the DLL,
AMI file, IBS file, etc. I don't see why we need to spend time standardizing
these things in the IBIS spec. It is common for a model developer to
intelligently craft a single DLL that can be used for multiple SerDes, by
providing a custom AMI file for each of them. And they could all use
different circuit models. Do we really need to enforce that all of those
items must be placed into one single directory?

I am also not clear on why we need to standardize on prefixing with DLL_ID.
Certainly this should be an option for a model developer, but I again do not
see why it has to be standardized in the IBIS spec. It again seems like a
Model_Specific item that could easily be used here. The model developer
could prefix output files with whatever they wanted to.

In summary, unless I am missing something (which is possible) it seems like
all of these details are Model_Specific, and we have already given the
flexibility for the model developers to handle whatever the given
algorithmic model requires.

Thanks,
 
Ken Willis
Sigrity, Inc.
860-871-7070
kwillis@xxxxxxxxxxx
 
-----Original Message-----
From: Walter Katz [mailto:wkatz@xxxxxxxxxx] 
Sent: Tuesday, July 12, 2011 11:39 PM
To: fangyi_rao@xxxxxxxxxxx; kwillis@xxxxxxxxxxx; Arpad_Muranyi@xxxxxxxxxx;
ibis-macro@xxxxxxxxxxxxx
Subject: RE: [ibis-macro] Re: BIRD 121.1 discussion

Fangyi,

Please remember that supporting files are read only files that the DLL
needs to access. Example of such files in existing models are additional
DLL's or executables (HSSCDR.exe or Matlab.dll), and data files (Pole Zero
data). There are models that also write files (these file would go into
the CWD of the simulation). Examples of files that the DLL writes are
<DLL_ID>.labels or <DLL_ID>.txt. Thus suppoting files should always be
relative to DLL_Path and output file should always be relative to the CWD.

Walter

-----Original Message-----
From: fangyi_rao@xxxxxxxxxxx [mailto:fangyi_rao@xxxxxxxxxxx] 
Sent: Tuesday, July 12, 2011 7:07 PM
To: wkatz@xxxxxxxxxx; kwillis@xxxxxxxxxxx; Arpad_Muranyi@xxxxxxxxxx;
ibis-macro@xxxxxxxxxxxxx
Subject: RE: [ibis-macro] Re: BIRD 121.1 discussion

Hi, Walter;

DLL_Path is not the problem. Supporting_File is. The BIRD requires that
all supporting file paths are relative to DLL_Path. It can't support
models that have some files in CWD and others in DLL_Path. We need a way
for model vendors to tell users which files go to CWD and which go to
DLL_Path. Maybe splitting Supporting_File into Supporint_File_In_CWD and
Supportin_File_In_DLL_Path?

The more fundamental question is how model vendors communicate the
expected file structure to model users and EDA tools.

Regards,
Fangyi

-----Original Message-----
From: Walter Katz [mailto:wkatz@xxxxxxxxxx]
Sent: Tuesday, July 12, 2011 3:48 PM
To: RAO,FANGYI (A-USA,ex1); kwillis@xxxxxxxxxxx; Arpad_Muranyi@xxxxxxxxxx;
ibis-macro@xxxxxxxxxxxxx
Subject: RE: [ibis-macro] Re: BIRD 121.1 discussion

Fangyi,

Each AMI model in a simulation may very well be in different directories.
All the DLL needs to know is which is the directory that I reside in.
DLL_Path is the way the EDA tool communicates to the DLL where it's files
are. How would you propose that we tell the DLL where this directory is?

Walter

-----Original Message-----
From: fangyi_rao@xxxxxxxxxxx [mailto:fangyi_rao@xxxxxxxxxxx]
Sent: Tuesday, July 12, 2011 6:18 PM
To: wkatz@xxxxxxxxxx; kwillis@xxxxxxxxxxx; Arpad_Muranyi@xxxxxxxxxx;
ibis-macro@xxxxxxxxxxxxx
Subject: RE: [ibis-macro] Re: BIRD 121.1 discussion

Hi, Walter;

Some of the supporting files used by IBM models are in CWD.

Consider the case that a model vendor provides two models, A and B. Model
A needs to access a file named file_A from CWD. Model B needs to access
another file named file_B from CWD. Both models also access a third file
named file_common from the path defined by DLL_Path. A user who runs
separate simulations on the two models will set up the following file
structure.

CWD1 (for simulation on model A)
  file_A

CWD2 (for simulation on model B)
  file_B

DLL_Path (for both simulations)
  file_common

A related issue with the file structure suggested in BIRD121 is that for
multiple models (form the same vendor) to share a supporting file, user
will have to place all the .ibs, .ami and dll files of all models and
their supporting files under the same DLL_Path directory. Users can't put
files belong to different models under different directory unless they
place a copy of the shared file in each directory.

Regards,
Fangyi

-----Original Message-----
From: ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Walter Katz
Sent: Tuesday, July 12, 2011 12:00 PM
To: RAO,FANGYI (A-USA,ex1); kwillis@xxxxxxxxxxx; Arpad_Muranyi@xxxxxxxxxx;
ibis-macro@xxxxxxxxxxxxx
Subject: [ibis-macro] Re: BIRD 121.1 discussion

Fangyi,

1. Your interpretation of 1. is correct. I tried to clarify this in the
121.2 I sent out earlier today.

2. All of the vendors that we are aware of that use supporting files have
agreed to the structure suggested by BIRD 121 (TI and IBM). I believe that
it is the only logical way to deliver such files with a .ibs, .dll, and
.ami set. Can you give a reasonable scenario where the supporting files
are in CWD?

Walter

-----Original Message-----
From: fangyi_rao@xxxxxxxxxxx [mailto:fangyi_rao@xxxxxxxxxxx]
Sent: Tuesday, July 12, 2011 2:31 PM
To: kwillis@xxxxxxxxxxx; wkatz@xxxxxxxxxx; Arpad_Muranyi@xxxxxxxxxx;
ibis-macro@xxxxxxxxxxxxx
Subject: RE: [ibis-macro] Re: BIRD 121.1 discussion

Hi, All;

1. The BIRD didn't spell out how a user is expected to arrange the file
structure for a model that specifies Supporting_File and DLL_Path. I think
this is one of reasons for some confusions in this discussion. Based on
Walter's earlier email, I guess the intent is that DLL_Path defines the
directory where all .ibs, .ami and .dll reside, and all supporting file
paths specified by Supporting_File are relative to this directory.
(Correct me if I am wrong, Walter)

2. Will all model vendors and EDA vendors agree on such file structure
suggested by BIRD121? How do we support models that have some supporting
files in a location different from DLL_Path such as CWD?

Regards,
Fangyi

-----Original Message-----
From: ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Ken Willis
Sent: Monday, July 11, 2011 6:31 PM
To: 'Walter Katz'; Arpad_Muranyi@xxxxxxxxxx; 'IBIS-ATM'
Subject: [ibis-macro] Re: BIRD 121.1 discussion

Hi Walter,

Sorry for the delay. Responses below.

Thanks,
 
Ken Willis
Sigrity, Inc.
860-871-7070
kwillis@xxxxxxxxxxx
 
-----Original Message-----
From: Walter Katz [mailto:wkatz@xxxxxxxxxx]
Sent: Thursday, July 07, 2011 7:11 AM
To: kwillis@xxxxxxxxxxx; Arpad_Muranyi@xxxxxxxxxx; 'IBIS-ATM'
Subject: RE: [ibis-macro] Re: BIRD 121.1 discussion

Ken,

1. How does the EDA tool know to insert the full path to the DLL for Model
Specific parameters?

KW > You can make a Model_Specific parameter called "AMI_path" or
something using a string, where the user can define the full path when
they start up the project.

2. What if the IBIS models are distributed into multiple folders in the
EDA tools library management systems?

KW > I assume that "IBIS models" means the IO circuit models, not the
algorithmic (ex. DLL/AMI) models. I don't see why that is any different
than any other models you have in your project for the interconnect.
Somehow you have to build up a topology or circuit, and assign models to
the different elements in it. All the EDA tools can do that, so I don't
understand the issue.

Walter

-----Original Message-----
From: ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Ken Willis
Sent: Thursday, July 07, 2011 7:03 AM
To: Arpad_Muranyi@xxxxxxxxxx; 'IBIS-ATM'
Subject: [ibis-macro] Re: BIRD 121.1 discussion

Hi Arpad,

I agree with you that the most straightforward approach is to simply
specify the full path. Users would go in and set this once for their
project.

I also don't see the real need for DLL_Path at all. When the user assigns
an AMI model in their project, the tool already has to know the path to
the DLL. Looking locally (in the same directory as the DLL) for supporting
files should be default behavior anyway for the DLL. If the specific model
has a bunch of supporting files in some specific directory structure, then
you can easily use a Model_Specific parameter to point to some
"other_stuff"
directory where it will find those supporting files. But that is a
Model_Specific thing. We don't have to make it a universal keyword.

So to me we already have all the support needed in the spec to handle
this.
We need to stop inventing new Reserved_Parameters all the time to do
things we can already do. The spec is getting complicated enough as-is,
and new Reserved_Parameters should be added only when needed. I don't
think we need to in this case.

Thanks,
 
Ken Willis
Sigrity, Inc.
860-871-7070
kwillis@xxxxxxxxxxx
 



-----Original Message-----
From: ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Muranyi, Arpad
Sent: Wednesday, July 06, 2011 10:31 AM
To: IBIS-ATM
Subject: [ibis-macro] BIRD 121.1 discussion

Hello,

We were running out of time yesterday, so I didn't continue with my
question, but I still feel that my question was not answered adequately
about DLL_Path.

It was stated that for the model it is irrelevant whether this is a
relative or full path.

It was also stated that relative paths don't work when different parts of
the project are on different drives, so if an EDA tool passes a relative
path to the DLL in such a situation it should be considered a bug.

Having said that, we do we want to put in the spec the option of passing a
relative path to the model?
Why shouldn't the spec say full path only?

I feel if we put relative path in the spec, we are opening the door for
the EDA vendors to write bugs.
Are we really trying to encourage that?

Could someone please explain why it is necessary to put relative path in
the spec if it opens the possibility for problems?

Thanks,

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

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


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


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