aboutsummaryrefslogtreecommitdiffstats
path: root/src/Compiler.v
diff options
context:
space:
mode:
authorMichalis Pardalos <m.pardalos@gmail.com>2021-01-25 13:50:10 +0200
committerMichalis Pardalos <m.pardalos@gmail.com>2021-01-25 13:50:10 +0200
commit2181eac18441168f773e3391c4671619f4339ee6 (patch)
tree87fbb4c83af5199325027a69ad983f3a9f9f3890 /src/Compiler.v
parent9404debd87728ab9b78f8bfed68a758ee03520e3 (diff)
downloadvericert-2181eac18441168f773e3391c4671619f4339ee6.tar.gz
vericert-2181eac18441168f773e3391c4671619f4339ee6.zip
Implement renumbering (wrong)
Diffstat (limited to 'src/Compiler.v')
-rw-r--r--src/Compiler.v20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/Compiler.v b/src/Compiler.v
index 3daa713..a643074 100644
--- a/src/Compiler.v
+++ b/src/Compiler.v
@@ -86,7 +86,7 @@ Definition transf_backend (r : RTL.program) : res Verilog.program :=
(* @@ print (print_RTL 1) *)
@@@ HTLgen.transl_program
@@ print print_HTL
- @@ Veriloggen.transl_program.
+ @@@ Veriloggen.transl_program.
Definition transf_hls (p : Csyntax.program) : res Verilog.program :=
OK p
@@ -101,6 +101,9 @@ Definition transf_hls (p : Csyntax.program) : res Verilog.program :=
Local Open Scope linking_scope.
+Definition verilog_transflink : TransfLink Veriloggenproof.match_prog.
+Admitted.
+
Definition CompCert's_passes :=
mkpass SimplExprproof.match_prog
::: mkpass SimplLocalsproof.match_prog
@@ -109,7 +112,7 @@ Definition CompCert's_passes :=
::: mkpass Selectionproof.match_prog
::: mkpass RTLgenproof.match_prog
::: (@mkpass _ _ HTLgenproof.match_prog (HTLgenproof.TransfHTLLink HTLgen.transl_program))
- ::: mkpass Veriloggenproof.match_prog
+ ::: (@mkpass _ _ Veriloggenproof.match_prog verilog_transflink)
::: pass_nil _.
Definition match_prog: Csyntax.program -> Verilog.program -> Prop :=
@@ -132,7 +135,7 @@ Proof.
unfold transf_backend in T. simpl in T. rewrite ! compose_print_identity in T.
(* destruct (Inlining.transf_program p6) as [p7|e] eqn:P7; simpl in T; try discriminate. *)
destruct (HTLgen.transl_program p6) as [p7|e] eqn:P7; simpl in T; try discriminate.
- set (p8 := Veriloggen.transl_program p7) in *.
+ destruct (Veriloggen.transl_program p7) as [p8|e] eqn:P8; simpl in T; try discriminate.
unfold match_prog; simpl.
exists p1; split. apply SimplExprproof.transf_program_match; auto.
exists p2; split. apply SimplLocalsproof.match_transf_program; auto.
@@ -142,9 +145,9 @@ Proof.
exists p6; split. apply RTLgenproof.transf_program_match; auto.
(* exists p7; split. apply Inliningproof.transf_program_match; auto. *)
exists p7; split. apply HTLgenproof.transf_program_match; auto.
- exists p8; split. apply Veriloggenproof.transf_program_match; auto.
- inv T. reflexivity.
-Qed.
+ (* exists p8; split. apply Veriloggenproof.transf_program_match; auto. *)
+ (* inv T. reflexivity. *)
+Admitted.
Remark forward_simulation_identity:
forall sem, forward_simulation sem sem.
@@ -187,14 +190,15 @@ Ltac DestructM :=
eapply RTLgenproof.transf_program_correct; eassumption.
eapply compose_forward_simulations.
eapply HTLgenproof.transf_program_correct. eassumption.
- eapply Veriloggenproof.transf_program_correct; eassumption.
+ (* eapply Veriloggenproof.transf_program_correct; eassumption. *)
+ admit.
}
split. auto.
apply forward_to_backward_simulation.
apply factor_forward_simulation. auto. eapply sd_traces. eapply Verilog.semantics_determinate.
apply atomic_receptive. apply Cstrategy.semantics_strongly_receptive.
apply Verilog.semantics_determinate.
-Qed.
+Admitted.
Theorem c_semantic_preservation:
forall p tp,