aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2020-02-18 11:03:59 -0800
committerEddie Hung <eddie@fpgeh.com>2020-02-27 10:17:29 -0800
commit6bd95501005523604d4828d1635c49e439472f79 (patch)
tree5676c7662aece038ca4c74025ac1625043977a9a
parent3b74e0fa45a93f23448215ef9148ddc7bcd78cd7 (diff)
downloadyosys-6bd95501005523604d4828d1635c49e439472f79.tar.gz
yosys-6bd95501005523604d4828d1635c49e439472f79.tar.bz2
yosys-6bd95501005523604d4828d1635c49e439472f79.zip
ice40: add delays to SB_CARRY
-rw-r--r--techlibs/ice40/cells_sim.v30
1 files changed, 30 insertions, 0 deletions
diff --git a/techlibs/ice40/cells_sim.v b/techlibs/ice40/cells_sim.v
index f9f8c9e66..84b07b934 100644
--- a/techlibs/ice40/cells_sim.v
+++ b/techlibs/ice40/cells_sim.v
@@ -211,6 +211,36 @@ endmodule
(* lib_whitebox *)
module SB_CARRY (output CO, input I0, I1, CI);
assign CO = (I0 && I1) || ((I0 || I1) && CI);
+`ifdef ICE40_HX
+ specify
+ // https://github.com/cliffordwolf/icestorm/blob/be0bca0230d6fe1102e0a360b953fbb0d273a39f/icefuzz/timings_hx1k.txt#L79
+ (CI => CO) = (126, 105);
+ // https://github.com/cliffordwolf/icestorm/blob/be0bca0230d6fe1102e0a360b953fbb0d273a39f/icefuzz/timings_hx1k.txt#L82
+ (I0 => CO) = (259, 245);
+ // https://github.com/cliffordwolf/icestorm/blob/be0bca0230d6fe1102e0a360b953fbb0d273a39f/icefuzz/timings_hx1k.txt#L85
+ (I1 => CO) = (231, 133);
+ endspecify
+`endif
+`ifdef ICE40_LP
+ specify
+ // https://github.com/cliffordwolf/icestorm/blob/be0bca0230d6fe1102e0a360b953fbb0d273a39f/icefuzz/timings_lp1k.txt#L79
+ (CI => CO) = (186, 155);
+ // https://github.com/cliffordwolf/icestorm/blob/be0bca0230d6fe1102e0a360b953fbb0d273a39f/icefuzz/timings_lp1k.txt#L82
+ (I0 => CO) = (382, 362);
+ // https://github.com/cliffordwolf/icestorm/blob/be0bca0230d6fe1102e0a360b953fbb0d273a39f/icefuzz/timings_lp1k.txt#L85
+ (I0 => CO) = (341, 196);
+ endspecify
+`endif
+`ifdef ICE40_U
+ specify
+ // https://github.com/cliffordwolf/icestorm/blob/be0bca0230d6fe1102e0a360b953fbb0d273a39f/icefuzz/timings_up5k.txt#L91
+ (CI => CO) = (278, 278);
+ // https://github.com/cliffordwolf/icestorm/blob/be0bca0230d6fe1102e0a360b953fbb0d273a39f/icefuzz/timings_up5k.txt#L94
+ (I0 => CO) = (675, 662);
+ // https://github.com/cliffordwolf/icestorm/blob/be0bca0230d6fe1102e0a360b953fbb0d273a39f/icefuzz/timings_up5k.txt#L97
+ (I0 => CO) = (609, 358);
+ endspecify
+`endif
endmodule
// Positive Edge SiliconBlue FF Cells