mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-11-04 05:19:11 +00:00 
			
		
		
		
	ice40: specify fixes
This commit is contained in:
		
							parent
							
								
									7c92b6852f
								
							
						
					
					
						commit
						a76520112d
					
				
					 3 changed files with 66 additions and 66 deletions
				
			
		| 
						 | 
					@ -29,7 +29,7 @@ module \$__ICE40_CARRY_WRAPPER (
 | 
				
			||||||
`ifdef ICE40_HX
 | 
					`ifdef ICE40_HX
 | 
				
			||||||
	specify
 | 
						specify
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/be0bca0230d6fe1102e0a360b953fbb0d273a39f/icefuzz/timings_hx1k.txt#L79
 | 
							// https://github.com/cliffordwolf/icestorm/blob/be0bca0230d6fe1102e0a360b953fbb0d273a39f/icefuzz/timings_hx1k.txt#L79
 | 
				
			||||||
		(CI => O) = (126, 105);
 | 
							(CI => CO) = (126, 105);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/be0bca0230d6fe1102e0a360b953fbb0d273a39f/icefuzz/timings_hx1k.txt#L80
 | 
							// https://github.com/cliffordwolf/icestorm/blob/be0bca0230d6fe1102e0a360b953fbb0d273a39f/icefuzz/timings_hx1k.txt#L80
 | 
				
			||||||
		(I0 => O) = (449, 386);
 | 
							(I0 => O) = (449, 386);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/be0bca0230d6fe1102e0a360b953fbb0d273a39f/icefuzz/timings_hx1k.txt#L82
 | 
							// https://github.com/cliffordwolf/icestorm/blob/be0bca0230d6fe1102e0a360b953fbb0d273a39f/icefuzz/timings_hx1k.txt#L82
 | 
				
			||||||
| 
						 | 
					@ -48,7 +48,7 @@ module \$__ICE40_CARRY_WRAPPER (
 | 
				
			||||||
`ifdef ICE40_LP
 | 
					`ifdef ICE40_LP
 | 
				
			||||||
	specify
 | 
						specify
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/be0bca0230d6fe1102e0a360b953fbb0d273a39f/icefuzz/timings_lp1k.txt#L79
 | 
							// https://github.com/cliffordwolf/icestorm/blob/be0bca0230d6fe1102e0a360b953fbb0d273a39f/icefuzz/timings_lp1k.txt#L79
 | 
				
			||||||
		(CI => O) = (186, 155);
 | 
							(CI => CO) = (186, 155);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/be0bca0230d6fe1102e0a360b953fbb0d273a39f/icefuzz/timings_lp1k.txt#L80
 | 
							// https://github.com/cliffordwolf/icestorm/blob/be0bca0230d6fe1102e0a360b953fbb0d273a39f/icefuzz/timings_lp1k.txt#L80
 | 
				
			||||||
		(I0 => O) = (662, 569);
 | 
							(I0 => O) = (662, 569);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/be0bca0230d6fe1102e0a360b953fbb0d273a39f/icefuzz/timings_lp1k.txt#L82
 | 
							// https://github.com/cliffordwolf/icestorm/blob/be0bca0230d6fe1102e0a360b953fbb0d273a39f/icefuzz/timings_lp1k.txt#L82
 | 
				
			||||||
| 
						 | 
					@ -67,7 +67,7 @@ module \$__ICE40_CARRY_WRAPPER (
 | 
				
			||||||
`ifdef ICE40_U
 | 
					`ifdef ICE40_U
 | 
				
			||||||
	specify
 | 
						specify
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/be0bca0230d6fe1102e0a360b953fbb0d273a39f/icefuzz/timings_up5k.txt#L91
 | 
							// https://github.com/cliffordwolf/icestorm/blob/be0bca0230d6fe1102e0a360b953fbb0d273a39f/icefuzz/timings_up5k.txt#L91
 | 
				
			||||||
		(CI => O) = (278, 278);
 | 
							(CI => CO) = (278, 278);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/be0bca0230d6fe1102e0a360b953fbb0d273a39f/icefuzz/timings_up5k.txt#L92
 | 
							// https://github.com/cliffordwolf/icestorm/blob/be0bca0230d6fe1102e0a360b953fbb0d273a39f/icefuzz/timings_up5k.txt#L92
 | 
				
			||||||
		(I0 => O) = (1245, 1285);
 | 
							(I0 => O) = (1245, 1285);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/be0bca0230d6fe1102e0a360b953fbb0d273a39f/icefuzz/timings_up5k.txt#L94
 | 
							// https://github.com/cliffordwolf/icestorm/blob/be0bca0230d6fe1102e0a360b953fbb0d273a39f/icefuzz/timings_up5k.txt#L94
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -306,7 +306,7 @@ module SB_DFFSR (
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L74
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L74
 | 
				
			||||||
		//   minus https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L80
 | 
							//   minus https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L80
 | 
				
			||||||
		$setup(D, posedge C, 470 - 449);
 | 
							$setup(D, posedge C, 470 - 449);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L73
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L78
 | 
				
			||||||
		$setup(R, posedge C, 203);
 | 
							$setup(R, posedge C, 203);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L90
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L90
 | 
				
			||||||
		if ( R) (posedge C => (Q : 1'b0)) = 540;
 | 
							if ( R) (posedge C => (Q : 1'b0)) = 540;
 | 
				
			||||||
| 
						 | 
					@ -353,8 +353,8 @@ module SB_DFFR (
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L74
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L74
 | 
				
			||||||
		//   minus https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L80
 | 
							//   minus https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L80
 | 
				
			||||||
		$setup(D, posedge C, 470 - 449);
 | 
							$setup(D, posedge C, 470 - 449);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L73
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L63
 | 
				
			||||||
		$setup(R, posedge C, 203);
 | 
							$setup(negedge R, posedge C, 160);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L91
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L91
 | 
				
			||||||
		(posedge R => (Q : 1'b0)) = 599;
 | 
							(posedge R => (Q : 1'b0)) = 599;
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L90
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L90
 | 
				
			||||||
| 
						 | 
					@ -366,8 +366,8 @@ module SB_DFFR (
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L74
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L74
 | 
				
			||||||
		//   minus https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L80
 | 
							//   minus https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L80
 | 
				
			||||||
		$setup(D, posedge C, 693 - 662);
 | 
							$setup(D, posedge C, 693 - 662);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L78
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L63
 | 
				
			||||||
		$setup(R, posedge C, 299);
 | 
							$setup(negedge R, posedge C, 235);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L91
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L91
 | 
				
			||||||
		(posedge R => (Q : 1'b0)) = 883;
 | 
							(posedge R => (Q : 1'b0)) = 883;
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L90
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L90
 | 
				
			||||||
| 
						 | 
					@ -379,8 +379,8 @@ module SB_DFFR (
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L86
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L86
 | 
				
			||||||
		//   minus https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L80
 | 
							//   minus https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L80
 | 
				
			||||||
		//$setup(D, posedge C, 1232 - 1285); // Negative times not currently supported
 | 
							//$setup(D, posedge C, 1232 - 1285); // Negative times not currently supported
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L90
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L75
 | 
				
			||||||
		$setup(R, posedge C, 530);
 | 
							$setup(negedge R, posedge C, 424);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L103
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L103
 | 
				
			||||||
		(posedge R => (Q : 1'b0)) = 1589;
 | 
							(posedge R => (Q : 1'b0)) = 1589;
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L102
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L102
 | 
				
			||||||
| 
						 | 
					@ -403,7 +403,7 @@ module SB_DFFSS (
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L74
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L74
 | 
				
			||||||
		//   minus https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L80
 | 
							//   minus https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L80
 | 
				
			||||||
		$setup(D, posedge C, 470 - 449);
 | 
							$setup(D, posedge C, 470 - 449);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L73
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L78
 | 
				
			||||||
		$setup(S, posedge C, 203);
 | 
							$setup(S, posedge C, 203);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L90
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L90
 | 
				
			||||||
		if ( S) (posedge C => (Q : 1'b1)) = 540;
 | 
							if ( S) (posedge C => (Q : 1'b1)) = 540;
 | 
				
			||||||
| 
						 | 
					@ -450,8 +450,8 @@ module SB_DFFS (
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L74
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L74
 | 
				
			||||||
		//   minus https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L80
 | 
							//   minus https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L80
 | 
				
			||||||
		$setup(D, posedge C, 470 - 449);
 | 
							$setup(D, posedge C, 470 - 449);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L73
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L63
 | 
				
			||||||
		$setup(S, posedge C, 203);
 | 
							$setup(negedge S, posedge C, 160);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L91
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L91
 | 
				
			||||||
		(posedge S => (Q : 1'b1)) = 599;
 | 
							(posedge S => (Q : 1'b1)) = 599;
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L90
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L90
 | 
				
			||||||
| 
						 | 
					@ -463,8 +463,8 @@ module SB_DFFS (
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L74
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L74
 | 
				
			||||||
		//   minus https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L80
 | 
							//   minus https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L80
 | 
				
			||||||
		$setup(D, posedge C, 693 - 662);
 | 
							$setup(D, posedge C, 693 - 662);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L78
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L63
 | 
				
			||||||
		$setup(S, posedge C, 299);
 | 
							$setup(negedge S, posedge C, 235);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L91
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L91
 | 
				
			||||||
		(posedge S => (Q : 1'b1)) = 883;
 | 
							(posedge S => (Q : 1'b1)) = 883;
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L90
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L90
 | 
				
			||||||
| 
						 | 
					@ -476,8 +476,8 @@ module SB_DFFS (
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L86
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L86
 | 
				
			||||||
		//   minus https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L80
 | 
							//   minus https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L80
 | 
				
			||||||
		//$setup(D, posedge C, 1232 - 1285); // Negative times not currently supported
 | 
							//$setup(D, posedge C, 1232 - 1285); // Negative times not currently supported
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L90
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L75
 | 
				
			||||||
		$setup(S, posedge C, 530);
 | 
							$setup(negedge S, posedge C, 424);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L103
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L103
 | 
				
			||||||
		(posedge S => (Q : 1'b1)) = 1589;
 | 
							(posedge S => (Q : 1'b1)) = 1589;
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L102
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L102
 | 
				
			||||||
| 
						 | 
					@ -504,7 +504,7 @@ module SB_DFFESR (
 | 
				
			||||||
		$setup(D, posedge C &&& E && !R, 470 - 449);
 | 
							$setup(D, posedge C &&& E && !R, 470 - 449);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L73
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L73
 | 
				
			||||||
		$setup(E, posedge C, 0);
 | 
							$setup(E, posedge C, 0);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L73
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L78
 | 
				
			||||||
		$setup(R, posedge C &&& E, 203);
 | 
							$setup(R, posedge C &&& E, 203);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L90
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L90
 | 
				
			||||||
		if (E &&  R) (posedge C => (Q : 1'b0)) = 540;
 | 
							if (E &&  R) (posedge C => (Q : 1'b0)) = 540;
 | 
				
			||||||
| 
						 | 
					@ -557,8 +557,8 @@ module SB_DFFER (
 | 
				
			||||||
		$setup(D, posedge C &&& E, 470 - 449);
 | 
							$setup(D, posedge C &&& E, 470 - 449);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L73
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L73
 | 
				
			||||||
		$setup(E, posedge C, 0);
 | 
							$setup(E, posedge C, 0);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L73
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L63
 | 
				
			||||||
		$setup(R, posedge C, 203);
 | 
							$setup(negedge R, posedge C, 160);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L91
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L91
 | 
				
			||||||
		(posedge R => (Q : 1'b0)) = 599;
 | 
							(posedge R => (Q : 1'b0)) = 599;
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L90
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L90
 | 
				
			||||||
| 
						 | 
					@ -572,8 +572,8 @@ module SB_DFFER (
 | 
				
			||||||
		$setup(D, posedge C &&& E, 693 - 662);
 | 
							$setup(D, posedge C &&& E, 693 - 662);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L73
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L73
 | 
				
			||||||
		$setup(E, posedge C, 0);
 | 
							$setup(E, posedge C, 0);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L78
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L63
 | 
				
			||||||
		$setup(R, posedge C, 299);
 | 
							$setup(negedge R, posedge C, 235);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L91
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L91
 | 
				
			||||||
		(posedge R => (Q : 1'b0)) = 883;
 | 
							(posedge R => (Q : 1'b0)) = 883;
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L90
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L90
 | 
				
			||||||
| 
						 | 
					@ -587,8 +587,8 @@ module SB_DFFER (
 | 
				
			||||||
		//$setup(D, posedge C &&& E, 1232 - 1285); // Negative times not currently supported
 | 
							//$setup(D, posedge C &&& E, 1232 - 1285); // Negative times not currently supported
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L86
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L86
 | 
				
			||||||
		$setup(E, posedge C, 0);
 | 
							$setup(E, posedge C, 0);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L90
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L75
 | 
				
			||||||
		$setup(R, posedge C, 530);
 | 
							$setup(negedge R, posedge C, 424);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L103
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L103
 | 
				
			||||||
		(posedge R => (Q : 1'b0)) = 1589;
 | 
							(posedge R => (Q : 1'b0)) = 1589;
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L102
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L102
 | 
				
			||||||
| 
						 | 
					@ -615,7 +615,7 @@ module SB_DFFESS (
 | 
				
			||||||
		$setup(D, posedge C &&& E && !S, 470 - 449);
 | 
							$setup(D, posedge C &&& E && !S, 470 - 449);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L73
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L73
 | 
				
			||||||
		$setup(E, posedge C, 0);
 | 
							$setup(E, posedge C, 0);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L73
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L78
 | 
				
			||||||
		$setup(S, posedge C &&& E, 203);
 | 
							$setup(S, posedge C &&& E, 203);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L90
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L90
 | 
				
			||||||
		if (E &&  S) (posedge C => (Q : 1'b1)) = 540;
 | 
							if (E &&  S) (posedge C => (Q : 1'b1)) = 540;
 | 
				
			||||||
| 
						 | 
					@ -668,8 +668,8 @@ module SB_DFFES (
 | 
				
			||||||
		$setup(D, posedge C &&& E, 470 - 449);
 | 
							$setup(D, posedge C &&& E, 470 - 449);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L73
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L73
 | 
				
			||||||
		$setup(E, posedge C, 0);
 | 
							$setup(E, posedge C, 0);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L73
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L63
 | 
				
			||||||
		$setup(S, posedge C, 203);
 | 
							$setup(posedge S, posedge C, 160);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L91
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L91
 | 
				
			||||||
		(posedge S => (Q : 1'b1)) = 599;
 | 
							(posedge S => (Q : 1'b1)) = 599;
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L90
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L90
 | 
				
			||||||
| 
						 | 
					@ -683,8 +683,8 @@ module SB_DFFES (
 | 
				
			||||||
		$setup(D, posedge C &&& E, 693 - 662);
 | 
							$setup(D, posedge C &&& E, 693 - 662);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L73
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L73
 | 
				
			||||||
		$setup(E, posedge C, 0);
 | 
							$setup(E, posedge C, 0);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L78
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L63
 | 
				
			||||||
		$setup(S, posedge C, 299);
 | 
							$setup(posedge S, posedge C, 235);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L91
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L91
 | 
				
			||||||
		(posedge S => (Q : 1'b1)) = 883;
 | 
							(posedge S => (Q : 1'b1)) = 883;
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L90
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L90
 | 
				
			||||||
| 
						 | 
					@ -698,8 +698,8 @@ module SB_DFFES (
 | 
				
			||||||
		//$setup(D, posedge C &&& E, 1232 - 1285); // Negative times not currently supported
 | 
							//$setup(D, posedge C &&& E, 1232 - 1285); // Negative times not currently supported
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L86
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L86
 | 
				
			||||||
		$setup(E, posedge C, 0);
 | 
							$setup(E, posedge C, 0);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L90
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L75
 | 
				
			||||||
		$setup(S, posedge C, 530);
 | 
							$setup(posedge S, posedge C, 424);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L103
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L103
 | 
				
			||||||
		(posedge S => (Q : 1'b1)) = 1589;
 | 
							(posedge S => (Q : 1'b1)) = 1589;
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L102
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L102
 | 
				
			||||||
| 
						 | 
					@ -848,8 +848,8 @@ module SB_DFFNR (
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L74
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L74
 | 
				
			||||||
		//   minus https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L80
 | 
							//   minus https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L80
 | 
				
			||||||
		$setup(D, negedge C, 470 - 449);
 | 
							$setup(D, negedge C, 470 - 449);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L73
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L63
 | 
				
			||||||
		$setup(R, negedge C, 203);
 | 
							$setup(negedge R, negedge C, 160);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L91
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L91
 | 
				
			||||||
		(posedge R => (Q : 1'b0)) = 599;
 | 
							(posedge R => (Q : 1'b0)) = 599;
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L90
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L90
 | 
				
			||||||
| 
						 | 
					@ -861,8 +861,8 @@ module SB_DFFNR (
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L74
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L74
 | 
				
			||||||
		//   minus https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L80
 | 
							//   minus https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L80
 | 
				
			||||||
		$setup(D, negedge C, 693 - 662);
 | 
							$setup(D, negedge C, 693 - 662);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L78
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L63
 | 
				
			||||||
		$setup(R, negedge C, 299);
 | 
							$setup(negedge R, negedge C, 235);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L91
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L91
 | 
				
			||||||
		(posedge R => (Q : 1'b0)) = 883;
 | 
							(posedge R => (Q : 1'b0)) = 883;
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L90
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L90
 | 
				
			||||||
| 
						 | 
					@ -874,8 +874,8 @@ module SB_DFFNR (
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L86
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L86
 | 
				
			||||||
		//   minus https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L80
 | 
							//   minus https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L80
 | 
				
			||||||
		//$setup(D, negedge C, 1232 - 1285); // Negative times not currently supported
 | 
							//$setup(D, negedge C, 1232 - 1285); // Negative times not currently supported
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L90
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L75
 | 
				
			||||||
		$setup(R, negedge C, 530);
 | 
							$setup(negedge R, negedge C, 424);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L103
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L103
 | 
				
			||||||
		(posedge R => (Q : 1'b0)) = 1589;
 | 
							(posedge R => (Q : 1'b0)) = 1589;
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L102
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L102
 | 
				
			||||||
| 
						 | 
					@ -945,8 +945,8 @@ module SB_DFFNS (
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L74
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L74
 | 
				
			||||||
		//   minus https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L80
 | 
							//   minus https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L80
 | 
				
			||||||
		$setup(D, negedge C &&& E, 470 - 449);
 | 
							$setup(D, negedge C &&& E, 470 - 449);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L73
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L63
 | 
				
			||||||
		$setup(S, negedge C, 203);
 | 
							$setup(negedge S, negedge C, 160);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L91
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L91
 | 
				
			||||||
		(posedge S => (Q : 1'b1)) = 599;
 | 
							(posedge S => (Q : 1'b1)) = 599;
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L90
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L90
 | 
				
			||||||
| 
						 | 
					@ -958,8 +958,8 @@ module SB_DFFNS (
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L74
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L74
 | 
				
			||||||
		//   minus https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L80
 | 
							//   minus https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L80
 | 
				
			||||||
		$setup(D, negedge C &&& E, 693 - 662);
 | 
							$setup(D, negedge C &&& E, 693 - 662);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L78
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L63
 | 
				
			||||||
		$setup(S, negedge C, 299);
 | 
							$setup(negedge S, negedge C, 235);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L91
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L91
 | 
				
			||||||
		(posedge S => (Q : 1'b1)) = 883;
 | 
							(posedge S => (Q : 1'b1)) = 883;
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L90
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L90
 | 
				
			||||||
| 
						 | 
					@ -971,8 +971,8 @@ module SB_DFFNS (
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L86
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L86
 | 
				
			||||||
		//   minus https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L80
 | 
							//   minus https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L80
 | 
				
			||||||
		//$setup(D, negedge C &&& E, 1232 - 1285); // Negative times not currently supported
 | 
							//$setup(D, negedge C &&& E, 1232 - 1285); // Negative times not currently supported
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L90
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L75
 | 
				
			||||||
		$setup(S, negedge C, 530);
 | 
							$setup(negedge S, negedge C, 424);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L103
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L103
 | 
				
			||||||
		(posedge S => (Q : 1'b1)) = 1589;
 | 
							(posedge S => (Q : 1'b1)) = 1589;
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L102
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L102
 | 
				
			||||||
| 
						 | 
					@ -999,7 +999,7 @@ module SB_DFFNESR (
 | 
				
			||||||
		$setup(D, negedge C &&& E && !R, 470 - 449);
 | 
							$setup(D, negedge C &&& E && !R, 470 - 449);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L73
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L73
 | 
				
			||||||
		$setup(E, negedge C, 0);
 | 
							$setup(E, negedge C, 0);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L73
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L78
 | 
				
			||||||
		$setup(R, negedge C &&& E, 203);
 | 
							$setup(R, negedge C &&& E, 203);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L90
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L90
 | 
				
			||||||
		if (E &&  R) (negedge C => (Q : 1'b0)) = 540;
 | 
							if (E &&  R) (negedge C => (Q : 1'b0)) = 540;
 | 
				
			||||||
| 
						 | 
					@ -1052,8 +1052,8 @@ module SB_DFFNER (
 | 
				
			||||||
		$setup(D, negedge C &&& E, 470 - 449);
 | 
							$setup(D, negedge C &&& E, 470 - 449);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L73
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L73
 | 
				
			||||||
		$setup(E, negedge C, 0);
 | 
							$setup(E, negedge C, 0);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L73
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L63
 | 
				
			||||||
		$setup(R, negedge C, 203);
 | 
							$setup(R, negedge C, 2160);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L91
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L91
 | 
				
			||||||
		(posedge R => (Q : 1'b0)) = 599;
 | 
							(posedge R => (Q : 1'b0)) = 599;
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L90
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L90
 | 
				
			||||||
| 
						 | 
					@ -1067,8 +1067,8 @@ module SB_DFFNER (
 | 
				
			||||||
		$setup(D, negedge C &&& E, 693 - 662);
 | 
							$setup(D, negedge C &&& E, 693 - 662);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L73
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L73
 | 
				
			||||||
		$setup(E, negedge C, 0);
 | 
							$setup(E, negedge C, 0);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L78
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L63
 | 
				
			||||||
		$setup(R, negedge C, 299);
 | 
							$setup(R, negedge C, 235);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L91
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L91
 | 
				
			||||||
		(posedge R => (Q : 1'b0)) = 883;
 | 
							(posedge R => (Q : 1'b0)) = 883;
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L90
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L90
 | 
				
			||||||
| 
						 | 
					@ -1082,8 +1082,8 @@ module SB_DFFNER (
 | 
				
			||||||
		//$setup(D, negedge C &&& E, 1232 - 1285); // Negative times not currently supported
 | 
							//$setup(D, negedge C &&& E, 1232 - 1285); // Negative times not currently supported
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L86
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L86
 | 
				
			||||||
		$setup(E, negedge C, 0);
 | 
							$setup(E, negedge C, 0);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L90
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L75
 | 
				
			||||||
		$setup(R, negedge C, 530);
 | 
							$setup(negedge R, negedge C, 424);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L103
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L103
 | 
				
			||||||
		(posedge R => (Q : 1'b0)) = 1589;
 | 
							(posedge R => (Q : 1'b0)) = 1589;
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L102
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L102
 | 
				
			||||||
| 
						 | 
					@ -1110,7 +1110,7 @@ module SB_DFFNESS (
 | 
				
			||||||
		$setup(D, negedge C &&& E && !S, 470 - 449);
 | 
							$setup(D, negedge C &&& E && !S, 470 - 449);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L73
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L73
 | 
				
			||||||
		$setup(E, negedge C, 0);
 | 
							$setup(E, negedge C, 0);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L73
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L78
 | 
				
			||||||
		$setup(S, negedge C &&& E, 203);
 | 
							$setup(S, negedge C &&& E, 203);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L90
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L90
 | 
				
			||||||
		if (E &&  S) (negedge C => (Q : 1'b1)) = 540;
 | 
							if (E &&  S) (negedge C => (Q : 1'b1)) = 540;
 | 
				
			||||||
| 
						 | 
					@ -1163,8 +1163,8 @@ module SB_DFFNES (
 | 
				
			||||||
		$setup(D, negedge C &&& E, 470 - 449);
 | 
							$setup(D, negedge C &&& E, 470 - 449);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L73
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L73
 | 
				
			||||||
		$setup(E, negedge C, 0);
 | 
							$setup(E, negedge C, 0);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L73
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L63
 | 
				
			||||||
		$setup(S, negedge C, 203);
 | 
							$setup(negedge S, negedge C, 160);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L91
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L91
 | 
				
			||||||
		(posedge S => (Q : 1'b1)) = 599;
 | 
							(posedge S => (Q : 1'b1)) = 599;
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L90
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_hx1k.txt#L90
 | 
				
			||||||
| 
						 | 
					@ -1178,8 +1178,8 @@ module SB_DFFNES (
 | 
				
			||||||
		$setup(D, negedge C &&& E, 693 - 662);
 | 
							$setup(D, negedge C &&& E, 693 - 662);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L73
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L73
 | 
				
			||||||
		$setup(E, negedge C, 0);
 | 
							$setup(E, negedge C, 0);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L78
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L63
 | 
				
			||||||
		$setup(S, negedge C, 299);
 | 
							$setup(negedge S, negedge C, 235);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L91
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L91
 | 
				
			||||||
		(posedge S => (Q : 1'b1)) = 883;
 | 
							(posedge S => (Q : 1'b1)) = 883;
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L90
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_lp1k.txt#L90
 | 
				
			||||||
| 
						 | 
					@ -1193,8 +1193,8 @@ module SB_DFFNES (
 | 
				
			||||||
		//$setup(D, negedge C &&& E, 1232 - 1285); // Negative times not currently supported
 | 
							//$setup(D, negedge C &&& E, 1232 - 1285); // Negative times not currently supported
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L86
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L86
 | 
				
			||||||
		$setup(E, negedge C, 0);
 | 
							$setup(E, negedge C, 0);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L90
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L75
 | 
				
			||||||
		$setup(S, negedge C, 530);
 | 
							$setup(negedge S, negedge C, 424);
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L103
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L103
 | 
				
			||||||
		(posedge S => (Q : 1'b1)) = 1589;
 | 
							(posedge S => (Q : 1'b1)) = 1589;
 | 
				
			||||||
		// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L102
 | 
							// https://github.com/cliffordwolf/icestorm/blob/95949315364f8d9b0c693386aefadf44b28e2cf6/icefuzz/timings_up5k.txt#L102
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -236,15 +236,15 @@ struct SynthIce40Pass : public ScriptPass
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	void script() YS_OVERRIDE
 | 
						void script() YS_OVERRIDE
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
 | 
							std::string define;
 | 
				
			||||||
 | 
							if (device_opt == "lp")
 | 
				
			||||||
 | 
								define = "-D ICE40_LP";
 | 
				
			||||||
 | 
							else if (device_opt == "u")
 | 
				
			||||||
 | 
								define = "-D ICE40_U";
 | 
				
			||||||
 | 
							else
 | 
				
			||||||
 | 
								define = "-D ICE40_HX";
 | 
				
			||||||
		if (check_label("begin"))
 | 
							if (check_label("begin"))
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			std::string define;
 | 
					 | 
				
			||||||
			if (device_opt == "lp")
 | 
					 | 
				
			||||||
				define = "-D ICE40_LP";
 | 
					 | 
				
			||||||
			else if (device_opt == "u")
 | 
					 | 
				
			||||||
				define = "-D ICE40_U";
 | 
					 | 
				
			||||||
			else
 | 
					 | 
				
			||||||
				define = "-D ICE40_HX";
 | 
					 | 
				
			||||||
			run("read_verilog " + define + " -lib -specify +/ice40/cells_sim.v");
 | 
								run("read_verilog " + define + " -lib -specify +/ice40/cells_sim.v");
 | 
				
			||||||
			run(stringf("hierarchy -check %s", help_mode ? "-top <top>" : top_opt.c_str()));
 | 
								run(stringf("hierarchy -check %s", help_mode ? "-top <top>" : top_opt.c_str()));
 | 
				
			||||||
			run("proc");
 | 
								run("proc");
 | 
				
			||||||
| 
						 | 
					@ -352,7 +352,7 @@ struct SynthIce40Pass : public ScriptPass
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			if (!noabc) {
 | 
								if (!noabc) {
 | 
				
			||||||
				if (abc9) {
 | 
									if (abc9) {
 | 
				
			||||||
					run("read_verilog -icells -lib -specify +/abc9_model.v +/ice40/abc9_model.v");
 | 
										run("read_verilog " + define + " -icells -lib -specify +/abc9_model.v +/ice40/abc9_model.v");
 | 
				
			||||||
					int wire_delay;
 | 
										int wire_delay;
 | 
				
			||||||
					if (device_opt == "lp")
 | 
										if (device_opt == "lp")
 | 
				
			||||||
						wire_delay = 400;
 | 
											wire_delay = 400;
 | 
				
			||||||
| 
						 | 
					@ -360,7 +360,7 @@ struct SynthIce40Pass : public ScriptPass
 | 
				
			||||||
						wire_delay = 750;
 | 
											wire_delay = 750;
 | 
				
			||||||
					else
 | 
										else
 | 
				
			||||||
						wire_delay = 250;
 | 
											wire_delay = 250;
 | 
				
			||||||
					run(stringf("abc9 -W %d", wire_delay, device_opt.c_str(), device_opt.c_str()));
 | 
										run(stringf("abc9 -W %d", wire_delay));
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
				else
 | 
									else
 | 
				
			||||||
					run("abc -dress -lut 4", "(skip if -noabc)");
 | 
										run("abc -dress -lut 4", "(skip if -noabc)");
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue