<_florent_>
promach[m]: For the value of wr/rd_bitstlip in the example code I provided, the hardware and rest of the code also needs to be considered. This was more an example of values that needs to be manually adapted
<_florent_>
You can see that these values are different between hardware:
<_florent_>
I'm not saying that's necessarily the way to go but the way we did it in the past on Spartan6 :) (That has been improved since then with software auto calibration on 7-Series/Ultrascale).
<promach[m]>
_florent_: cool, I was thinking about using PLL dynamic phase shift feature before you mentioned about bitslip delay
<_florent_>
promach[m]: In fact you can see phase shift as a fine delay (adjusting sampling delay) and bitstlip as a coarse delay (adjusting bit order in the deserialized data)
<promach[m]>
_florent_: may I know if you also used PLL dynamic phase shift feature together with bitslip for spartan-6 ?
<_florent_>
promach[m]: no we manage to get it working without, but dynamic phase shift can provide you more flexibility
<promach[m]>
does spartan-6 use both fine delay and course delay ?
<_florent_>
fine delay was done using fixed phase shift of the clocks with the PLL and coarse delays with the bitslio
<_florent_>
bitslip
<promach[m]>
<_florent_ "fine delay was done using fixed "> _florent_: you mean on spartan-6, the fine delay is calibrated during the **initial read calibration** , and then is fixed during actual read operations ?
<_florent_>
promach[m]: yes, and the calibration was done manually
<_florent_>
the phase is applied on CLK_OUTN outputs
<promach[m]>
<_florent_ "the phase is applied on CLK_OUTN"> you mean **CLKOUTn_PHASE** ?
<promach[m]>
as inside the PLL_BASE Settings page ?
Coldberg has quit [Read error: Connection reset by peer]
Coldberg has joined #litex
<_florent_>
promach[m]: In fixed mode, the phase is configured through the CLKOUTN_PHASE attributes, in dynamic mode through the DRP interface and phase shift is then present on CLK_OUTN outputs
<promach[m]>
_florent_: I suppose litedram is not using dynamic mode for spartan-6 ?
<promach[m]>
and what do you mean by DRP interface ?
<promach[m]>
Do you mean DCM_SP Settings instead ?
<promach[m]>
there is also PHASE_SHIFT attribute inside DCM_SP Settings page
<promach[m]>
and CLKOUT_PHASE_SHIFT can choose between VARIABLE and FIXED
<promach[m]>
I am bit confused now
<DerekKozel[m]>
_florent_: I have a built image, programmed both by openocd (I think successfully) and by Vivado's hardware manager, I've built and loaded the litepcie kernel module and it shows as loaded. However the only output in dmesg is
<rom>
OmkarBhilare[m]: Hey, you have (almost) the same goal as I do, for me it's to connect the SDRAM itself
<_florent_>
DerekKozel[m]: sorry I'm leaving the office but could provide you a "known to work" bitstream for the Acorn tomorrow morning
<_florent_>
rom: with "--with-wishbone-memory" VexRiscv-SMP is connected to the main bus of the SoC which is then connected to LiteDRAM
<_florent_>
rom: without, VexRiscv-SMP each core has 2 direct interfaces connected to LiteDRAM
<rom>
_florent_: So that is the exact use case that you told me yesterday, "configure VexRiscv-SMP to use the Wishbone interface", if I understand it correctly?