项目

一般

简介

SDRC Lite进度

SDRC Lite简述

特点:
1.use one ctrl fsm to 4 banks
2.close page policy

优点:
1.结构精简。
2.读写延时固定,带宽利用率固定,“最坏情况”panality小。

缺点:
1.不开发访问的locality。
2.无指令流水线优化。
3.precharge操作多,导致SDRAM功耗较大。

初试参考资料:
Lattice RD1010的SDRAM Controller Reference Design

项目意义:
亲手编写控制器,加深对SDRAM原理的理解。
下一步研究和实现优化策略时,将以此为参考对象。

SDRC Lite项目进度

截止20120330,SDRC_lite总进度为5%,控制单元的初始化模块设计完成,仿真通过。初始化原理与初始化模块的文档完成。

截止20120402,SDRC_lite总进度为20%,控制单元(包括命令控制、初始化控制)设计完成,仿真通过。文档在修改中。

截止20120405,SDRC_lite总进度为30%,已完成控制单元、信号通路的设计、仿真与FPGA综合。波形以.FSDB和.RC格式保存在源码包中。Visio与Spec文件尚在更新中。

20120405的展望:
1. 完成数据通路
2. 与Micron模型联合仿真
3. 整体的FPGA综合与FPGA验证
4. 以SDRC_lite为蓝本,编写完善的SDRAM操作说明文档
5. 读写效率分析,提出改进方案,为SDRC_pro积累idea

20120406讨论要点:
1. 4、5月份的重点:完成、跑通sdrc_lite,并与实验室的图像编码系统集成。
2. 了解实验室的图像编码系统中的像素表示、帧处理原理以及DRAM访问规律。
3. 同步设计完成后,要实现跨时钟域的异步数据FIFO、指令FIFO。
4. 最终接口按照Avalon总线接口,便于系统集成。
5. 系统位宽定位64bit。系统Burst length为4或8,可在运行时动态调整。[1]
5. 可以考虑地址映射问题。
6. 可针对内存的Row Buffer,进行相邻地址访问的优化。
注:
[1] “Burst length为4或8,在运行时动态调整”恰好符合DDR3的On The Fly技术,可以在DDR3实现时予以考虑。

截止20120412:
SDRC_lite总进度为40%:
1. SDRC_lite代码修改至Beta版,已能支持可变Burst长度。
2. Beta版的代码中,控制单元、信号通路、数据通路都已完成设计、仿真、FPGA综合。
3. 共更新Spec文档4份:基础知识、初始化、设计描述、时序设计。
接下来的展望:
1. 准备下周的演讲PPT。
2. FPGA硬件验证。
3. 着手FIFO的设计。

20120414:修改代码BUG两处,上传Beta2.1版代码。

截止20120415:
SDRC_lite总进度为50%,版本代号Beta2.2a:
1. SDRC_lite与Micron公司的verilog模型联合仿真通过。
2. SDRC_lite代码基本定型,仿真、FPGA综合完成,并进行了一些关键路径优化的尝试。
3. 再次更新SPEC文档:设计描述、时序设计、初始化、基础知识。

截止20120507:
SDRC_lite总进度为60%,版本代号Beta2.3:
更新:
1. 异步的avalon-MM wrapper,含有FIFO
2. 同步的avalon-MM wrapper,不含FIFO
3. FPGA初步验证通过(暂时不包括avalon wrapper)。
cycloneII EP2C8PQ208C8上,可跑到128MHz;
cycloneVI EP4CE115F29C7上,可跑到170MHz。
下一步:
将此IP制作成SOPC的component。

截止20120530:
SDRC_lite总进度为90%,版本代号Beta2.7:
1.设计实现基本完成
2.avl_wrapper的功能:
[1] 完全兼容Avalon-MM slave接口标准。
[2] 支持长度为1至8的突发传送,隐藏Mask的细节。
[3] 支持任意位置读写,隐藏地址对齐的细节。
[4] 支持SDRAM的跨行读写,自动分割请求。
3.sdrc_lite的功能:
[1] 长度为4、8、12、16的突发传送。
[2] 自动的初始化、刷新控制。
[3] 自动的close page policy指令控制,缩短操作延时。
[4] 参数化的设计,便于根据硬件需求调整。
4.已通过的测试:
[1] 所有模块的modelsim仿真,包括与Micron模型的联合仿真。
[2] 所有模块的Quartus综合。
[3] sdrc_lite核的FPGA硬件读写实验。
[4] 含avl_wrapper的sdrc_lite核的Avalon-MM BFM仿真测试。
[5] 含avl_wrapper的sdrc_lite核的Jtag-Master-Bridge硬件读写测试。

文档更新进度

20120408 更新了SDRAM基本知识和Close Page Policy原理的文档,见附件。
20120412 更新了SDRC_lite Beta版的设计描述、时序设计,见顶层目录下的附件。
20120414 再次更新4分SPEC文档,见顶层目录下的附件。

00_SDRC_lite_spec_beta2.1_main_ver0.1_20120414.pdf - 设计概要主体 (325 KB) 梁 晨, 2012-04-15 19:47

01_SDRC_lite_spec_beta2.1_timing_ver0.2_20120414.pdf - 设计概要之读写时序图 (74 KB) 梁 晨, 2012-04-15 19:47

02_SDRC_lite_spec_beta2.1_inlization_ver1.2_20120414.pdf - 设计概要之初始化 (218 KB) 梁 晨, 2012-04-15 19:47

03_SDRC_lite_basic_knowledge_ver0.3_20120414.pdf - 设计概要之SDRAM基础与Close Page Policy原理 (177 KB) 梁 晨, 2012-04-15 19:48

005__sdrc_lite_beta_0.002.2a_handout0_20120415.zip - 源码:SDRC_Lite存储控制后端的Beta2.2a版 (690 KB) 梁 晨, 2012-04-15 19:50

008__sdrc_lite_beta_0.002.3_handout0_20120507.zip - 增加了Avalon-MM slave接口的wrapper。 (62.2 KB) 梁 晨, 2012-05-07 11:25

012__sdrc_lite_beta_0.002.7_handout1_20120531.zip - 最新代码 (1.94 MB) 梁 晨, 2012-05-31 13:53