diff --git a/doc/whatsnew03/whatsnew03.tex b/doc/whatsnew03/whatsnew03.tex index 9d4bd669..e5da10cf 100644 --- a/doc/whatsnew03/whatsnew03.tex +++ b/doc/whatsnew03/whatsnew03.tex @@ -24,13 +24,13 @@ \fi \myhdl\ now has support for waveform viewing. During simulation, signal -changes can be written to a VCD output file. The VCD file can then be -loaded and viewed in a waveform viewer tool such as \program{gtkwave}. +changes can be written to a VCD output file that can be loaded +into a waveform viewer tool such as \program{gtkwave}. The user interface of this feature consists of a single function, \function{traceSignals()}. To explain how it works, recall that in -\myhdl{}, an instance is created by a function call and by assigning -the result to an instance name. For example: +\myhdl{}, an instance is created by assigning +the result of a function call to an instance name. For example: \begin{verbatim} tb_fsm = testbench() @@ -43,7 +43,7 @@ instead: tb_fsm = traceSignals(testbench) \end{verbatim} -All signals in the instance hierarchy will be traced in an output VCD +All signals in the instance hierarchy will be traced in a VCD file called \file{tb_fsm.vcd}. Note that first the argument of \function{traceSignals()} consists of the uncalled function. By calling the function under its control, \function{traceSignals()} @@ -131,12 +131,11 @@ semantics. \myhdl\ 0.3 provides a function called \function{always_comb()} which is named and modeled after the SystemVerilog counterpart. -\function{always_comb()} takes a single classic function as its -argument. This function should be a locally defined function that -specifies what should happen when one of its input signals -changes. \function{always_comb()} returns a generator that is -sensitive to all inputs, and that will run the function whenever an -input changes. +\function{always_comb()} takes a classic local function as its +argument. This function should specify the combinatorial logic behavior. +\function{always_comb()} returns a generator +that is sensitive to all inputs, and that will run the function +whenever an input changes. For example, suppose that we have a mux module described as follows: @@ -191,10 +190,10 @@ the generator function code. This is traditionally done in synthesizable RTL style modeling. However, the semantics of this style are not entirely correct: at the start of the simulation, the combinatorial output will not reflect the initial state of the -inputs. \function{always_comb} solves this by putting the sensitivity +inputs. \function{always_comb()} solves this by putting the sensitivity list at the end of the code. -\section{Inferring the list of all instances\label{section-instances}} +\section{Inferring the list of instances\label{section-instances}} In \myhdl{}, the instances defined in a top level function need to be returned explicitly. The following is a schematic @@ -213,7 +212,7 @@ def top(...): It may be convenient to assemble the list of instances automatically, -especially if there are a large number of instances. For this purpose, +especially if there are many instances. For this purpose, \myhdl\ 0.3 provides the function \function{instances()}. It is used as follows: @@ -235,7 +234,7 @@ of the local variables defined by the calling function. All variables that comply with the definition of an instance are assembled in a list, and that list is returned. -\section{Inferring the list of all processes\label{section-processes}} +\section{Inferring the list of processes\label{section-processes}} In addition to instances, a top level function may also define local generators functions, which I will @@ -374,8 +373,8 @@ better to the nature of the operation. In previous versions, the \class{intbv} class provided a \method{concat()} method. This method is no longer -available. Instead, there is now a \function{concat()} function in -\myhdl{}, which supports a much broader range of objects. +available. Instead, there is now a \function{concat()} function +that supports a much broader range of objects. A function is more natural because \myhdl\ objects of various types can be concatenated: \class{intbv} objects with a defined bit width, @@ -423,9 +422,9 @@ the small burden of a straightforward upgrade. Python is a very stable language, so upgrading to Python 2.3 is virtually risk free. Given the additional benefits, I recommend -\myhdl\ users to do so as soon as possible. For the next major -release, the new features will become crucial and only Python 2.3 (and -higher) will be supported. +\myhdl\ users to do so as soon as possible. For the next major \myhdl\ +release, the new features will become required and only Python 2.3 +(and higher) will be supported. \end{document}