Spelling patches from Larry.

This commit is contained in:
steve 2005-09-19 21:45:35 +00:00
parent e2a1b90b12
commit be73be8c98
13 changed files with 65 additions and 44 deletions

View File

@ -114,7 +114,7 @@ configure script that modify its behavior:
If you are building for Linux/AMD64 (a.k.a x86_64) then to get the
most out of your install, first make sure you have both 64bit and
32bit development libraries installed. Then configure with this
somewhat more compilcated command:
somewhat more complicated command:
./configure libdir64='$(prefix)/lib64' vpidir1=vpi64 vpidir2=. --enable-vvp32

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#ifdef HAVE_CVS_IDENT
#ident "$Id: elab_expr.cc,v 1.96 2005/09/14 02:53:13 steve Exp $"
#ident "$Id: elab_expr.cc,v 1.97 2005/09/19 21:45:35 steve Exp $"
#endif
# include "config.h"
@ -765,7 +765,7 @@ NetExpr* PEIdent::elaborate_expr(Design*des, NetScope*scope,
// Non-constant bit select? punt and make a subsignal
// device to mux the bit in the net. This is a fairly
// compilcated task because we need to generate
// complicated task because we need to generate
// expressions to convert calculated bit select
// values to canonical values that are used internally.
if (msb_) {
@ -1048,6 +1048,9 @@ NetExpr* PEUnary::elaborate_expr(Design*des, NetScope*scope, bool) const
/*
* $Log: elab_expr.cc,v $
* Revision 1.97 2005/09/19 21:45:35 steve
* Spelling patches from Larry.
*
* Revision 1.96 2005/09/14 02:53:13 steve
* Support bool expressions and compares handle them optimally.
*

View File

@ -21,9 +21,9 @@ apparently been absorbed by the IEEE1800 SystemVerilog
standard. Icarus Verilog currently only takes the new primitive types
from the proposal.
Extended data types seperates the concept of net/variable from the
Extended data types separates the concept of net/variable from the
data type. Both nets and variables can declared with any data
type. The primitive types avaialable are:
type. The primitive types available are:
logic - The familiar 0, 1, x and z, optionally with strength.
bool - Limited to only 0 and 1

View File

@ -19,7 +19,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#ifdef HAVE_CVS_IDENT
#ident "$Id: ivl_target.h,v 1.160 2005/09/01 04:11:37 steve Exp $"
#ident "$Id: ivl_target.h,v 1.161 2005/09/19 21:45:35 steve Exp $"
#endif
#ifdef __cplusplus
@ -613,7 +613,7 @@ extern unsigned ivl_expr_width(ivl_expr_t net);
* address to get to a canonical (0-based) address. This value is
* used when external code wishes to access a word. All the
* compiled references to the word within the compiled design are
* converted to cannonical form by the compiler.
* converted to canonical form by the compiler.
*
* ivl_memory_size
* ivl_memory_width
@ -941,7 +941,7 @@ extern const char* ivl_udp_name(ivl_udp_t net);
* Read or write, the ivl_lpm_select nexus is the address. The
* ivl_lpm_selects function returns the vector width of the
* address. The range of the address is always from 0 to the memory
* size-1 -- the cannonical form. It is up to the compiler to generate
* size-1 -- the canonical form. It is up to the compiler to generate
* offsets to correct for a range declaration.
*
* Read ports use the ivl_lpm_q as the data output, and write ports
@ -1084,7 +1084,7 @@ extern ivl_memory_t ivl_lpm_memory(ivl_lpm_t net);
* signal (or even 1) if only a part of the l-value signal is to be
* assigned.
*
* The ivl_lval_part_off is the cannonical base of a constant part or
* The ivl_lval_part_off is the canonical base of a constant part or
* bit select. If the bit select base is non-constant, then the
* ivl_lval_mux will contain an expression. If there is a mux
* expression, then the ivl_lval_part_off result can be ignored.
@ -1671,6 +1671,9 @@ _END_DECL
/*
* $Log: ivl_target.h,v $
* Revision 1.161 2005/09/19 21:45:35 steve
* Spelling patches from Larry.
*
* Revision 1.160 2005/09/01 04:11:37 steve
* Generate code to handle real valued muxes.
*

View File

@ -37,7 +37,7 @@ valid options include:
Predefine the symbol ``name'' to have the specified
value. If the value is not specified, then ``1'' is
used. This is mostly of use for controlling conditional
compilaiton.
compilation.
This option does *not* override existing `define
directives in the source file.

View File

@ -19,7 +19,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#ifdef HAVE_CVS_IDENT
#ident "$Id: netlist.h,v 1.350 2005/09/14 02:53:14 steve Exp $"
#ident "$Id: netlist.h,v 1.351 2005/09/19 21:45:36 steve Exp $"
#endif
/*
@ -2826,9 +2826,9 @@ class NetEParam : public NetExpr {
* selected from it. The base is the expression that identifies the
* lsb of the expression, and the wid is the width of the part select,
* or 1 for a bit select. No matter what the subexpression is, the
* base is translated in cannonical bits. It is up to the elaborator
* base is translated in canonical bits. It is up to the elaborator
* to figure this out and adjust the expression if the subexpression
* has a non-cannonical base or direction.
* has a non-canonical base or direction.
*
* If the base expression is null, then this expression node can be
* used to express width expansion, signed or unsigned depending on
@ -3444,6 +3444,9 @@ extern ostream& operator << (ostream&, NetNet::Type);
/*
* $Log: netlist.h,v $
* Revision 1.351 2005/09/19 21:45:36 steve
* Spelling patches from Larry.
*
* Revision 1.350 2005/09/14 02:53:14 steve
* Support bool expressions and compares handle them optimally.
*

View File

@ -2,7 +2,7 @@
FPGA LOADABLE CODE GENERATOR FOR Icarus Verilog
Copyright 2001 Stephen Williams
$Id: fpga.txt,v 1.11 2003/08/07 05:17:34 steve Exp $
$Id: fpga.txt,v 1.12 2005/09/19 21:45:36 steve Exp $
The FPGA code generator supports a variety of FPGA devices, writing
XNF or EDIF depending on the target. You can select the architecture
@ -44,7 +44,7 @@ map to target gates if desired.
If this is selected, then the output is formatted as an XNF file,
suitable for most any type of device. The devices that it emits
are generic devices from the unified library. Some devices are macros,
youmay need to further resolve the generated XNF to get working
you may need to further resolve the generated XNF to get working
code for your part.
* arch=virtex
@ -188,6 +188,9 @@ Compile a single-file design with command line tools like so:
---
$Log: fpga.txt,v $
Revision 1.12 2005/09/19 21:45:36 steve
Spelling patches from Larry.
Revision 1.11 2003/08/07 05:17:34 steve
Add arch=lpm to the documentation.

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#ifdef HAVE_CVS_IDENT
#ident "$Id: eval_expr.c,v 1.124 2005/09/19 20:18:20 steve Exp $"
#ident "$Id: eval_expr.c,v 1.125 2005/09/19 21:45:36 steve Exp $"
#endif
# include "vvp_priv.h"
@ -1550,7 +1550,7 @@ static struct vector_info draw_signal_expr(ivl_expr_t exp, unsigned wid,
/*
* Draw code to evaluate a memory word index expression and write the
* value into index register 3. This expression converts the run-time
* calculated value to cannonical form that the %load/mv takes.
* calculated value to canonical form that the %load/mv takes.
*/
void draw_memory_index_expr(ivl_memory_t mem, ivl_expr_t ae)
{
@ -2168,6 +2168,9 @@ struct vector_info draw_eval_expr(ivl_expr_t exp, int stuff_ok_flag)
/*
* $Log: eval_expr.c,v $
* Revision 1.125 2005/09/19 21:45:36 steve
* Spelling patches from Larry.
*
* Revision 1.124 2005/09/19 20:18:20 steve
* Fix warnings about uninitialized variables.
*

View File

@ -1,7 +1,7 @@
/*
* Copyright (c) 2001 Stephen Williams (steve@icarus.com)
*
* $Id: README.txt,v 1.70 2005/07/13 04:58:29 steve Exp $
* $Id: README.txt,v 1.71 2005/09/19 21:45:36 steve Exp $
*/
VVP SIMULATION ENGINE
@ -55,7 +55,7 @@ compiler scales time values ahead of time.
The value is the size of a simulation tick in seconds, and is
expressed as a power of 10. For example, +0 is 1 second, and -9 is 1
nano-second. If the record is left out, then the precision is taken to
nanosecond. If the record is left out, then the precision is taken to
be +0.
LABELS AND SYMBOLS
@ -308,7 +308,7 @@ functor pointer, though.
MEMORY STATEMENTS:
Memories are arrays of words, each word a vvp_vector4_t vector of the
same width. The memory is cannonically addressed as a 1-dimensional
same width. The memory is canonically addressed as a 1-dimensional
array of words, although indices are stored with the memory for
calculating a canonical address from a multi-dimensional address.
@ -326,22 +326,22 @@ memory array and makes it available to procedural code.
Procedural access to the memory references the memory as single array
of words, with the base address==0, and the last address the size (in
words) of the memory -1. It is up to the compiler to convert Verilog
index sets to a cannonical address. The multi-dimensional index set is
index sets to a canonical address. The multi-dimensional index set is
available for VPI use.
Structural read access is implemented in terms of address and data
ports. The addresses applied to the address port are expected to be
in cannonical form.
in canonical form.
A read port is a functor that takes a single input, the read address,
and outputs the word value at the given (cannonical) address.
and outputs the word value at the given (canonical) address.
<label> .mem/port <memid>, <address> ;
<label> identifies the vector of output functors, to allow connections
to the data output. <memid> is the label of the memory.
Any address inputchange, or any change in the addressed memory
Any address input change, or any change in the addressed memory
contents, is immediately propagated to the port output.
A write port is a superset of a read port. It is a 4-input functor
@ -364,8 +364,8 @@ To initialize a memory, use:
.mem/init <memid> <start>, val , val ... ;
<memid> is the label of the memory, and the <start> is the start
address (cannonical) of the first word to be initialized. The start
address allows mustliple statements be used to initialize words of a
address (canonical) of the first word to be initialized. The start
address allows multiple statements be used to initialize words of a
memory.
The values are one per word.
@ -441,7 +441,7 @@ PART SELECT STATEMENTS:
Part select statements are functors with three inputs. They take in at
port-0 a vector, and output a selected (likely smaller) part of that
vector. The other inputs specify what those parts are, as a cannonical
vector. The other inputs specify what those parts are, as a canonical
bit number, and a width. Normally, those bits are constant values.
<label> .part <symbol>, <base>, <wid>;
@ -464,7 +464,7 @@ base of the part select. Thus, the part select can move around.
PART CONCATENATION STATEMENTS:
The opposite of the part select statement is the part concatenation
statement. The .concat statment is a functor node that takes at input
statement. The .concat statement is a functor node that takes at input
vector values and produces a single vector output that is the
concatenation of all the inputs.
@ -572,7 +572,7 @@ are the same concept, but for the continuous assign port.
STRUCTURAL ARITHMETIC STATEMENTS:
The various Verilog arithmetic operators (+-*/%) ar avaiable to
The various Verilog arithmetic operators (+-*/%) are available to
structural contexts as two-input functors that take in vectors. All of
these operators take two inputs and generate a fixed width output. The
input vectors will be padded if needed to get the desired output width.

View File

@ -1,7 +1,7 @@
/*
* Copyright (c) 2001-2003 Stephen Williams (steve@icarus.com)
*
* $Id: opcodes.txt,v 1.67 2005/09/17 04:01:02 steve Exp $
* $Id: opcodes.txt,v 1.68 2005/09/19 21:45:37 steve Exp $
*/
@ -71,10 +71,10 @@ labeled memory. The <delay> is the delay in simulation time to the
assignment (0 for non-blocking assignment) and the <bit> is the base
of the vector to write.
The width of the word is retrived from index register 0.
The width of the word is retrieved from index register 0.
The address of the word in the memory is from index register 3. The
address is cannonical form.
address is canonical form.
* %assign/v0 <var-label>, <delay>, <bit>
* %assign/v0/d <var-label>, <delayx>, <bit>
@ -206,7 +206,7 @@ Only bit 4 is set by these instructions.
* %cvt/vr <bit-l>, <bit-r>, <wid>
Copy a word from r to l, converting it from real to integer (ir) or
integer to real (ri) in the process. The source and destinaition may
integer to real (ri) in the process. The source and destination may
be the same word address, leading to a convert in place.
The %cvt/vr opcode converts a real word <bit-r> to a thread vector
@ -365,7 +365,7 @@ instruction loads only a single bit.
* %load/mv <bit>, <memory-label>, <wid>
this inctruction loads a word from the specified memory. The word
this instruction loads a word from the specified memory. The word
address is in index register 3. The width should match the width of
the memory word.
@ -393,7 +393,7 @@ register.
* %load/x.p <bit>, <functor-label>, <idx>
This is an indexed load. It uses the contents of the specified index
register to select a bit from a vectur functor at <functor-label>. The
register to select a bit from a vector functor at <functor-label>. The
bit is pulled from the indexed bit of the addressed functor and loaded
into the destination thread bit. If the indexed value is beyond the
width of the vector, then the result is X.
@ -521,7 +521,7 @@ forced value until another value propagates through.
This sets a vector to a variable, and is used to implement blocking
assignments. The <var-label> identifies the variable to receive the
new value. Once the set completes, the vlaue is immediately available
new value. Once the set completes, the value is immediately available
to be read out of the variable. The <bit> is the address of the thread
register that contains the LSB of the vector, and the <wid> is the
size of the vector. The width must exactly match the width of the
@ -545,9 +545,9 @@ This instruction writes a real word to the specified VPI-like object.
This sets the part of a signal vector, the address calculated by
using the index register 0 to index the base within the vector of
<var-label>. The destination must be a signal of some sort. Otherwise,
the instrution will fail.
the instruction will fail.
The addressing is cannonical (0-based) so the compiler must figure out
The addressing is canonical (0-based) so the compiler must figure out
non-zero offsets, if any. The width is the width of the part being
written. The other bits of the vector are not touched.

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#ifdef HAVE_CVS_IDENT
#ident "$Id: vthread.cc,v 1.147 2005/09/17 04:01:02 steve Exp $"
#ident "$Id: vthread.cc,v 1.148 2005/09/19 21:45:37 steve Exp $"
#endif
# include "config.h"
@ -619,7 +619,7 @@ bool of_ASSIGN_MEM(vthread_t thr, vvp_code_t cp)
/* %assign/mv <memory>, <delay>, <bit>
* This generates an assignment event to a memory. Index register 0
* contains the width of the vector (and the word) and index register
* 3 contains the cannonical address of the word in memory.
* 3 contains the canonical address of the word in memory.
*/
bool of_ASSIGN_MV(vthread_t thr, vvp_code_t cp)
{
@ -3187,6 +3187,9 @@ bool of_JOIN_UFUNC(vthread_t thr, vvp_code_t cp)
/*
* $Log: vthread.cc,v $
* Revision 1.148 2005/09/19 21:45:37 steve
* Spelling patches from Larry.
*
* Revision 1.147 2005/09/17 04:01:02 steve
* Add the load/v.p instruction.
*

View File

@ -1,7 +1,7 @@
/*
* Copyright (c) 2001 Stephen Williams (steve@icarus.com)
*
* $Id: vthread.txt,v 1.5 2005/09/14 02:50:07 steve Exp $
* $Id: vthread.txt,v 1.6 2005/09/19 21:45:37 steve Exp $
*/
@ -40,7 +40,7 @@ The remaining 64K-8 possible <bit> values are read-write bit registers
that can be accessed singly or as vectors. This obviously implies that
a bit address is 16 bits.
Threads alco contait 16 numeric registers. These registers can hold a
Threads also contain 16 numeric registers. These registers can hold a
real value or a 64bit integer, and can be used in certain cases where
numeric values are needed. The thread instruction set includes
%ix/* instructions to manipulate these registers. The instructions

View File

@ -18,7 +18,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#ident "$Id: vvp_net.h,v 1.44 2005/08/27 02:34:43 steve Exp $"
#ident "$Id: vvp_net.h,v 1.45 2005/09/19 21:45:37 steve Exp $"
# include "config.h"
# include <stddef.h>
@ -975,7 +975,7 @@ extern void vvp_send_long(vvp_net_ptr_t ptr, long val);
* exactly match the <wid> vector.
*
* The <base> is where in the receiver the bit vector is to be
* written. This address is given in cannonical units; 0 is the LSB, 1
* written. This address is given in canonical units; 0 is the LSB, 1
* is the next bit, and so on.
*
* The <vwid> is the width of the destination vector that this part is
@ -999,6 +999,9 @@ inline void vvp_send_vec4_pv(vvp_net_ptr_t ptr, const vvp_vector4_t&val,
/*
* $Log: vvp_net.h,v $
* Revision 1.45 2005/09/19 21:45:37 steve
* Spelling patches from Larry.
*
* Revision 1.44 2005/08/27 02:34:43 steve
* Bring threads into the vvp_vector4_t structure.
*