一种FIFO的读写单元设计

2019-04-09 09:10刘环雨
微处理机 2019年1期
关键词:位线高电平传输

刘环雨

(沈阳城市建设学院信息与控制工程系, 沈阳110167)

1 引 言

随着集成电路产业的迅猛发展,现在的IC 芯片特征尺寸越来越小,集成电路系统设计规模也不断扩大,计算机处理器在高速运转时,其中的逻辑也随着功能和性能的提高而不断增多。复杂的逻辑电路在运算时需要多个高速时钟,两个时钟域在互相传输数据时,要保证数据传输的正确性以及稳定性,FIFO 电路在解决这一跨时钟域的问题中起到了重要作用。FIFO 作为先进先出式的缓冲存储部件,在数据接口部分实现数据存储、缓冲,并且可在两个时钟域内传输或交换数据。FIFO 单元的性能需要被重点考虑,而FIFO 电路的核心部分就是FIFO 电路中的存储单元[1]。FIFO 的存储单元决定了整个电路的芯片面积,同时存储单元的读写速度会影响整体电路的性能,也影响整体电路的速度和功耗。FIFO 电路通常利用双口RAM 和读写指针来控制存储单元的读写功能,相比于普通的存储器,主要的区别是FIFO 没有外部读写地址线,相应的地址是由内部读写指针自动加1 完成的。FIFO 电路的控制和使用相对简单:顺序地写入数据,再顺序地读出数据。

2 存储单元设计

对先入先出存储器FIFO 的合理设计,可以使接口数据在传输时有效地匹配输入和输出。对数据进行先缓冲再存储然后再传输的处理,可有效避免数据复写、丢失或者写入无效、读出无效的情况,有效地提高数据的传输速率。

在传输数据时,要保证存储单元的设计合理性。故此存储单元选用6T-SRAM 单元结构,单元的存储电路由六个管子组成,如图1 所示。整个存储单元具有对称性,M0 与M1 为存储单元的传输管,与存储单元连接,当对存储单元进行写入或读取数据时,通过控制单元将传输管的使能信号W 打开,接通存储单元与外围电路的连接,外围电路则通过BL 和BLN 读取写入数据[2]。两个反相器级联构成双稳态电路,采用物理尺寸和特性完全相同的反相器,其中一个的输出作为另一个的输入。在一个反相器的输入端施加输入信号时,会在输出端得到响应,同样在另一个反相器的输入端施加输入信号时,也会得到响应;将两个响应曲线结合到一起,就可得到带稳态电路的电压传输特性曲线。

图1 存储单元结构设计图

3 基于存储单元的写操作

FIFO 的存储电路对存储单元的写操作过程就是使存储单元的状态按照写入的数据进行相应地改变。在六管单元的写操作中,通过外围电路的控制,在写入数据前需要将数据驱动至两个互补的信号中并传至位线BL 和BLN 上。字线驱动器驱动字线WR 到高电平,即写通道打开,位线信号经两个完成对称的传输管写入存储节点,存储节点存储写入存储单元的新数据[3]。现实写操作过程的电路原理图如图2。在存有“1”的单元里面写入新的数据“0”,即DA 点的电平由高电平下拉至低电平,将存储的数据由VCC 下拉至GND。

图2 对存储单元的写操作

FIFO 的写指针指向对应的地址,每执行一次读操作,指针都会顺次加1。写操作的具体过程为:位线BLN 在写操作开始时被驱动到高电平,此后的短时间内,它与读操作时预充高电平位线BLN 的变化基本相同。在字线打开传输管后,传输管M1 与下拉管M3 同样形成分压,节点DB 的电压上升。位线BL 在写操作开始时被驱动到低电平。在字线打开传输管后,M0 与M4 管在BL 与高电平之间形成分压。为了写操作的顺利进行,也就是下拉节点DA到达较低的低电平,启动反相器M2/M3 放大新数据,传输管M0 应该比反相器的M4 管有更好的导通性。一旦反相器M2/M3 开始放大节点DA 上的低电压,也就是节点DA 上的下拉管M3 被关闭,上拉管M2 被打开,节点DB 的电压将上升,反相器M4/M5也将被启动,节点DA 在正反馈作用下进一步向GND 转化,写操作被加速[4]。

