aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2019-09-23 10:58:28 -0700
committerEddie Hung <eddie@fpgeh.com>2019-09-23 10:58:28 -0700
commitbcee87a45768a1650fb7770d301cfeb8e87a1b8d (patch)
tree66913e20744dc9bb3764c0be8076186129202fbe /tests
parent4401e5f142d9728c09ac95e1cab9b30c449210fe (diff)
parent0a2d8db793fee47d8237c472c1d2d5ca4e21f865 (diff)
downloadyosys-bcee87a45768a1650fb7770d301cfeb8e87a1b8d.tar.gz
yosys-bcee87a45768a1650fb7770d301cfeb8e87a1b8d.tar.bz2
yosys-bcee87a45768a1650fb7770d301cfeb8e87a1b8d.zip
Merge remote-tracking branch 'origin/master' into xc7dsp
Diffstat (limited to 'tests')
-rw-r--r--tests/techmap/autopurge.ys62
1 files changed, 62 insertions, 0 deletions
diff --git a/tests/techmap/autopurge.ys b/tests/techmap/autopurge.ys
new file mode 100644
index 000000000..1eb99ec37
--- /dev/null
+++ b/tests/techmap/autopurge.ys
@@ -0,0 +1,62 @@
+# https://github.com/YosysHQ/yosys/issues/1381
+read_verilog <<EOT
+module sub(input i, output o, (* techmap_autopurge *) input j);
+foobar f(i, o, j);
+endmodule
+EOT
+design -stash techmap
+
+read_verilog <<EOT
+(* blackbox *)
+module sub(input i, output o, input j);
+endmodule
+
+(* blackbox *)
+module foobar(input i, output o, input j);
+endmodule
+
+module top(input i, output o);
+sub s0(i, o);
+endmodule
+EOT
+
+techmap -map %techmap
+hierarchy
+check -assert
+
+# https://github.com/YosysHQ/yosys/issues/1391
+design -reset
+read_verilog <<EOT
+module sub(input i, output o, (* techmap_autopurge *) input [1:0] j);
+foobar f(i, o, j);
+endmodule
+EOT
+design -stash techmap
+
+read_verilog <<EOT
+(* blackbox *)
+module sub(input i, output o, input j);
+endmodule
+
+(* blackbox *)
+module foobar(input i, output o, input j);
+endmodule
+
+module top(input i, output o);
+sub s0(i, o);
+endmodule
+EOT
+
+techmap -map %techmap
+hierarchy
+check -assert
+
+read_verilog -overwrite <<EOT
+module top(input i, output o);
+wire j;
+sub s0(i, o, j);
+endmodule
+EOT
+
+techmap -map %techmap
+hierarchy