aboutsummaryrefslogtreecommitdiffstats
path: root/src/Simulator.v
diff options
context:
space:
mode:
Diffstat (limited to 'src/Simulator.v')
-rw-r--r--src/Simulator.v7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/Simulator.v b/src/Simulator.v
index 3c5aca0..6849f80 100644
--- a/src/Simulator.v
+++ b/src/Simulator.v
@@ -25,8 +25,11 @@ From coqup Require Import Coquplib.
Local Open Scope error_monad_scope.
-Definition simulate (n : nat) (m : Verilog.module) : res (list (positive * Value.value)) :=
+Definition simulate (n : nat) (m : Verilog.module) : res (Value.value * list (positive * Value.value)) :=
do map <- Verilog.module_run n m;
- OK (PositiveMap.elements map).
+ match PositiveMap.find (fst (Verilog.mod_return m)) map with
+ | Some v => OK (v, (PositiveMap.elements map))
+ | None => Error (msg "Could not find result.")
+ end.
Local Close Scope error_monad_scope.