This repository hosts the specification for the FIRRTL language.
To build this, you need the following:
pandocpandoc-crossref- A LaTeX distribution, e.g.,
TeX Live latexmkwhich may come with your LaTeX distribution- Graphviz
For compatibility with continuous integration (CI) formatting, use the versions
of pandoc and pandoc-crossref that are listed in the CI GitHub
Action. If this release is
not available in your package manager, you can download binaries from their
GitHub releases pages:
To run tests, both firtool and Verilator must be available on your PATH.
For compatibility with CI testing, use the version of firtool specified in
include/circt.json and the Verilator version used by the
version of the OSS CAD Suite in listed in the CI GitHub
Action.
After resolving these dependencies, use the following build targets:
makeormake allwill compile will compilespec.mdandabi.mdintobuild/spec.pdfandbuild/abi.pdf.make formatwill format all Markdown files by round-tripping them throughpandoc. For this build step to be usable, use the exact versions ofpandocandpandoc-crossrefthat CI uses!make testwill extract FIRRTL and Verilog snippets from the specification and ABI document and, respectively, run them throughfirtool -parse-onlyorverilator --lint-onlyto test that they are legal FIRRTL or Verilog.