Skip to content

Conversation

@mkurc-ant
Copy link

No description provided.

@mkurc-ant mkurc-ant force-pushed the bump-yosys-plugins branch 2 times, most recently from d5b12ec to 39ad671 Compare March 30, 2022 12:24
@tpagarani
Copy link

@mkurc-ant, CI is still failing

@mkurc-ant
Copy link
Author

@tpagarani I'm still working on solving the failures one by one.

@mkurc-ant mkurc-ant force-pushed the bump-yosys-plugins branch 3 times, most recently from 47a6cc5 to 6317e15 Compare April 6, 2022 09:23
@mkurc-ant
Copy link
Author

mkurc-ant commented Apr 6, 2022

@tpagarani I have found and fixed a bug for the repacker script for qlf_k4n8 and the failing test now passes. However, I've found some other issues related both to Yosys and the architecture update:

The VPR architecture now supports DFFS, DFFNS, DFFSR, DFFNSR for CLB but not for IO tiles. However, even though neither set nor reset inputs are used Yosys seems to always emit DFFSR (for posedge clock) with both R and S connected to 1'b1. This makes VPR unable to pack them in IO tiles. That is why for example the test io_reg_max fails now.

I suggest re-visiting the synthesis flow so that Yosys emits FFs of the type actually needed by a design, not always DFFSR.

@tpagarani
Copy link

@mkurc-ant the reason all the ffs are being mapped to dffsr is that we are connecting control signals (set/reset/enable) to either 0 or 1. if we do not tie the control signals to known value and instead leave them floating then VPR packs the ffs which have different control signal value (e.g. a 'dff' and 'dffr') together leading to wrong functionality. Is there any other way to specify VPR not to pack such ffs together.

@mkurc-ant
Copy link
Author

@tpagarani I understand. One way to achieve this is to have separate modes for whole CLBs instead of per flip-flop. Then once packer chooses one of them it won't be able to pack FFs of different types there. The similar thing would need to be done for IOs.

Another problem with having eg DFF (no S and R) in an operating mode is that there are no nets for those pins. So after repacking to the physical mode S and R of the physical flip-flop will be left unconnected.

@mkurc-ant mkurc-ant force-pushed the bump-yosys-plugins branch 3 times, most recently from d9f2a42 to f5da94f Compare April 21, 2022 10:59
@mkurc-ant mkurc-ant force-pushed the bump-yosys-plugins branch from f5da94f to c349272 Compare May 30, 2022 09:51
mkurc-ant added 2 commits May 31, 2022 10:54
Signed-off-by: Maciej Kurc <[email protected]>
Signed-off-by: Maciej Kurc <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants