-
Notifications
You must be signed in to change notification settings - Fork 8
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
Simpler sourcing of technology libraries in FPGA flows #72
Comments
yosys show
with slang plugin #133yosys
with slang plugin
I will think about improving the usability here, but for now you can try supplying an extra source file with the blackbox definition:
The frontend supports a couple of different scenarios with regards to blackboxes, so far those are only documented in this test: https://github.com/povik/yosys-slang/blob/master/tests/various/blackbox_scenarios.ys This being a blackbox with parameters it restricts our options. One way to go is making sure the frontend can directly read |
Thanks for the quick response. How can I make sure that the frontend can directly read On other simpler examples |
@povik could you do something like the read_verilog front end |
@gmsanchez looking at yosys-slang/tests/various/blackbox_scenarios.ys Lines 48 to 79 in c71a945
I think you need to load the cells_sim before the slang front-end, which means you can't pass the files as command line options, you would need something like yosys -m slang -p "read_verilog -D ICE40_HX -lib -specify +/ice40/cells_sim.v; read_slang leds.v main.v oscilator.v" (you may need to put a read_slang command for each of the files, I'm not sure if that works as is). If that doesn't raise any errors then you should be able to run whatever commands (synth_ice40 or show).
|
Thanks again for the help If I run the command you provide I get the following
it seems to recognize the |
@KrystalDelusion in principle yes. I don't know yet if this means populating abstract RTLIL modules or having a hook in hierarchy similar to what Verific has. |
@gmsanchez I am not sure that can be made work out-of-the-box yet. As a stopgap solution, you can do
where
and any other blackboxes you need the definition for. Just make sure all are marked with the |
yosys
with slang plugin
@gmsanchez I believe the workaround above will work for you. I've changed the issue to track coming up with a solution which does not involve users writing an extra file with blackbox definitions for the slang frontend. The upside is, for your tool, you only need to write the ICE40 library once, and then you can add it to the file list every time you are reading a SystemVerilog design targetting ICE40. To give some background: there are issues with integrating this frontend into Yosys so that it's a 1:1 replacement for the internal Verilog frontend. There's only so much that can be done in a plugin. For ASIC flows, I've worked hard to address all the usability gaps, but you are pioneering using the frontend to program FPGAs. That should work too, but it can have rough corners like this one. |
Hi,
I am helping the APIO developers to add SystemVerilog support in its ecosystem. Right now we are able to run some basic examples and we are getting some errors on anothers. I wonder if anyone could help or point me in some direction.
At the moment we are trying to run the upduino32/blinky example. After sourcing the OSS-CAD-SUITE I am running the following
which works, but if you remove the
-q
flag on the first command you can see that yosys is using thevlog2k
frontend. Now, if we run the followingwe get the following output
The
SB_RGBA_DRV
module is defined in the yosys librarytools-oss-cad-suite/share/yosys/ice40/cells_sim.v
, but is says it is not found.If I run similar commands on edu-ciaa-fpga/and-gate-sv example, for example
in some part of the output I get the following
Is there something we should be doing different? Any help would be great. Thanks in advance
The text was updated successfully, but these errors were encountered: