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 +++++++- src/hls/HTLgen.v | 1 - 2 files changed, 7 insertions(+), 2 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); diff --git a/src/hls/HTLgen.v b/src/hls/HTLgen.v index 2e4cf48..a979a40 100644 --- a/src/hls/HTLgen.v +++ b/src/hls/HTLgen.v @@ -532,7 +532,6 @@ Definition transf_instr (ge : RTL.genv) (fin rtrn stack: reg) (ni: node * instru do finish_reg <- map_externctrl fn ctrl_finish; do reset_reg <- map_externctrl fn ctrl_reset; do return_reg <- map_externctrl fn ctrl_return; - do _ <- map_externctrl fn ctrl_clk; let fork_instr := fork reset_reg params in let join_instr := join return_reg reset_reg dst in -- cgit