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

Use Block RAM for input/output shift registers on ice40. #4

Open
jkiv opened this issue Sep 15, 2019 · 4 comments
Open

Use Block RAM for input/output shift registers on ice40. #4

jkiv opened this issue Sep 15, 2019 · 4 comments
Labels
enhancement New feature or request
Milestone

Comments

@jkiv
Copy link
Owner

jkiv commented Sep 15, 2019

Convert input/output data storage from registers to block RAM.

We're currently using about 700 bits worth of shift registers... Maybe we can squeeze some more compute power out of certain devices by using block RAM instead.

@jkiv
Copy link
Owner Author

jkiv commented Sep 16, 2019

Eh, not clear from datasheet if this is supported at a high level...

@jkiv jkiv closed this as completed Sep 16, 2019
@jkiv
Copy link
Owner Author

jkiv commented Sep 25, 2019

It's probably easy enough to manage with address pointers. Might be worthwhile to try.

@jkiv jkiv reopened this Sep 25, 2019
@jkiv jkiv added the enhancement New feature or request label Sep 25, 2019
@jkiv
Copy link
Owner Author

jkiv commented Jan 15, 2020

Only really makes sense for the message body. Would need to detect/select/redirect those bytes to RAM.

@jkiv
Copy link
Owner Author

jkiv commented Dec 23, 2020

Each ice40 device has between 8 and 32 256x16 (4kbits) RAM blocks.

Currently using two for K[t] (32-bits). For M[t], could use another two, leaving 4 to 28 remaining.

@jkiv jkiv added this to the v2021.01 milestone Jan 10, 2021
@jkiv jkiv changed the title Use Block RAM for input/output shift registers. Use Block RAM for input/output shift registers on ice40. Apr 25, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant