From af25d179c9bfa2aa4585f14210aa11906965f045 Mon Sep 17 00:00:00 2001 From: ymherklotz Date: Fri, 22 Jan 2021 13:00:13 +0000 Subject: deploy: e38739e42b8b7da37027b86cf58cc114d5224d69 --- index.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'index.xml') diff --git a/index.xml b/index.xml index 3778258..cb9d1aa 100644 --- a/index.xml +++ b/index.xml @@ -1,3 +1,5 @@ Vericerthttps://vericert.ymhg.org/Recent content on VericertHugo -- gohugo.ioen-us© 2020-2021 Yann HerklotzSat, 16 Jan 2021 00:00:00 +0000Building Vericerthttps://vericert.ymhg.org/docs/building/Mon, 01 Jan 0001 00:00:00 +0000https://vericert.ymhg.org/docs/building/To build Vericert, the provided Makefile can be used. External dependencies are needed to build the project, which can be pulled in automatically with nix using the provided default.nix and shell.nix files. The project is written in Coq, a theorem prover, which is extracted to OCaml so that it can then be compiled and executed. The dependencies of this project are the following: -Coq: theorem prover that is used to also program the HLS tool.Using Vericerthttps://vericert.ymhg.org/docs/using-vericert/Mon, 01 Jan 0001 00:00:00 +0000https://vericert.ymhg.org/docs/using-vericert/Vericert can be used to translate a subset of C into Verilog. \ No newline at end of file +Coq: theorem prover that is used to also program the HLS tool.Coq Style Guidehttps://vericert.ymhg.org/coq-style-guide/Mon, 01 Jan 0001 00:00:00 +0000https://vericert.ymhg.org/coq-style-guide/This style guide was taken from Silveroak, it outlines code style for Coq code in this repository. There are certainly other valid strategies and opinions on Coq code style; this is laid out purely in the name of consistency. For a visual example of the style, see the example at the bottom of this file. +Code organization # Legal banner # Files should begin with a copyright/license banner, as shown in the example above.Using Vericerthttps://vericert.ymhg.org/docs/using-vericert/Mon, 01 Jan 0001 00:00:00 +0000https://vericert.ymhg.org/docs/using-vericert/Vericert can be used to translate a subset of C into Verilog. As a simple example, consider the following C file (main.c): +void matrix_multiply(int first[2][2], int second[2][2], int multiply[2][2]) { int sum = 0; for (int c = 0; c < 2; c++) { for (int d = 0; d < 2; d++) { for (int k = 0; k < 2; k++) { sum = sum + first[c][k]*second[k][d]; } multiply[c][d] = sum; sum = 0; } } } int main() { int f[2][2] = {{1, 2}, {3, 4}}; int s[2][2] = {{5, 6}, {7, 8}}; int m[2][2] = {{0, 0}, {0, 0}}; matrix_multiply(f, s, m); return m[1][1]; } It can be compiled using the following command, assuming that vericert is somewhere on the path. \ No newline at end of file -- cgit