Closed Dolu1990 closed 4 years ago
Maybe I'm missing something, but where is the distributed RAM? I see LUTs and carries only.
@daveshah1 Hooo right, no distributed ram here, sorry, i only had look at the name (tag_mem_reg_i_41) which look to me as a distributed ram XD
Still surprised how the SDCARD find its way to the OSERDES2 of the litedram ^^
Yeah feels like a register stage is missing somewhere...
Hooo i think i understand why i was confused about that path.
Seem like even if in the SMP cluster i disable the coherent DMA interface, litex still provide a non coherent DMA interface for the SDCARD.
So sdcard controller has a wishbone master interface, which can access everybody, included the peripherals, which mean it can access litedram to send the initialisaiton commands, which have dirrect connections to the OSERDES2
If all the above is right, we might need to add some pipelining stages in the wishbone interconnect. (or maybe just in litedram to isolate the OSERDES2 from direct connections from the wishbone bus)
@Dolu1990: your reasoning is right yes, i could look at it in early september. Do you also have timing issues with the coherent DMA enabled? (LiteX will not bridge the main bus to LiteDRAM in this case: https://github.com/enjoy-digital/litex/blob/master/litex/soc/integration/soc.py#L1241-L1246).
@enjoy-digital Enabling the coherent DMA seem to fix the timing issue (critical path moved somewere else and is more relaxed)
@Dolu1990: can you try with https://github.com/enjoy-digital/litex/commit/e4f5dd987eb8d2a98c714d4e2130fe015e1df244? When building Arty design with --cpu-count=1 and no coherent DMA it seems fine.
As discussed with @Dolu1990, this is fixed with enjoy-digital/litex@e4f5dd9.
Hi,
Got some critical path the the peripheral side of the SoC in the vexriscv-smp branch.
Seem like it goes from the sdcard controller -> some distributed ram -> some interconnect -> down to the litedram phy.
Such path shoud't be there. Any idea what could be this distributed ram just fater the sdcard controller ?