From 7009dc8d9b5d7d124380da8bc304be8a5e98c29d Mon Sep 17 00:00:00 2001 From: steve Date: Fri, 15 Jun 2001 03:28:30 +0000 Subject: [PATCH] Change the VPI call process so that loaded .vpi modules use a function table instead of implicit binding. --- vvp/README.txt | 40 ++++++++---- vvp/compile.cc | 19 ++++-- vvp/compile.h | 7 +- vvp/examples/memory.vvp | 42 ++++++++++-- vvp/memory.cc | 140 ++++++++++++++++++++++------------------ vvp/memory.h | 11 +++- vvp/parse.y | 10 ++- 7 files changed, 179 insertions(+), 90 deletions(-) diff --git a/vvp/README.txt b/vvp/README.txt index a469e0530..01cbca4f2 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.27 2001/06/07 03:09:03 steve Exp $ + * $Id: README.txt,v 1.28 2001/06/15 03:28:30 steve Exp $ */ VVP SIMULATION ENGINE @@ -296,28 +296,44 @@ data bus, bit 0 is the lsb of the first word, bit 20 is the lsb of the second word. Structural read access is implemented in terms of address and data -ports. An address port is the concatinations of the smallest number of -address bits required to express each address range. The addresses -applied to the address port are expected to be withing the ranges -specified. +ports. The addresses applied to the address port are expected to be +withing the ranges specified, not based at zero. -An port is a vector of functors that is wide enough to accept all -address bits and at least as wide as the requested subset of the data -port. +A read port is a vector of functors that is wide enough to accept all +provided address bits and at least as wide as the requested subset of +the data port. -