mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-11-04 05:19:11 +00:00 
			
		
		
		
	Add new box to cells_sim.v
This commit is contained in:
		
							parent
							
								
									c6e16e1334
								
							
						
					
					
						commit
						a79ff2501e
					
				
					 1 changed files with 25 additions and 2 deletions
				
			
		| 
						 | 
					@ -127,7 +127,7 @@ endmodule
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// SiliconBlue Logic Cells
 | 
					// SiliconBlue Logic Cells
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(* abc_box_id = 2, lib_whitebox *)
 | 
					(* lib_whitebox *)
 | 
				
			||||||
module SB_LUT4 (output O, input I0, I1, I2, I3);
 | 
					module SB_LUT4 (output O, input I0, I1, I2, I3);
 | 
				
			||||||
	parameter [15:0] LUT_INIT = 0;
 | 
						parameter [15:0] LUT_INIT = 0;
 | 
				
			||||||
	wire [7:0] s3 = I3 ? LUT_INIT[15:8] : LUT_INIT[7:0];
 | 
						wire [7:0] s3 = I3 ? LUT_INIT[15:8] : LUT_INIT[7:0];
 | 
				
			||||||
| 
						 | 
					@ -136,11 +136,34 @@ module SB_LUT4 (output O, input I0, I1, I2, I3);
 | 
				
			||||||
	assign O = I0 ? s1[1] : s1[0];
 | 
						assign O = I0 ? s1[1] : s1[0];
 | 
				
			||||||
endmodule
 | 
					endmodule
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(* abc_box_id = 1, abc_carry="CI,CO", lib_whitebox *)
 | 
					(* lib_whitebox *)
 | 
				
			||||||
module SB_CARRY (output CO, input I0, I1, CI);
 | 
					module SB_CARRY (output CO, input I0, I1, CI);
 | 
				
			||||||
	assign CO = (I0 && I1) || ((I0 || I1) && CI);
 | 
						assign CO = (I0 && I1) || ((I0 || I1) && CI);
 | 
				
			||||||
endmodule
 | 
					endmodule
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(* abc_box_id = 1, abc_carry="CI,CO", lib_whitebox *)
 | 
				
			||||||
 | 
					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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Positive Edge SiliconBlue FF Cells
 | 
					// Positive Edge SiliconBlue FF Cells
 | 
				
			||||||
 | 
					
 | 
				
			||||||
module SB_DFF (output `SB_DFF_REG, input C, D);
 | 
					module SB_DFF (output `SB_DFF_REG, input C, D);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue