System Verilog support is broken due to compilation error in F4PGA plugin
MohamedElgammal opened this issue · 7 comments
The System Verilog support is broken as it requires enabling YOSYS_F4PGA_PLUGINS and doing so gets a compilation error as follows:
vtr-verilog-to-routing/libs/EXTERNAL/yosys-f4pga-plugins/systemverilog-plugin/third_party/yosys/simplify.cc:155:8: error: ‘struct Yosys::AST::AstNode’ has no member named ‘multirange_dimensions’ 155 | node->multirange_dimensions.push_back(rnode->range_right); | ^~~~~~~~~~~~~~~~~~~~~ .../vtr-verilog-to-routing/libs/EXTERNAL/yosys-f4pga-plugins/systemverilog-plugin/third_party/yosys/simplify.cc:156:8: error: ‘struct Yosys::AST::AstNode’ has no member named ‘multirange_dimensions’
@soheilshahrouz : in case you feel like a tour of some yosys + C++ stuff ...
Isn't the systemverilog plugin called synlig for a while now ? I suspect this pulls in a somewhat old version...
I have been testing Synlig for integration, and so far it appears to be a suitable tool for SystemVerilog, rather than using it as just a standalone parser and elaborator, like Surlog. I will provide updates here along with some screenshots of my progress asap.
@vaughnbetz I executed some SystemVerilog designs of the VTR flow benchmark. It passed from Synlig, Parmys, Yosys, and VPR end-to-end successfully. It seems OK, but it takes more time to integrate fully. I am trying to solve it.
That's good news! Thanks @amirarjmand93.
I am writing to provide an update regarding the integration of Synlig.
#1
It seems that a race condition is causing a nondeterministic situation, leading to errors with some nested submodules during the synchronization and update process. In some cases, I encounter no errors with the same configuration.
#2
Sometimes, I encounter the error (RPC failed) and similar issues when cloning(non-fatal error), even though the network is functioning well and the Postbuffer size has been increased.
It's in progress.
The clone error sounds like a timeout/disconnect issue with the chipsalliance repo. Adding @hzeller in case he knows why that repo is disconnecting before the clone is done. @amirarjmand93 : I imagine we could switch from a submodule to a subtree for this dependency if necessary, as I believe a subtree would actually put the files in the VTR repo, and hence cloning should happen from our repo and hopefully be robust.

