Giter Club home page Giter Club logo

hardware's Introduction

Verilog development and verification project for HOL4

Important directories

The formal Verilog semantics is located in the directory verilog.

The verified Verilog synthesis tool Lutsig is located in the compiler directory. The proof-producing Verilog code generator is located in translator.

Some examples on how to use Lutsig and the code generator in practice are available in the examples directory. There is also a test-suite for Lutsig available, based on unverified parsing of Verilog text files, in the verilog_parser directory.

Silver-related theories and tools are located in the ag32 directory.

Installation and setup

The development requires HOL4.

For Silver (ag32), additional setup is required, as described below.

Silver setup

To build Silver-related theories, you need to point $CAKEMLDIR to your CakeML compiler directory.

Because the Verilog semantics has been updated since Silver was developed, the Silver theories will not build using the latest commit. If you want to build Silver, use e.g. dc281059bd3a19e478fb211aadda1c2ac7891fa9. (This is just a temporary workaround.)

ISA generation

Translating the Silver ISA from L3 to HOL is not necessary as the already-translated ISA stored in the CakeML compiler project is used in all Silver theories.

However, after updating the L3 ISA the following steps are required to update the HOL ISA.

First, make sure you have L3 installed.

With L3 installed, the following command in the L3 REPL (named l3, located in the bin directory in your L3 directory) will produce the HOL ISA from the L3 ISA:

HolExport.spec ("ag32.spec", "ag32");

hardware's People

Contributors

acjf3 avatar andreasloow avatar xrchz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hardware's Issues

Project aims/capabilities/description?

Hi there

I'm in the process of gathering a list of open-source tools for verifying hardware designs (Verilog/VHDL etc) and found this. It looks really interesting, but I'm not quite clear from the README / docs(?) exactly what the project does or is for?

I see it is part of a wider project around a verified ML implementation, and was wondering if you had extended this to verifying some hardware implementations?

Cheers,
Ben

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.