aboutsummaryrefslogtreecommitdiffstats
path: root/tests/techmap
diff options
context:
space:
mode:
authorMarcin Koƛcielnicki <mwk@0x04.net>2019-12-22 01:08:56 +0100
committerMarcin Koƛcielnicki <mwk@0x04.net>2019-12-25 17:37:58 +0100
commita24596def375bd9edcbeac1b73d7c3ea76244a77 (patch)
treecd21ce1945f1ab6c00358345e4ae74056177f815 /tests/techmap
parent13a3041030d9475fdb45dd650f62aaa9dc8bb876 (diff)
downloadyosys-a24596def375bd9edcbeac1b73d7c3ea76244a77.tar.gz
yosys-a24596def375bd9edcbeac1b73d7c3ea76244a77.tar.bz2
yosys-a24596def375bd9edcbeac1b73d7c3ea76244a77.zip
iopadmap: Emit tristate buffers with const OE for some edge cases.
Diffstat (limited to 'tests/techmap')
-rw-r--r--tests/techmap/iopadmap.ys23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/techmap/iopadmap.ys b/tests/techmap/iopadmap.ys
index f4345e906..c058d1607 100644
--- a/tests/techmap/iopadmap.ys
+++ b/tests/techmap/iopadmap.ys
@@ -28,6 +28,20 @@ assign io = oe ? i : 1'bz;
assign o2 = io;
assign o3 = ~io;
endmodule
+
+module f(output o, o2);
+assign o = 1'bz;
+endmodule
+
+module g(inout io, output o);
+assign o = io;
+endmodule
+
+module h(inout io, output o, input i);
+assign io = i;
+assign o = io;
+endmodule
+
EOT
opt_clean
@@ -97,3 +111,12 @@ select -assert-count 1 @oeb %co %co @iob %i
select -assert-count 1 @iob %co %co @o2b %i
select -assert-count 1 @iob %co %co t:$_NOT_ %i
select -assert-count 1 @o3b %ci %ci t:$_NOT_ %i
+
+select -assert-count 2 f/t:obuft
+
+select -assert-count 1 g/t:obuf
+select -assert-count 1 g/t:iobuf
+
+select -assert-count 1 h/t:ibuf
+select -assert-count 1 h/t:iobuf
+select -assert-count 1 h/t:obuf