• Stars
    star
    141
  • Rank 259,971 (Top 6 %)
  • Language Coq
  • License
    MIT License
  • Created over 7 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Platform for High-Level Parametric Hardware Specification and its Modular Verification

Kami: A Platform for High-Level Parametric Hardware Specification and Its Modular Verification

Directory content

  • ./: Contains the source code for syntax, semantics, theorems/properties and proof automation for Kami.
  • Lib: Contains the generic library files that we developed for Kami, extending the standard Coq library, e.g. bit-vectors, decidable finite maps with strings as keys, etc.
  • Ex: Contains basic examples and tutorials.
  • Ext: Files needed to extract designs developed in Kami into Bluespec
    • Ocaml: Contains the files to pretty-print the OCaml code extracted from Coq.

Requirements

To Verify Kami modules

  • Coq 8.12.x with $PATH containing the standard Coq binaries

To Generate Bluespec programs

  • OCaml 4.0.4 (with $PATH containing the standard OCaml binaries)
  • Batteries Library for OCaml (2.5.2)

To Run Bluespec code (i.e. simulation)

To Run Bluespec code on FPGAs

  • Vivado 2015.4 (with $PATH containing the Bluespec binaries)
  • Xilinx Virtex-7 VC707 Evaluation Kit FPGA

More Repositories

1

fiat-crypto

Cryptographic Primitive Code Generation by Fiat
Coq
704
star
2

bedrock2

A work-in-progress language and compiler for verified low-level programming
Coq
294
star
3

riscv-semantics

A formal semantics of the RISC-V ISA in Haskell
Haskell
155
star
4

fiat

Mostly Automated Synthesis of Correct-by-Construction Programs
Coq
146
star
5

koika

A core language for rule-based hardware design 🦑
Coq
137
star
6

riscv-coq

RISC-V Specification in Coq
Coq
108
star
7

timl

TiML: A Functional Programming Language with Time Complexity
Standard ML
75
star
8

bedrock

Coq library for verified low-level programming
Coq
57
star
9

rupicola

Gallina to Bedrock2 compilation toolkit
Coq
51
star
10

coqutil

Coq library for tactics, basic definitions, sets, maps
Coq
42
star
11

bbv

Bedrock Bit Vector Library
Coq
27
star
12

rewriter

Reflective PHOAS rewriting/pattern-matching-compilation framework for simply-typed equalities and let-lifting
Coq
23
star
13

reification-by-parametricity

Fast Setup for Proof by Reflection, in Two Lines of Ltac.
Mathematica
11
star
14

hemiola

A Coq framework to support structural design and proof of hardware cache-coherence protocols
Coq
11
star
15

engine-bench

Benchmarks for various proof engines
Coq
5
star
16

stencils

A Coq library for verifying dependencies of stencil implementations
Coq
4
star
17

network-configurations

Using Coq to derive network configurations from declarative policies
Coq
4
star
18

certifying-derivation-of-state-machines-from-coroutines

Haskell
3
star
19

blog

A blog for PLV and friends of PLV
CSS
3
star
20

fiat2

A high level language that will compile to bedrock2 using database-style techniques
Coq
2
star
21

softmul

Proving that a system with software trap handlers for unimplemented instructions behaves as if they were implemented in hardware
Coq
2
star
22

Fiat_matrix

Coq
1
star