-
Notifications
You must be signed in to change notification settings - Fork 142
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
how to allow yosys synth-ice40 -dsp switch #552
Comments
Thanks for the report @iamhuzhe-nia.
|
Here is the line I modified in SConstruct file original Not an expert on yosys, here is where I get my information about multiplier https://projectf.io/posts/multiplication-fpga-dsps/ So I don't understand if "-dsp" switch isn't on, how does yosys "synthesize" a correct multiplier using LUTs only. |
We have here a proposal to change the yosys ice40 command as described below. Is it reasonable? I tried it with the dev version and all the tests pass, all the apio-examples build successfuly, and I was able to build and upload to alhambra-ii. Documentation here https://yosyshq.readthedocs.io/projects/yosys/en/latest/cmd/synth_ice40.html
EDIT: Another option is to allow to specify additional yosys flags in apio.ini for advanced users. |
Hello @zapta! I think this argument is important and should be able to be configured via celery.ini because in most cases even if the fpga has dsps the developer may not want to use it for some reason. For me, this powerful argument should be optional and disabled by default. |
@cavearr, something like this?
|
i like a lot! be careful! -dsp not -dpi! 😄 |
Yes, -dsp. ;) I will implement it. |
thanks! |
@iamhuzhe-nia, can you post here a zip file with a small apio project that will benefit from the -dsp? We will use it for testing and may also add it to the apio examples. The smaller and simpler, the better. |
I implemented a small apio (dev) example that demonstrates the -dsp feature. https://github.com/zapta/apio_dev/tree/develop/test-examples/ice40/fomu/dsp You can see below how the synthesis trades differently ICESTORM_DSP and ICESTORM_LC cells and how it affects the design speed. Without
With
|
@cavearr, the -dsp option seems to have some issues so it was a good call not to hardcode it in the yosys command. |
I like a lot the enable adhoc in apio.ini solution |
That's the platformio way. ;-)
It's possible because we made apio.ini required.
…On Thu, Jan 23, 2025 at 9:36 AM Carlos Venegas Arrabé < ***@***.***> wrote:
I like a lot the enable adhoc in apio.ini solution
—
Reply to this email directly, view it on GitHub
<#552 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAQVMQKVZZQKRDCY4BCPPWT2MESA7AVCNFSM6AAAAABVTOW2V2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMMJQGUZTGNRWGA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
your apio.ini file had been a very great idea! thank @zapta ! |
Fixed. Closing. |
Currently no multiplier (DSP) resource is used with "apio build -v" command, on ice40 project.
It seems that with "-dsp" switch, it should solve the issue.
But where, how should that switch be invoked?
Currently I've tested manually add "-dsp" in SConstruct file (lib/site-package/apio/resources/ice40) directly. And it does the job. Is there a better way?
The text was updated successfully, but these errors were encountered: