aboutsummaryrefslogtreecommitdiffstats
path: root/src/hls/ApplyExternctrl.v
diff options
context:
space:
mode:
Diffstat (limited to 'src/hls/ApplyExternctrl.v')
-rw-r--r--src/hls/ApplyExternctrl.v8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/hls/ApplyExternctrl.v b/src/hls/ApplyExternctrl.v
index 5ddbd4a..b024b9e 100644
--- a/src/hls/ApplyExternctrl.v
+++ b/src/hls/ApplyExternctrl.v
@@ -19,6 +19,12 @@ Section APPLY_EXTERNCTRL.
Let modmap := prog_modmap prog.
+ Definition global_clk :=
+ match modmap ! (AST.prog_main prog) with
+ | None => Error (msg "ApplyExternctrl: No main")
+ | Some main => OK (HTL.mod_clk main)
+ end.
+
Definition get_mod_signal (othermod : HTL.module) (signal : HTL.controlsignal) :=
match signal with
| ctrl_finish => OK (HTL.mod_finish othermod)
@@ -139,7 +145,7 @@ Section APPLY_EXTERNCTRL.
Definition module_apply_externctrl : res HTL.module :=
do mod_start' <- reg_apply_externctrl (HTL.mod_start m);
do mod_reset' <- reg_apply_externctrl (HTL.mod_reset m);
- do mod_clk' <- reg_apply_externctrl (HTL.mod_clk m);
+ do mod_clk' <- global_clk;
do mod_finish' <- reg_apply_externctrl (HTL.mod_finish m);
do mod_return' <- reg_apply_externctrl (HTL.mod_return m);
do mod_st' <- reg_apply_externctrl (HTL.mod_st m);