mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 11:42:30 +00:00 
			
		
		
		
	Revert "Since $_ANDNOT_ is not symmetric, do not sort leaves"
This commit is contained in:
		
							parent
							
								
									19d6b8846f
								
							
						
					
					
						commit
						0e128510c0
					
				
					 1 changed files with 8 additions and 4 deletions
				
			
		|  | @ -153,10 +153,12 @@ struct ExtractFaWorker | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	void check_partition(SigBit root, const pool<SigBit> &leaves) | 	void check_partition(SigBit root, pool<SigBit> &leaves) | ||||||
| 	{ | 	{ | ||||||
| 		if (config.enable_ha && GetSize(leaves) == 2) | 		if (config.enable_ha && GetSize(leaves) == 2) | ||||||
| 		{ | 		{ | ||||||
|  | 			leaves.sort(); | ||||||
|  | 
 | ||||||
| 			SigBit A = SigSpec(leaves)[0]; | 			SigBit A = SigSpec(leaves)[0]; | ||||||
| 			SigBit B = SigSpec(leaves)[1]; | 			SigBit B = SigSpec(leaves)[1]; | ||||||
| 
 | 
 | ||||||
|  | @ -194,6 +196,8 @@ struct ExtractFaWorker | ||||||
| 
 | 
 | ||||||
| 		if (config.enable_fa && GetSize(leaves) == 3) | 		if (config.enable_fa && GetSize(leaves) == 3) | ||||||
| 		{ | 		{ | ||||||
|  | 			leaves.sort(); | ||||||
|  | 
 | ||||||
| 			SigBit A = SigSpec(leaves)[0]; | 			SigBit A = SigSpec(leaves)[0]; | ||||||
| 			SigBit B = SigSpec(leaves)[1]; | 			SigBit B = SigSpec(leaves)[1]; | ||||||
| 			SigBit C = SigSpec(leaves)[2]; | 			SigBit C = SigSpec(leaves)[2]; | ||||||
|  | @ -233,7 +237,7 @@ struct ExtractFaWorker | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	void find_partitions(SigBit root, const pool<SigBit> &leaves, pool<const pool<SigBit>> &cache, int maxdepth, int maxbreadth) | 	void find_partitions(SigBit root, pool<SigBit> &leaves, pool<pool<SigBit>> &cache, int maxdepth, int maxbreadth) | ||||||
| 	{ | 	{ | ||||||
| 		if (cache.count(leaves)) | 		if (cache.count(leaves)) | ||||||
| 			return; | 			return; | ||||||
|  | @ -289,8 +293,8 @@ struct ExtractFaWorker | ||||||
| 				continue; | 				continue; | ||||||
| 
 | 
 | ||||||
| 			SigBit root = it.first; | 			SigBit root = it.first; | ||||||
| 			const pool<SigBit> leaves = { root }; | 			pool<SigBit> leaves = { root }; | ||||||
| 			pool<const pool<SigBit>> cache; | 			pool<pool<SigBit>> cache; | ||||||
| 
 | 
 | ||||||
| 			if (config.verbose) | 			if (config.verbose) | ||||||
| 				log("  checking %s\n", log_signal(it.first)); | 				log("  checking %s\n", log_signal(it.first)); | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue