From 52ea13819adacff2f88773c2e707d761c4aca4cc Mon Sep 17 00:00:00 2001 From: steve Date: Sun, 21 Apr 2002 22:29:49 +0000 Subject: [PATCH] Add the assign/d instruction for computed delays. --- vvp/codes.h | 6 +++++- vvp/compile.cc | 6 +++++- vvp/opcodes.txt | 7 ++++++- vvp/vthread.cc | 13 ++++++++++++- 4 files changed, 28 insertions(+), 4 deletions(-) diff --git a/vvp/codes.h b/vvp/codes.h index 0c49c2a13..3d0c44565 100644 --- a/vvp/codes.h +++ b/vvp/codes.h @@ -19,7 +19,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ #if !defined(WINNT) -#ident "$Id: codes.h,v 1.39 2002/04/14 18:41:34 steve Exp $" +#ident "$Id: codes.h,v 1.40 2002/04/21 22:29:49 steve Exp $" #endif @@ -39,6 +39,7 @@ extern bool of_ADD(vthread_t thr, vvp_code_t code); extern bool of_AND(vthread_t thr, vvp_code_t code); extern bool of_ANDR(vthread_t thr, vvp_code_t code); extern bool of_ASSIGN(vthread_t thr, vvp_code_t code); +extern bool of_ASSIGN_D(vthread_t thr, vvp_code_t code); extern bool of_ASSIGN_MEM(vthread_t thr, vvp_code_t code); extern bool of_ASSIGN_X0(vthread_t thr, vvp_code_t code); extern bool of_BREAKPOINT(vthread_t thr, vvp_code_t code); @@ -152,6 +153,9 @@ extern vvp_code_t codespace_index(vvp_cpoint_t ptr); /* * $Log: codes.h,v $ + * Revision 1.40 2002/04/21 22:29:49 steve + * Add the assign/d instruction for computed delays. + * * Revision 1.39 2002/04/14 18:41:34 steve * Support signed integer division. * diff --git a/vvp/compile.cc b/vvp/compile.cc index a68a40f30..fd26f9a2d 100644 --- a/vvp/compile.cc +++ b/vvp/compile.cc @@ -17,7 +17,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ #if !defined(WINNT) -#ident "$Id: compile.cc,v 1.124 2002/04/14 18:41:34 steve Exp $" +#ident "$Id: compile.cc,v 1.125 2002/04/21 22:29:49 steve Exp $" #endif # include "arith.h" @@ -83,6 +83,7 @@ const static struct opcode_table_s opcode_table[] = { { "%and", of_AND, 3, {OA_BIT1, OA_BIT2, OA_NUMBER} }, { "%and/r", of_ANDR, 3, {OA_BIT1, OA_BIT2, OA_NUMBER} }, { "%assign", of_ASSIGN, 3, {OA_FUNC_PTR, OA_BIT1, OA_BIT2} }, + { "%assign/d", of_ASSIGN_D, 3, {OA_FUNC_PTR, OA_BIT1, OA_BIT2} }, { "%assign/m",of_ASSIGN_MEM,3,{OA_MEM_PTR,OA_BIT1, OA_BIT2} }, { "%assign/x0",of_ASSIGN_X0,3,{OA_FUNC_PTR,OA_BIT1, OA_BIT2} }, { "%breakpoint", of_BREAKPOINT, 0, {OA_NONE, OA_NONE, OA_NONE} }, @@ -1409,6 +1410,9 @@ vvp_ipoint_t debug_lookup_functor(const char*name) /* * $Log: compile.cc,v $ + * Revision 1.125 2002/04/21 22:29:49 steve + * Add the assign/d instruction for computed delays. + * * Revision 1.124 2002/04/14 18:41:34 steve * Support signed integer division. * diff --git a/vvp/opcodes.txt b/vvp/opcodes.txt index 1e99d4e34..a38bc79e4 100644 --- a/vvp/opcodes.txt +++ b/vvp/opcodes.txt @@ -1,7 +1,7 @@ /* * Copyright (c) 2001 Stephen Williams (steve@icarus.com) * - * $Id: opcodes.txt,v 1.33 2002/04/14 18:41:34 steve Exp $ + * $Id: opcodes.txt,v 1.34 2002/04/21 22:29:49 steve Exp $ */ @@ -42,6 +42,7 @@ means the following: otherwise x * %assign , , +* %assign/d , , This does a non-blocking assignment to a variable. The