多路读写sdram接口设计
存储器是容量数据处理电路的重要组成部分。随着数据处理技术的进一步发展,对于存储器的容量和性能提出了越来越高的要求。同步动态随机存储器sdram(synchronous dynamic random access memory)因其容量大、读写速度快、支持突发式读写及相对低廉的价格而得到了广泛的应用。sdram的控制比较复杂,其接口电路设计是关键。
本文首先介绍sdram的主要控制信号和基本命令;然后介绍接口电路对sdram的主要操作路径及操作过程,应用于解复用的sdram接口电路的设计方法;最后给出了实现结果。
1 sdram的主要控制信号和基本命令
sdram的主要控制信号为:
·cs:片选使能信号,低电平有效;
·ras:行地址选通信号,低电平有效;
·cas:列地址选通信号,低电平有效;
·we:写使能信号,低电平有效。
sdram的基本命令及主要控制信号见表1。
表1 sdram基本操作及控制信号
命 令 名 称 cs ras cas we
命令禁止(nop:command inhibit) h x x x
空操作(nop:no operation) l h h h
激活操作(act:select bank and active row) l l h h
读操作(read:select bank and column,and start read burst) l h l h
写操作(write:select bank and column,and start write burst) l h l l
突发操作停止(btr:burst terminate) l h h l
预充电(pre:deactive row in bank or banks) l l h l
自动刷新或自我刷新(ref:auto refresh or self refresh) l l l h
配置模式寄存器(lmr:load mode register) l l l l
所有的操作控制信号、输入输出数据都与外部时钟同步。
2 接口电路对sdram的主要操作路径及操作过程
一个完备的sdram接口很复杂。由于本文的sdram接口应用于解复用,处理的事件相对来说比较简单,因而可以简化设计而不影响性能。接口电路sdram的主要操作可以分为:初始化操作、读操作、写操作、自动刷新操作。
(1)初始化操作
sdram上电一段时间后,经过初始化操作才可以进入正常工作过程。初始化主要完成预充电、自动刷新模式寄存器的配置。操作过程如图1所示。
(2)读写操作
读写操作主要完成与sdram的数据交换。读操作过程如图2所示,写操作过程如图3所示。
(3)刷新操作
动态存储器(dynamic ram)都存在刷新问题。这里主要采用自动刷新方式,每隔一段时间向sdram发一条刷新命令。刷新过程如图4所示。
3 接口电路的设计
(1)解复用电路
本解复用电路主要完成将1路高速数据流解复用为4路数据流,其结构框图如图5所示。1路数据流进入解复用器后,经过sdram缓冲,解复用为4路数据流。
由于要解复用为4路数据流,为了充分利用时隙,满足高速的要求,采用4个bank的sdram,各路数据缓冲对应不同的bank。为简化设计,数据流1的缓冲区定为bank0,数据流2的缓冲区定为bank1,数据流3的缓冲区定为bank2数据流4的缓冲区定为bank3。对于每路数据实际上是以高速率集中写入,然后以低速率均匀读出。
由于进行的是解复用,因此写入的数据只有1路,但是有可能4路数据同时都要读出。所以对于4路数据流,其读写地址和读写使能信号是分开的。
(2)sdram接口电路的时序控制
高速数据流的速率为3m字节/秒,采用的系统时钟为20倍的字节时钟。送入sdram的时钟为60mhz系统时钟。在一个字节时钟内对sdram的操作最多有5次(1次读,4次写),而且为了满足刷新的要求,每个字节时钟进行一次刷新操作。根据sdram的时序要求,这样的操作是难以实现的。因而要通过多bank操作,尽量做到时分复用来实现。图6给出了在一个字节时钟周期的内数据流1进行读写操作,其它3路数据进行读操作的命令排序时序图。可以看出通过多bank操作,时分复用,在20个系统时钟节拍内所需的读写操作命令刚好很紧凑地排开。
一个字节时钟内对sdram读写操作是随机的,这与数据流的复用比例有在。为了满足时序,根据上面的说明,需要把一个字节时钟周期内对sdram的命令合理排序,然后按照排好的顺序执行命令。这样就需要把一个字节时钟周期内对sdram的操作进行缓存,然后在下一个字节时钟周期内进行排序、与sdram命令相对应、将命令译码产生相应的控制信号线,完成操作。缓存排序过程如图7所示。
(3)sdram接口电路
sdram接口电路中需要专门操作缓冲区存储一个字节时钟周期内的操作,以备下一字节时钟的排序。为了方便处理,对每路数据的缓冲操作内容(或读或写)放在一个缓冲区。由于数据流的连续性,排序的同时仍然会有操作要求,因此每路的操作内容缓冲区分为两块。对一块缓冲区写入时,读出另一块缓冲区中的操作内容,进行排序、译码、执行。根据字节时钟切换对缓冲区的读写,从而避免冲突。对于从sdram读出的数据,每路数据写入相应的读出数据缓冲区。同样每路的读出数据缓冲区也分为两块,根据字节时钟切换读写。
由于一个字节时钟周期内,每路所需的操作最多有2次,每路的操作内容缓冲区只需两个单元(每个单元存储了此次的读写使能信号、写入数据、地址)即可。对于读出数据缓冲区,由于一个字节时钟每路数据最多执行一次读操作,所以读出数据缓冲区只需要一个字节。这两类缓冲区容量都小,因此人部用寄存器来实现,控制简单。
整个接口电路的结构框图如图8所示。
4 sdram接口的实现结果
针对mt48lc8m8a2的sdram,采用同步设计方法,用verilog hdl硬件描述语言建立模型,接口电路已经调试通过,规模为2100门(nand)。整个解复用电路也已经调试通过。
TI小型蜂窝基站解决方案
中国北斗与美国GPS有什么差距?
为抢手机芯片市场 联发科与高通陷入苦战
投资英伟达 孙正义人工智能梦碎
全球首台卷曲屏幕激光电视来了!
多路读写SDRAM接口设计
翠展微电子-美蓓亚三美奏响合作新旋律
下一代NVIDIA GPU信息规格曝光
关于AD前面电压跟随器设计方案
蓝牙技术助力改善医疗运营和患者护理
使用at_device软件包通过ESP8266连接到网络
智能无接触电梯的工作原理解析
又一起电动汽车自燃事件!三元锂电池还能继续使用吗?
微波炉的变压器和高压电容的连接
诺基亚8今晚7点发布:诺基亚8王者归来,诺基亚8发布会之前的5大预测解你心中疑惑
何为手机飞行模式
交换机星品汇 | 2.5GE以太网,千兆园区网络的下一代
台积电投资Arm背后战略:抬高客户转换晶圆代工厂成本
魅蓝6T拆解 做工用料相当用心
科威特中央银行不承认比特币,并禁止金融机构从事比特币交易