4 基于存储单元的读操作

存储单元被写入数据之后,即可读取数据。存储单元的读操作是指被寻址的存储单元将它所储存的数据发送到相应位线上的操作。位线上的数据被送到外围电路上,即存储的数据被读出。读过程的电路原理图如图3 所示。假设当前单元中写入的数据为逻辑“1”,即节点DA 为高电平,节点DB 为低电平。

图3 对存储单元的读操作

数据读指针指向当前读出的单元,执行完一次读操作,指针指向下一将要读出的存储单元[5]。读操作开始时,位线BL 和BLN 被预充电,预充电平的典型值为电源电压VCC。读操作过程中字线RD 通过外围控制电路达到高电平,打开存储单元传输管M0 和M1。已经假设存储的值为“1”,这样节点DA为高电平,节点DB 为低电平,位线BLN 会经M1和M3 放电,电平逐渐降低;此时,由于M0 管源漏电压近似相等,因此只会有很小的电流流过,位线BL 会继续保持高电平状态[6]。随着BLN 的放电,BL与BLN 之间的差分电压逐渐增大;差分电压增大到一定程度后,读出放大器将放大并输出差分电压。

从FIFO 电路读取数据有两点需要注意:第一,为加速位线BLN 放电,M1 和M3 尺寸相对较大;但从集成电路发展趋势来看,集成电路的整体面积越来越小,在设计中存储单元面积应尽可能小,一般接近所采用工艺的最小特征尺寸。第二,字线输入信号RD 为高电平后,M1 和M3 的分压作用将使节点DB 电平升高,此现象应尽量避免出现,因为DB电压升高可能会令M4 导通,从而造成节点DA 放电。如果泄放掉的电荷较少,可能会令M0 打开,位线BL 放电,降低差分电压建立速度;若泄放电荷较多,则M2 就可能导通,DB 点电压会被抬高,从而使得存储数据从“1”翻转为“0”,即发生“误翻转”[7-8]。要避免读取数据误翻转的发生,需要限制DB 的电平升高,即用较快的读取速度与较小的存储单元面积,并满足电路的整体面积与功耗要求,优化设计FIFO 单元管子尺寸的匹配[9-10]。

FIFO 电路主要关心的指标是电路读取速度,为提高读速,必须减少传输延迟时间。而存储单元本身管子尺寸有限,影响存储单元的驱动能力;且位线也会产生较大的负载电容。故此,一般要在位线与输出缓冲单元之间添加灵敏放大器,读出数据后经灵敏放大器放大后再输出,从而减少读取时间。

为了不影响FIFO 电路的读取速度,一般都会设置预充电路,但是预充电路会在电路上电后就一直保持充电状态,这样会增大电路的静态功耗。在保证功耗一定时若要兼顾电路的读取速度,则应保留列预充电路。

5 结束语

FIFO 电路的读写数据通道需要较快的读取速度与较小的存储单元面积,并满足电路的整体面积与功耗要求。存储单元的设计可以使存储单元面积减小从而使集成电路的整体面积减小。基于存储单元的读写通道设计可以使整个存储通道性能和可靠性提高,同时减小了面积。此设计有较强的适用性,可实现应用于较大容量的FIFO 电路中。

猜你喜欢
位线高电平传输
轨道交通信号系统无线传输应用
5G高新视频的双频段协同传输
5G 16K虚拟现实视频传输关键技术
牵引8K超高清传输时代 FIBBR Pure38K
如何构造三角形中位线
巧构中位线解题
构造三角形中位线,巧证几何题
TS-03C全固态PDM中波发射机开关机控制电路原理及故障分析
数字电子技术的应用
浅谈物理电路与数字电路