Mohamed Gaber 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								738b5eef0b 
								
							 
						 
						
							
							
								
								Add dirname of script file to sys.path  
							
							... 
							
							
							
							This matches the behavior of running a Python interpreter, where the
first element of sys.path is the dirname of the script being run.
This allows importing of files and modules in the same directory without
messing with PYTHONPATH or similar. 
							
						 
						
							2024-09-11 21:45:51 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Mohamed Gaber 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								38f9e6c3a2 
								
							 
						 
						
							
							
								
								-y flag for libyosys Python scripts  
							
							... 
							
							
							
							This adds a Python equivalent to the `-c` option, where scripts importing `libyosys` can be imported and used.
Most of the work for this was already done to enable Python passes a couple years back, so this is a relatively small changeset. 
							
						 
						
							2024-09-11 21:45:51 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Roland Coeurjoly 
								
							 
						 
						
							
							
							
							
								
							
							
								bdc43c6592 
								
							 
						 
						
							
							
								
								Add left and right bound properties to wire. Add test. Fix printing  
							
							... 
							
							
							
							for signed attributes
Co-authored-by: N. Engelhardt <nak@yosyshq.com>
Co-authored-by: Roland Coeurjoly <rolandcoeurjoly@gmail.com> 
							
						 
						
							2024-09-10 12:52:42 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Miodrag Milanović 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b20df72e1e 
								
							 
						 
						
							
							
								
								Merge pull request  #4536  from YosysHQ/functional  
							
							... 
							
							
							
							Functional Backend 
							
						 
						
							2024-09-06 10:05:04 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J. Tywoniak 
								
							 
						 
						
							
							
							
							
								
							
							
								bd6f7bb4a7 
								
							 
						 
						
							
							
								
								ff: improve comments  
							
							
							
						 
						
							2024-09-05 11:17:12 +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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emily Schmidt 
								
							 
						 
						
							
							
							
							
								
							
							
								b428bf4600 
								
							 
						 
						
							
							
								
								functional backends: identifiers in c++/smtlib may not start with digits  
							
							
							
						 
						
							2024-08-27 13:10:34 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emily Schmidt 
								
							 
						 
						
							
							
							
							
								
							
							
								459e6b913a 
								
							 
						 
						
							
							
								
								add functional ir documentation  
							
							
							
						 
						
							2024-08-27 11:11:02 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									N. Engelhardt 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								0fc5812dcd 
								
							 
						 
						
							
							
								
								Merge pull request  #4541  from YosysHQ/krys/compiler-warnings  
							
							... 
							
							
							
							Resolve (some) compiler warnings 
							
						 
						
							2024-08-26 15:04:16 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emily Schmidt 
								
							 
						 
						
							
							
							
							
								
							
							
								761eff594f 
								
							 
						 
						
							
							
								
								functional backend: missing includes for stl containers  
							
							
							
						 
						
							2024-08-22 11:13:58 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emily Schmidt 
								
							 
						 
						
							
							
							
							
								
							
							
								9b5e81b13f 
								
							 
						 
						
							
							
								
								drivertools: fix C++20 "incomplete type" error by moving constructors below other definitions  
							
							
							
						 
						
							2024-08-22 10:40:56 +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 
								
							 
						 
						
							
							
							
							
								
							
							
								99effb6789 
								
							 
						 
						
							
							
								
								add support for initializing registers and memories to the functional backend  
							
							
							
						 
						
							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 
								
							 
						 
						
							
							
							
							
								
							
							
								9ad859fc0a 
								
							 
						 
						
							
							
								
								add bwmux, bweqx, bmux, demux cells  
							
							
							
						 
						
							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 
								
							 
						 
						
							
							
							
							
								
							
							
								9f660b1e4b 
								
							 
						 
						
							
							
								
								rewrite smtlib pass to use SExpr class  
							
							
							
						 
						
							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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emily Schmidt 
								
							 
						 
						
							
							
							
							
								
							
							
								6f9e21219b 
								
							 
						 
						
							
							
								
								add new generic compute graph and rewrite c++ functional backend to use it  
							
							
							
						 
						
							2024-08-21 11:02:29 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emily Schmidt 
								
							 
						 
						
							
							
							
							
								
							
							
								248d5f72d4 
								
							 
						 
						
							
							
								
								add support for std::variant to hashlib  
							
							
							
						 
						
							2024-08-21 11:01:09 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emily Schmidt 
								
							 
						 
						
							
							
							
							
								
							
							
								dbf2bc3b1d 
								
							 
						 
						
							
							
								
								need unsigned comparison when checking shift widths for overflow in functional backend  
							
							
							
						 
						
							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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emily Schmidt 
								
							 
						 
						
							
							
							
							
								
							
							
								dd5ec84a26 
								
							 
						 
						
							
							
								
								fix bugs in drivertools  
							
							
							
						 
						
							2024-08-21 11:01:09 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Jannis Harder 
								
							 
						 
						
							
							
							
							
								
							
							
								d90268f610 
								
							 
						 
						
							
							
								
								fixup! drivertools: Utility code for indexing and traversing signal drivers  
							
							
							
						 
						
							2024-08-21 11:01:09 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Jannis Harder 
								
							 
						 
						
							
							
							
							
								
							
							
								d4e3daa9d0 
								
							 
						 
						
							
							
								
								ComputeGraph datatype for the upcoming functional backend  
							
							
							
						 
						
							2024-08-21 11:01:09 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Jannis Harder 
								
							 
						 
						
							
							
							
							
								
							
							
								f29422f745 
								
							 
						 
						
							
							
								
								topo_scc: Add sources_first option  
							
							
							
						 
						
							2024-08-21 11:01:09 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Jannis Harder 
								
							 
						 
						
							
							
							
							
								
							
							
								56572978f5 
								
							 
						 
						
							
							
								
								drivertools: Utility code for indexing and traversing signal drivers  
							
							... 
							
							
							
							It adds `DriveBit`, `DriveChunk` and `DriveSpec` types which are similar
to `SigBit`, `SigChunk` and `SigSpec` but can also directly represent
cell ports, undriven bits and multiple drivers. For indexing an RTLIL
module and for querying signal drivers it comes with a `DriverMap` type
which is somewhat similar to a `SigMap` but is guaranteed to produce
signal drivers as returned representatives.
A `DriverMap` can also optionally preserve connections via intermediate
wires (e.g. querying the driver of a cell input port will return a
connected intermediate wire, querying the driver of that wire will
return the cell output port that's driving the wire). 
							
						 
						
							2024-08-21 11:00:21 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Jannis Harder 
								
							 
						 
						
							
							
							
							
								
							
							
								f24e2536c6 
								
							 
						 
						
							
							
								
								kernel/rtlil: Add SigBit operator[](int offset) to SigChunk  
							
							... 
							
							
							
							This is already supported by `SigSpec` and since both `SigChunk` and
`SigSpec` implement `extract` which is the multi-bit variant of this,
there is no good reason for `SigChunk` to not support
`SigBit operator[](int offset)`. 
							
						 
						
							2024-08-21 10:58:39 +01:00