<div dir="ltr"><div dir="ltr"><div>I haven't had a chance to watch your talk yet but I wanted to mention that LiteDRAM can do DDR3 on Spartan 6 FPGAs (and handles all the multi-clocks and clock domain crossing stuff for you). You can even use LiteDRAM as a module inside your VHDL -- microwatt is already doing this @ <a href="https://github.com/antonblanchard/microwatt">https://github.com/antonblanchard/microwatt</a></div><div><br></div><div>LiteDRAM <b><i>also</i></b> supports DDR, DDR2 and LPDDR2 on the Spartan 6.</div><div><br></div><div>There is also a bunch of current work in LiteDRAM lately to improve performance with multi-core RISC-V systems -- <a href="https://github.com/enjoy-digital/litedram/issues/209">https://github.com/enjoy-digital/litedram/issues/209</a></div><div><br></div><div>We will be looking at using LiteDRAM with an open source ASIC DFI implementation on SKY130 in the near future.</div><div><br></div><div>Tim 'mithro' Ansell</div><div><br></div></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, 27 Jul 2020 at 21:52, Rob Landley <<a href="mailto:rob@landley.net">rob@landley.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Brian Bartholomew wrote:<br>
>  > <a href="https://www.youtube.com/watch?v=dVD1Yws__v0&list=PLxde5XJWZRbTerLRlh0vp43scTA3cfKN8" rel="noreferrer" target="_blank">https://www.youtube.com/watch?v=dVD1Yws__v0&list=PLxde5XJWZRbTerLRlh0vp43scTA3cfKN8</a><br>
> <br>
> I watched the talks, and the progress ie exciting; I didn't know DDR3<br>
> and ethernet were already implemented.<br>
<br>
100baseT ethernet and LPDDR2 controller have been implemented for a while.<br>
Gigabit isn't too hard if you're ok talking to an off the shelf PHY chip. DDR3<br>
controllers are available as a library in some FPGAs we're using, but we need to<br>
do our own implementation that we can make an ASIC out of.<br>
<br>
The problem with DDR3 and gigabit ethernet is is clocking the I/O fast enough.<br>
We're trying to deploy stuff in cheap FPGAs you can get in bulk for under $50.<br>
There are fast expensive FPGAs that cost 10 times that, and we have a few for<br>
development, but it's too expensive to deploy anything in, where deploy means<br>
"send to customers" or "expect a larger development community to use".)<br>
<br>
In theory you can have I/O circuitry at the edge of the FPGA clocked way faster<br>
than the processor the rest of it's implementing, but then there's clock routing<br>
and domain crossing, and still timing closure, and the result's messy. We added<br>
a clock domain crossing for the GPS correlators on spartan 6 (which isn't as<br>
fast as kintex so going at the CPU speed it could only track 3 satellites at<br>
once and we needed 5) and it took weeks to debug.<br>
<br>
In the current SOC, 100baseT is 11 megabytes/second (benchmarked) and SD 1.0 is<br>
12.5 megabytes/second (before packet overhead anyway, 4 data wires clocked at 25<br>
mhz) and when things match up like that switching just _one_ part to be faster<br>
leaves the fast bit spinning its wheels. There's a certain amount of needing to<br>
upgrade multiple parts at once to reach a new balance.<br>
<br>
> But where can I buy all that<br>
> hardware you featured?<br>
> <br>
> Brian  <br>
<br>
In theory it's going up on crowdsupply. Mike Tokue (in Tokyo) is handling that.<br>
<br>
Rob<br>
_______________________________________________<br>
J-core mailing list<br>
<a href="mailto:J-core@lists.j-core.org" target="_blank">J-core@lists.j-core.org</a><br>
<a href="https://lists.j-core.org/mailman/listinfo/j-core" rel="noreferrer" target="_blank">https://lists.j-core.org/mailman/listinfo/j-core</a><br>
</blockquote></div></div>