Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Regression? It fails to handle tristate buffer properly. #128

Open
elfmimi opened this issue Oct 4, 2018 · 1 comment
Open

Regression? It fails to handle tristate buffer properly. #128

elfmimi opened this issue Oct 4, 2018 · 1 comment

Comments

@elfmimi
Copy link

elfmimi commented Oct 4, 2018

Simplified code like this ...

module bootloader (
inout pin_usbp,
inout pin_usbn,
...
);
wire usb_p_tx;
wire usb_n_tx;
wire usb_p_rx;
wire usb_n_rx;
wire usb_tx_en;

assign pin_usbp = usb_tx_en ? usb_p_tx : 1'bz;
assign pin_usbn = usb_tx_en ? usb_n_tx : 1'bz;
assign usb_p_rx = usb_tx_en ? 1'b1 : pin_usbp;
assign usb_n_rx = usb_tx_en ? 1'b0 : pin_usbn;
endmodule

generates an error like this.

fatal error: Top level port 'pin_usbp' assigned to an IO pad 'Y' and internal nodes

Cf. tinyfpga/TinyFPGA-Bootloader#29

I don't know which side is responsible for fixing the issue.

@Wren6991
Copy link

Wren6991 commented Nov 27, 2018

Same failure here, with similar-looking code.

My yosys version:

Yosys 0.8+23 (git sha1 db676957, gcc 8.2.0-7ubuntu1 -fPIC -O2)

arachne-pnr:

arachne-pnr 0.1+325+0 (git sha1 840bdfd, g++ 8.2.0-7ubuntu1 -O2)

So both fairly recent builds from github master.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants