sdram读写控制器
实验目标:
设计并实现一个 SDRAM 数据读写控制器,使用 PC 机通过串口向 SDRAM 写入 10 字
节数据,并将写入的 10 字节数据读出,通过串口回传至 PC 机,在串口助手上位机上打印
显示回传数据。
框图设计:
第一部分:sdram基本操作实的实现sdram_ctrl
要实现数据的读写,还要有初始化和刷新操作。所以该模块要有分别产生这四条指令的模块。
由于时序冲突问题,刷新,和读写指令存在优先级的问题。所以还应有仲裁模块。
如下:
指令产生模块应该有指令端口,bank地址端口,行列地址端口,结束标志信号。
刷新模块的请求信号传向仲裁模块,反馈给刷新模块一个使能信号。
写指令模块的写数据,写地址,写突发长度。必不可少。
需要注意的是有几个输入端口是外界给的,有几个输出端口直接输出出去。
整体:
第二部分:sdram控制器sdram_top
fifo控制模块,实现sdram读写数据的跨时钟域处理。
第三部分:uart_sdram。uart与sdram的数据交互与最顶层模块设计。
指令:
1,取消设备选择:1XXX;
2,无操作指令:0111;
3,配置模式指令:0000;+ addr A12~A0
4,预充电指令:0010;+ addr
5,自动刷新与自刷新指令:0001;
6,激活指令:0011;+addr/bank
7,写指令:0100;+bank/col;
8,读指令:0101;+bank/col;
明天完成初始化模块,加油!!!
这个sdram读写控制器工程确实挺大的。