From de252965ac0a5dfc3c2c8d3cedfea9f7910f2e02 Mon Sep 17 00:00:00 2001 From: steve Date: Mon, 18 Mar 2002 00:19:34 +0000 Subject: [PATCH] Add the .ufunc statement. --- vvp/Makefile.in | 6 +- vvp/README.txt | 9 +- vvp/codes.h | 8 +- vvp/compile.cc | 9 +- vvp/compile.h | 28 +++++- vvp/lexor.lex | 6 +- vvp/parse.y | 18 +++- vvp/ufunc.cc | 222 ++++++++++++++++++++++++++++++++++++++++++++++++ vvp/ufunc.h | 85 ++++++++++++++++++ vvp/vthread.cc | 94 ++++++++------------ 10 files changed, 413 insertions(+), 72 deletions(-) create mode 100644 vvp/ufunc.cc create mode 100644 vvp/ufunc.h diff --git a/vvp/Makefile.in b/vvp/Makefile.in index b704206d0..20c72e46a 100644 --- a/vvp/Makefile.in +++ b/vvp/Makefile.in @@ -16,7 +16,7 @@ # 59 Temple Place - Suite 330 # Boston, MA 02111-1307, USA # -#ident "$Id: Makefile.in,v 1.35 2002/02/03 01:01:51 steve Exp $" +#ident "$Id: Makefile.in,v 1.36 2002/03/18 00:19:34 steve Exp $" # # SHELL = /bin/sh @@ -66,8 +66,8 @@ vpi_priv.o vpi_scope.o vpi_signal.o vpi_tasks.o vpi_time.o vpi_memory.o \ vpi_vthr_vector.o vpip_to_dec.o vvp_vpi.o O = main.o parse.o parse_misc.o lexor.o arith.o bufif.o compile.o debug.o \ -functor.o fvectors.o npmos.o resolv.o symbols.o codes.o vthread.o schedule.o \ -tables.o udp.o memory.o force.o event.o logic.o delay.o $V +functor.o fvectors.o npmos.o resolv.o symbols.o ufunc.o codes.o vthread.o \ +schedule.o tables.o udp.o memory.o force.o event.o logic.o delay.o $V vvp: $O $(CXX) $(rdynamic) $(CXXFLAGS) $(LDFLAGS) -o vvp $O $(LIBS) $(dllib) diff --git a/vvp/README.txt b/vvp/README.txt index 77cb9ac01..0a941d6c1 100644 --- a/vvp/README.txt +++ b/vvp/README.txt @@ -1,7 +1,7 @@ /* * Copyright (c) 2001 Stephen Williams (steve@icarus.com) * - * $Id: README.txt,v 1.39 2002/01/03 04:19:01 steve Exp $ + * $Id: README.txt,v 1.40 2002/03/18 00:19:34 steve Exp $ */ VVP SIMULATION ENGINE @@ -476,6 +476,13 @@ number of data inputs. The first symbols in the gives the input data. The remaining hold the shift value, lsb first. +STRUCTURAL FUNCTION CALLS: + +The .ufunc statement defines a call to a user defined function. + +