From 018014368b776d7a342f9d06fd93257f0cde0e37 Mon Sep 17 00:00:00 2001 From: steve Date: Thu, 3 Feb 2005 04:55:13 +0000 Subject: [PATCH] Add support for reduction logic gates. --- vvp/Makefile.in | 6 +- vvp/README.txt | 20 +++- vvp/compile.h | 14 ++- vvp/lexor.lex | 11 ++- vvp/parse.y | 24 ++++- vvp/reduce.cc | 253 ++++++++++++++++++++++++++++++++++++++++++++++++ vvp/vvp_net.cc | 37 ++++++- vvp/vvp_net.h | 7 +- 8 files changed, 360 insertions(+), 12 deletions(-) create mode 100644 vvp/reduce.cc diff --git a/vvp/Makefile.in b/vvp/Makefile.in index 856a4fd5f..df4404a57 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.63 2004/12/29 23:45:13 steve Exp $" +#ident "$Id: Makefile.in,v 1.64 2005/02/03 04:55:13 steve Exp $" # # SHELL = /bin/sh @@ -82,8 +82,8 @@ vpi_memory.o vpi_vthr_vector.o vpip_bin.o vpip_hex.o vpip_oct.o \ vpip_to_dec.o vpip_format.o vvp_vpi.o O = main.o parse.o parse_misc.o lexor.o arith.o bufif.o compile.o concat.o \ -functor.o fvectors.o npmos.o part.o resolv.o stop.o symbols.o ufunc.o \ -codes.o \ +functor.o fvectors.o npmos.o part.o reduce.o resolv.o stop.o symbols.o \ +ufunc.o codes.o \ vthread.o schedule.o statistics.o tables.o udp.o vvp_net.o memory.o \ force.o event.o logic.o delay.o words.o $V diff --git a/vvp/README.txt b/vvp/README.txt index 2547bf345..706a5a17e 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.55 2005/01/28 05:34:25 steve Exp $ + * $Id: README.txt,v 1.56 2005/02/03 04:55:13 steve Exp $ */ VVP SIMULATION ENGINE @@ -482,6 +482,24 @@ The initial output value is (W+X+Y+Z) bits of 'bx. As input values are propagated, the bits are placed in the correct place in the output vector value, and a new output value is propagated. + +REDUCTION LOGIC + +The reduction logic statements take in a single vector, and propagate +a single bit. + +