Re: [sv-ec] Re: [sv-bc] potential command line option

From: Clifford E. Cummings <cliffc_at_.....>
Date: Thu Apr 21 2005 - 07:04:33 PDT
Hi, Steve -

Long-time no-hear!

At 04:59 AM 4/21/2005, Pragmatic C Software wrote:
>   I thought we had already agreed to this.  Cver follows XL and does
>not allow configs in source files.

XL does not allow configs, period. XL will not support them. XL will not 
even support Verilog-2001, except standard random numbers (based originally 
on XL) and signed arithmetic.

>Allowing configs in source files
>(made even worse if `defines are allowed) is not algorithmically correct
>in the sense that circularities occur.

How so? I sent example PDF slides of how this works yesterday and it seems 
good by me.

`defines can be problematic unless they are put in the first file compiled, 
and that has nothing to do with configs. I give the guideline to use 
parameters 1st, `defines 2nd. Prove to yourself that you really need 
`defines at a global level. I still find engineers adding `defines to 
define FSM states. The Reuse Methodology Manual, 2nd edition says to use 
`defines for FSM state definitions (*bad*) and then shows all examples 
using parameters (*good*).

>Since we are independents
>we can say this - I think Mentor's implementation is just another
>feature intended to lock customers into one brand of simulator.

I disagree. I think Mentor got it right (except I would like to see them 
read a local lib.map file without any required command line switch)

>All
>three large vendors have such features.

As of last year, this was still broken on every simulator I tried. We need 
to clarify so vendors can get it right and the same. I think Mentor has 
this one right, per intent.

>/Steve

Regards - Cliff


>Quoting Randy Misustin (ram@model.com):
> > Hello Steven,
> >
> > Please allow me to make this a little less hypothetical:
> >
> >    1. Mentor's ModelSim has supported Verilog configurations since
> >       version 5.8, released in November of 2003. Customers have been
> >       using this facility, some heavily, since it's introduction
> >    2. ModelSim's implementation of configurations allows the
> >       configurations to be freely mixed in with Verilog source.
> >    3. Configurations are treated as first class design elements by our
> >       system. They are compiled into design libraries right beside
> >       modules and primitives.
> >    4. Because configurations share the same parser and scanner as the
> >       rest of the Verilog source, they also inherit and can share
> >       preprocessor `define's.
> >
> > Clearly, what you propose doing will cause ModelSim's implementation of
> > configurations to be illegal under the new spec.
> >
> > I've tried to go back and divine from where you derive your strong
> > assertion "syntax boxes and BNF clearly specify that they cannot appear
> > in Verilog source files". The best I could come up with is that
> > source_text in A.1.3 and library_text in A.1.1 don't grammatically
> > derive each other. Your view must therefor be that source_text cannot
> > share a file with library_text, correct? I didn't find this restriction
> > anywhere. In fact, the inclusion of the configuration keywords in a
> > common list of keywords in Appendix B would seem to support the
> > conclusion that both grammars can share a common parse.
> >
> > I also have trouble with your comment: "Allowing configs in source files
> > could create problems for any users using any tools".  I presume you're
> > speaking to the issue of the configuration keywords (?). The keywords
> > are already part of the 2001 specification. Whether you view
> > configurations as allowable within a source file or not doesn't create
> > the problem. The problem already exists. The keywords are part of the
> > existing 1364-2001 standard. I'm quite sympathetic to your motivations
> > of wanting to limit keyword explosion, but this is a bit like trying to
> > close the barn door after the horses have already left, no?
> >
> > I'm not opposed to leaving things as is in the current spec, where the
> > issue of whether the same parser can implement both parses is left tool
> > dependant, but oppose the elimination of the configuration keywords from
> > the keyword list. In the spirit of compromise, I'd be willing to
> > consider separating the two lists if we could retain the keyword,
> > config, in the Verilog source keywords. This would at least allow us to
> > implement a messy lexical analyzer mode change based on this keyword.
> >
> > Regards,
> >   Randy Misustin
> >
> > Steven Sharp wrote:
> >
> > >>I don't have a problem with either of the proposed switches
> > >>being suggested.
> > >>
> > >>
> > >
> > >Neil Korpusik did some investigation and found a variety of tools
> > >that came uncomfortably close to the proposed switches for configuration
> > >type files.  He suggested putting a 'v' in the option, for 'Verilog',
> > >which I did in the proposal.
> > >
> > >
> > >
> > >
> > >>Making this change will introduce a double incompatibility issue for
> > >>vendors that did provide support for 1364-2001 configurations in
> > >>Verilog source in that such vendors will end up supporting both
> > >>1364-2001 with the keyword restrictions and 1364-2005 without.  Between
> > >>this and the customer design changes necessary for such a change,
> > >>we do not believe that removing source support is a good solution.
> > >>
> > >>
> > >
> > >It is not clear that this would be a change to what is specified in
> > >1364-2001.  The text doesn't state where configs can appear, and the
> > >syntax boxes and BNF clearly specify that they cannot appear in Verilog
> > >source files.  This proposal could be viewed as an official interpretation
> > >with a corresponding clarification in the LRM.  There has been no prior
> > >request for interpretation that would conflict with this.  Supporting
> > >both 1364-2001 and 1364-2005 would not require different behavior.
> > >
> > >Note that specifying that configs _can_ appear in Verilog source
> > >files would also be a change to the LRM, and would also create
> > >backwards compatibility issues.  It is reasonable to compare the
> > >relative problems created by each.
> > >
> > >Not allowing configs in source files could create problems for any
> > >customers relying on such functionality in any existing tools.  This
> > >problem would be restricted to users of those particular tools.  It
> > >would be further restricted to users who were using Verilog configs.
> > >It would only involve relatively new Verilog code, not older legacy
> > >code.  It would be restricted to users who put configs in the same
> > >files as Verilog source.  Experience with VHDL configurations tends
> > >to indicate that users don't do that.  All of this reduces the users
> > >who might be impacted to a tiny fraction of Verilog users.
> > >
> > >I would be interested in hearing from any users who are in this
> > >situation and feel that this is a significant problem.  If a vendor
> > >claims that this is a significant problem for their customers, I
> > >would expect that they could find a few who would tell us so.  I have
> > >asked this before, and have yet to hear from any.
> > >
> > >Allowing configs in source files could create problems for any users
> > >using any tools.  It could cause problems whether they were using
> > >configs or not.  It could cause problems for legacy Verilog code in
> > >addition to newer code.  Based on tests with our customer design suite,
> > >around 15% of Verilog designs won't compile with the config keywords
> > >reserved.  It seems clear that this would impact far more users.
> > >
> > >Steven Sharp
> > >sharp@cadence.com
> > >
> > >
> > >
>
>--
>Steve Meyer                             Phone: (612) 371-2023
>Pragmatic C Software Corp.              email: sjmeyer@pragmatic-c.com
>80 South 8th Street, Suite 900
>Minneapolis, MN 55402

----------------------------------------------------
Cliff Cummings - Sunburst Design, Inc.
14314 SW Allen Blvd., PMB 501, Beaverton, OR 97005
Phone: 503-641-8446 / FAX: 503-641-8486
cliffc@sunburst-design.com / www.sunburst-design.com
Expert Verilog, SystemVerilog, Synthesis and Verification Training
Received on Thu Apr 21 07:09:02 2005

This archive was generated by hypermail 2.1.8 : Thu Apr 21 2005 - 07:10:15 PDT