B01 erratta

From: Adam Krolnik (adamk@cyrix.com)
Date: Tue Jul 28 1998 - 21:34:00 PDT


Hi Kurt,

Wasn't going to do this, but I noticed you didn't correctly specify the
instance names for the example with the task generation.

Changes include:

1. Minor grammar problems (bad tense, additional if/of/).
2. Redundant use of word 'Verilog' in few places.
3. rename 'module instance statement #' to 'named or ordered parameter value assignment'

<p> Adam

<p>*** B01_generate-396-24.html Wed Jul 29 09:59:19 1998
--- B01_generate-addendum.html Wed Jul 29 10:25:53 1998
***************
*** 21,27 ****
  declared in a module can be overridden. <FONT COLOR="#33FF33">It describes
  how generated instantiations can be used to do</FONT>
  <BR><FONT COLOR="#33FF33">
! conditionally or multiple instantiations in a design.</FONT>
  <BR>
  

<FONT COLOR="#000000">on page 11 add:</FONT>
--- 21,27 ----
  declared in a module can be overridden. <FONT COLOR="#33FF33">It describes
  how generated instantiations can be used to do</FONT>
  <BR><FONT COLOR="#33FF33">
! conditional or multiple instantiations in a design.</FONT>
  <BR>
  

<FONT COLOR="#000000">on page 11 add:</FONT>
***************
*** 41,50 ****
  

<FONT COLOR="#3366FF">Verilog HDL <B>localparam</B> - local parameter(s)
  are identical to parameters except that they can not directly be modified
! with the <B>defparam</B> statement or by the module instance statement
! <B>#</B>. Local parameters can be assigned to a constant expression
  containing a parameter which can be modified with the <B>defparam</B> statement
! or by the module instance statement <B>#</B>. See Section 12.1.3
  for details.</FONT>
  

<FONT COLOR="#3366FF">The syntax for local parameter declarations is
--- 41,49 ----
  

<FONT COLOR="#3366FF">Verilog HDL <B>localparam</B> - local parameter(s)
  are identical to parameters except that they can not directly be modified
! with the <B>defparam</B> statement or by the ordered or named parameter value assignment. Local parameters can be assigned to a constant expression
  containing a parameter which can be modified with the <B>defparam</B> statement
! or by the ordered or named parameter value assignment. See Section 12.1.3
  for details.</FONT>
  

<FONT COLOR="#3366FF">The syntax for local parameter declarations is
***************
*** 81,87 ****
  because that is when the parameters associated with a module become defined,
  hence, allowing the definition of the generated statements and declarations.
  Genvars are only defined during the evaluation of the generate instantiations
! (see section 12.1.3), and do not exist during simulation of a Verilog design.</FONT>
  <BR>
  <BR><FONT COLOR="#3366FF">Generate statements facilitate the creation of
  parameterized models. When used with constant functions (see section 10.3.5),
--- 80,86 ----
  because that is when the parameters associated with a module become defined,
  hence, allowing the definition of the generated statements and declarations.
  Genvars are only defined during the evaluation of the generate instantiations
! (see section 12.1.3), and do not exist during simulation of a design.</FONT>
  <BR>
  <BR><FONT COLOR="#3366FF">Generate statements facilitate the creation of
  parameterized models. When used with constant functions (see section 10.3.5),
***************
*** 108,115 ****
  identifier names and can be referenced hierarchically as described in section
  12.4 .</FONT>
  <BR><FONT COLOR="#3366FF"> </FONT>
! <BR><FONT COLOR="#3366FF">Parameter redefinition using module instance
! statement <B>#</B> or defparam statements can also be declared within
  the generate scope.</FONT>
  <BR>
  <BR><FONT COLOR="#3366FF">Tasks and functions declarations shall also be
--- 107,113 ----
  identifier names and can be referenced hierarchically as described in section
  12.4 .</FONT>
  <BR><FONT COLOR="#3366FF"> </FONT>
! <BR><FONT COLOR="#3366FF">Parameter redefinition using by the ordered or named parameter value assignment or defparam statements can also be declared within
  the generate scope.</FONT>
  <BR>
  <BR><FONT COLOR="#3366FF">Tasks and functions declarations shall also be
