# 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