{"id":14966290,"url":"https://github.com/philzook58/nand2coq","last_synced_at":"2025-10-25T16:30:47.496Z","repository":{"id":74186630,"uuid":"161684495","full_name":"philzook58/nand2coq","owner":"philzook58","description":"Build an educational formally verified version of the Nand 2 Tetris course using Coq (and other formal tools).","archived":false,"fork":false,"pushed_at":"2021-12-24T23:22:10.000Z","size":843,"stargazers_count":54,"open_issues_count":2,"forks_count":3,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-01-31T07:51:29.241Z","etag":null,"topics":["coq","formal-methods","fpga","nand2tetris"],"latest_commit_sha":null,"homepage":"","language":"Coq","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/philzook58.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-12-13T19:19:18.000Z","updated_at":"2024-08-05T18:25:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"2016a1e7-09ef-4748-824c-c6ac43d660a4","html_url":"https://github.com/philzook58/nand2coq","commit_stats":{"total_commits":38,"total_committers":2,"mean_commits":19.0,"dds":0.3421052631578947,"last_synced_commit":"c62c6e093cff428a86ce071e4d352c60a1dba471"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philzook58%2Fnand2coq","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philzook58%2Fnand2coq/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philzook58%2Fnand2coq/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philzook58%2Fnand2coq/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/philzook58","download_url":"https://codeload.github.com/philzook58/nand2coq/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238174123,"owners_count":19428629,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["coq","formal-methods","fpga","nand2tetris"],"created_at":"2024-09-24T13:36:10.042Z","updated_at":"2025-10-25T16:30:47.169Z","avatar_url":"https://github.com/philzook58.png","language":"Coq","funding_links":[],"categories":[],"sub_categories":[],"readme":"# nand2coq\n\n\nThe goal of this project is to build an educational formally verified version of the Nand 2 Tetris course using Coq (and other formal tools).\n\nhttps://www.nand2tetris.org/\n\nhttps://www.coursera.org/learn/build-a-computer\n\nIn 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.\n\nThis project ideally would become a baby DeepSpec.\n\nhttps://deepspec.org/ \n\n\n\nUseful Resources:\n\nSoftware Foundations, your one stop shop for getting started in Coq.\nhttps://softwarefoundations.cis.upenn.edu/\n\nAdam Chlipala's Textbooks\nhttp://adam.chlipala.net/cpdt/\nhttp://adam.chlipala.net/frap/\nhttp://plv.csail.mit.edu/kami/\n\nSiFive is reimplementing Kami. A very worthy README\nhttps://github.com/sifive/Kami\n\nChlipala \u0026 Braibant - Featherweight Synthesis\nhttp://braibant.github.io/update/2014/07/31/fe-si.html\n\nProof General - A Standard Proof Assistant mode for Emacs\nhttps://proofgeneral.github.io/\n\nCoq Reference manual. Some useful things here (descriptions of tactics etc)\nhttps://coq.inria.fr/refman/index.html\n\nCoq Standard Library. Kind of a Nightmare to look through.\nhttps://coq.inria.fr/library/\n\nMathematical Components Book. A book on using Coq with the Mathemtical Components library\nhttps://math-comp.github.io/mcb/\n\nAnother Text\nhttp://ilyasergey.net/pnp/\n\nAwesome Coq List\nhttps://github.com/uhub/awesome-coq\n\nProgramming Language Foundations - An Agda Textbook\nhttps://plfa.github.io/\n\nCoq course\nhttps://github.com/vlopezj/coq-course\n\nA Listing with these links and more\nhttps://avigad.github.io/formal_methods_in_education/\n\nHaskell For Coq Programmer's\nhttp://blog.ezyang.com/2014/03/haskell-for-coq-programmers/\n\nFormal verification of microprocessors: a first experiment with the Coq proof assistant\nhttps://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.39.9165\u0026rep=rep1\u0026type=pdf\n\nRISC-V formal specs: 3 Haskell, 1 SAIL, 1 Kami\nhttps://mail.haskell.org/pipermail/haskell-cafe/2019-May/131067.html\n\nhttps://github.com/stonebuddha/eopl\n\nhttps://project-oak.github.io/silveroak/demo/tutorial.html \n\nhttps://github.com/conal/agda-hardware\n\nPi-Ware Agda https://drops.dagstuhl.de/opus/volltexte/2018/8479/pdf/LIPIcs-TYPES-2015-9.pdf\n\n------\n\nIt would be super cool to actually run this on an FPGA. The open source FPGA world is blowing up\n\nSeems like a good tutorial getting started with open source FPGA\nhttps://medium.com/@luke_73359/getting-started-with-icestorm-verilog-on-the-ice40hx1k-fpga-cbc71ad3947d\nhttps://mcmayer.net/first-steps-with-the-icestorm-toolchain/\n\nGood beginner fpga project explanations\nhttps://www.fpga4fun.com/\n\nSome interesting blog posts on verifying Verilog using open source tools\nhttps://zipcpu.com/\n\nMany freely available cores\nhttps://opencores.org/\n\nIcestorm - The project that started the open source FPGA revolution\nhttp://www.clifford.at/icestorm/\n\nECP5 FPGAs - A Work in progress, but I think it is getting there. By far the most powerful FPGA with open source tooling\nhttps://github.com/SymbiFlow/prjtrellis\n\nOpen Source FPGA Twitter - Good place to hear news\nhttps://twitter.com/ico_tc?lang=en\n\nMy Garbo:\nhttp://www.philipzucker.com/nand2tetris-in-verilog-and-fpga-and-coq/\nhttp://www.philipzucker.com/simple-fpga-stuff/\n\nSome Boards:\n\nIcestick\nhttps://www.latticesemi.com/icestick\n\nIcebreaker\nhttps://www.crowdsupply.com/1bitsquared/icebreaker-fpga\nhttp://icebreaker-fpga.com/\n\nTinyFPGA\nhttps://tinyfpga.com/\n\nAwesome HDL list\nhttps://github.com/drom/awesome-hdl\n\n\n\n\n\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphilzook58%2Fnand2coq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphilzook58%2Fnand2coq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphilzook58%2Fnand2coq/lists"}