YoWASP / yosys

Unofficial Yosys WebAssembly packages
https://yowasp.org
ISC License
67 stars 2 forks source link

Error when used with VSCode and Teroshdl #24

Closed BharathS11 closed 1 year ago

BharathS11 commented 3 years ago

Hi, When I use yowasp to generate netlist with Teroshdl and vscode I get the following error. Please take a look at the attached file. Thank you netlist_error.log

whitequark commented 3 years ago

Okay, there are several separate issues here:

BharathS11 commented 3 years ago

Hi, Thanks for responding. TerosHDL developers updated the tool to use relative path The following commands work

yowasp-yosys -p "read_verilog -sv dsp\rtl\dsp_xcc_v2.v; proc; opt; write_json .teroshdl_yosys_output.json; stat"
yowasp-yosys -p "read_verilog -sv .\dsp\rtl\dsp_xcc_v2.v; proc; opt; write_json .teroshdl_yosys_output.json; stat" 

but this is what TerosHDL calls and doesn't work yowasp-yosys -p "read_verilog -sv ..\..\..\Documents\Projects\test\frontend\dsp\rtl\dsp_xcc_v2.v; proc; opt; write_json C:\Users\bhara\.teroshdl_yosys_output.json; stat"

I think the doubles quotes cause the issue.

whitequark commented 3 years ago

Can you ask TerosHDL developers to contact me directly regarding this issue? (In this GitHub issue, by email, whichever is more convenient.) Then we can work something out.

whitequark commented 3 years ago

In commit 4ae03d98ee8175a65e9eb7eb736aa15120db9457 I've changed the path handling so that on Windows, absolute and relative paths with any components would work. (It also improves relative path handling on *nix.) Note that on Windows, paths must be delimited by forward slashes, /, rather than backward slashes, \\; this is due to the way WASI implements path handling.

You can install YoWASP Yosys built from this commit with:

pip install -i https://test.pypi.org/simple/ yowasp-yosys==0.9.post5623.dev232
whitequark commented 3 years ago

@BharathS11 Can you please confirm whether you were able to get the updated package to work?

whitequark commented 1 year ago

yowasp-yosys -p "read_verilog -sv ..\..\..\Documents\Projects\test\frontend\dsp\rtl\dsp_xcc_v2.v; proc; opt; write_json C:\Users\bhara\.teroshdl_yosys_output.json; stat"

Both of these paths should work since commit https://github.com/YoWASP/yosys/commit/4ae03d98ee8175a65e9eb7eb736aa15120db9457, closing. Please comment if there are still any issues.

qarlosalberto commented 6 months ago

I'm improving the support for yowasp-yosys in TerosHDL. Currently, is it possible to use absolute paths in Windows and Linux? Thanks.

whitequark commented 6 months ago

Sure. You have to use / instead of \ though.

qarlosalberto commented 6 months ago

Great!!

I'm doing some tests. This command works fine:

yowasp-yosys -p 'read_verilog -sv /home/carlos/repo/vscode-terosHDL/packages/colibri/tests/yosys/helpers/verilog/mylib/counter_logic.v; read_verilog -sv /home/carlos/repo/vscode-terosHDL/packages/colibri/tests/yosys/helpers/verilog/counter_top.v; ; hierarchy -top counter_top; proc; ; write_json /home/carlos/hola.json; stat'

But not this command:

yowasp-yosys -p 'read_verilog -sv /home/carlos/repo/vscode-terosHDL/packages/colibri/tests/yosys/helpers/verilog/mylib/counter_logic.v; read_verilog -sv /home/carlos/repo/vscode-terosHDL/packages/colibri/tests/yosys/helpers/verilog/counter_top.v; ; hierarchy -top counter_top; proc; ; write_json /tmp/hola.json; stat'

There aren't errors. But in the second command yowasp-yosys doesn't create the file /tmp/hola.json. I am doing something wrong?

whitequark commented 6 months ago

The /tmp subtree is internally mounted to a temporary directory created just for this purpose, as it is unconditionally used by Yosys for e.g. running abc. The /tmp directory is hardcoded in wasi-libc sources so you'll need to pick a different temporary location.

The same is true of /share, for different reasons.

qarlosalberto commented 6 months ago

Ahh okok, thanks!! I will choose other path.