Forum Discussion

DarkSideOfTheSignal's avatar
DarkSideOfTheSignal
Icon for New Contributor rankNew Contributor
4 days ago

SDRAM ( Single Data Rate ) refresh verilog

Salve, sono nuovo nel forum e spero di non violare nessuna regola. Avrei bisogno di un consiglio.

Ho creato un modulo controller sdram in verilog per fpga EP4CE6F17I7N e sdram Hynix H57V2562GTR-75C compatibile con Micron MT48LC64M4A2. Il modulo è semplicissimo deve solo scrivere un valore in riga 0, colonna 0, eseguire un ciclo di refresh ( 8192 comandi di refresh, NOP tra i comandi di refresh, diciamo 8200 per assicurare che la riga 1 venga rinfrescata ) leggere il valore e inviarlo via seriale, in modo sequnziale, nessun comando viene inviato alla sdram durante il refresh. Il test funziona ma solo se il ciclo di refresh non è completo, ovvero, la riga 1 viene rinfrescata una sola volta. Il clock della FSM e della SDRAM sono entrambe 10MHz ( ALT_PLL, clock originale 50MHz ) per facilitare il debug con strumenti esterni ( analizzatore di segnali, oscilloscopio ), il clock sdram è sfasato di 90° rispetto al clock della FSM, il che consente alla sdram di campionare, sul fronte di salita del clock i comandi in modo corretto ( setup/hold ). Tuttavia anche con una procedura di refresh che sembra corretta il dato degrada... Sto ancora analizzando la cosa, tuttavia, anche con l'aiuto dell'IA non si riesce a trovare il problema, sembra tutto ok... Grazie.

1 Reply

  • AdzimZM_Altera's avatar
    AdzimZM_Altera
    Icon for Regular Contributor rankRegular Contributor

    Hi

     

    Is there any IP that you used and which Quartus version?

     

    Regards,

    Adzim