aboutsummaryrefslogtreecommitdiffstats
path: root/fpga_interchange/examples/tests/lut_nexus
diff options
context:
space:
mode:
authorgatecat <gatecat@ds0.me>2021-03-25 12:51:19 +0000
committergatecat <gatecat@ds0.me>2021-03-30 16:31:51 +0100
commitecfaae7f9ea9bfad4b9af08495ac72cb5f6972ec (patch)
treee8a13f1726289990439ce968ca14ccbe6860ce5b /fpga_interchange/examples/tests/lut_nexus
parentb6b89593971bcddc874b3839dc5d107f975f1404 (diff)
downloadnextpnr-ecfaae7f9ea9bfad4b9af08495ac72cb5f6972ec.tar.gz
nextpnr-ecfaae7f9ea9bfad4b9af08495ac72cb5f6972ec.tar.bz2
nextpnr-ecfaae7f9ea9bfad4b9af08495ac72cb5f6972ec.zip
interchange: Add Nexus LUT test
Signed-off-by: gatecat <gatecat@ds0.me>
Diffstat (limited to 'fpga_interchange/examples/tests/lut_nexus')
-rw-r--r--fpga_interchange/examples/tests/lut_nexus/CMakeLists.txt10
-rw-r--r--fpga_interchange/examples/tests/lut_nexus/empty.xdc0
-rw-r--r--fpga_interchange/examples/tests/lut_nexus/lut.v7
-rw-r--r--fpga_interchange/examples/tests/lut_nexus/run.tcl14
4 files changed, 31 insertions, 0 deletions
diff --git a/fpga_interchange/examples/tests/lut_nexus/CMakeLists.txt b/fpga_interchange/examples/tests/lut_nexus/CMakeLists.txt
new file mode 100644
index 00000000..1c65d87e
--- /dev/null
+++ b/fpga_interchange/examples/tests/lut_nexus/CMakeLists.txt
@@ -0,0 +1,10 @@
+add_interchange_test(
+ name lut_nexus
+ family ${family}
+ device LIFCL-17
+ package QFN72
+ tcl run.tcl
+ xdc empty.xdc
+ sources lut.v
+ skip_dcp
+)
diff --git a/fpga_interchange/examples/tests/lut_nexus/empty.xdc b/fpga_interchange/examples/tests/lut_nexus/empty.xdc
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/fpga_interchange/examples/tests/lut_nexus/empty.xdc
diff --git a/fpga_interchange/examples/tests/lut_nexus/lut.v b/fpga_interchange/examples/tests/lut_nexus/lut.v
new file mode 100644
index 00000000..5913aff1
--- /dev/null
+++ b/fpga_interchange/examples/tests/lut_nexus/lut.v
@@ -0,0 +1,7 @@
+module top;
+ wire x, y;
+ (*keep*)
+ LUT4 lut_0(.A(x), .B(x), .C(x), .D(x), .Z(y));
+ (*keep*)
+ LUT4 lut_1(.A(y), .B(y), .C(y), .D(y), .Z(x));
+endmodule \ No newline at end of file
diff --git a/fpga_interchange/examples/tests/lut_nexus/run.tcl b/fpga_interchange/examples/tests/lut_nexus/run.tcl
new file mode 100644
index 00000000..4aa56c13
--- /dev/null
+++ b/fpga_interchange/examples/tests/lut_nexus/run.tcl
@@ -0,0 +1,14 @@
+yosys -import
+
+read_verilog $::env(SOURCES)
+
+synth_nexus -noccu2 -nobram -nolutram -nowidelut
+
+# opt_expr -undriven makes sure all nets are driven, if only by the $undef
+# net.
+opt_expr -undriven
+opt_clean
+
+setundef -zero -params
+
+write_json $::env(OUT_JSON)