mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-11-04 05:19:11 +00:00 
			
		
		
		
	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).
This commit is contained in:
		
							parent
							
								
									f24e2536c6
								
							
						
					
					
						commit
						56572978f5
					
				
					 3 changed files with 2265 additions and 0 deletions
				
			
		
							
								
								
									
										2
									
								
								Makefile
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -598,6 +598,7 @@ $(eval $(call add_include_file,kernel/celltypes.h))
 | 
			
		|||
$(eval $(call add_include_file,kernel/consteval.h))
 | 
			
		||||
$(eval $(call add_include_file,kernel/constids.inc))
 | 
			
		||||
$(eval $(call add_include_file,kernel/cost.h))
 | 
			
		||||
$(eval $(call add_include_file,kernel/drivertools.h))
 | 
			
		||||
$(eval $(call add_include_file,kernel/ff.h))
 | 
			
		||||
$(eval $(call add_include_file,kernel/ffinit.h))
 | 
			
		||||
$(eval $(call add_include_file,kernel/ffmerge.h))
 | 
			
		||||
| 
						 | 
				
			
			@ -638,6 +639,7 @@ $(eval $(call add_include_file,backends/rtlil/rtlil_backend.h))
 | 
			
		|||
OBJS += kernel/driver.o kernel/register.o kernel/rtlil.o kernel/log.o kernel/calc.o kernel/yosys.o
 | 
			
		||||
OBJS += kernel/binding.o
 | 
			
		||||
OBJS += kernel/cellaigs.o kernel/celledges.o kernel/cost.o kernel/satgen.o kernel/scopeinfo.o kernel/qcsat.o kernel/mem.o kernel/ffmerge.o kernel/ff.o kernel/yw.o kernel/json.o kernel/fmt.o
 | 
			
		||||
OBJS += kernel/drivertools.o
 | 
			
		||||
ifeq ($(ENABLE_ZLIB),1)
 | 
			
		||||
OBJS += kernel/fstdata.o
 | 
			
		||||
endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue