xilinx spartan 6 器件内置硬核MCB(memory controller block)赛灵思官方文件ug388对利用MCB控制DDR存储器做了详细的介绍(主要在MCB operation章节)
FPGA配置完成以及PLL锁定后,MCB会自动完成初始化和校验。随后就可以进行常规的读写预充电刷新等一般操作。
MCB的指令和数据分别缓存在指令FIFO和数据FIFO内。
往DDR写入数据时,先将数据写进数据FIFO,然后将写指令写进指令FIFO,最后将指令使能拉高,就开始了写入数据的操作。具体的时序可以参考UG388。
从DDR读出数据时,先将读指令写进指令FIFO,然后将数据读到数据FIFO内,最后将读数据使能拉高,就开始了读数据的操作。