Forum Discussion

DarkSideOfTheSignal's avatar
1 hour 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 Xylinx H57V2562GTR-75C compatibile con Micron MT48LC64M4A2. Il modulo è semplicissimo deve solo scrivere un valore in riga 1, colonna 1, 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 a tutti.

No RepliesBe the first to reply