mirror of https://github.com/YosysHQ/yosys.git
docs/rosette: Add overview
This commit is contained in:
parent
7698dfba5e
commit
242c037158
|
@ -147,16 +147,29 @@ S-expressions can be constructed with ``SExpr::list``, for example ``SExpr expr
|
||||||
Example: Adapting SMT-LIB backend for Rosette
|
Example: Adapting SMT-LIB backend for Rosette
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
|
||||||
|
This section will walk through the process of adapting the SMT-LIB functional
|
||||||
|
backend (`write_functional_smt2`) to work with another s-expression target,
|
||||||
|
`Rosette`_.
|
||||||
|
|
||||||
|
.. _Rosette: http://emina.github.io/rosette/
|
||||||
|
|
||||||
Overview
|
Overview
|
||||||
~~~~~~~~
|
~~~~~~~~
|
||||||
|
|
||||||
- What is Rosette
|
Rosette is a solver-aided programming language that extends `Racket`_ with
|
||||||
- Racket package
|
language constructs for program synthesis, verification, and more. To verify
|
||||||
- solver-aided programming language
|
or synthesize code, Rosette compiles it to logical constraints solved with
|
||||||
- uses symbolic expressions
|
off-the-shelf `SMT`_ solvers.
|
||||||
- able to perform functional verification
|
|
||||||
|
|
||||||
- link to file (both smtlib and rosette)
|
-- https://emina.github.io/rosette/
|
||||||
|
|
||||||
|
.. _Racket: http://racket-lang.org/
|
||||||
|
.. _SMT: http://smtlib.cs.uiowa.edu/
|
||||||
|
|
||||||
|
Full code listings for the initial SMT-LIB backend and the converted Rosette
|
||||||
|
backend are included in the Yosys source repository under
|
||||||
|
:file:`backends/functional` as ``smtlib.cc`` and ``smtlib_rosette.cc``
|
||||||
|
respectively.
|
||||||
|
|
||||||
Scope
|
Scope
|
||||||
~~~~~
|
~~~~~
|
||||||
|
|
Loading…
Reference in New Issue