diff options
author | Michalis Pardalos <m.pardalos@gmail.com> | 2021-08-12 20:23:45 +0100 |
---|---|---|
committer | Michalis Pardalos <m.pardalos@gmail.com> | 2021-08-12 20:23:45 +0100 |
commit | 77988ed8be364f0caa3dc7eac30d2251e2675b50 (patch) | |
tree | 9654d8c157a8201afd9aa8b8d678d0b5400891fd /src/hls/ApplyExternctrl.v | |
parent | eafd62f89435eddafdb7bfab3f33a888a84e8608 (diff) | |
download | vericert-77988ed8be364f0caa3dc7eac30d2251e2675b50.tar.gz vericert-77988ed8be364f0caa3dc7eac30d2251e2675b50.zip |
Tie clocks in the ApplyExternctrl pass
Diffstat (limited to 'src/hls/ApplyExternctrl.v')
-rw-r--r-- | src/hls/ApplyExternctrl.v | 8 |
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); |