From 79ce94b585d3354a50ceaa5d4bcf320abdb9a688 Mon Sep 17 00:00:00 2001 From: steve Date: Mon, 26 Mar 2001 04:00:39 +0000 Subject: [PATCH] Add the .event statement and the %wait instruction. --- vvp/README.txt | 24 ++++++++++++- vvp/codes.h | 6 +++- vvp/compile.cc | 74 +++++++++++++++++++++++++++++++++++++++- vvp/compile.h | 14 +++++++- vvp/examples/edge.vvp | 52 ++++++++++++++++++++++++++++ vvp/functor.cc | 79 +++++++++++++++++++++++++++++++++++++------ vvp/functor.h | 38 +++++++++++++++++++-- vvp/lexor.lex | 6 +++- vvp/opcodes.txt | 4 +-- vvp/parse.y | 15 ++++++-- vvp/pointers.h | 20 ++++++++++- vvp/vthread.cc | 32 +++++++++++++++++- vvp/vthread.h | 13 ++++++- 13 files changed, 352 insertions(+), 25 deletions(-) create mode 100644 vvp/examples/edge.vvp diff --git a/vvp/README.txt b/vvp/README.txt index 92040d7b3..23bd990b8 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.8 2001/03/24 22:59:28 steve Exp $ + * $Id: README.txt,v 1.9 2001/03/26 04:00:39 steve Exp $ */ VVP SIMULATION ENGINE @@ -186,6 +186,28 @@ position for that bit blank. Bits of .nets are initialized to z. Unconnected bits keep the value z throughout the simulation. +EVENT STATEMENTS + +Threads need to interact with the functors of a netlist synchronously, +as well as asynchronously. There are cases where the web of functors +needs to wake up a waiting thread. The web of functors signals threads +through .event objects, that are declare like so: + +