摘要:分析了SRAM cell设计的特点,以及MPU接口写SRAM所需要的控制信号。MPU接口写SRAM时,这些信号必须要保证在严格的时序控制下产生与撤消,否则,可能在SRAM cell电压并未建立稳定的情况下就撤消数据信号,或者,在写入时,因为充放电电流的瞬态过程引发错误的逻辑操作。该文在此基础上给出了控制信号时序,总结了这些时序电路产生的方法并设计了一款MPU写SRAM时序电路并验证了其功能正确。
关键词:LCD 显示驱动芯片;SRAM 时序电路
中图分类号:TP331文献标识码:A文章编号:1009-3044(2011)07-1644-02
1 绪论
静态存储器SRAM(Static Random Access Memory) 的存储单元被设计为可以自动锁存数据,不需要每隔一段时间刷新一下cell里面的数据,这样极大的节省了系统的有效数据带宽,并且因不需要刷新电路大大降低了设计的复杂度。SRAM存取速度快,性能较高,但是相对DRAM来说,SRAM集成度较低,面积较大,而且静态功耗也较大,因此常用作CPU里的高性能存储电路如L2 cache,片内RAM等。SRAM在显示驱动芯片中主要用来存储图像数据,并具有较好的性能。外界对SRAM电路的存取主要有以下三种形式:MPU接口写SRAM,MPU接口读SRAM,Display模块读SRAM。明显的,MPU接口与Display读有可能产生冲突,这时需要一个Arbiter(仲裁电路)电路来裁决以上三个存取过程的优先级。限于篇幅本文只分析MPU写SRAM的时序。
2 SRAM电路结构与时序分析
2.1 SRAM单元电路与行列选择电路
图1所示的经典SRAM六管结构的电路。两个互补电平的数据线B与NOTB(bit_line)可以互相锁存对方的数据。WL信号为字选择线,同属一行的所有SRAM单元的字线WL(word_line)均连在一起。图2中wen信号为列选择信号,在某行的WL信号打开的情况下,将wen信号置为高电平,应可以对某一个SRAM单元进行存取,图2中的B与NB信号与图1中的B与NB信号是接在一起的。例如,想要对一个SRAM中的第M行第N列,进行写操作,通过行译码器选择第M行的WL为高电平,通过列译码器将第N列的wen置为高电平,这时数据被写入第M行第N列的SRAM单元以后WL线关闭,wen线关闭,数据被单元电路锁存。图1中SRAM电路有一个潜在的风险就是,当改写SRAM数据时,这六个管子的驱动能力不同会造成在对数据线进行充放电时,导通电阻分压会触发不希望的逻辑状态。因此,SRAM单元电路每一个管子的尺寸都必须要经过仔细考量,最好选择有专门提供SRAM的工艺,并在工艺厂商的指导建议下进行单元设计。一个有效的解决办法体现在了图2中的预充电电路中,将precharge信号拉低以后,两条数据线均被充电到高电平。这样有两个好处,一个是保证了往SRAM中写入数据瞬态过程的可靠性,二是在SRAM总线空闲时,保持数据线为固定的高电平状态会避免很多的误操作。
2.2 MPU写SRAM时序分析
实际上,SRAM的读写并没有上面所描述的那么简单,因为,存储电压的建立需要时间,为了保证存储数据的可靠性,要对SRAM的存取操作建立严格的时序。
一个严格的MPU接口写SRAM过程可以用下面所示的图3来描述,具体过程如下:每来一个写SRAM的时钟到来的同时,发出一个mpu_access的信号,让MPU接口占据数据总线,避免display模块读数据时与之产生冲突。因为MPU接口还可能以读的形式占据数据总线,所以延迟5ns以后发出一个写请求信号wr_req,这个延迟可以保证,在MPU接口取得总线控制权以后再发出写请求信号。在mpu_access信号发出10ns以后打开列译码器使能信号col_en准备好写SRAM的地址。此时,列译码器产生列选择信号col_sel选定要写的列,列地址准备就绪。再将precharge信号拉高,停止对bit_line的充电,bit_line接收数据准备就绪,precharge的高电平建立也需要一段时间,因此,要延迟一段很短的时间比如2ns以后才能发出写使能信号wen_g。由于precharge,col_sel,wen_g三者做逻辑与的输出驱动wen信号,也就是说,只有以上三个信号都为高电平1的时候,才会打开MPU接口发过来的数据线与bit_line之间的开关,这时,数据被写入bit_line,同样的,bit_line的电压建立仍然需要一段很短的时间,所以延迟2ns以后再打开WL,一旦word_line打开,这时MPU接口输出的数据线data,ndata分别通过bit_line数据线B与NB连接到SRAM cell的两个互相锁存的反相器,SRAM cell里的数据被改写。
如果原来SRAM里存储的是1,则是通过NMOS管对地放电,如果原来SRAM里存储的是0,则是电源电压VDD通过PMOS管对SRAM bit cell充电,考虑到互连线与MOS管都存在着寄生电容,所以SRAM cell数据的改写同样需要一段时间来建立其所需要的电压,而所需要的时间由WL打开的时间控制。为了保证写入数据的可靠性,这里延迟10ns来建立SRAM bit cell的电压,10ns时间一到,便输出一个wl_done信号,表示写入操作已经完成,此时wl_done信号将wr_req信号拉低,写请求结束。然后,关闭列选择,释放总线,重新对bit_line预充电。
3 时序电路设计方法
3.1 写请求信号的产生与结束
采用触发器将MPU发过来的写请求时钟转换成SRAM时序电路的写请求状态。这个状态受到wl_down信号的控制,相当于一握手协议,一旦写操作完成,后面的timing电路会返回一个wl_d