You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After synthesis I got the IOBUF with the output port O disconnected and the 3-state input is taken directly from the inout port which is incorrect.
Expected behavior
After synthesis the my_inout port is connected directly to the IOBUF.IO port and nothing else. The 3-state "input" path is connected to the IOBUF.O port while the "output" path is connected to IOBUF.I and IOBUF.T ports.
Actual behavior
After synthesis the IOBUF.O port is disconnected, the my_input inout port is connected directly to IOBUF.IO but the 3-state "input" is taken directly from my_input instead of the IOBUF.O port.
The diagram produced by show indicates the problem:
The verilog produced by the write_verilog command also shows the incorrect connection:
When inferring a 3-state inout buffer that is controlled directly by other inputs/outputs, the output of the inferred buffer cell gets disconnected.
Happens on Yosys
@0466c485
and earlier.Consider the following design:
Processed by the following Yosys script:
After synthesis I got the IOBUF with the output port O disconnected and the 3-state input is taken directly from the inout port which is incorrect.
Expected behavior
After synthesis the
my_inout
port is connected directly to theIOBUF.IO
port and nothing else. The 3-state "input" path is connected to theIOBUF.O
port while the "output" path is connected toIOBUF.I
andIOBUF.T
ports.Actual behavior
After synthesis the
IOBUF.O
port is disconnected, themy_input
inout port is connected directly toIOBUF.IO
but the 3-state "input" is taken directly frommy_input
instead of theIOBUF.O
port.The diagram produced by
show
indicates the problem:The verilog produced by the
write_verilog
command also shows the incorrect connection:The text was updated successfully, but these errors were encountered: