显示驱动芯片中MPU写SRAM时序电路设计

时间:2022-09-03 05:49:10

显示驱动芯片中MPU写SRAM时序电路设计

摘要:分析了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_down,将wr_req清零,也可以通过外部清零信号rst_b对D触发器的状态进行清零。delay模块用于控制wr_req信号滞后于写时钟的时间。

3.2 延迟电路设计

为了保证延时时间可控,设计采用NMOS电容与导通电阻构成延迟单元,延迟的大小由外部控制信号ctl控制传输门选通与关闭来实现可调节,当不需要延迟时,直接将clr信号拉高,这时延迟电路只相当于buffer的作用。

采用不同的逻辑方法可以实现不同的延时要求,图6所示是设计中大量采用的延迟电路设计方法,其功能分别用于滞后或延迟输入信号高电平宽度,低电平宽度,产生固定时间长度的高电平脉冲等等。

图6 常用的延迟电路设计

除图6所示的常用延迟电路以外,还可以采用延迟电路,反相器,分别与或非门,与非门,异或,同或等逻辑门组合,可以得到不同功能的延迟电路。采用这种方法设计的延迟电路功能可靠,并且延迟单元可以用寄存器调节延迟大小,即使出现工艺偏差,通过调节也可以保证存取数据的可靠性,在SRAM,SDRAM等存储电路的设计中经常采用。

4 设计仿真与验证

本设计在搭建完成的验证平台环境上,采用VERA验证语言编写TestCase,对电路加输入激励,采用Nanosim数模仿真工具仿真验证电路如图7所示。

设计结果符合设计要求,数据写入安全,延时调节有效,达到设计目标。

参考文献:

[1] Jacob Baker R.CMOS电路设计布局与仿真[M].陈中建,译.北京:机械工业出版社,2006.

[2] Kuriyama H,Ishigaki Y.A C-Switch cell for low-voltage and high-density SRAM’s[J].IEEE Transactions on electron devices,1998,45(12):2483-2487.

[3] Gaillard R,Poirault G.Numerical simulation of hard errors induced by heavy ions in 4T hig density SRAM cells[J].IEEE Trans.On Nuclear Science,1994,41(3):613-618.

[4] Levy H J,Daniel E S,Mcgill T C.A Transistorless-Current-Mode static RAM architecture[J].IEEE JSSC,1998,33(4):669-672.

上一篇:《数据结构》课程教学改革的研究 下一篇:兰州仁寿山至西站建设快速公交系统(BRT)的综合...