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

bsg_cache_to_test_dram does not support multiple outstanding reads per channel #616

Open
dpetrisko opened this issue Dec 11, 2022 · 1 comment
Assignees
Labels
bug Something isn't working

Comments

@dpetrisko
Copy link
Contributor

The DRAM data return is stored in a PISO and then drained. For some configurations if the core is slow and DRAM is fast, the data can back up in the PISO. If there are multiple outstanding reads, then the PISO can overflow.

Multiple outstanding requests can come from non-blocking caches or a prefetcher for a blocking cache.

The simplest fix is to have a DRAM response data fifo the size of a (parametrized) number of read requests, so that it degenerates to the current hardware for 1 outstanding read request

@dpetrisko
Copy link
Contributor Author

@tommydcjung @mrutt92 thoughts?

@dpetrisko dpetrisko self-assigned this Dec 16, 2022
@dpetrisko dpetrisko added the bug Something isn't working label Dec 16, 2022
dpetrisko pushed a commit that referenced this issue Jan 26, 2023
* prevent unnecessary icache read after icache miss; get rid of mem_addr_sent, icache miss pc dff

* icache miss test

* fix

* fix

* icache miss flush test

* simplify

* clean

* clean

* icache two words block

* save

* save

* fix

* use sram no write mask

* fix energy benchmark

* update

* update path to vcache

* fix

* fix

* energy_loop_test

* energy_loop_test run parallel

* icache block size = 4

* synth fix

* add comments/link to diagram

* add icache_block_size_in_words_p at toplevel
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant