mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 11:42:30 +00:00 
			
		
		
		
	_ABC macro will map and unmap to this new box
This commit is contained in:
		
							parent
							
								
									fc3d74616f
								
							
						
					
					
						commit
						c6e16e1334
					
				
					 2 changed files with 34 additions and 0 deletions
				
			
		|  | @ -44,6 +44,15 @@ module _80_ice40_alu (A, B, CI, BI, X, Y, CO); | |||
| 
 | ||||
| 	genvar i; | ||||
| 	generate for (i = 0; i < Y_WIDTH; i = i + 1) begin:slice | ||||
| `ifdef _ABC | ||||
| 		\$__ICE40_CARRY_LUT4 carry ( | ||||
| 			.A(AA[i]), | ||||
| 			.B(BB[i]), | ||||
| 			.CI(C[i]), | ||||
| 			.CO(CO[i]), | ||||
|             .O(Y[i]) | ||||
| 		); | ||||
| `else | ||||
| 		SB_CARRY carry ( | ||||
| 			.I0(AA[i]), | ||||
| 			.I1(BB[i]), | ||||
|  | @ -63,6 +72,7 @@ module _80_ice40_alu (A, B, CI, BI, X, Y, CO); | |||
| 			.I3(C[i]), | ||||
| 			.O(Y[i]) | ||||
| 		); | ||||
| `endif | ||||
| 	end endgenerate | ||||
| 
 | ||||
| 	assign X = AA ^ BB; | ||||
|  |  | |||
|  | @ -61,3 +61,27 @@ module \$lut (A, Y); | |||
|   endgenerate | ||||
| endmodule | ||||
| `endif | ||||
| 
 | ||||
| `ifdef _ABC | ||||
| module \$__ICE40_CARRY_LUT4 (output CO, O, input A, B, CI); | ||||
|   SB_CARRY carry ( | ||||
|     .I0(A), | ||||
|     .I1(B), | ||||
|     .CI(CI), | ||||
|     .CO(CO) | ||||
|   ); | ||||
|   SB_LUT4 #( | ||||
|     //         I0: 1010 1010 1010 1010 | ||||
|     //         I1: 1100 1100 1100 1100 | ||||
|     //         I2: 1111 0000 1111 0000 | ||||
|     //         I3: 1111 1111 0000 0000 | ||||
|     .LUT_INIT(16'b 0110_1001_1001_0110) | ||||
|   ) adder ( | ||||
|     .I0(1'b0), | ||||
|     .I1(A), | ||||
|     .I2(B), | ||||
|     .I3(CI), | ||||
|     .O(O) | ||||
|   ); | ||||
| endmodule | ||||
| `endif | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue