缔冠期刊网

基于FPGA的页快速命中的SDRAM控制器的设计

2022-06-09

陈瑞斌1,唐惠玲1,徐虎2,李敏1,彭云建3,侯红兵4

(1.广东工业大学,广东广州510006;2.广州航海学院,广东广州510725;

3.华南理工大学自动化科学与工程学院,广东广州510640;

4.惠州市仲恺高新技术投资控股有限公司,广东惠州516006)

摘要:深入探讨SDRAM的工作原理和工作时序,通过SDRAM三种常用寻址方式的对比,设计一种基于FPGA的页快速命中寻址的16位SDRAM控制器。软件仿真、硬件测试及实物调试结果表明:该控制器能极大地缩短寻址时间,并具有良好的实时性、高效性和模块重用性;同时也节省了FPGA的内部资源,缩短了研发周期。

教育期刊网 http://www.jyqkw.com
关键词 :页快速命中;FPGA;SDRAM控制器;寻址方式

中图分类号:TN919.3?34 文献标识码:A 文章编号:1004?373X(2015)13?0063?04

收稿日期:2014?11?14

基金项目:2011年广州市越秀区科技攻关项目(2011?GX?025);2011年广东省现代信息服务业发展专项资金项目资助(GDEID2011IS061);广东省教育部产学研结合项目(2010B090400204)

0 引言随着现代通信及实时图像处理的发展,大容量、高速度的储存器越来越显得重要。SDRAM即同步动态随机存贮器[1],由于价格低廉及储存量大的优点,被广泛地应用于高速数据采集、处理的领域。但本身也具备一定缺点,如控制复杂,对时序要求高,无一不对应用推广有着反效果。FPGA即现场可编程门阵列,以并行运算为主,在速度和性能上是MCU无法比拟的。本文针对其复杂的逻辑控制、严格的时序要求,利用页快速命中寻址方式,设计出一种能有效消除行寻址到列寻址之间间隔(tRCD)所带来延迟的通用SDRAM控制器,并利用ALTERA公司的FPGA 芯片EP2C35F484C8N[2] 和三星公司的SDRAM芯片K4S641632K[3]作为硬件平台,对该SDRAM控制器进行了实物调试与验证。

1 SDRAM 的工作方式和时序分析

1.1 SDRAM的内部结构

SDRAM的内部是一个存储阵列。阵列就像一个表格,检索方式与表格一样,首先指定一个行,然后再指定一个列,就能精确地找到指定的单元格,这就是内存芯片寻址的基本原理[4]。对于内存、单元格就是列存储单元,也是SDRAM的基本存储单元,则这个表格就是逻辑Bank(Logical Bank,L_Bank)。相应地,指定行的操作就是行寻址或行有效;指定列的操作是列寻址,列寻址时都伴随着读或写命令,故又称为列读取或列写入操作。

1.2 SDRAM的工作时序分析

SDRAM的效率体现在内存寻址的速度;而SDRAM的基本工作是写入和读取数据,但在执行这些工作时,并不是每一时刻都处于数据传输状态。由于非数据传输时产生了各种延迟与潜伏期,导致SDRAM 的效率没有达到百分之百。以读取操作为例,主要影响SDRAM工作效率的参数[5]有:行有效命令与列读/写命令的间隔(tRCD);列读取命令发出到第一批数据输出的间隔(tCL);预充电有效周期(tRP)。

图1 为典型的SDRAM 读取操作时序,通过行有效来打开相应的工作行,之后发送列读取命令在已打开的行中选择某一列进行读取。经过tCL 延迟后,依次读取选中的对应突发长度[6]的列单元数据,最后依靠预充电来关闭工作行。在关闭工作行的同时,其对应行的列单元数据将被锁存起来。

当反复进行读取操作时,从上一次数据读取的结束到本次数据读取的开始,其间历经了预充电、行有效和列读取命令三个执行流程,总耗费时间为:

T = tRCD + tCL + tRP (1)

因此,根据SDRAM的读取时间和寻址方式的不同,SDRAM的寻址方式可分为以下三种方式:

1.2.1 页命中寻址方式[7]

页命中的工作行和L_Bank 是空闲的,也就是说该L_Bank 的所有行是关闭的,此时可直接发送行有效命令。页命中寻址方式的时间为:

T1 = tRCD + tCL (2)

1.2.2 页错失寻址方式[7]

页错失寻址方式即上一次工作行没有关闭,并且本次读取的工作行需要换行。这种现象也称为寻址冲突,需要通过预充电来关闭上一次的工作行,再执行新一行的行有效命令,因此这种寻址方式所用的时间为:

T2 = tRCD + tCL + tRP (3)

1.2.3 页快速命中寻址方式[7]

页快速命中亦称为背靠背(Back To Back)寻址,即要寻址的行正好是前一个操作的工作行,此时可直接发送列读/写命令。这种寻址方式的时间仅为:

T3 = tCL (4)

可见,三种寻址方式中寻址时间最短的是页快速命中寻址方式。为了提高SDRAM 的工作效率,本文设计一种基于FPGA 的页快速命中SDRAM 控制器,使SDRAM的寻址方式始终为页快速命中寻址方式。

2 基于FPGA 的页快速命中SDRAM 控制器的设计

2.1 SDRAM控制器在FPGA上的具体方案

SDRAM 控制器的RTL 层视图如图2 所示,其主要分为3 个模块:锁相环模块(PLL),初始化模块(sdram_Init)和数据读/写模块(sdram_wr_data)。3个模块共同组成SDRAM控制器的底层驱动,相应的输入/输出端口主要分为两类:一类是FPGA 内部控制接口,包括控制类型的复位信号(areset),SDRAM 使能信号(sd_active)与读/写控制信号(rw),数据通信类型的地址信号(address),写入数据信号(indata)和读取数据信号(outdata);另一类是SDRAM 控制接口,与外部SDRAM芯片K4S641632K引脚相连,包括了起数据通信作用的双向通信数据口(SDRAM_DATA)和SDRAM 命令输出的信号行有效(RAS_N)、列有效(CAS_N)等。

2.1.1 PLL模块

系统的输入时钟为50 MHz,而SDRAM 芯片和SDRAM控制器的工作时钟频率设定为100 MHz。需要通过调用FPGA的内部IP核[8]锁相环模块(PLL)来实现SDRAM和SDRAM控制器的工作频率和时钟相移。

2.1.2 sdram_init模块

初始化模块(sdram_init)的作用是实现SDRAM 芯片的初始化和SDRAM控制指令输出。主要由两个有限状态机[9]实现,一个是初始化状态机,另一个是工作状态机。初始化状态机属于摩尔型状态机,即输出的SDRAM控制命令信号仅随着状态的更改而变化。当完成初始化后,SDRAM控制器进入工作状态;工作状态机根据页快速命中的工作方式,在输入地址和当前工作状态的共同作用下,输出SDRAM 的控制命令和地址。上电复位后,两个状态机同时进入复位状态,直至PLL输出时钟稳定为止。当PLL 稳定后,sdram_init模块首先进入初始化状态机,状态机如图3所示。初始化时先后经历了200 μs的稳定期,所有L?Bank的预充电,8个周期自动刷新,模式寄存器的设置(MRS)。当初始化进入结束状态时,初始化状态机结束,模块进入工作状态机。

工作状态机主要由空闲、行有效、读取、写入和自动刷新5个状态组成。默认状态为空闲,优先判断是否需要进入自动刷新状态。通过判断SDRAM 使能信号(sd_active)决定是否需要进入行有效状态,读/写控制信号(rw)选择进入读取还是写入状态。K4S641632K需要在64 ms 内完成8 192 个自动刷新周期,即每7.8 μs 进入自动刷新状态1次。

2.1.3 sdram_wr_data模块

数据读/写模块(sdram_wr_data)负责SDRAM 控制器的16位数据传输。主要端口有写入数据信号(indata)、读取数据信号(outdata)、SDRAM 双向通信数据口(SDRAM_DATA)、读取有效信号(read_valid)和写入有效信号(write_valid)。其中indata 和outdata 属于SDRAM 控制器FPGA内部使用接口,与SDRAM 上层驱动连接;read_valid 和write_valid 属于数据传输辅助端口,与内部模块sdram_init 相连;Sdram_Data 是SDRAM控制器的底层双通道数据接口,直接与外部的SDRAM芯片的数据端口相连。

2.2 SDRAM控制器的Modelsim仿真

本设计是基于Quartusii 9.1环境下通过编写Verilog语言的testbench文件,并利用第三方软件modelsim协助下的波形仿真。如图4 所示,SDRAM 控制器处于连续写工作状态,每个列写入命令都伴随着4个16位位宽的数据。由于仿真的目的在于验证输出命令与数据的正确性,故写入数据信号(data)采用每工作周期自增1的连续数据。在突发长度期间,输出命令主要为空命令(NOP),即行有效(RAS)、列有效(CAS)、地址线(A)和L_Bank地址线(BA)都输出高;空命令实际就是无操作,等待下一次操作命令的到来,仿真时序处于行有效范围内且尚未自动刷新,故无需发送行有效命令。

2.3 SDRAM控制器的硬件测试与验证

为了进一步验证SDRAM 控制器的实用性和准确性,实物验证时添加了通信模块uart,并且把FPGA 与PC 机相连,通过软件串口调试助手进行收发验证。由于SDRAM 工作时,输入与输出部分的工作时钟一般与SDRAM异步。故此,在输入与输出部分需要设置16位异步FIFO[10]作为输入和输出缓存器。SDRAM控制器的实物验证方案图如图5所示,主要包括输入缓存器FIFOin,SDRAM控制器SDRAM_CONTROLLER,SDRAM逻辑控制器SDRAM_LOGIC,输出缓存器FIFOout 和串口通信模块UART。

逻辑控制器SDRAM_LOGIC实现了SDRAM工作时的逻辑状态跳转。如图6所示,SDRAM_LOGIC 默认状态为逻辑空闲,当输入FIFOin写满或写入结束时,逻辑状态由逻辑空闲状态跳转到逻辑写状态。在所有数据写入SDRAM 后,逻辑状态将从逻辑写状态跳转到逻辑读状态,相应地读出数据,并与原来写入的数据比较来验证SDRAM控制器的正确性。

图7为串口调试助手的验证图,通过串口调试助手发送一连串的数据到FPGA 开发板上,uart模块把接收的数据传输到SDRAM 控制模块上,控制模块通过页快速命中寻址方式把数据依次写入到SDRAM芯片上。写入结束后,SDRAM 控制器又把数据从SDRAM 芯片上依次读取并传输到UART模块,并通过UART把数据发送回串口调试助手。最后对比串口调试助手的写入数据与读出数据可知SDRAM控制器能精准地完成数据在SDRAM芯片上的写入与读出。

3 结论

本文采用FPGA 芯片EP2C35F484C8N 实现了基于页快速命中的SDRAM 控制器,并利用串口通信验证了该控制器的可靠性。双端口输入/输出缓存器FIFO 使其适应于异步时钟下的数据交换。相对于页命中和页错失寻址,页快速命中更加合理、有效、快速地实现了SDRAM 的写入和读取操作。同时结合了FPGA 的高速、并行等优势,使SDRAM 控制器具有良好的实时性、高效率和模块重用性。

教育期刊网 http://www.jyqkw.com
参考文献

[1] 张林,何春.高速SDRAM 控制器设计的FPGA 实现[J].电子科技大学学报,2008,37(z1):109?112.

[2] Altera Corporation. EP2C35F484C8 datasheet [EB/OL]. [2008?02?18]. http://www.altera.com.cn/literature/hb/cyc2/cyc2_cii5v1_01.pdf.

[3] Samsung Electronics. K4S641632K specification [R]. [S.l.]:Samsung Electronics,2006.

[4] 杨映辉.基于FPGA 的SDRAM 控制器设计及应用[D].兰州:兰州大学,2007.

[5] 武文杰,刘浩.基于FPGA 的SDRAM 控制器设计[J].电子工程师,2005,30(10):23?27.

[6] 程方敏,黄启俊.基于FPGA的高速SDRAM控制器的视频应用[J].电子技术,2009,36(7):22?24.

[7] 赵效民.高手进阶:终极内存技术指南[EB/OL].[2002?12?17].http://wenku.baidu.com/link?url=HukJk977h3XyB3gRcKe8JxT?PFva2PjYQ3z2_Y0d15npo_3SaKiV_bB3TwQ49FaKN2Y3HdpE?4mqBbg49CbuTs89nt7gCWqKVfv0F05VqHohe.

[8] 夏宇闻.Verilog数字系统设计教程[M].北京:北京航空航天大学出版社,2008.

[9] MINNS P,ELLIOTT I. FSM?based digital design using verilogHDL [M]. New York:Wiley Blackwell,2008.

[10] 于海,樊晓桠.基于FPGA异步FIFO的研究与实现[J].微电子学与计算机,2007,24(3):210?216.

作者简介:陈瑞斌(1989—),男,工程硕士。主要研究方向为基于FPGA的图像处理。

唐惠玲(1975—),女,硕士,副教授。主要研究方向为LCD/OLED的故障检测。

徐虎(1989—),男,湖南岳阳人,工学硕士,助理实验师。主要研究方向为自动控制、自动检测技术、电子技术应用(嵌入式、单片机开发、模/数电电路开发)。

论文中心更多

期刊百科
期刊投稿 期刊知识 期刊审稿 核心期刊目录 录用通知 期刊版面费 投稿期刊推荐 学术问答
基础教育
小学语文 中学语文 小学数学 中学数学 小学英语 中学英语 物理教学 化学教学 生物教学 政治教学 历史教学 地理教学 科学教学 音乐教学 美术教学 体育教学 信息技术 班主任管理 校长管理 幼教 教育管理 微课教学 作文教学 德育教学 教学设计
医学论文
内科医学 外科医学 预防医学 妇科医学 检测医学 眼科医学 临床医学 药学论文 口腔医学 中西医 中医学 外科 护理 基础医学 急救医学 老年医学 医学实验 儿科医学 神经医学 兽医学 肿瘤医学 综合医学
职业教育
教育学原理 电影文学教育 学前教育 教育学管理 高等教育学 教育技术学 职业技术教育 成人教育学 特殊教育学 教育心理学 家庭教育 教育毕业 中专中职教育 教学设计 国学教育 学术研究 大学教育
药学卫生
社区门诊 医药学 医患关系 医院管理 疾病预防 保健医学 公共卫生 医学教育
文科论文
农业经济 工商管理毕业 会计毕业 行政管理 法律毕业 市场营销 经济毕业 汉语言文学 财务管理 物流管理 人力资源 旅游管理 国际贸易 物业管理 新闻学 企业管理 金融银行 社会科学 食品安全 办公档案 审计学 税务税收学 外国文学 哲学
理科论文
机电毕业 土木工程 计算机毕业 电气毕业 建筑毕业 电子商务 工程毕业 设计毕业 机械制造 汽车毕业 园林毕业 农学毕业 数控毕业 软件技术 水利工程 环境生态 畜牧渔业 化工毕业 科技创新 石油矿藏
论文格式
开题报告 论文题目 摘要关键词 目录提纲 论文致谢 参考文献 附录其他 论文答辩
职业论文
教育论文 经济论文 科技论文 财会论文 管理论文 医学论文 法学论文 文学论文 工业论文 建筑论文 农业论文 水利论文 计算机论文 社科论文 机械论文 生态环境 中西文化

先发表后付款 不成功可退款

权威机构认证 专注期刊10余年 1000余家杂志社长期合作

缔冠期刊网

首页 网站地图 返回顶部
Copyright © 1998- 缔冠期刊网