mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 03:32:29 +00:00 
			
		
		
		
	docs/rosette: Add overview
This commit is contained in:
		
							parent
							
								
									7698dfba5e
								
							
						
					
					
						commit
						242c037158
					
				
					 1 changed files with 19 additions and 6 deletions
				
			
		|  | @ -147,16 +147,29 @@ S-expressions can be constructed with ``SExpr::list``, for example ``SExpr expr | |||
| 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 | ||||
| ~~~~~~~~ | ||||
| 
 | ||||
| - What is Rosette | ||||
|    - Racket package | ||||
|    - solver-aided programming language | ||||
|    - uses symbolic expressions | ||||
|    - able to perform functional verification | ||||
|    Rosette is a solver-aided programming language that extends `Racket`_ with | ||||
|    language constructs for program synthesis, verification, and more. To verify | ||||
|    or synthesize code, Rosette compiles it to logical constraints solved with | ||||
|    off-the-shelf `SMT`_ solvers. | ||||
| 
 | ||||
| - 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 | ||||
| ~~~~~ | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue