aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYann Herklotz <git@yannherklotz.com>2020-03-29 22:36:33 +0100
committerYann Herklotz <git@yannherklotz.com>2020-03-29 22:36:33 +0100
commitebb88fb0644280f7b39ce509b012fd26894feb23 (patch)
treef66158c25a346f5975c5515597b396c0e0ecf48d
parent6981b4f28b7e005820679f70b965f0fa91b2f2a8 (diff)
downloadvericert-ebb88fb0644280f7b39ce509b012fd26894feb23.tar.gz
vericert-ebb88fb0644280f7b39ce509b012fd26894feb23.zip
Move compiler
-rw-r--r--src/Compiler.v (renamed from driver/CompCert.v)20
1 files changed, 18 insertions, 2 deletions
diff --git a/driver/CompCert.v b/src/Compiler.v
index d8dcb97..a3a61a2 100644
--- a/driver/CompCert.v
+++ b/src/Compiler.v
@@ -1,4 +1,4 @@
-(*
+(*
* CoqUp: Verified high-level synthesis.
* Copyright (C) 2019-2020 Yann Herklotz <yann@yannherklotz.com>
*
@@ -45,10 +45,21 @@ From compcert.cfrontend Require
From compcert.driver Require
Compiler.
+From coqup Require
+ Verilog
+ Veriloggen
+ HTLgen.
+
Notation "a @@@ b" :=
(Compiler.apply_partial _ _ a b) (at level 50, left associativity).
Notation "a @@ b" :=
- (Compiler.apply_total _ _ a b) (at level 50, left associativity).
+ (Compiler.apply_total _ _ a b) (at level 50, left associativity).
+
+Definition transf_backend (r : RTL.program) : res Verilog.verilog :=
+ OK r
+ @@@ HTLgen.transf_program
+ @@@ Veriloggen.transf_program.
+
Definition transf_frontend (p: Csyntax.program) : res RTL.program :=
OK p
@@ -59,6 +70,11 @@ Definition transf_frontend (p: Csyntax.program) : res RTL.program :=
@@@ Selection.sel_program
@@@ RTLgen.transl_program.
+Definition transf_hls (p : Csyntax.program) : res Verilog.verilog :=
+ OK p
+ @@@ transf_frontend
+ @@@ transf_backend.
+
Local Open Scope linking_scope.
Definition CompCert's_passes :=