chipsalliance / yosys-f4pga-plugins

Plugins for Yosys developed as part of the F4PGA project.
https://f4pga.org
Apache License 2.0
83 stars 46 forks source link

f4pga-plugins conflicts with Yosys (recent versions) #552

Open amirarjmand93 opened 2 weeks ago

amirarjmand93 commented 2 weeks ago

Hi @kgugala @hzeller

During making of f4pga-plugins inside the VTR, it seems there is a conflicting between last version of yosys-f4pga-pluginsyosys-f4pga-pluginsyosys-f4pga-plugins and Yosys.

CI Test: [Run-tests (parmys_reg_strong, 16, -DYOSYS_F4PGA_PLUGINS=ON)]

Command: make -k CMAKE_PARAMS=-DYOSYS_F4PGA_PLUGINS=ON -j16

You can see these changes in v0.32(currently in VTR) and v0.42 of Yosys here:

https://github.com/search?q=repo%3Averilog-to-routing%2Fvtr-verilog-to-routing+yosys%2Ffrontends%2Fast+multirange_dimensions&type=code

https://github.com/search?q=repo%3AYosysHQ%2Fyosys+frontends%2Fast+dimensions&type=code

CI test log file is available from : F4PGA failing

Short Error: /root/vtr-verilog-to-routing/vtr-verilog-to-routing/libs/EXTERNAL/yosys-f4pga-plugins/systemverilog-plugin/UhdmAst.cc:824:34: error: 'struct Yosys::AST::AstNode' has no member named 'multirange_dimensions'

My Guess: In older versions of Yosys (v0.38 and before), the term "multirange_dimensions" was used to store range or dimension-related values, while in new versions of Yosys (v0.39 and onwards), the term "dimensions" is used to store dimension-specific information as tuples or objects. These terms serve different purposes in the code snippets.

It will be my pleasure to see your feedbacks