mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 03:32:29 +00:00 
			
		
		
		
	Performance fix for new $__lcu techmap rule
This commit is contained in:
		
							parent
							
								
									4b3834e0cc
								
							
						
					
					
						commit
						6f33fc3e87
					
				
					 1 changed files with 5 additions and 7 deletions
				
			
		|  | @ -293,7 +293,7 @@ module \$__lcu (P, G, CI, CO); | ||||||
| 
 | 
 | ||||||
| 	output reg [WIDTH:0] CO; | 	output reg [WIDTH:0] CO; | ||||||
| 
 | 
 | ||||||
| 	integer i, j, k; | 	integer i, j; | ||||||
| 	reg [WIDTH-1:0] p, g; | 	reg [WIDTH-1:0] p, g; | ||||||
| 
 | 
 | ||||||
| 	wire [1023:0] _TECHMAP_DO_ = "proc; opt -fast"; | 	wire [1023:0] _TECHMAP_DO_ = "proc; opt -fast"; | ||||||
|  | @ -312,18 +312,16 @@ module \$__lcu (P, G, CI, CO); | ||||||
| 		// Main tree | 		// Main tree | ||||||
| 		for (i = 1; i <= $clog2(WIDTH); i = i+1) begin | 		for (i = 1; i <= $clog2(WIDTH); i = i+1) begin | ||||||
| 			for (j = 2**i - 1; j < WIDTH; j = j + 2**i) begin | 			for (j = 2**i - 1; j < WIDTH; j = j + 2**i) begin | ||||||
| 				k = j - 2**(i-1); | 				g[j] = g[j] | p[j] & g[j - 2**(i-1)]; | ||||||
| 				g[j] = g[j] | p[j] & g[k]; | 				p[j] = p[j] & p[j - 2**(i-1)]; | ||||||
| 				p[j] = p[j] & p[k]; |  | ||||||
| 			end | 			end | ||||||
| 		end | 		end | ||||||
| 
 | 
 | ||||||
| 		// Inverse tree | 		// Inverse tree | ||||||
| 		for (i = $clog2(WIDTH); i > 0; i = i-1) begin | 		for (i = $clog2(WIDTH); i > 0; i = i-1) begin | ||||||
| 			for (j = 2**i + 2**(i-1) - 1; j < WIDTH; j = j + 2**i) begin | 			for (j = 2**i + 2**(i-1) - 1; j < WIDTH; j = j + 2**i) begin | ||||||
| 				k = j - 2**(i-1); | 				g[j] = g[j] | p[j] & g[j - 2**(i-1)]; | ||||||
| 				g[j] = g[j] | p[j] & g[k]; | 				p[j] = p[j] & p[j - 2**(i-1)]; | ||||||
| 				p[j] = p[j] & p[k]; |  | ||||||
| 			end | 			end | ||||||
| 		end | 		end | ||||||
| 	end | 	end | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue