Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/philzook58/nand2coq
Build an educational formally verified version of the Nand 2 Tetris course using Coq (and other formal tools).
https://github.com/philzook58/nand2coq
coq formal-methods fpga nand2tetris
Last synced: about 19 hours ago
JSON representation
Build an educational formally verified version of the Nand 2 Tetris course using Coq (and other formal tools).
- Host: GitHub
- URL: https://github.com/philzook58/nand2coq
- Owner: philzook58
- Created: 2018-12-13T19:19:18.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2021-12-24T23:22:10.000Z (almost 3 years ago)
- Last Synced: 2024-09-18T21:40:34.732Z (6 days ago)
- Topics: coq, formal-methods, fpga, nand2tetris
- Language: Coq
- Homepage:
- Size: 823 KB
- Stars: 54
- Watchers: 7
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# nand2coq
The goal of this project is to build an educational formally verified version of the Nand 2 Tetris course using Coq (and other formal tools).
https://www.nand2tetris.org/
https://www.coursera.org/learn/build-a-computer
In the course, a computer is built from the ground up, starting from Nand gates, abstracting to larger digital circuits, a CPU, Assembly, a stack based virtual machine, and finally a high level Java-like language.
This project ideally would become a baby DeepSpec.
https://deepspec.org/
Useful Resources:
Software Foundations, your one stop shop for getting started in Coq.
https://softwarefoundations.cis.upenn.edu/Adam Chlipala's Textbooks
http://adam.chlipala.net/cpdt/
http://adam.chlipala.net/frap/
http://plv.csail.mit.edu/kami/SiFive is reimplementing Kami. A very worthy README
https://github.com/sifive/KamiChlipala & Braibant - Featherweight Synthesis
http://braibant.github.io/update/2014/07/31/fe-si.htmlProof General - A Standard Proof Assistant mode for Emacs
https://proofgeneral.github.io/Coq Reference manual. Some useful things here (descriptions of tactics etc)
https://coq.inria.fr/refman/index.htmlCoq Standard Library. Kind of a Nightmare to look through.
https://coq.inria.fr/library/Mathematical Components Book. A book on using Coq with the Mathemtical Components library
https://math-comp.github.io/mcb/Another Text
http://ilyasergey.net/pnp/Awesome Coq List
https://github.com/uhub/awesome-coqProgramming Language Foundations - An Agda Textbook
https://plfa.github.io/Coq course
https://github.com/vlopezj/coq-courseA Listing with these links and more
https://avigad.github.io/formal_methods_in_education/Haskell For Coq Programmer's
http://blog.ezyang.com/2014/03/haskell-for-coq-programmers/Formal verification of microprocessors: a first experiment with the Coq proof assistant
https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.39.9165&rep=rep1&type=pdfRISC-V formal specs: 3 Haskell, 1 SAIL, 1 Kami
https://mail.haskell.org/pipermail/haskell-cafe/2019-May/131067.htmlhttps://github.com/stonebuddha/eopl
https://project-oak.github.io/silveroak/demo/tutorial.html
https://github.com/conal/agda-hardware
Pi-Ware Agda https://drops.dagstuhl.de/opus/volltexte/2018/8479/pdf/LIPIcs-TYPES-2015-9.pdf
------
It would be super cool to actually run this on an FPGA. The open source FPGA world is blowing up
Seems like a good tutorial getting started with open source FPGA
https://medium.com/@luke_73359/getting-started-with-icestorm-verilog-on-the-ice40hx1k-fpga-cbc71ad3947d
https://mcmayer.net/first-steps-with-the-icestorm-toolchain/Good beginner fpga project explanations
https://www.fpga4fun.com/Some interesting blog posts on verifying Verilog using open source tools
https://zipcpu.com/Many freely available cores
https://opencores.org/Icestorm - The project that started the open source FPGA revolution
http://www.clifford.at/icestorm/ECP5 FPGAs - A Work in progress, but I think it is getting there. By far the most powerful FPGA with open source tooling
https://github.com/SymbiFlow/prjtrellisOpen Source FPGA Twitter - Good place to hear news
https://twitter.com/ico_tc?lang=enMy Garbo:
http://www.philipzucker.com/nand2tetris-in-verilog-and-fpga-and-coq/
http://www.philipzucker.com/simple-fpga-stuff/Some Boards:
Icestick
https://www.latticesemi.com/icestickIcebreaker
https://www.crowdsupply.com/1bitsquared/icebreaker-fpga
http://icebreaker-fpga.com/TinyFPGA
https://tinyfpga.com/Awesome HDL list
https://github.com/drom/awesome-hdl