ISSUE 501

Add Proposal  Add Analysis  Edit Class, Environment, or Release
Number 501
Category errata
Synopsis library file_path syntax
State open
Class errata-discuss
Arrival-DateNov 05 2003
Originator Shalom.Bresticker@motorola.com
Release 2001b
Description
This mail is to enter this issue(s) into the data base, Shalom.

Date: Thu, 30 Oct 2003 16:23:56 -0800 (PST)
From: Andy Tsay <andytsay@yahoo.com>
To: sv-bc@eda.org
Subject: [sv-bc] Need help on "library file_path syntax"

Is the following library declaration legal syntax?

library mylib /*.a_comment_or_not1.*/ /*.a_comment_or_not2.*/ ;

If yes, how to interpret it?

Fix

Unknown
Audit-Trail
From: Shalom.Bresticker@motorola.com
To: etf-bugs@boyd.com
Cc:
Subject: Re: errata/501: library file_path syntax
Date: Wed, 5 Nov 2003 10:59:45 +0200 (IST)

Here is the entire discussion till now, Shalom.

Date: Thu, 30 Oct 2003 16:23:56 -0800 (PST)
From: Andy Tsay <andytsay@yahoo.com>
To: sv-bc@eda.org
Subject: [sv-bc] Need help on "library file_path syntax"

Is the following library declaration legal syntax?

library mylib /*.a_comment_or_not1.*/ /*.a_comment_or_not2.*/ ;

If yes, how to interprete it?


Date: Fri, 31 Oct 2003 09:26:58 -0600
From: Adam Krolnik <krolnik@lsil.com>

IEEE1364-2001 did not include comment delimiters "/*" and "*/" in the
library file definitions.

Thus /*.a_comment_or_not1.*/ is expected to be a file.

The reasoning is that

/user/andy/lib/*.v is expected to be a path, not a path and a comment.


Date: Fri, 31 Oct 2003 11:36:21 -0500 (EST)
From: Steven Sharp <sharp@cadence.com>

I believe that SV is allowing library mapping to be specified in the Verilog
source. And since Verilog source can have comments, that leads to this
problem.

I think that allowing library mapping in the Verilog source is going in the
wrong direction. The IEEE VSG is considering going the other direction, and
only allowing configs in the lib.map file, not the Verilog source.


Date: Fri, 31 Oct 2003 11:40:39 -0800 (PST)
From: Andy Tsay <andytsay@yahoo.com>

Thanks for the inputs.
The examples on page 201 (IEEE 1364-2001 LRM) show uses of // comments.

Also the same LRM, Section 13.2.2 third paragraph says:
The syntax of a lib.map file is limited to library specifications, include
statements, and standard Verilog comment syntax.

So, standard Verilog comment syntax is allowed in a lib.map file, and
reverting SV to Vlog-2001 does not seem to help in the solution.

Can we enhance library_declaration syntax by adding <> around the
file_path_spec?
This will also be consistent with the syntax of include_statement.

Original Syntax:

library_declaration ::=
library library_identifier file_path_spec [ { , file_path_spec } ]
[ -incdir file_path_spec [ { , file_path_spec } ] ;

include_statement ::=
include <file_path_spec> ;

Proposed Syntax:

library_declaration ::=
library library_identifier <file_path_spec> [ { , <file_path_spec> } ]
[ -incdir <file_path_spec> [ { , <file_path_spec> } ] ;

include_statement ::=
include <file_path_spec> ;


Date: Fri, 31 Oct 2003 12:24:35 -0800
From: Brad Pierce <Brad.Pierce@synopsys.com>

There are no <> in the include_statement either --

http://www.boyd.com/1364_btf/report/full_pr/462.html

http://www.eda.org/sv-bc/hm/att-1100/01-BNF_reconciliation2.htm


Date: Fri, 31 Oct 2003 12:30:25 -0800
From: Eric Olson <eolson@cisco.com>

The lib.map file is a single file (plus includes) that is parsed before
any verilog files read. It is probably not a good idea to allow verilog
in the lib.map file and meaningless to inlcude lib.map code in verilog
source. (it is too late) There are no scoping rules for libmap
libraries, it is a single flat file. Allowing for lib.map data in
multiple files is a serious extension to the standard that needs to be
more carefully planned.

As for the /* comments */, I personally thing they should be allowed in
the lib.map file. (you can share the preprocessor). All
'file_path_spec's should be strings. The "<" and ">" in the include
statement was a typo in the verilog 2K standard. Traditionally (C++,
etc) <file> is a file name that can be found in the library search
path. Using a string allows all files systems to name files using
whatever characters they wish.


Date: Fri, 31 Oct 2003 15:49:45 -0500 (EST)
From: Steven Sharp <sharp@cadence.com>

>So, standard Verilog comment syntax is allowed in a lib.map file, and
>reverting SV to Vlog-2001 does not seem to help in the solution.

I think this issue has been raised in the IEEE 1364 ETF, but don't know
what the status is. Since Cadence has an implementation, I can find out
what we did about this.


>Can we enhace library_declaration syntax by adding <> around the
>file_path_spec?

Using quotes would be more consistent with the existing language syntax.


>This will also be consistent with the syntax of include_statement.

As Brad points out, the <> in the syntax of include_statement is a typo.


Date: Fri, 31 Oct 2003 16:05:57 -0500 (EST)
From: Steven Sharp <sharp@cadence.com>

Apparently our implementation allows optional quotes around the file_path.
If the file_path contains things like /* or //, then the quotes are mandatory
to prevent them from being interpreted as comment characters.


Date: Sun, 2 Nov 2003 06:51:54 -0500
From: Jay Lawrence <lawrence@cadence.com>

SystemVerilog added the <> syntax for `include (section 24.3).

This was done so that the definition of "List.vh" could be included in
the language as :

`include <List.vh>

Note, now that we are discussing packages, this list functionality (and
all the other built-in types/classes) should probably be consolidated as
packages and maybe we should eliminate this.


Unformatted



Hosted by Boyd Technology