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 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Jannis Harder 
								
							 
						 
						
							
							
							
							
								
							
							
								c73c8a39cf 
								
							 
						 
						
							
							
								
								kernel/log: Add log_str helper for custom log_* functions/overloads  
							
							... 
							
							
							
							When implementing custom log_... functions or custom overloads for the
core log functions like log_signal it is necessary to return `char *`
that are valid long enough.
The log_... functions implemented in log.cc use either `log_id_cache` or
`string_buf` which both are cleared on log_pop.
This commit adds a public `log_str` function which stores its argument
in the `log_id_cache` and returns the stored copy, such that custom
log functions outside of log.cc can also create strings that remain
valid until the next `log_pop`. 
							
						 
						
							2024-08-21 10:58:39 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Jannis Harder 
								
							 
						 
						
							
							
							
							
								
							
							
								0922142567 
								
							 
						 
						
							
							
								
								Add generic topological sort and SCC detection  
							
							... 
							
							
							
							This adds a generic non-recursive implementation of Tarjan's linear time
SCC algorithm that produces components in topological order. It can be
instantiated to work directly on any graph representation for which the
enumerate_nodes and enumerate_successors interface can be implemented. 
							
						 
						
							2024-08-21 10:58:39 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J. Tywoniak 
								
							 
						 
						
							
							
							
							
								
							
							
								4847caac49 
								
							 
						 
						
							
							
								
								driver: print maximum memory usage on macOS as well  
							
							
							
						 
						
							2024-08-19 12:50:12 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Krystine Sherwin 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7b47f645d7 
								
							 
						 
						
							
							
								
								Address warnings  
							
							... 
							
							
							
							- Setting default values
- Fixing mismatched types
- Guarding unused var 
							
						 
						
							2024-08-16 04:30:31 +12:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								92cac63845 
								
							 
						 
						
							
							
								
								Merge pull request  #4344  from widlarizer/emil/keep_hierarchy  
							
							... 
							
							
							
							cost: add keep_hierarchy pass with min_cost argument 
							
						 
						
							2024-07-29 16:33:08 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								051d83205d 
								
							 
						 
						
							
							
								
								Merge pull request  #4471  from georgerennie/hashlib_primes  
							
							... 
							
							
							
							hashlib: Add some more primes 
							
						 
						
							2024-07-29 15:10:22 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J. Tywoniak 
								
							 
						 
						
							
							
							
							
								
							
							
								4b29f64142 
								
							 
						 
						
							
							
								
								cost: add model for techmapped cell count, keep_hierarchy pass with -min_cost parameter  
							
							
							
						 
						
							2024-07-29 10:26:02 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								49eaa108a5 
								
							 
						 
						
							
							
								
								Merge pull request  #4425  from YosysHQ/emil/doc-sigmap  
							
							... 
							
							
							
							sigmap: comments 
							
						 
						
							2024-07-29 10:18:44 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Roland Coeurjoly 
								
							 
						 
						
							
							
							
							
								
							
							
								ce11ddbf21 
								
							 
						 
						
							
							
								
								Simplified run_frontend by using a lambda function for file extension checks and combining blif and eblif into a single condition.  
							
							
							
						 
						
							2024-07-23 17:55:04 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Roland Coeurjoly 
								
							 
						 
						
							
							
							
							
								
							
							
								8c1431f373 
								
							 
						 
						
							
							
								
								Guess VHDL frontend for both *.vhd and *vhdl files  
							
							
							
						 
						
							2024-07-23 17:01:57 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emil J. Tywoniak 
								
							 
						 
						
							
							
							
							
								
							
							
								583db7b15e 
								
							 
						 
						
							
							
								
								sigmap: comments  
							
							
							
						 
						
							2024-07-18 16:02:11 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alexander von Gluck 
								
							 
						 
						
							
							
							
							
								
							
							
								2f514487cb 
								
							 
						 
						
							
							
								
								haiku: Basic fixes to build under Haiku  
							
							
							
						 
						
							2024-07-15 12:57:34 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									George Rennie 
								
							 
						 
						
							
							
							
							
								
							
							
								339d4e8932 
								
							 
						 
						
							
							
								
								hashlib: Correct prime sequence  
							
							
							
						 
						
							2024-07-02 08:10:18 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									George Rennie 
								
							 
						 
						
							
							
							
							
								
							
							
								78ae4ed9ac 
								
							 
						 
						
							
							
								
								hashlib: Add some more primes  
							
							... 
							
							
							
							* Add some primes as suggested in #4458 . This allows larger hashtables
  to be allocated for very big designs 
							
						 
						
							2024-07-01 12:37:41 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Martin Povišer 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								07daf61ae6 
								
							 
						 
						
							
							
								
								Merge pull request  #4467  from povik/fix-add-shiftx  
							
							... 
							
							
							
							rtlil: Fix `addShiftx` for signed shifts 
							
						 
						
							2024-06-26 18:17:28 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Martin Povišer 
								
							 
						 
						
							
							
							
							
								
							
							
								89d939334e 
								
							 
						 
						
							
							
								
								rtlil: Fix addShiftx for signed shifts  
							
							... 
							
							
							
							Only the `B` input (the shift amount) can be marked as signed on a
`$shiftx` cell. Adapt the helper accordingly and prevent it from
creating invalid RTLIL when called with `is_signed` set. Previously
it would mark both `A` and `B` as signed. 
							
						 
						
							2024-06-21 15:14:08 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Miodrag Milanovic 
								
							 
						 
						
							
							
							
							
								
							
							
								141a2e3638 
								
							 
						 
						
							
							
								
								Make C++17 compiler required  
							
							
							
						 
						
							2024-06-17 16:55:36 +02:00