***************
*** 262,272 ****
  

<B><FONT COLOR="#3366FF">Section 12.1.3.2 Generate-loop</FONT></B>
  <BR><FONT COLOR="#3366FF"> </FONT>
! <BR><FONT COLOR="#3366FF">A generate-loop permits one or more of
! variable declarations, defined modules, user defined primitives, Verilog
  gate primitives, continuous assignments, initial blocks and always blocks
! to be instantiated multiple times using an indexed for-loop. The index
! loop-variable used in a generate for-loop shall be declared as a genvar.</FONT>
  

<FONT COLOR="#3366FF">Example 1 - A parameterized gray-code to binary-code
  converter module using a loop to generate continuous assignments</FONT>
--- 260,270 ----
  

<B><FONT COLOR="#3366FF">Section 12.1.3.2 Generate-loop</FONT></B>
  <BR><FONT COLOR="#3366FF"> </FONT>
! <BR><FONT COLOR="#3366FF">A generate-loop permits one or more
! variable declarations, modules, user defined primitives,
  gate primitives, continuous assignments, initial blocks and always blocks
! to be instantiated multiple times using a for-loop. The index
! loop variable used in a generate for-loop shall be declared as a genvar.</FONT>
  

<FONT COLOR="#3366FF">Example 1 - A parameterized gray-code to binary-code
  converter module using a loop to generate continuous assignments</FONT>
***************
*** 611,616 ****
--- 609,616 ----
  endtask</FONT></TT>
  <BR><TT><FONT COLOR="#3366FF">
  end</FONT></TT>
+ <BR><TT><FONT COLOR="#3366FF"> // The generated instance names are
+ p[3], p[2], p[1], p[0] and the task read_mem</FONT></TT>
  <BR><TT><FONT COLOR="#3366FF">
  {'d16, 'd8}: // 16Meg 8 bits wide.</FONT></TT>
  <BR><TT><FONT COLOR="#3366FF">
***************
*** 663,670 ****
  .....</FONT></TT>
  <BR><TT><FONT COLOR="#3366FF"> endcase</FONT></TT>
  <BR><TT><FONT COLOR="#3366FF"> endgenerate</FONT></TT>
! <BR><TT><FONT COLOR="#3366FF"> // The generated instance name is
! p, and the task read_mem</FONT></TT>
  <BR>
  <BR><TT><FONT COLOR="#3366FF">endmodule</FONT></TT>
  <BR>
--- 663,670 ----
  .....</FONT></TT>
  <BR><TT><FONT COLOR="#3366FF"> endcase</FONT></TT>
  <BR><TT><FONT COLOR="#3366FF"> endgenerate</FONT></TT>
! <BR><TT><FONT COLOR="#3366FF"> // The generated instance names are
! p[7], p[6], p[5], p[4], p[3], p[2], p[1], p[0], and the task read_mem</FONT></TT>
  <BR>
  <BR><TT><FONT COLOR="#3366FF">endmodule</FONT></TT>
  <BR>
***************
*** 710,716 ****
  <HR WIDTH="100%">
  <BR><FONT COLOR="#3366FF"> hierarchical_identifier ::=</FONT>
  <BR><FONT COLOR="#3366FF">
! hierarchical_branch [ { <B>.</B>hierarchical_branch } ]</FONT>
  

<FONT COLOR="#3366FF">hierarchical_branch ::=</FONT>
  <BR><FONT COLOR="#3366FF">
--- 710,716 ----
  <HR WIDTH="100%">
  <BR><FONT COLOR="#3366FF"> hierarchical_identifier ::=</FONT>
  <BR><FONT COLOR="#3366FF">
! hierarchical_branch [ { <B>.</B> hierarchical_branch } ]</FONT>
  

<FONT COLOR="#3366FF">hierarchical_branch ::=</FONT>
  <BR><FONT COLOR="#3366FF">



This archive was generated by hypermail 2.1.4 : Mon Jul 08 2002 - 12:52:59 PDT and
sponsored by Boyd Technology, Inc.