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