docs/rosette: Add overview

This commit is contained in:
Krystine Sherwin 2025-01-24 13:10:34 +13:00
parent 7698dfba5e
commit 242c037158
No known key found for this signature in database
1 changed files with 19 additions and 6 deletions

View File

@ -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
~~~~~ ~~~~~