Reduce to three devices: hx, lp, u
authorEddie Hung <eddie@fpgeh.com>
Wed, 17 Apr 2019 22:19:02 +0000 (15:19 -0700)
committerEddie Hung <eddie@fpgeh.com>
Wed, 17 Apr 2019 22:19:02 +0000 (15:19 -0700)
techlibs/ice40/hx.box [new file with mode: 0644]
techlibs/ice40/hx.lut [new file with mode: 0644]
techlibs/ice40/hx8k.box [deleted file]
techlibs/ice40/hx8k.lut [deleted file]
techlibs/ice40/lp.box [new file with mode: 0644]
techlibs/ice40/lp.lut [new file with mode: 0644]
techlibs/ice40/synth_ice40.cc
techlibs/ice40/u.box [new file with mode: 0644]
techlibs/ice40/u.lut [new file with mode: 0644]
techlibs/ice40/up5k.box [deleted file]
techlibs/ice40/up5k.lut [deleted file]

diff --git a/techlibs/ice40/hx.box b/techlibs/ice40/hx.box
new file mode 100644 (file)
index 0000000..c31f7bf
--- /dev/null
@@ -0,0 +1,13 @@
+# From https://github.com/cliffordwolf/icestorm/blob/be0bca0/icefuzz/timings_hx8k.txt
+
+# NB: Inputs/Outputs must be ordered alphabetically
+
+# Inputs: CI I0 I1
+# Outputs: CO
+SB_CARRY 1 1 3 1
+126 259 231
+
+# Inputs: I0 I1 I2 I3
+# Outputs: O
+SB_LUT4 2 1 4 1
+449 400 379 316
diff --git a/techlibs/ice40/hx.lut b/techlibs/ice40/hx.lut
new file mode 100644 (file)
index 0000000..3b3bb11
--- /dev/null
@@ -0,0 +1,6 @@
+# From https://github.com/cliffordwolf/icestorm/blob/be0bca0/icefuzz/timings_hx8k.txt
+#       I3  I2  I1  I0
+1   1   316
+2   1   316 379
+3   1   316 379 400
+4   1   316 379 400 449
diff --git a/techlibs/ice40/hx8k.box b/techlibs/ice40/hx8k.box
deleted file mode 100644 (file)
index c31f7bf..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-# From https://github.com/cliffordwolf/icestorm/blob/be0bca0/icefuzz/timings_hx8k.txt
-
-# NB: Inputs/Outputs must be ordered alphabetically
-
-# Inputs: CI I0 I1
-# Outputs: CO
-SB_CARRY 1 1 3 1
-126 259 231
-
-# Inputs: I0 I1 I2 I3
-# Outputs: O
-SB_LUT4 2 1 4 1
-449 400 379 316
diff --git a/techlibs/ice40/hx8k.lut b/techlibs/ice40/hx8k.lut
deleted file mode 100644 (file)
index 3b3bb11..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-# From https://github.com/cliffordwolf/icestorm/blob/be0bca0/icefuzz/timings_hx8k.txt
-#       I3  I2  I1  I0
-1   1   316
-2   1   316 379
-3   1   316 379 400
-4   1   316 379 400 449
diff --git a/techlibs/ice40/lp.box b/techlibs/ice40/lp.box
new file mode 100644 (file)
index 0000000..7eb8e86
--- /dev/null
@@ -0,0 +1,13 @@
+# From https://github.com/cliffordwolf/icestorm/blob/be0bca0/icefuzz/timings_lp8k.txt
+
+# NB: Inputs/Outputs must be ordered alphabetically
+
+# Inputs: CI I0 I1
+# Outputs: CO
+SB_CARRY 1 1 3 1
+186 675 609
+
+# Inputs: I0 I1 I2 I3
+# Outputs: O
+SB_LUT4 2 1 4 1
+465 558 589 661
diff --git a/techlibs/ice40/lp.lut b/techlibs/ice40/lp.lut
new file mode 100644 (file)
index 0000000..e72f760
--- /dev/null
@@ -0,0 +1,6 @@
+# From https://github.com/cliffordwolf/icestorm/blob/be0bca0/icefuzz/timings_lp8k.txt
+#       I3  I2  I1  I0
+1   1   465
+2   1   465 558
+3   1   465 558 589
+4   1   465 558 589 661
index 62589ad87115716981e098236e25fbc12cbb923d..7c95588e4d8159ea5be574797923bf07c1a831ff 100644 (file)
@@ -37,9 +37,9 @@ struct SynthIce40Pass : public ScriptPass
                log("\n");
                log("This command runs synthesis for iCE40 FPGAs.\n");
                log("\n");
