[sv-bc] -dangles Proposal Revisited

From: Clifford E. Cummings <cliffc_at_.....>
Date: Mon Jul 23 2007 - 08:24:04 PDT
Subject: -dangles Proposal Revisited

Hi, All -

At the last sv-bc, the -dangles proposal was rejected in favor of 
vendors implementing their own optional solution to the problem. The 
reasoning was that it would be better to test a solution before 
imposing a fixed requirement (disappointing but reasonable).

I would like to work with volunteer simulation and linting tool 
companies on a solution to the problem. It would be relatively easy 
to implement a solution if we added two pieces of benign syntax from 
the original proposal.

Could I ask for reconsideration of the following:

Allow declarations of the form:

datatype () [range] list_of_identifiers ;

The optionally added "()" would be completely ignored by simulators 
except those that might like to use it to help lint dangling 
identifiers. The intent of the syntax is to distinguish identifiers 
that are known to have no receivers but have drivers. Simulators can 
treat the "()" (with no space) the same as /**/

This is the most important syntax that would help me to implement a 
useful lint checking mechanism. Please consider allowing this syntax. 
This is much more useful than uwire or var declarations (for which I 
have no good usage examples).

The second piece (perhaps a bit more of a stretch, but again easy to 
ignore), is to allow continuous assignments of the form:
assign () = assignment_expression ;
Again the "()" is without space.

Simulators could freely ignore any continuous assignment that starts 
with "assign ()"

This is useful to identify unused bits of a bussed input.
input [31:0] addr;
assign () = addr[15:8]; // unused address bits

With these two pieces of ignored syntax, I believe I can work with 
companies to come up with a strategy to easily identify dangling identifiers.

These two pieces of syntax are easily ignored by simulation tools but 
they potentially provide tremendous value to document user intent and 
to identify potential bugs.

Regards - Cliff


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


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Mon Jul 23 08:24:25 2007

This archive was generated by hypermail 2.1.8 : Mon Jul 23 2007 - 08:24:41 PDT