Miodrag Milanović
								
							 
						 | 
						
							
							
								
								
							
							
							
								
							
							
								b20df72e1e
								
							
						 | 
						
							
							
								
								Merge pull request #4536 from YosysHQ/functional
							
							
							
							
							
							
							
							Functional Backend 
							
						 | 
						
							2024-09-06 10:05:04 +02:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Krystine Sherwin
								
							 
						 | 
						
							
							
							
							
								
							
							
								d6c5e13bf3
								
							
						 | 
						
							
							
								
								smtr: Structs have local scope
							
							
							
							
							
							
							
							Also unique_name can take field_name directly. 
							
						 | 
						
							2024-09-03 11:32:02 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Krystine Sherwin
								
							 
						 | 
						
							
							
							
							
								
							
							
								a2abbcb33f
								
							
						 | 
						
							
							
								
								smtr: Use scope.unique_name
							
							
							
							
							
						 | 
						
							2024-09-03 11:32:02 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Krystine Sherwin
								
							 
						 | 
						
							
							
							
							
								
							
							
								5a29b3e172
								
							
						 | 
						
							
							
								
								smtr: More sanitization
							
							
							
							
							
						 | 
						
							2024-09-03 11:32:02 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Krystine Sherwin
								
							 
						 | 
						
							
							
							
							
								
							
							
								07b6908019
								
							
						 | 
						
							
							
								
								smtr: Use rosette/safe
							
							
							
							
							
						 | 
						
							2024-09-03 11:32:02 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Krystine Sherwin
								
							 
						 | 
						
							
							
							
							
								
							
							
								8b29629ca9
								
							
						 | 
						
							
							
								
								smtr: Fork smtlib for rosette
							
							
							
							
							
						 | 
						
							2024-09-03 11:32:02 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Martin Povišer
								
							 
						 | 
						
							
							
							
							
								
							
							
								9c1bcb38d9
								
							
						 | 
						
							
							
								
								write_xaiger: Get by without endianness helpers
							
							
							
							
							
						 | 
						
							2024-09-03 08:59:09 +02:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Emily Schmidt
								
							 
						 | 
						
							
							
							
							
								
							
							
								4eeb8d326a
								
							
						 | 
						
							
							
								
								functional backend: rename "type" to either "kind" or "sort" to make the terminology consistent
							
							
							
							
							
						 | 
						
							2024-08-28 12:39:41 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Asherah Connor
								
							 
						 | 
						
							
							
							
							
								
							
							
								d0da1b56be
								
							
						 | 
						
							
							
								
								cxxrtl: backend: don't drop bits 2 and 5 on non-printable format.
							
							
							
							
							
						 | 
						
							2024-08-27 18:36:47 +03:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Emily Schmidt
								
							 
						 | 
						
							
							
							
							
								
							
							
								b428bf4600
								
							
						 | 
						
							
							
								
								functional backends: identifiers in c++/smtlib may not start with digits
							
							
							
							
							
						 | 
						
							2024-08-27 13:10:34 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Roland Coeurjoly
								
							 
						 | 
						
							
							
							
							
								
							
							
								91e3773b51
								
							
						 | 
						
							
							
								
								Ensure signed constants are correctly parsed, represented, and exported in RTLIL. Add a test to check parsing and exporting
							
							
							
							
							
						 | 
						
							2024-08-21 14:28:42 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Emily Schmidt
								
							 
						 | 
						
							
							
							
							
								
							
							
								f456761e88
								
							
						 | 
						
							
							
								
								add sandia copyright notice to the functional backend
							
							
							
							
							
						 | 
						
							2024-08-21 11:04:11 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Emily Schmidt
								
							 
						 | 
						
							
							
							
							
								
							
							
								50047d25b3
								
							
						 | 
						
							
							
								
								functional backend: add different types of input/output/state variables
							
							
							
							
							
						 | 
						
							2024-08-21 11:04:11 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Emily Schmidt
								
							 
						 | 
						
							
							
							
							
								
							
							
								850b3a6c29
								
							
						 | 
						
							
							
								
								convert class FunctionalIR to a namespace Functional, rename functionalir.h to functional.h, rename functional.h to compute_graph.h
							
							
							
							
							
						 | 
						
							2024-08-21 11:04:08 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Emily Schmidt
								
							 
						 | 
						
							
							
							
							
								
							
							
								8c0f625c3a
								
							
						 | 
						
							
							
								
								functional backend: topological sort starts with the output and next states nodes, other nodes get deleted
							
							
							
							
							
						 | 
						
							2024-08-21 11:03:29 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Emily Schmidt
								
							 
						 | 
						
							
							
							
							
								
							
							
								95d28c22a2
								
							
						 | 
						
							
							
								
								functional backend: make Memory in the C++ simulation library read-only again
							
							
							
							
							
						 | 
						
							2024-08-21 11:03:29 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Emily Schmidt
								
							 
						 | 
						
							
							
							
							
								
							
							
								99effb6789
								
							
						 | 
						
							
							
								
								add support for initializing registers and memories to the functional backend
							
							
							
							
							
						 | 
						
							2024-08-21 11:03:29 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Emily Schmidt
								
							 
						 | 
						
							
							
							
							
								
							
							
								6d329e142d
								
							
						 | 
						
							
							
								
								functional backend: error out if multiply driven or undriven signals are seen, dont bother putting them in functionalir
							
							
							
							
							
						 | 
						
							2024-08-21 11:03:29 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Emily Schmidt
								
							 
						 | 
						
							
							
							
							
								
							
							
								13bacc5c8f
								
							
						 | 
						
							
							
								
								eliminate pmux in functional backend
							
							
							
							
							
						 | 
						
							2024-08-21 11:03:29 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Emily Schmidt
								
							 
						 | 
						
							
							
							
							
								
							
							
								55c2c17853
								
							
						 | 
						
							
							
								
								document functionalir.h and change visitors to derive from AbstractVisitor. remove extraneous widths arguments from visitors.
							
							
							
							
							
						 | 
						
							2024-08-21 11:03:29 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Emily Schmidt
								
							 
						 | 
						
							
							
							
							
								
							
							
								674e6d201d
								
							
						 | 
						
							
							
								
								rewrite functional backend test code in python
							
							
							
							
							
						 | 
						
							2024-08-21 11:03:29 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Emily Schmidt
								
							 
						 | 
						
							
							
							
							
								
							
							
								6e7ae88c6a
								
							
						 | 
						
							
							
								
								fix bugs in smtlib backend
							
							
							
							
							
						 | 
						
							2024-08-21 11:03:29 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Emily Schmidt
								
							 
						 | 
						
							
							
							
							
								
							
							
								00a65754bb
								
							
						 | 
						
							
							
								
								factor out SExpr/SExprWriter classes out of smtlib backend, and also tidy them up/document them
							
							
							
							
							
						 | 
						
							2024-08-21 11:03:27 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Emily Schmidt
								
							 
						 | 
						
							
							
							
							
								
							
							
								c659ef29f4
								
							
						 | 
						
							
							
								
								change smtlib backend to use list() function instead of SExpr{} constructor (leads to weird constructor overloading resolution issues)
							
							
							
							
							
						 | 
						
							2024-08-21 11:02:31 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Emily Schmidt
								
							 
						 | 
						
							
							
							
							
								
							
							
								9f660b1e4b
								
							
						 | 
						
							
							
								
								rewrite smtlib pass to use SExpr class
							
							
							
							
							
						 | 
						
							2024-08-21 11:02:31 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Roland Coeurjoly
								
							 
						 | 
						
							
							
							
							
								
							
							
								7cff8fa3a3
								
							
						 | 
						
							
							
								
								Fix corner case of pos cell with input and output being same width
							
							
							
							
							
						 | 
						
							2024-08-21 11:02:31 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Roland Coeurjoly
								
							 
						 | 
						
							
							
							
							
								
							
							
								fad76ce677
								
							
						 | 
						
							
							
								
								Fix memory leak
							
							
							
							
							
						 | 
						
							2024-08-21 11:02:31 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Roland Coeurjoly
								
							 
						 | 
						
							
							
							
							
								
							
							
								5780357cd9
								
							
						 | 
						
							
							
								
								Emit valid SMT for stateful designs, fix some cells
							
							
							
							
							
						 | 
						
							2024-08-21 11:02:31 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Roland Coeurjoly
								
							 
						 | 
						
							
							
							
							
								
							
							
								f0f436cbe7
								
							
						 | 
						
							
							
								
								Fix parenthesis for arithmetic_shift_right
							
							
							
							
							
						 | 
						
							2024-08-21 11:02:31 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Roland Coeurjoly
								
							 
						 | 
						
							
							
							
							
								
							
							
								57af68af96
								
							
						 | 
						
							
							
								
								include algorithm, needed for std::reverse
							
							
							
							
							
						 | 
						
							2024-08-21 11:02:31 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Emily Schmidt
								
							 
						 | 
						
							
							
							
							
								
							
							
								1b2986f7fb
								
							
						 | 
						
							
							
								
								add support for $mul, $div, $divfloor, $mod, $modfloor, $pow in functional backend
							
							
							
							
							
						 | 
						
							2024-08-21 11:02:31 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Emily Schmidt
								
							 
						 | 
						
							
							
							
							
								
							
							
								9700df50d6
								
							
						 | 
						
							
							
								
								add generic writer class with formatting function to FunctionalTools
							
							
							
							
							
						 | 
						
							2024-08-21 11:02:31 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Roland Coeurjoly
								
							 
						 | 
						
							
							
							
							
								
							
							
								32cdf25838
								
							
						 | 
						
							
							
								
								Use FunctionalTools::Scope instead of replaceCharacters
							
							
							
							
							
						 | 
						
							2024-08-21 11:02:31 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Roland Coeurjoly
								
							 
						 | 
						
							
							
							
							
								
							
							
								ee6bd59436
								
							
						 | 
						
							
							
								
								Removed unnecesary nested_lets variable, use writer.print instead
							
							
							
							
							
						 | 
						
							2024-08-21 11:02:31 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Emily Schmidt
								
							 
						 | 
						
							
							
							
							
								
							
							
								21bb1cf1bc
								
							
						 | 
						
							
							
								
								rewrite functional c++ simulation library
							
							
							
							
							
						 | 
						
							2024-08-21 11:02:31 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Emily Schmidt
								
							 
						 | 
						
							
							
							
							
								
							
							
								eb2bb8c45b
								
							
						 | 
						
							
							
								
								tidy up generic functional backend, add generic scope class, tidy up c++ functional backend
							
							
							
							
							
						 | 
						
							2024-08-21 11:02:31 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Roland Coeurjoly
								
							 
						 | 
						
							
							
							
							
								
							
							
								39bf4f04f7
								
							
						 | 
						
							
							
								
								Create VCD file from SMT file
							
							
							
							
							
						 | 
						
							2024-08-21 11:02:31 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Roland Coeurjoly
								
							 
						 | 
						
							
							
							
							
								
							
							
								4109fcedcf
								
							
						 | 
						
							
							
								
								clang-format smtlib.cc
							
							
							
							
							
						 | 
						
							2024-08-21 11:02:31 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Roland Coeurjoly
								
							 
						 | 
						
							
							
							
							
								
							
							
								94ddbc9577
								
							
						 | 
						
							
							
								
								Fix reduce_or
							
							
							
							
							
						 | 
						
							2024-08-21 11:02:31 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Roland Coeurjoly
								
							 
						 | 
						
							
							
							
							
								
							
							
								b98210d8ac
								
							
						 | 
						
							
							
								
								Valid SMT is emitted, improved test script
							
							
							
							
							
						 | 
						
							2024-08-21 11:02:31 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Roland Coeurjoly
								
							 
						 | 
						
							
							
							
							
								
							
							
								c6e112686c
								
							
						 | 
						
							
							
								
								Remove unused includes
							
							
							
							
							
						 | 
						
							2024-08-21 11:02:31 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Roland Coeurjoly
								
							 
						 | 
						
							
							
							
							
								
							
							
								4e370f4426
								
							
						 | 
						
							
							
								
								Initial functional SMT backend using functional IR
							
							
							
							
							
						 | 
						
							2024-08-21 11:02:31 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Emily Schmidt
								
							 
						 | 
						
							
							
							
							
								
							
							
								6f9e21219b
								
							
						 | 
						
							
							
								
								add new generic compute graph and rewrite c++ functional backend to use it
							
							
							
							
							
						 | 
						
							2024-08-21 11:02:29 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Roland Coeurjoly
								
							 
						 | 
						
							
							
							
							
								
							
							
								3552a8a2b2
								
							
						 | 
						
							
							
								
								sim.h cannot use log_assert because does not include yosys headers
							
							
							
							
							
						 | 
						
							2024-08-21 11:01:09 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Emily Schmidt
								
							 
						 | 
						
							
							
							
							
								
							
							
								7b29d177ac
								
							
						 | 
						
							
							
								
								add support for memories to c++ and smtlib functional backends
							
							
							
							
							
						 | 
						
							2024-08-21 11:01:09 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Roland Coeurjoly
								
							 
						 | 
						
							
							
							
							
								
							
							
								76371d177f
								
							
						 | 
						
							
							
								
								Change assert to log_assert
							
							
							
							
							
						 | 
						
							2024-08-21 11:01:09 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Roland Coeurjoly
								
							 
						 | 
						
							
							
							
							
								
							
							
								720429b1fd
								
							
						 | 
						
							
							
								
								Add test_cell tests for C++ functional backend
							
							
							
							
							
						 | 
						
							2024-08-21 11:01:09 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Emily Schmidt
								
							 
						 | 
						
							
							
							
							
								
							
							
								7611dda2eb
								
							
						 | 
						
							
							
								
								add initial version of functional smtlib backend
							
							
							
							
							
						 | 
						
							2024-08-21 11:01:09 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Emily Schmidt
								
							 
						 | 
						
							
							
							
							
								
							
							
								63dea89fac
								
							
						 | 
						
							
							
								
								add initial version of functional C++ backend
							
							
							
							
							
						 | 
						
							2024-08-21 11:01:09 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 | 
					
				
					
						
							
								
								
									 
									Asherah Connor
								
							 
						 | 
						
							
							
							
							
								
							
							
								62bff3a204
								
							
						 | 
						
							
							
								
								cxxrtl: don't need to specify a value for "path".
							
							
							
							
							
							
							
							Callers of the deprecated method had a path already. 
							
						 | 
						
							2024-06-13 13:17:02 +01:00 | 
						
						
							
							
							
							
								
							
							
							
								
							
							
						 |