sdram
sdram copied to clipboard
REFRESH operation is 90ns
First off, this is a nice and streamlined SDRAM controller in VHDL - thank you!
As I was simulating this (GHDL/GTKWave) I noticed that a REFRESH operation takes 90ns, not 70ns. I suspect that this is an artifact of the change to rising clock edges and the extra buffer stage. In the waveforms below, refresh_i is clocked at 704ns, and done_o is clocked at 794ns. dT = 90ns

I believe the fix is as simple as adjusting the timer_x assignment at line 300 from timer_x <= 7; to timer_x <= 5; With the new assignment, the REFRESH operation now takes 70ns to run.

Here is zip file with modified source and testbench and makefile for GHDL/GTKWave sdram_simple_90ns_refresh_issue.zip