Spelling fixes.

This commit is contained in:
steve 2003-02-09 23:33:26 +00:00
parent 929f0f5f00
commit b726395d1e
30 changed files with 158 additions and 96 deletions

View File

@ -1,7 +1,7 @@
/* /*
* Copyright (c) 2001 Stephen Williams (steve@icarus.com) * Copyright (c) 2001 Stephen Williams (steve@icarus.com)
* *
* $Id: README.txt,v 1.41 2003/01/25 23:48:06 steve Exp $ * $Id: README.txt,v 1.42 2003/02/09 23:33:26 steve Exp $
*/ */
VVP SIMULATION ENGINE VVP SIMULATION ENGINE
@ -202,7 +202,7 @@ general syntax of a variable is:
The "name" is the declared base name of the original variable, for the The "name" is the declared base name of the original variable, for the
sake of VPI code that might access it. The variable is placed in the sake of VPI code that might access it. The variable is placed in the
current scope. The variable also has a width, defined by the indices current scope. The variable also has a width, defined by the indices
for the mst significant and lest significant bits. If the indices are for the most significant and lest significant bits. If the indices are
equal (normally 0) the vector has width of one. If the width is greater equal (normally 0) the vector has width of one. If the width is greater
then one, a contiguous array of functors is created and the value of then one, a contiguous array of functors is created and the value of
the label is the address of the least significant bit. the label is the address of the least significant bit.
@ -264,7 +264,7 @@ functor pointer, though.
MEMORY STATEMENTS: MEMORY STATEMENTS:
Three types of memory stetement perform (1) creation of a memory, (2) Three types of memory statement perform (1) creation of a memory, (2)
connecting a read port to an existing memory, and (3) initializing the connecting a read port to an existing memory, and (3) initializing the
memory's contents. memory's contents.
@ -301,7 +301,7 @@ become a list of numbers, when multi-index memory ports become
supported). supported).
Any address change, or any change in the addressed memory contents is Any address change, or any change in the addressed memory contents is
imediately propagated to the port outputs. immediately propagated to the port outputs.
A write port is a superset of a read port. It is a vector of functors A write port is a superset of a read port. It is a vector of functors
that is wide enough to accept the address bits, an event input, a that is wide enough to accept the address bits, an event input, a
@ -325,14 +325,14 @@ To initialize a memory, use:
val val val ... val val val ...
; ;
<memid> is the lavbel of the memory. [<start>] is optional, <memid> is the label of the memory. [<start>] is optional,
identifying the bits locattion where the first value is loaded. identifying the bits location where the first value is loaded.
<start> must be a multiple of four, and defaults to zero, if omitted. <start> must be a multiple of four, and defaults to zero, if omitted.
The values are decimal or hex numbers (0x prefix), which may be The values are decimal or hex numbers (0x prefix), which may be
optionally separated by commata ','. Each number in the range 0..256 optionally separated by comma ','. Each number in the range 0..256
initializes four memory bits. Two bits form each byte for each memory initializes four memory bits. Two bits form each byte for each memory
bit, in the ususal encoding. bit, in the usual encoding.
Procedural access to the memory employs an index register to address a Procedural access to the memory employs an index register to address a
bit location in the memory, via the commands: bit location in the memory, via the commands:
@ -388,7 +388,7 @@ to make this one go.
WORD STATEMENTS: WORD STATEMENTS:
Verilog includes some scalered word types available to the programmer, Verilog includes some scalar word types available to the programmer,
including real variables, and possible extension types that the code including real variables, and possible extension types that the code
generator can transparently use. Variables of these special types are generator can transparently use. Variables of these special types are
declared with .word statements: declared with .word statements:
@ -438,7 +438,7 @@ being forced.
STRUCTURAL ARITHMETIC STATEMENTS: STRUCTURAL ARITHMETIC STATEMENTS:
The various Verilog arithmetic opeators (+-*/%) are available to The various Verilog arithmetic operators (+-*/%) are available to
structural contexts even though they do not fit into nice neat structural contexts even though they do not fit into nice neat
functors. These operators are not in general bitwise, so special functors. These operators are not in general bitwise, so special
measures are needed to make them work in a functor environment. We measures are needed to make them work in a functor environment. We
@ -536,7 +536,7 @@ caller and %end in the callee. The %fork, then is simply a
generalization of a function call, where the caller does not generalization of a function call, where the caller does not
necessarily wait for the callee. necessarily wait for the callee.
For all the behavior of threads and thread parantage to work For all the behavior of threads and thread parentage to work
correctly, all %fork statements must have a corresponding %join in the correctly, all %fork statements must have a corresponding %join in the
parent, and %end in the child. Without this proper matching, the parent, and %end in the child. Without this proper matching, the
hierarchical relationships can get confused. The behavior of erroneous hierarchical relationships can get confused. The behavior of erroneous
@ -620,7 +620,7 @@ various instructions.
THE RELATIONSHIP BETWEEN FUNCTORS, THREADS AND EVENTS THE RELATIONSHIP BETWEEN FUNCTORS, THREADS AND EVENTS
Given the above summary of the major components of vvp, some Given the above summary of the major components of vvp, some
description of their relationship is warrented. Functors provide a description of their relationship is warranted. Functors provide a
structural description of the design (so far as it can be described structural description of the design (so far as it can be described
structurally) and these functors run independently of the threads. In structurally) and these functors run independently of the threads. In
particular, when an input to a functor is set, it calculates a new particular, when an input to a functor is set, it calculates a new
@ -766,7 +766,7 @@ becomes:
* named events * named events
Events in general are implemented as functors, but named events in Events in general are implemented as functors, but named events in
partinular have no inputs and only the event output. The way to particular have no inputs and only the event output. The way to
generate code for these is like so: generate code for these is like so:
a .event "name"; a .event "name";

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/ */
#ifdef HAVE_CVS_IDENT #ifdef HAVE_CVS_IDENT
#ident "$Id: compile.cc,v 1.153 2003/02/06 17:41:47 steve Exp $" #ident "$Id: compile.cc,v 1.154 2003/02/09 23:33:26 steve Exp $"
#endif #endif
# include "arith.h" # include "arith.h"
@ -1196,7 +1196,7 @@ void compile_memory_init(char *memid, unsigned i, unsigned char val)
/* /*
* The parser uses this function to compile and link an executable * The parser uses this function to compile and link an executable
* opcode. I do this by looking up the opcode in the opcode_table. The * opcode. I do this by looking up the opcode in the opcode_table. The
* table gives the operand structure that is acceptible, so I can * table gives the operand structure that is acceptable, so I can
* process the operands here as well. * process the operands here as well.
*/ */
void compile_code(char*label, char*mnem, comp_operands_t opa) void compile_code(char*label, char*mnem, comp_operands_t opa)
@ -1520,6 +1520,9 @@ void compile_net(char*label, char*name, int msb, int lsb, bool signed_flag,
/* /*
* $Log: compile.cc,v $ * $Log: compile.cc,v $
* Revision 1.154 2003/02/09 23:33:26 steve
* Spelling fixes.
*
* Revision 1.153 2003/02/06 17:41:47 steve * Revision 1.153 2003/02/06 17:41:47 steve
* Add the %sub/wr instruction. * Add the %sub/wr instruction.
* *

View File

@ -19,7 +19,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/ */
#ifdef HAVE_CVS_IDENT #ifdef HAVE_CVS_IDENT
#ident "$Id: compile.h,v 1.48 2003/01/27 00:14:37 steve Exp $" #ident "$Id: compile.h,v 1.49 2003/02/09 23:33:26 steve Exp $"
#endif #endif
# include <stdio.h> # include <stdio.h>
@ -70,7 +70,7 @@ extern void compile_vpi_time_precision(long pre);
* this function will free them. (Or save them permanently.) This * this function will free them. (Or save them permanently.) This
* includes the argv array and the strings it references. * includes the argv array and the strings it references.
* *
* The argc and argv are a list of char* that are the port paramters * The argc and argv are a list of char* that are the port parameters
* of the functor. The compile should match those port parameters up * of the functor. The compile should match those port parameters up
* to existing functors to manage the linking. * to existing functors to manage the linking.
*/ */
@ -143,7 +143,7 @@ extern void code_label_lookup(struct vvp_code_s *code, char *label);
* `compile_udp_table' is called with `table'==NULL to create a new * `compile_udp_table' is called with `table'==NULL to create a new
* table, or with an existing table to append to. * table, or with an existing table to append to.
* *
* `compile_udp_functor' creates a mode-3 functor refering to the * `compile_udp_functor' creates a mode-3 functor referring to the
* labeled UDP. * labeled UDP.
*/ */
@ -261,6 +261,9 @@ extern void compile_net(char*label, char*name,
/* /*
* $Log: compile.h,v $ * $Log: compile.h,v $
* Revision 1.49 2003/02/09 23:33:26 steve
* Spelling fixes.
*
* Revision 1.48 2003/01/27 00:14:37 steve * Revision 1.48 2003/01/27 00:14:37 steve
* Support in various contexts the $realtime * Support in various contexts the $realtime
* system task. * system task.

View File

@ -17,12 +17,12 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/ */
#ifdef HAVE_CVS_IDENT #ifdef HAVE_CVS_IDENT
#ident "$Id: debug.cc,v 1.10 2002/08/12 01:35:08 steve Exp $" #ident "$Id: debug.cc,v 1.11 2003/02/09 23:33:26 steve Exp $"
#endif #endif
/* /*
* This file provides a simple command line debugger for the vvp * This file provides a simple command line debugger for the vvp
* runtime. It is a means to interract with the user running the * runtime. It is a means to interact with the user running the
* simulation. * simulation.
*/ */
@ -154,6 +154,9 @@ void breakpoint(void)
#endif #endif
/* /*
* $Log: debug.cc,v $ * $Log: debug.cc,v $
* Revision 1.11 2003/02/09 23:33:26 steve
* Spelling fixes.
*
* Revision 1.10 2002/08/12 01:35:08 steve * Revision 1.10 2002/08/12 01:35:08 steve
* conditional ident string using autoconfig. * conditional ident string using autoconfig.
* *

View File

@ -17,7 +17,7 @@ breakpoint, or until the simulation ends.
* lookup <symbol>... * lookup <symbol>...
Give a symbol name, and this function will lookup that symbol and Give a symbol name, and this function will look up that symbol and
return the type and address. return the type and address.
fbreak <address>... fbreak <address>...

View File

@ -52,7 +52,7 @@ S_test .scope "test", S_main;
.scope S_test; .scope S_test;
T_0/1 ; T_0/1 ;
%delay 5; %delay 5;
%vpi_call "$display", "FAILED -- thread wasn't disbled"; %vpi_call "$display", "FAILED -- thread wasn't disabled";
%vpi_call "$finish"; %vpi_call "$finish";
%end; %end;

View File

@ -17,7 +17,7 @@
; along with this program; if not, write to the Free Software ; along with this program; if not, write to the Free Software
; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA ; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
; This example slightly extends the hello.vvp example by ading the ; This example slightly extends the hello.vvp example by adding the
; set and display of a reg variable. The Verilog source that would ; set and display of a reg variable. The Verilog source that would
; make this might be: ; make this might be:
; ;

View File

@ -31,7 +31,7 @@
; end ; end
; endmodule ; endmodule
; ;
; Notice the use of the .arith/sum statment, including the specification ; Notice the use of the .arith/sum statement, including the specification
; of the width (4 bits) and the order that the bits of the operands are ; of the width (4 bits) and the order that the bits of the operands are
; passed to the statement. ; passed to the statement.

View File

@ -19,7 +19,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/ */
#ifdef HAVE_CVS_IDENT #ifdef HAVE_CVS_IDENT
#ident "$Id: functor.h,v 1.48 2002/08/12 01:35:08 steve Exp $" #ident "$Id: functor.h,v 1.49 2003/02/09 23:33:26 steve Exp $"
#endif #endif
# include "pointers.h" # include "pointers.h"
@ -72,7 +72,7 @@
* The strength-aware outputs are specified as an 8 bit value, that is * The strength-aware outputs are specified as an 8 bit value, that is
* two 4 bit numbers. The value is encoded with two drive strengths (0-7) * two 4 bit numbers. The value is encoded with two drive strengths (0-7)
* and two drive values (0 or 1). Each nibble contains three bits of * and two drive values (0 or 1). Each nibble contains three bits of
* strength and one bit of value, like so: VSSS. The high nible has * strength and one bit of value, like so: VSSS. The high nibble has
* the strength-value closest to supply1, and the low nibble has the * the strength-value closest to supply1, and the low nibble has the
* strength-value closest to supply0. * strength-value closest to supply0.
* *
@ -308,7 +308,7 @@ struct extra_outputs_functor_s: public functor_s {
}; };
// extra_ports_functor_s redirects to base without setting the inputs. // extra_ports_functor_s redirects to base without setting the inputs.
// But base must be awayr that i may not match this. This is used by // But base must be aware that i may not match this. This is used by
// memory ports. // memory ports.
struct extra_ports_functor_s : public extra_outputs_functor_s struct extra_ports_functor_s : public extra_outputs_functor_s
@ -352,6 +352,9 @@ extern vvp_fvector_t vvp_fvector_continuous_new(unsigned size, vvp_ipoint_t p);
/* /*
* $Log: functor.h,v $ * $Log: functor.h,v $
* Revision 1.49 2003/02/09 23:33:26 steve
* Spelling fixes.
*
* Revision 1.48 2002/08/12 01:35:08 steve * Revision 1.48 2002/08/12 01:35:08 steve
* conditional ident string using autoconfig. * conditional ident string using autoconfig.
* *

View File

@ -9,8 +9,7 @@ source file.
The current values of the inputs are stored in a single 8-bit byte, The current values of the inputs are stored in a single 8-bit byte,
2-bits per value. This is the ``ival'' member. The input of a functor 2-bits per value. This is the ``ival'' member. The input of a functor
gets set by propagation events, assign events or %set gets set by propagation events, assign events, or %set instructions.
instructions.
The output value is stored in two bits of the functor. The current The output value is stored in two bits of the functor. The current
output is used to detect edges when the input changes. Whenever an output is used to detect edges when the input changes. Whenever an

View File

@ -19,7 +19,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/ */
#if !defined(WINNT) #if !defined(WINNT)
#ident "$Id: lexor.lex,v 1.37 2003/01/27 00:14:37 steve Exp $" #ident "$Id: lexor.lex,v 1.38 2003/02/09 23:33:26 steve Exp $"
#endif #endif
# include "parse_misc.h" # include "parse_misc.h"
@ -50,9 +50,9 @@
assert(yylval.text); assert(yylval.text);
return T_STRING; } return T_STRING; }
/* Binary vector tokens are pared here. The result of this is a /* Binary vector tokens are parsed here. The result of this is a
string of binary 4-values in the yylval.vect.text string. This is string of binary 4-values in the yylval.vect.text string. This is
preceeded by an 's' if the vector is signed. */ preceded by an 's' if the vector is signed. */
[1-9][0-9]*("'b"|"'sb")[01xz]+ { [1-9][0-9]*("'b"|"'sb")[01xz]+ {
yylval.vect.idx = strtoul(yytext, 0, 10); yylval.vect.idx = strtoul(yytext, 0, 10);
yylval.vect.text = (char*)malloc(yylval.vect.idx + 2); yylval.vect.text = (char*)malloc(yylval.vect.idx + 2);
@ -176,6 +176,9 @@ int yywrap()
/* /*
* $Log: lexor.lex,v $ * $Log: lexor.lex,v $
* Revision 1.38 2003/02/09 23:33:26 steve
* Spelling fixes.
*
* Revision 1.37 2003/01/27 00:14:37 steve * Revision 1.37 2003/01/27 00:14:37 steve
* Support in various contexts the $realtime * Support in various contexts the $realtime
* system task. * system task.

View File

@ -18,7 +18,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/ */
#ifdef HAVE_CVS_IDENT #ifdef HAVE_CVS_IDENT
#ident "$Id: memory.cc,v 1.19 2002/09/17 00:42:22 steve Exp $" #ident "$Id: memory.cc,v 1.20 2003/02/09 23:33:26 steve Exp $"
#endif #endif
#include "memory.h" #include "memory.h"
@ -409,7 +409,7 @@ void write_event(vvp_memory_port_t p)
void vvp_memory_port_s::set(vvp_ipoint_t i, bool, unsigned val, unsigned) void vvp_memory_port_s::set(vvp_ipoint_t i, bool, unsigned val, unsigned)
{ {
// !attention! "i" may not corespont to "this" // !attention! "i" may not correspond to "this"
functor_t ifu = functor_index(i); functor_t ifu = functor_index(i);
ifu->put(i, val); ifu->put(i, val);
@ -419,8 +419,8 @@ void vvp_memory_port_s::set(vvp_ipoint_t i, bool, unsigned val, unsigned)
update_data(this); update_data(this);
} }
// port ix+naddr is the write clock. If it's input value is // port ix+naddr is the write clock. If its input value is
// undefined, we do assynchronous write. Else any event on ix+naddr // undefined, we do asynchronous write. Else any event on ix+naddr
// is a valid write clock edge. Connect an appropriate edge event // is a valid write clock edge. Connect an appropriate edge event
// functor. // functor.
@ -510,6 +510,9 @@ void schedule_memory(vvp_memory_t mem, unsigned idx,
/* /*
* $Log: memory.cc,v $ * $Log: memory.cc,v $
* Revision 1.20 2003/02/09 23:33:26 steve
* Spelling fixes.
*
* Revision 1.19 2002/09/17 00:42:22 steve * Revision 1.19 2002/09/17 00:42:22 steve
* Proper initialization of the memories table. * Proper initialization of the memories table.
* *

View File

@ -1,7 +1,7 @@
/* /*
* Copyright (c) 2001-2003 Stephen Williams (steve@icarus.com) * Copyright (c) 2001-2003 Stephen Williams (steve@icarus.com)
* *
* $Id: opcodes.txt,v 1.48 2003/02/06 17:41:47 steve Exp $ * $Id: opcodes.txt,v 1.49 2003/02/09 23:33:26 steve Exp $
*/ */
@ -10,8 +10,8 @@ EXECUTABLE INSTRUCTION OPCODES
Instruction opcodes all start with a % character and have 0 or more Instruction opcodes all start with a % character and have 0 or more
operands. In no case are there more then 3 operands. This chapter operands. In no case are there more then 3 operands. This chapter
describes the specific behavior of each opcode, in hopefully enough describes the specific behavior of each opcode, in enough detail
detail that its complete effect can be predicted. (I hope) that its complete effect can be predicted.
General principles of Arithmetic: General principles of Arithmetic:
@ -33,7 +33,7 @@ See also the %sub instruction.
* %add/wr <bit-l>, <bit-r> * %add/wr <bit-l>, <bit-r>
This is the real valued version of hte %add instruction. The arguments This is the real valued version of the %add instruction. The arguments
are word indices of the operands. The right operand is added into the are word indices of the operands. The right operand is added into the
left operand. left operand.
@ -130,7 +130,7 @@ variable. This opcode affects only a single bit.
* %deassign <var-label>, <wid> * %deassign <var-label>, <wid>
Deactive and disconnect a procedural continuous assignment to a Deactivate and disconnect a procedural continuous assignment to a
variable. The <var-label> identifies the affected variable. <wid> variable. The <var-label> identifies the affected variable. <wid>
specifies the how many bits to deassign. specifies the how many bits to deassign.
@ -156,13 +156,13 @@ the same. That is, x and z are considered equal. In other words the eq
bit is the same as ``=='' and the eeq bit ``===''. bit is the same as ``=='' and the eeq bit ``===''.
The lt bit is 1 if the left vector is less then the right vector, or 0 The lt bit is 1 if the left vector is less then the right vector, or 0
if greater then or equal to the right vector. It is the equivilent of if greater then or equal to the right vector. It is the equivalent of
the Verilog < operator. Combinations of these three bits can be used the Verilog < operator. Combinations of these three bits can be used
to implement all the Verilog comparison operators. to implement all the Verilog comparison operators.
The %cmp/u and %cmp/s differ only in the handling of the lt bit. The The %cmp/u and %cmp/s differ only in the handling of the lt bit. The
%cmp/u does an unsigned compare, whereas the %cmp/s does a signed %cmp/u does an unsigned compare, whereas the %cmp/s does a signed
compare. In either case, if either operand constains x or z, then lt compare. In either case, if either operand contains x or z, then lt
bit gets the x value. bit gets the x value.
@ -332,7 +332,7 @@ a .var or a .functor, and may be indexed with array syntax to get at a
functor within a vector of functors. This instruction loads only a functor within a vector of functors. This instruction loads only a
single bit. single bit.
THe %load/v instruction is a vector version, that loads an entire The %load/v instruction is a vector version, that loads an entire
vector, starting at the given <bit> and functor. vector, starting at the given <bit> and functor.
* %load/m <bit>, <memory-label> * %load/m <bit>, <memory-label>
@ -459,7 +459,7 @@ truth table:
* %or/r <dst>, <src>, <wid> * %or/r <dst>, <src>, <wid>
This is a reduction version of the %or opcode. The <src> is a vector, This is a reduction version of the %or opcode. The <src> is a vector,
and the <dst> is a writeable scaler. The <dst> gets the value of the and the <dst> is a writable scalar. The <dst> gets the value of the
or of all the bits of the src vector. or of all the bits of the src vector.
@ -488,7 +488,7 @@ 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 be read out of the variable. The <bit> is the address of the thread
register that contains the bit value to assign. register that contains the bit value to assign.
The %set/v instrunction is the same as the %set, but it adds a width The %set/v instruction is the same as the %set, but it adds a width
for a vector. The bits are written out in order, starting at the for a vector. The bits are written out in order, starting at the
addressed variable bit and working up. If the <bit> is one of the addressed variable bit and working up. If the <bit> is one of the
constant bits, then the value is repeated for the width. Otherwise, constant bits, then the value is repeated for the width. Otherwise,
@ -549,7 +549,7 @@ See also the %add instruction.
* %subi <bit-l>, <imm>, <wid> * %subi <bit-l>, <imm>, <wid>
This instruction arithmetically subtracts the immediate value from the This instruction arithmetically subtracts the immediate value from the
left vector. The <imm> value is a 16bit unsigned value zer-extended to left vector. The <imm> value is a 16bit unsigned value zero-extended to
the <wid> of the left vector. The result replaces the left vector. the <wid> of the left vector. The result replaces the left vector.
See also the %addi instruction. See also the %addi instruction.

View File

@ -19,7 +19,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/ */
#if !defined(WINNT) #if !defined(WINNT)
#ident "$Id: parse.y,v 1.50 2003/01/27 00:14:37 steve Exp $" #ident "$Id: parse.y,v 1.51 2003/02/09 23:33:26 steve Exp $"
#endif #endif
# include "parse_misc.h" # include "parse_misc.h"
@ -114,7 +114,7 @@ program
/* A statement can be any of the following. In all cases, the /* A statement can be any of the following. In all cases, the
statment is terminated by a semi-colon. In general, a statement statement is terminated by a semi-colon. In general, a statement
has a label, an opcode of some source, and operands. The has a label, an opcode of some source, and operands. The
structure of the operands depends on the opcode. */ structure of the operands depends on the opcode. */
@ -137,7 +137,7 @@ statement
/* UDP statements define or instantiate UDPs. Definitions take a /* UDP statements define or instantiate UDPs. Definitions take a
label (UDP type id) a name (string), the number of inputs, and label (UDP type id) a name (string), the number of inputs, and
for sequentioal UDPs the initial value. */ for sequential UDPs the initial value. */
| T_LABEL K_UDP_S T_STRING ',' T_NUMBER ',' T_NUMBER ',' udp_table ';' | T_LABEL K_UDP_S T_STRING ',' T_NUMBER ',' T_NUMBER ',' udp_table ';'
{ compile_udp_def(1, $1, $3, $5, $7, $9); } { compile_udp_def(1, $1, $3, $5, $7, $9); }
@ -400,7 +400,7 @@ operand
Each argument of the call is represented as a vpiHandle Each argument of the call is represented as a vpiHandle
object. If the argument is a symbol, the symbol name will be object. If the argument is a symbol, the symbol name will be
kept, until the argument_list is complete. Then, all symbol kept, until the argument_list is complete. Then, all symbol
lookups will be attemted. Postoned lookups will point into the lookups will be attempted. Postponed lookups will point into the
resulting $$->argv. resulting $$->argv.
If it is some other supported object, the necessary If it is some other supported object, the necessary
vpiHandle object is created to support it. */ vpiHandle object is created to support it. */
@ -569,6 +569,9 @@ int compile_design(const char*path)
/* /*
* $Log: parse.y,v $ * $Log: parse.y,v $
* Revision 1.51 2003/02/09 23:33:26 steve
* Spelling fixes.
*
* Revision 1.50 2003/01/27 00:14:37 steve * Revision 1.50 2003/01/27 00:14:37 steve
* Support in various contexts the $realtime * Support in various contexts the $realtime
* system task. * system task.

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/ */
#ifdef HAVE_CVS_IDENT #ifdef HAVE_CVS_IDENT
#ident "$Id: resolv.cc,v 1.15 2002/09/06 04:56:29 steve Exp $" #ident "$Id: resolv.cc,v 1.16 2003/02/09 23:33:26 steve Exp $"
#endif #endif
# include "resolv.h" # include "resolv.h"
@ -128,7 +128,7 @@ static unsigned blend(unsigned a, unsigned b)
} }
/* Cannonicalize the HiZ value. */ /* Canonicalize the HiZ value. */
if ((res&0x77) == 0) if ((res&0x77) == 0)
res = HiZ; res = HiZ;
@ -182,7 +182,7 @@ void resolv_functor_s::set(vvp_ipoint_t i, bool push, unsigned, unsigned str)
// Do not propagate (push). Why? Because if, for example, a // Do not propagate (push). Why? Because if, for example, a
// clock buffer is modeled as parallel inverters, the output // clock buffer is modeled as parallel inverters, the output
// must not show 'bx transitions when the inverters all propagte // must not show 'bx transitions when the inverters all propagate
// at the same time. // at the same time.
put_ostr(val, sval, false); put_ostr(val, sval, false);
@ -204,6 +204,9 @@ void resolv_functor_s::debug_print(vvp_ipoint_t fnc)
/* /*
* $Log: resolv.cc,v $ * $Log: resolv.cc,v $
* Revision 1.16 2003/02/09 23:33:26 steve
* Spelling fixes.
*
* Revision 1.15 2002/09/06 04:56:29 steve * Revision 1.15 2002/09/06 04:56:29 steve
* Add support for %v is the display system task. * Add support for %v is the display system task.
* Change the encoding of H and L outputs from * Change the encoding of H and L outputs from

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/ */
#ifdef HAVE_CVS_IDENT #ifdef HAVE_CVS_IDENT
#ident "$Id: schedule.cc,v 1.21 2003/01/06 23:57:26 steve Exp $" #ident "$Id: schedule.cc,v 1.22 2003/02/09 23:33:26 steve Exp $"
#endif #endif
# include "schedule.h" # include "schedule.h"
@ -176,8 +176,8 @@ static void schedule_event_(struct event_s*cur)
/* Look for the first event after the cur /* Look for the first event after the cur
event. Decrease the cur->delay as I go, and use the event. Decrease the cur->delay as I go, and use the
skip member to accellerate the search. When I'm done, skip member to accelerate the search. When I'm done,
prev will point to the even immediately before where prev will point to the event immediately before where
this event goes. */ this event goes. */
struct event_s*prev = idx; struct event_s*prev = idx;
while (cur->delay > idx->delay) { while (cur->delay > idx->delay) {
@ -437,6 +437,9 @@ void schedule_simulate(void)
/* /*
* $Log: schedule.cc,v $ * $Log: schedule.cc,v $
* Revision 1.22 2003/02/09 23:33:26 steve
* Spelling fixes.
*
* Revision 1.21 2003/01/06 23:57:26 steve * Revision 1.21 2003/01/06 23:57:26 steve
* Schedule wait lists of threads as a single event, * Schedule wait lists of threads as a single event,
* to save on events. Also, improve efficiency of * to save on events. Also, improve efficiency of

View File

@ -19,7 +19,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/ */
#ifdef HAVE_CVS_IDENT #ifdef HAVE_CVS_IDENT
#ident "$Id: schedule.h,v 1.12 2003/01/06 23:57:26 steve Exp $" #ident "$Id: schedule.h,v 1.13 2003/02/09 23:33:26 steve Exp $"
#endif #endif
# include "vthread.h" # include "vthread.h"
@ -72,14 +72,14 @@ struct vvp_gen_event_s
extern void schedule_simulate(void); extern void schedule_simulate(void);
/* /*
* Get the current absolue simulation time. This is not used * Get the current absolute simulation time. This is not used
* internally by the scheduler (which uses time differences instead) * internally by the scheduler (which uses time differences instead)
* but is used for printouts and stuff. * but is used for printouts and stuff.
*/ */
extern vvp_time64_t schedule_simtime(void); extern vvp_time64_t schedule_simtime(void);
/* /*
* This function is the equivilent of the $finish system task. It * This function is the equivalent of the $finish system task. It
* tells the simulator that simulation is done, the current thread * tells the simulator that simulation is done, the current thread
* should be stopped, all remaining events abandoned and the * should be stopped, all remaining events abandoned and the
* schedule_simulate() function will return. * schedule_simulate() function will return.
@ -101,6 +101,9 @@ extern unsigned long count_event_pool;
/* /*
* $Log: schedule.h,v $ * $Log: schedule.h,v $
* Revision 1.13 2003/02/09 23:33:26 steve
* Spelling fixes.
*
* Revision 1.12 2003/01/06 23:57:26 steve * Revision 1.12 2003/01/06 23:57:26 steve
* Schedule wait lists of threads as a single event, * Schedule wait lists of threads as a single event,
* to save on events. Also, improve efficiency of * to save on events. Also, improve efficiency of

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/ */
#ifdef HAVE_CVS_IDENT #ifdef HAVE_CVS_IDENT
#ident "$Id: symbols.cc,v 1.10 2002/08/12 01:35:08 steve Exp $" #ident "$Id: symbols.cc,v 1.11 2003/02/09 23:33:26 steve Exp $"
#endif #endif
# include "symbols.h" # include "symbols.h"
@ -168,7 +168,7 @@ static void split_node_(struct tree_node_*cur)
new_node->parent = cur->parent; new_node->parent = cur->parent;
/* Move the last half of the data from the end of the old node /* Move the last half of the data from the end of the old node
to the begining of the new node. At the same time, reduce to the beginning of the new node. At the same time, reduce
the size of the old node. */ the size of the old node. */
idx1 = new_node->count; idx1 = new_node->count;
idx2 = cur->count; idx2 = cur->count;
@ -244,7 +244,7 @@ static struct tree_node_* split_leaf_(struct tree_node_*cur)
new_leaf->parent = cur->parent; new_leaf->parent = cur->parent;
/* Move the last half of the data from the end of the old leaf /* Move the last half of the data from the end of the old leaf
to the beggining of the new leaf. At the same time, reduce to the beginning of the new leaf. At the same time, reduce
the size of the old leaf. */ the size of the old leaf. */
unsigned idx1 = new_leaf->count; unsigned idx1 = new_leaf->count;
unsigned idx2 = cur->count; unsigned idx2 = cur->count;
@ -422,6 +422,9 @@ symbol_value_t sym_get_value(symbol_table_t tbl, const char*key)
/* /*
* $Log: symbols.cc,v $ * $Log: symbols.cc,v $
* Revision 1.11 2003/02/09 23:33:26 steve
* Spelling fixes.
*
* Revision 1.10 2002/08/12 01:35:08 steve * Revision 1.10 2002/08/12 01:35:08 steve
* conditional ident string using autoconfig. * conditional ident string using autoconfig.
* *

View File

@ -18,7 +18,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/ */
#ifdef HAVE_CVS_IDENT #ifdef HAVE_CVS_IDENT
#ident "$Id: udp.cc,v 1.17 2002/08/12 01:35:08 steve Exp $" #ident "$Id: udp.cc,v 1.18 2003/02/09 23:33:26 steve Exp $"
#endif #endif
#include "udp.h" #include "udp.h"
@ -305,7 +305,7 @@ void vvp_udp_s::compile_row_(udp_table_entry_t row, char *rchr)
{ {
if (!sequ) if (!sequ)
{ {
fprintf(stderr, "vvp: edge in compinatorial UDP\n"); fprintf(stderr, "vvp: edge in combinatorial UDP\n");
assert(0); assert(0);
} }
if (!i) if (!i)
@ -350,6 +350,9 @@ void vvp_udp_s::compile_row_(udp_table_entry_t row, char *rchr)
/* /*
* $Log: udp.cc,v $ * $Log: udp.cc,v $
* Revision 1.18 2003/02/09 23:33:26 steve
* Spelling fixes.
*
* Revision 1.17 2002/08/12 01:35:08 steve * Revision 1.17 2002/08/12 01:35:08 steve
* conditional ident string using autoconfig. * conditional ident string using autoconfig.
* *

View File

@ -1,7 +1,7 @@
/* /*
* Copyright (c) 2001 Stephen Williams (steve@icarus.com) * Copyright (c) 2001 Stephen Williams (steve@icarus.com)
* *
* $Id: vpi.txt,v 1.6 2002/12/21 00:55:58 steve Exp $ * $Id: vpi.txt,v 1.7 2003/02/09 23:33:26 steve Exp $
*/ */
@ -134,7 +134,7 @@ directive cannot have a label.
VARIABLES VARIABLES
Reg vectors (scalers are vectors of length 1) are created by .var Reg vectors (scalars are vectors of length 1) are created by .var
statements in the source. The .var statement includes the declared statements in the source. The .var statement includes the declared
name of the variable, and the indices of the MSB and LSB of the name of the variable, and the indices of the MSB and LSB of the
vector. The vpiHandle is then created with this information, and the vector. The vpiHandle is then created with this information, and the

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/ */
#ifdef HAVE_CVS_IDENT #ifdef HAVE_CVS_IDENT
#ident "$Id: vpi_callback.cc,v 1.25 2002/09/20 02:42:11 steve Exp $" #ident "$Id: vpi_callback.cc,v 1.26 2003/02/09 23:33:26 steve Exp $"
#endif #endif
/* /*
@ -178,7 +178,7 @@ struct callback_functor_s *vvp_fvector_make_callback(vvp_fvector_t vec,
/* /*
* A value change callback is tripped when a bit of a signal * A value change callback is tripped when a bit of a signal
* changes. This function creates that value change callback and * changes. This function creates that value change callback and
* attaches it to the relevent vpiSignal object. Also, if the signal * attaches it to the relevant vpiSignal object. Also, if the signal
* does not already have them, create some callback functors to do the * does not already have them, create some callback functors to do the
* actual value change detection. * actual value change detection.
*/ */
@ -530,6 +530,9 @@ void callback_functor_s::set(vvp_ipoint_t, bool, unsigned val, unsigned)
/* /*
* $Log: vpi_callback.cc,v $ * $Log: vpi_callback.cc,v $
* Revision 1.26 2003/02/09 23:33:26 steve
* Spelling fixes.
*
* Revision 1.25 2002/09/20 02:42:11 steve * Revision 1.25 2002/09/20 02:42:11 steve
* Add support for cbAfterDelay. * Add support for cbAfterDelay.
* *

View File

@ -20,14 +20,14 @@
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
* --- * ---
* You should also have recieved a copy of the Picture Elements * You should also have received a copy of the Picture Elements
* Binary Software License offer along with the source. This offer * Binary Software License offer along with the source. This offer
* allows you to obtain the right to redistribute the software in * allows you to obtain the right to redistribute the software in
* binary (compiled) form. If you have not received it, contact * binary (compiled) form. If you have not received it, contact
* Picture Elements, Inc., 777 Panoramic Way, Berkeley, CA 94704. * Picture Elements, Inc., 777 Panoramic Way, Berkeley, CA 94704.
*/ */
#ifdef HAVE_CVS_IDENT #ifdef HAVE_CVS_IDENT
#ident "$Id: vpi_memory.cc,v 1.21 2003/02/02 01:40:24 steve Exp $" #ident "$Id: vpi_memory.cc,v 1.22 2003/02/09 23:33:26 steve Exp $"
#endif #endif
# include "vpi_priv.h" # include "vpi_priv.h"
@ -586,6 +586,9 @@ vpiHandle vpip_make_memory(vvp_memory_t mem)
/* /*
* $Log: vpi_memory.cc,v $ * $Log: vpi_memory.cc,v $
* Revision 1.22 2003/02/09 23:33:26 steve
* Spelling fixes.
*
* Revision 1.21 2003/02/02 01:40:24 steve * Revision 1.21 2003/02/02 01:40:24 steve
* Five vpi_free_object a default behavior. * Five vpi_free_object a default behavior.
* *

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/ */
#ifdef HAVE_CVS_IDENT #ifdef HAVE_CVS_IDENT
#ident "$Id: vpi_modules.cc,v 1.13 2003/01/10 03:06:32 steve Exp $" #ident "$Id: vpi_modules.cc,v 1.14 2003/02/09 23:33:26 steve Exp $"
#endif #endif
# include "config.h" # include "config.h"
@ -56,7 +56,7 @@ void vpip_load_module(const char*name)
if (strchr(name, sep)) { if (strchr(name, sep)) {
/* If the name has at least one directory character in /* If the name has at least one directory character in
it, then assume it is a complete name, maybe including any it, then assume it is a complete name, maybe including any
possble .vpi suffix. */ possible .vpi suffix. */
rc = stat(name, &sb); rc = stat(name, &sb);
if (rc != 0) { /* did we find a file? */ if (rc != 0) { /* did we find a file? */
@ -121,6 +121,9 @@ void vpip_load_module(const char*name)
/* /*
* $Log: vpi_modules.cc,v $ * $Log: vpi_modules.cc,v $
* Revision 1.14 2003/02/09 23:33:26 steve
* Spelling fixes.
*
* Revision 1.13 2003/01/10 03:06:32 steve * Revision 1.13 2003/01/10 03:06:32 steve
* Remove vpithunk, and move libvpi to vvp directory. * Remove vpithunk, and move libvpi to vvp directory.
* *

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/ */
#ifdef HAVE_CVS_IDENT #ifdef HAVE_CVS_IDENT
#ident "$Id: vpi_priv.cc,v 1.29 2003/02/02 01:40:24 steve Exp $" #ident "$Id: vpi_priv.cc,v 1.30 2003/02/09 23:33:26 steve Exp $"
#endif #endif
# include "vpi_priv.h" # include "vpi_priv.h"
@ -303,7 +303,7 @@ static vpiHandle find_scope(char *name, vpiHandle handle, int depth)
while (iter && (hand = vpi_scan(iter))) { while (iter && (hand = vpi_scan(iter))) {
char *nm = vpi_get_str(vpiName, hand); char *nm = vpi_get_str(vpiName, hand);
int len = strlen(nm); int len = strlen(nm);
char *cp = name + len; /* hier seperator */ char *cp = name + len; /* hier separator */
if (!handle && !strcmp(name, nm)) { if (!handle && !strcmp(name, nm)) {
/* root module */ /* root module */
@ -328,8 +328,8 @@ vpiHandle vpi_handle_by_name(char *name, vpiHandle scope)
char *nm, *cp; char *nm, *cp;
int len; int len;
/* If scope provided, look in cooresponding module; otherwise /* If scope provided, look in corresponding module; otherwise
* traverse the hierarcy specified in name to find the leaf module * traverse the hierarchy specified in name to find the leaf module
* and try finding it there. * and try finding it there.
*/ */
if (scope) if (scope)
@ -395,6 +395,9 @@ extern "C" void vpi_control(int operation, ...)
/* /*
* $Log: vpi_priv.cc,v $ * $Log: vpi_priv.cc,v $
* Revision 1.30 2003/02/09 23:33:26 steve
* Spelling fixes.
*
* Revision 1.29 2003/02/02 01:40:24 steve * Revision 1.29 2003/02/02 01:40:24 steve
* Five vpi_free_object a default behavior. * Five vpi_free_object a default behavior.
* *

View File

@ -19,7 +19,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/ */
#ifdef HAVE_CVS_IDENT #ifdef HAVE_CVS_IDENT
#ident "$Id: vpi_priv.h,v 1.46 2003/02/01 05:50:04 steve Exp $" #ident "$Id: vpi_priv.h,v 1.47 2003/02/09 23:33:26 steve Exp $"
#endif #endif
# include "vpi_user.h" # include "vpi_user.h"
@ -35,7 +35,7 @@
/* /*
* The vpi_mode_flag contains the major mode for VPI use. This is used * The vpi_mode_flag contains the major mode for VPI use. This is used
* to generate error messages whe vpi functions are called * to generate error messages when vpi functions are called
* incorrectly. * incorrectly.
*/ */
enum vpi_mode_t { enum vpi_mode_t {
@ -108,7 +108,7 @@ extern vpiHandle vpip_make_iterator(unsigned nargs, vpiHandle*args,
bool free_args_flag); bool free_args_flag);
/* /*
* This represents callback handles. There are some privat types that * This represents callback handles. There are some private types that
* are defined and used in vpi_callback.cc. * are defined and used in vpi_callback.cc.
*/ */
struct __vpiCallback { struct __vpiCallback {
@ -135,7 +135,7 @@ struct __vpiSystemTime {
/* /*
* Scopes are created by .scope statements in the source. These * Scopes are created by .scope statements in the source. These
* objects hold the items and properties that are knowably bound to a * objects hold the items and properties that are knowingly bound to a
* scope. * scope.
*/ */
struct __vpiScope { struct __vpiScope {
@ -172,7 +172,7 @@ struct __vpiSignal {
int msb, lsb; int msb, lsb;
/* Flags */ /* Flags */
unsigned signed_flag : 1; unsigned signed_flag : 1;
unsigned isint_ : 1; // origial type was integer unsigned isint_ : 1; // original type was integer
/* The represented value is here. */ /* The represented value is here. */
vvp_fvector_t bits; vvp_fvector_t bits;
/* This is the callback event functor */ /* This is the callback event functor */
@ -395,6 +395,9 @@ extern char *need_result_buf(unsigned cnt, vpi_rbuf_t type);
/* /*
* $Log: vpi_priv.h,v $ * $Log: vpi_priv.h,v $
* Revision 1.47 2003/02/09 23:33:26 steve
* Spelling fixes.
*
* Revision 1.46 2003/02/01 05:50:04 steve * Revision 1.46 2003/02/01 05:50:04 steve
* Make $time and $realtime available to $display uniquely. * Make $time and $realtime available to $display uniquely.
* *

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/ */
#ifdef HAVE_CVS_IDENT #ifdef HAVE_CVS_IDENT
#ident "$Id: vpi_scope.cc,v 1.22 2002/12/21 00:55:58 steve Exp $" #ident "$Id: vpi_scope.cc,v 1.23 2003/02/09 23:33:26 steve Exp $"
#endif #endif
# include "compile.h" # include "compile.h"
@ -196,7 +196,7 @@ static vpiHandle module_iter(int code, vpiHandle obj)
** connected to the same wire. The SDF annotator need to find those ** connected to the same wire. The SDF annotator need to find those
** functors which are inside the scope of the target module, which ** functors which are inside the scope of the target module, which
** are driven by the source functor. And even this is only an ** are driven by the source functor. And even this is only an
** aproximation, in case the wire is connected to multiple inputs of ** approximation, in case the wire is connected to multiple inputs of
** the same module. But those should have the same delays anyway. ** the same module. But those should have the same delays anyway.
** **
*/ */
@ -242,9 +242,9 @@ void functor_set_scope(vpiHandle scope)
} }
/* /*
** Lockup the scope of a functor. ** Look up the scope of a functor.
** **
** Cannot use bserach, since we are not looking for an exact match ** Cannot use bsearch, since we are not looking for an exact match
*/ */
vpiHandle ipoint_get_scope(vvp_ipoint_t ipt) vpiHandle ipoint_get_scope(vvp_ipoint_t ipt)
{ {
@ -447,6 +447,9 @@ void vpip_attach_to_current_scope(vpiHandle obj)
/* /*
* $Log: vpi_scope.cc,v $ * $Log: vpi_scope.cc,v $
* Revision 1.23 2003/02/09 23:33:26 steve
* Spelling fixes.
*
* Revision 1.22 2002/12/21 00:55:58 steve * Revision 1.22 2002/12/21 00:55:58 steve
* The $time system task returns the integer time * The $time system task returns the integer time
* scaled to the local units. Change the internal * scaled to the local units. Change the internal

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/ */
#ifdef HAVE_CVS_IDENT #ifdef HAVE_CVS_IDENT
#ident "$Id: vpi_signal.cc,v 1.51 2003/01/07 18:07:50 steve Exp $" #ident "$Id: vpi_signal.cc,v 1.52 2003/02/09 23:33:26 steve Exp $"
#endif #endif
/* /*
@ -442,7 +442,7 @@ static void signal_get_value(vpiHandle ref, s_vpi_value*vp)
* The put_value method writes the value into the vector, and returns * The put_value method writes the value into the vector, and returns
* the affected ref. This operation works much like the %set or * the affected ref. This operation works much like the %set or
* %assign instructions and causes all the side-effects that the * %assign instructions and causes all the side-effects that the
* equivilent instruction would cause. * equivalent instruction would cause.
*/ */
static void functor_poke(struct __vpiSignal*rfp, unsigned idx, static void functor_poke(struct __vpiSignal*rfp, unsigned idx,
@ -763,6 +763,9 @@ vpiHandle vpip_make_net(const char*name, int msb, int lsb,
/* /*
* $Log: vpi_signal.cc,v $ * $Log: vpi_signal.cc,v $
* Revision 1.52 2003/02/09 23:33:26 steve
* Spelling fixes.
*
* Revision 1.51 2003/01/07 18:07:50 steve * Revision 1.51 2003/01/07 18:07:50 steve
* Allocate res-buf in bigger chunks * Allocate res-buf in bigger chunks
* *

View File

@ -18,7 +18,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/ */
#ifdef HAVE_CVS_IDENT #ifdef HAVE_CVS_IDENT
#ident "$Id: vpi_vthr_vector.cc,v 1.11 2003/02/06 17:41:33 steve Exp $" #ident "$Id: vpi_vthr_vector.cc,v 1.12 2003/02/09 23:33:26 steve Exp $"
#endif #endif
/* /*
@ -331,7 +331,7 @@ static vpiHandle vthr_vec_put_value(vpiHandle ref, s_vpi_value*vp,
} }
// The code fully supports vpiReg, vpi_Net, but we do not // The code fully supports vpiReg, vpi_Net, but we do not
// create such things, yet. Lacking a neme, for example. // create such things, yet. Lacking a name, for example.
static const struct __vpirt vpip_vthr_const_rt = { static const struct __vpirt vpip_vthr_const_rt = {
vpiConstant, vpiConstant,
@ -469,6 +469,9 @@ vpiHandle vpip_make_vthr_word(unsigned base, const char*type)
/* /*
* $Log: vpi_vthr_vector.cc,v $ * $Log: vpi_vthr_vector.cc,v $
* Revision 1.12 2003/02/09 23:33:26 steve
* Spelling fixes.
*
* Revision 1.11 2003/02/06 17:41:33 steve * Revision 1.11 2003/02/06 17:41:33 steve
* Support constant types for thread words. * Support constant types for thread words.
* *

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/ */
#ifdef HAVE_CVS_IDENT #ifdef HAVE_CVS_IDENT
#ident "$Id: vthread.cc,v 1.100 2003/02/06 17:41:47 steve Exp $" #ident "$Id: vthread.cc,v 1.101 2003/02/09 23:33:26 steve Exp $"
#endif #endif
# include "vthread.h" # include "vthread.h"
@ -54,7 +54,7 @@
* *
* The %fork instruction creates a new thread and pushes that onto the * The %fork instruction creates a new thread and pushes that onto the
* stack of children for the thread. This new thread, then, becomes * stack of children for the thread. This new thread, then, becomes
* the new direct descendent of the thread. This new thread is * the new direct descendant of the thread. This new thread is
* therefore also the first thread to be reaped when the parent does a * therefore also the first thread to be reaped when the parent does a
* %join. * %join.
* *
@ -895,7 +895,7 @@ static bool do_disable(vthread_t thr, vthread_t match)
//assert(tmp->is_scheduled == 0); //assert(tmp->is_scheduled == 0);
} else { } else {
/* No parent at all. Goodby. */ /* No parent at all. Goodbye. */
vthread_reap(thr); vthread_reap(thr);
} }
@ -1704,7 +1704,7 @@ tally:
/* /*
* %mov <dest>, <src>, <wid> * %mov <dest>, <src>, <wid>
* This instruction is implemented by the of_MOV function * This instruction is implemented by the of_MOV function
* below. However, durning runtime vvp might notice that the * below. However, during runtime vvp might notice that the
* parameters have certain properties that make it possible to * parameters have certain properties that make it possible to
* replace the of_MOV opcode with a more specific instruction that * replace the of_MOV opcode with a more specific instruction that
* more directly does the job. All the of_MOV*_ functions are * more directly does the job. All the of_MOV*_ functions are
@ -2616,6 +2616,9 @@ bool of_CALL_UFUNC(vthread_t thr, vvp_code_t cp)
/* /*
* $Log: vthread.cc,v $ * $Log: vthread.cc,v $
* Revision 1.101 2003/02/09 23:33:26 steve
* Spelling fixes.
*
* Revision 1.100 2003/02/06 17:41:47 steve * Revision 1.100 2003/02/06 17:41:47 steve
* Add the %sub/wr instruction. * Add the %sub/wr instruction.
* *

View File

@ -1,7 +1,7 @@
/* /*
* Copyright (c) 2001 Stephen Williams (steve@icarus.com) * Copyright (c) 2001 Stephen Williams (steve@icarus.com)
* *
* $Id: vthread.txt,v 1.3 2001/05/01 05:00:02 steve Exp $ * $Id: vthread.txt,v 1.4 2003/02/09 23:33:26 steve Exp $
*/ */
@ -42,7 +42,7 @@ a bit address is 16 bits.
Threads also contain 4 numeric ``index'' registers. These are binary Threads also contain 4 numeric ``index'' registers. These are binary
values (no unknowns) that can be used in certain cases where extra values (no unknowns) that can be used in certain cases where extra
numeric parameters are needed. The thread instruction set includex numeric parameters are needed. The thread instruction set includes
%ix/* instructions to manipulate these registers. The instructions %ix/* instructions to manipulate these registers. The instructions
that use these registers document which register is used, and what the that use these registers document which register is used, and what the
numeric value is used for. For example, %assign/m uses index register numeric value is used for. For example, %assign/m uses index register