<forwarding bounced email from Michael Smith> -------- Original Message -------- Subject: Clocking blocks in draft 3 Date: Wed, 9 May 2007 17:09:15 +0100 From: "Michael Smith" <michael.smith@doulos.com> To: <sv-ec@server.eda.org> Here are some comments on P1800-2008/Draft 3. Apologies if these duplicate anyone else's comments, or if the issues have been discussed and agreed; I'm afraid I haven't had time to study all the discussions on the reflector. Mike Smith, Doulos Ltd. The most important one is probably 14.15. 14. Clocking Blocks =================== P285 in draft 3 - "The signal_identifier specifies a signal (a net or variable) in the scope enclosing the clocking block declaration, and defines a clockvar in the clocking block. The specified signal is called a clocking signal. Unless a hierarchical_expression is used, both the clocking signal and the clockvar names shall be the same." "specifies" = it already exists? "defines" = creates? P286, "instead of a local port," why "port" and not "signal"? Final para talks about "signals in the clocking block". Earlier, signals are in the enclosing scope; clockvars are in the clocking block. is there such thing as a "signal in a clocking block"? P288, first sentence - again "signal in a clocking block" 14.7 - Now clocking signals are "declared" in the clocking block. So, there are lots of example where "clocking signal" is used, where "clockvar" might be better. 14.9 Example uses illegal hierarchical syntax for signal_identifier. EITHER allow this (and change the wording elsewhere, e.g. P285) OR use "input data = a.data;" etc. 14.10 Last sentence is not strictly correct - see 14.13. 14.11 "positive integer" is strictly 1 or above. Make it clear that 0 is included. "clocking_identifier" still doesn't allow hierarchy. Is this intentional? I propose that hierarchical clocking identifiers be allowed. 14.14 Second sentence. "Synchronization operator" s/b "event control operator" 14.15 - P295, the paragraph adjacent to the third "Mantis 890" box. "event_count" definition removed - but "event_count" is still used. This whole paragraph and the next are anachronistic - needs a rewrite. Is there a distinction between ##1 cb.data <= expr; and ##1; cb.data <= expr; ? For example, the first uses the cb's clocking, the second the default clocking? Make this clear. Top of P 296, #3 cb.v <= expr1; is only equivalent to ##1 cb.v <= expr1; if expr1 is that same at time 3 and time 10 (or 5). 2nd para from end - synch drive is in Re-NBA and procedural drive is in NBA - so isn't the order (1) proc; (2) sync? -- Michael Smith Senior Consultant DOULOS - Developing Design Know-how VHDL * SystemC * Verilog * SystemVerilog * e * PSL * Perl * Tcl/Tk * Project Services Doulos Ltd. Church Hatch, 22 Market Place, Ringwood, Hampshire, BH24 1AW, UK Tel: +44 (0)1425 471223 Email: michael.smith@doulos.com Fax: +44 (0)1425 471573 Web: http://www.doulos.com This e-mail and any attachments are confidential and Doulos Ltd. reserves all rights of privilege in respect thereof. It is intended for the use of the addressee only. If you are not the intended recipient please delete it from your system, any use, disclosure, or copying of this document is unauthorised. The contents of this message may contain personal views which are not the views of Doulos Ltd., unless specifically stated. -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Wed May 9 11:12:35 2007
This archive was generated by hypermail 2.1.8 : Wed May 09 2007 - 11:13:04 PDT