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

DDR4 Controller #3

Open
hughperkins opened this issue Apr 7, 2022 · 2 comments
Open

DDR4 Controller #3

hughperkins opened this issue Apr 7, 2022 · 2 comments
Labels
opportunity Opportunity to create your own repo/work/project.

Comments

@hughperkins
Copy link
Owner

hughperkins commented Apr 7, 2022

We need a DDR4 Controller, to manage global memory, which sits in DDR chips, separate from the main GPU chip.

The DDR4 Controller will be used to copy data to and from the GPU global memory, in order to populate shared memory, caches and similar on the GPU chip itself; and in order for the GPU to be able to write data back to global memory. For now, we will assume that all communications are with a single GPU Controller module on the GPU die. For example, we will assume for now that any data copied from mainboard main memory to GPU global memory will pass via the GPU controller.

What we need for VeriGPU:

  • comprehensive verification, ideally including formal verification
  • clear documentation on how to use and integrate with VeriGPU
    • how to use the interface to write to GPU global memory?
    • how to use the interface to read from GPU global memory?
  • ideally, a PR that integrates the DDR4 controller into VeriGPU

Screen Shot 2022-04-07 at 6 06 10 PM

Bear in mind that tape-out at 5nm costs $250M or so, so we want things to work first time. Therefore verification is important :)

@hughperkins hughperkins added the opportunity Opportunity to create your own repo/work/project. label Apr 7, 2022
@mithro
Copy link

mithro commented Apr 7, 2022

You might find the following resources interesting;

Google has continued to work heavily with Antmicro to push forward the state of open source memory controller solutions. Our current focus has been around making sure we are able to explore current issues around RowHammer. See the following links;

While the memory controller is being actively developed on FPGAs, we have also started work on making sure that it can also be used in ASIC solutions. The current plan is to do tape outs of this controller in both SKY130 and GF12LP technologies in 2022 using only open source tooling like OpenROAD for the digital blocks. This means we will also need open source PHYs to make this possible and are actively working to build out that area too.

Also take a look at https://github.com/waviousllc/wav-lpddr-hw

@mithro
Copy link

mithro commented Apr 7, 2022

There are also multiple examples of integrating LiteDRAM into non-Migen designs (like MicroWatt).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
opportunity Opportunity to create your own repo/work/project.
Projects
None yet
Development

No branches or pull requests

2 participants