| 
								
								
									 Krystine Sherwin | e18a2f1e27 | Docs: Section/folder for yosys source details Move test_suites page into said folder.
Placeholder page for building with verific. | 2024-08-22 10:03:58 +12:00 |  | 
				
					
						| 
								
								
									 Krystine Sherwin | 2ffafadf22 | Docs: Add note on verific Having a verific license does not provide access to the verific frontend. | 2024-08-22 10:03:58 +12:00 |  | 
				
					
						| 
								
								
									 Roland Coeurjoly | 27c1432253 | Remove log | 2024-08-21 14:28:42 +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 | 831da51255 | add picorv test to 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 | 79a1b691ea | silence some more warnings, undo mistaken addition | 2024-08-21 11:04:11 +01:00 |  | 
				
					
						| 
								
								
									 Emily Schmidt | 8f77494263 | silence some warnings | 2024-08-21 11:04:11 +01:00 |  | 
				
					
						| 
								
								
									 Emily Schmidt | fbee31080e | add optional header and hashlib implementation for optional | 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 | 7ac0e92d35 | functional backend: rename get_input and get_current_state to input and current_state (more consistent with other methods) | 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 | bdb59ffc8e | add -fst-noinit flag to sim for not initializing the state from the fst file | 2024-08-21 11:03:29 +01:00 |  | 
				
					
						| 
								
								
									 Emily Schmidt | 12a31a4418 | add MemContents class to mem.h | 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 | 145af6f10d | fix memory handling in functional backend, add more error messages and comments for memory edgecases | 2024-08-21 11:03:29 +01:00 |  | 
				
					
						| 
								
								
									 Emily Schmidt | 4722f13a5d | functional backend: reduce $lcu to $alu | 2024-08-21 11:03:29 +01:00 |  | 
				
					
						| 
								
								
									 Emily Schmidt | 3cd5f4ed83 | add support for RTLIL cells with multiple outputs to the functional backend, implement $fa,$lcu,$alu | 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 | c0c90c2c31 | functional backend: require shift width == clog2(operand width) | 2024-08-21 11:03:29 +01:00 |  | 
				
					
						| 
								
								
									 Emily Schmidt | 7f8f21b980 | remove widths parameters from FunctionalIR factory methods and from functionalir.cc | 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 | 6922633b0b | fix a few bugs in the functional backend and refactor the testing | 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 | 9ad859fc0a | add bwmux, bweqx, bmux, demux cells | 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 | 80582ed3af | Check the existance of a different set of outputs. No need for (push 1) nor (pop 1) | 2024-08-21 11:02:31 +01:00 |  | 
				
					
						| 
								
								
									 Roland Coeurjoly | 566e57d24f | Support $lut cells. Both C++ and SMT tests pass | 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 |  | 
				
					
						| 
								
								
									 Miodrag Milanovic | e296b884d5 | Add Makefile helpers for coverage | 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 |  | 
				
					
						| 
								
								
									 Roland Coeurjoly | 50f487e08c | Added $ff test | 2024-08-21 11:02:31 +01:00 |  | 
				
					
						| 
								
								
									 Roland Coeurjoly | 762f8dd822 | Add readme explaining how to create test files | 2024-08-21 11:02:31 +01:00 |  | 
				
					
						| 
								
								
									 Roland Coeurjoly | 73ed514623 | Check that there are not other solutions other than the first given | 2024-08-21 11:02:31 +01:00 |  | 
				
					
						| 
								
								
									 Roland Coeurjoly | cb5f08364c | ´SMT success only if simulation is equivalent | 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 |  | 
				
					
						| 
								
								
									 Roland Coeurjoly | e235fc704d | Create std::mt19937 only once | 2024-08-21 11:02:31 +01:00 |  | 
				
					
						| 
								
								
									 Emily Schmidt | 21bb1cf1bc | rewrite functional c++ simulation library | 2024-08-21 11:02:31 +01:00 |  |