From 77988ed8be364f0caa3dc7eac30d2251e2675b50 Mon Sep 17 00:00:00 2001 From: Michalis Pardalos Date: Thu, 12 Aug 2021 20:23:45 +0100 Subject: Tie clocks in the ApplyExternctrl pass --- src/hls/ApplyExternctrl.v | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/hls/ApplyExternctrl.v') 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); -- cgit