~dspom/OpenVAF

A modern Verilog-A compiler
chore(internal): remove unused allow attributes
ui: add errors for invalid discipline use
ui: error for unsupprted functions instead of crashing

refs

master
browse  log 

clone

read-only
https://git.sr.ht/~dspom/OpenVAF
read/write
git@git.sr.ht:~dspom/OpenVAF

You can also use your local clone with git send-email.

#OpenVAF

license maintaince pipeline status coverage

OpenVAF is a Verilog-A compiler. The OpenVAF Project is not executable by itself but serves as the main component of various sub-projects such as VerilogAE and OSDIC. The major aim of this Project is to provide a high-quality standard compliant compiler for Verilog-A. Furthermore, the project aims to bring modern compiler construction algorithms/data structures to a field with a lack of such tooling.

Some highlights of OpenVAF include:

  • IDE aware design
  • high-quality diagnostic messages
  • linting framework (similar to rustc)
  • modular backend including data flow analysis and various state of the art compiler optimization algorithms
  • fast binary generation using LLVM
  • robust auto differentiation implementation

#Compilation

To build the project, simply run

cargo build

, which will build the project. The command

cargo test

will run the test cases.

#Acknowledgement

The architectures of the rust-analyzer and rustc have heavily inspired the design of this compiler.

This work is free software and licensed under the GPL-3.0 license. It contains code that is derived from rustc and rust-analyzer. These projects are both licensed und the MIT license. As required a copy of the license and disclaimer can be found in copyright/LICENSE_MIT

Do not follow this link