Skip to content
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

Add support for updating the contents of SYNC_ROM_REAL #9

Closed
sgherbst opened this issue Jul 10, 2020 · 1 comment
Closed

Add support for updating the contents of SYNC_ROM_REAL #9

sgherbst opened this issue Jul 10, 2020 · 1 comment
Assignees

Comments

@sgherbst
Copy link
Owner

Currently, updating ROM contents requires rebuilding the FPGA bitstream, which can be very time consuming. There are two ways to get around this problem:

  1. Update the bitstream file directly with the new BRAM contents, then re-program the FPGA. This is possible using the data2mem tool (page 32 here). Since Vivado may sometimes use LUTs and FFs instead of a BRAM, the user would need to force BRAM inference for blocks that should be updatable in this manner. One advantage of this approach, however, is that there would be no additional resource utilization.
  2. Wire control signals to the BRAM and update the BRAM contents while the FPGA is running. This could be done using either a single-port BRAM or a dual-port BRAM. This approach is less tool-dependent and doesn't require the user to force BRAM inference. However, it would increase resource utilization.

This task encompasses identifying which approach is more promising, and then implementing the required features in svreal (i.e., flag to force BRAM inference or port for writing BRAM contents).

@sgherbst
Copy link
Owner Author

This was addressed in PR #10

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

No branches or pull requests

1 participant