-               log("    -device < hx1k | lp384 | lp1k | lp8k | hx8k | u4k | up5k >\n");
+               log("    -device < hx | lp | u >\n");
                log("        optimise the synthesis netlist for the specified device.\n");
-               log("        HX1K is the default target if no device argument specified.\n");
+               log("        HX is the default target if no device argument specified.\n");
                log("\n");
                log("    -top <module>\n");
                log("        use the specified module as top module\n");
@@ -128,7 +128,7 @@ struct SynthIce40Pass : public ScriptPass
                abc2 = false;
                vpr = false;
                abc = "abc";
-               device_opt = "hx1k";
+               device_opt = "hx";
        }
 
        void execute(std::vector<std::string> args, RTLIL::Design *design) YS_OVERRIDE
@@ -225,7 +225,7 @@ struct SynthIce40Pass : public ScriptPass
 
                if (!design->full_selection())
                        log_cmd_error("This command only operates on fully selected designs!\n");
-               if (device_opt != "hx1k" && device_opt !="lp384" && device_opt != "lp1k" && device_opt !="lp8k" && device_opt !="hx8k" && device_opt != "u4k" && device_opt != "up5k")
+               if (device_opt != "hx" && device_opt != "lp" && device_opt !="u")
                        log_cmd_error("Invalid or no device specified: '%s'\n", device_opt.c_str());
 
                log_header(design, "Executing SYNTH_ICE40 pass.\n");
diff --git a/techlibs/ice40/u.box b/techlibs/ice40/u.box
new file mode 100644 (file)
index 0000000..94df1df
--- /dev/null
@@ -0,0 +1,13 @@
+# From https://github.com/cliffordwolf/icestorm/blob/be0bca0/icefuzz/timings_up5k.txt
+
+# NB: Inputs/Outputs must be ordered alphabetically
+
+# Inputs: CI I0 I1
+# Outputs: CO
+SB_CARRY 1 1 3 1
+278 675 609
+
+# Inputs: I0 I1 I2 I3
+# Outputs: O
+SB_LUT4 2 1 4 1
+1285 1231 1205 874
diff --git a/techlibs/ice40/u.lut b/techlibs/ice40/u.lut
new file mode 100644 (file)
index 0000000..1e4fcad
--- /dev/null
@@ -0,0 +1,6 @@
+# From https://github.com/cliffordwolf/icestorm/blob/be0bca0/icefuzz/timings_up5k.txt
+#       I3  I2  I1  I0
+1   1   874
+2   1   874 1205
+3   1   874 1205 1231
+4   1   874 1205 1231 1285
diff --git a/techlibs/ice40/up5k.box b/techlibs/ice40/up5k.box
deleted file mode 100644 (file)
index 94df1df..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-# From https://github.com/cliffordwolf/icestorm/blob/be0bca0/icefuzz/timings_up5k.txt
-
-# NB: Inputs/Outputs must be ordered alphabetically
-
-# Inputs: CI I0 I1
-# Outputs: CO
-SB_CARRY 1 1 3 1
-278 675 609
-
-# Inputs: I0 I1 I2 I3
-# Outputs: O
-SB_LUT4 2 1 4 1
-1285 1231 1205 874
diff --git a/techlibs/ice40/up5k.lut b/techlibs/ice40/up5k.lut
deleted file mode 100644 (file)
index 1e4fcad..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-# From https://github.com/cliffordwolf/icestorm/blob/be0bca0/icefuzz/timings_up5k.txt
-#       I3  I2  I1  I0
-1   1   874
-2   1   874 1205
-3   1   874 1205 1231
-4   1   874 1205 1231 1285