The sentence is correct -- a generate block cannot contain parameter declarations. But the BNF is supporting local parameter declarations in generate. Recall that within generate the 'parameter' keyword is a synonym for the 'localparam' keyword. -- Brad ________________________________ From: Bresticker, Shalom [mailto:shalom.bresticker@intel.com] Sent: Wednesday, February 20, 2008 12:30 PM To: Brad Pierce; sv-bc@eda.org Subject: RE: [sv-bc] nested modules under generate construct Yet 26.2 says, "A generate block may not contain port declarations, parameter declarations, specify blocks, or specparam declarations. All other module items, including other generate constructs, are allowed in a generate block". Looking at the BNF, it appears that module, program, and interface declarations and timeunit declarations are also not allowed in generates. whereas the BNF does appear to allow parameter declarations, although the quoted sentence forbids them. In the 1364-2005 BNF, parameter_declarations were in non_port_module_declaration, with the other items not allowed in generate blocks, whereas in the 1800-2005 BNF, parameter_declarations moved to package_or_generate_item_declaration. Shalom ________________________________ From: owner-sv-bc@server.eda.org [mailto:owner-sv-bc@server.eda.org] On Behalf Of Brad Pierce Sent: Wednesday, February 20, 2008 7:19 PM To: sv-bc@server.eda.org Subject: RE: [sv-bc] nested modules under generate construct Daniel, You are correct that the current BNF does not allow design element declarations to be generated. I don't know if this restriction was on purpose, but I don't see why the allowed generation of type declarations (for example, class declarations) would be relevant to the issue. You can declare a type in a procedural block, too. -- Brad ________________________________ From: owner-sv-bc@eda.org [mailto:owner-sv-bc@eda.org] On Behalf Of danielm Sent: Wednesday, February 20, 2008 8:03 AM To: sv-bc@eda.org Subject: [sv-bc] nested modules under generate construct IEEE1800 BNF forbids to put nested module declaration under generate: module m; parameter p = 9; generate if (p) module mm; endmodule endgenerate endmodule This was done on purpose or this was just missed. IE class declaration is allowed to be used in generate clause. DANiel -- This message has been scanned for viruses and dangerous content by MailScanner <http://www.mailscanner.info/> , and is believed to be clean. -- This message has been scanned for viruses and dangerous content by MailScanner <http://www.mailscanner.info/> , and is believed to be clean. --------------------------------------------------------------------- Intel Israel (74) Limited This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies. -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Wed Feb 20 13:21:25 2008
This archive was generated by hypermail 2.1.8 : Wed Feb 20 2008 - 13:22:15 PST