Git Product home page Git Product logo

Comments (7)

jjts avatar jjts commented on July 20, 2024

We are working on it and should release it soon since the interest is rising. Sorry for the inconvenience and thanks for the interest. Meanwhile, if you have any specific questions to get you going, we'll be glad to answer. The code is stable and you should be able to use it once you understand its interface signals.

from iob-cache.

dbrumley avatar dbrumley commented on July 20, 2024

Thanks for the quick ack. I don't have a specific question. I'm trying to debug an issue for a client, and we're using verilator. I'm trying to figure out how rdata would ever be set given a sequence of wdata's. I hope that makes sense.

from iob-cache.

jjts avatar jjts commented on July 20, 2024

rdata is a front-end (facing the CPU) signal, meaning the CPU receives data from the cache using it.

wdata is another front-end for writing to the cache.

The CPU is either reading or writing, not both.

For reading one word from the cache, have the address ready and assert valid during one cycle.

If the ready signal is high in the next cycle, rdata has the requested word; you may immediately (combinatorially) de-assert the valid signal if you do not need to read another word. Or you can keep reading words in pipeline by keeping valid high and changing the address every cycle.

If the data is not in the cache, ready will not be asserted in the next cycle. Then hold the valid and address signals until ready is high; meanwhile, the word is read from the external memory (back-end) and placed in the cache.

To write, the process is similar. ready high in the next cycle means the word has been written to the cache; ready low means you need to wait with valid high and the same address until ready is high again; meanwhile, the data is written to the back-end.

As long as the data is in the cache, consecutive (pipelined) reads and writes are supported, one word per clock cycle.

I hope this helps.

from iob-cache.

jjts avatar jjts commented on July 20, 2024

documentation can now be generated on branch build-dir

from iob-cache.

dbrumley avatar dbrumley commented on July 20, 2024

TY! :) 👍 🥇

from iob-cache.

dbrumley avatar dbrumley commented on July 20, 2024

FYI: We have a blog post on fuzzing iob-cache to check coverage. Joint work with Micron.
I've not seen much in fuzzing verilog, and it may be of interest. There is no expectation of finding vulnerabilities. However, it can radicallyi reduce the cost of building tests that cover nodes and edges in your design.

https://forallsecure.com/blog/running-iob-cache-in-mayhem

from iob-cache.

jjts avatar jjts commented on July 20, 2024

Hi David, Thanks, I saw your blog post -- very interesting

In fact, you may find vulnerabilities :-) ...

from iob-cache.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.