1 引言
为了满足人们对大容量数据快速传输日益增长的需求,高速交换机的研究与开发是非常重要的。
对于一个N N的交换结构来说,输入端与输出端数据传输速度是相同的,但由于输入端口的数据是随机的,因此就会发生多个输入端口的数据同时竞争同一个输出端口的情况,从而发生输出端口竞争冲突。这时如果没有数据缓冲存储器,就只有一个输入端口的数据成功地被交换到目的输出端口,其它输入端口的数据均被阻塞,因为交换机无力在同一时间完成所有数据的传输[1]。

图1.1 N N的交换结构模型
为了避免在同一时间多个输入端口对同一个输出端口传输大量数据而造成数据的丢失,在高速交换机结构中加入一个数据缓冲存储器 非常有必要的。传统的缓冲存储器是地址/数据线复用或地址/数据线分开的基于SRAM内核的存储结构,这两种结构不是速度有限制就是容量有限制。本文将给出一种适用于PCI-Express总线接口的基于动态存储器(DRAM)内核的伪静态存储器(PSRAM)的高速大容量FIFO的设计,该设计具有高速、大容量、传输延迟小、容量可变且较容易向其工艺移植等特点。全文分成五个部分:第一部分为引言,介绍有关背景;第二部分分析PCI-Express总线接口对FIFO的要求;第三部分为工作介绍,包括电路设计和版图设计;第四部分为仿真结果,第五部分为总结工作并指出下一步的工作方向。
2 PCI-Express接口对FIFO的结构和性能要求
2.1 PCI-E接口对FIFO容量和速度要求
随着光纤通信技术的发展,数据传输数率越来越快,有10G,20G,40G最高可达160G,以PCI-E X16为例,每个通道达到250MB/s,峰值为4GB/s,如果峰值持续时间为10ms,则数据量为400MB,这就要求FIFO的工作频率至少为4G,容量为至少为400M,显然对FIFO的速度和容量都提出了极高的要求,一般的FIFO采用的是基于SRAM内核的电路结构,这种结构虽然能满足速度的要求,但其容量有限。
2.2 PCI-E接口对FIFO的结构要求
为了实现PCI-Express总线接口对FIFO高速,大容量的要求,FIFO的基本电路结构是基于伪静态存储器(PSRAM)的。即FIFO的存储单元采用DRAM结构,这就提高了容量,由于DRAM存在刷新的问题,故电路采用分块结构,这使得FIFO内部的刷新对于用户来说是透明的,从而解决了DRAM由于存在刷新而速度受限的问题,外围电路则采用内核是SRAM时的电路结构,这就保持了高速度[2]。
2.3 工作目标
本论文描述的工作目标在于设计一个适用于PCI-Express总线接口的高速、大容量,传输延迟小的FIFO,DRAM内核的工作频率为500M,FIFO工作速度和存储容量由系统整体性能决定,设计结果便于在不同工艺下移植。
3 工作介绍
3.1 FIFO整体结构
由于FIFO的工作速度比内核的工作速度快的多,所以FIFO内部的采用分块结构(如图3.1),以平衡速度差。
图3.1 FIFO内部结构图

图3.2状态转换图
FIFO电路结构由一组Column组成。Column的最小数目由速度差与容量共同确定。例如DRAM内核的工作频率为500M,而FIFO外部输入时钟频率为10G,每个Column的容量为1Kbits,FIFO的容量为4Mbits,则Column的数目为4096个。
每个Column由DRAM 存储单元,数据、读写缓冲寄存器,状态控制器,读写和刷新地址产生器以及地址控制器组成。其中状态控制器控制每个Column在读、写、刷新和空闲四个状态之间切换。
每个Column的状态转换如图3.2,复位时,状态机为空闲(IDLE)状态,当写指令到达且为非满时,进入写(WR)状态,当读指令到达且为非空时,进入读(RD)状态,当非写非读而刷新指令到来时 ,进入刷新(REF)状态。由于读写是随机的,这就有可能与刷新操作冲突,这时刷新操作就自动延一个周期,让读写操作先完成,然后再进行刷新操作。
在写状态,为了尽可能缩短数据的传输延迟,在FIFO中加入了快速通道,即如果缓冲区中是空的,则直接把输入寄存器中的数据送到输出寄存器以缩短传输延迟。
3.2 典型的DRAM 内核电路设计及其改进
一个典型的DRAM内核包括存储器阵列、灵敏放大器、读写控制电路等[3]。其特点为:一是时钟是单相的,结果造成时钟溃通效应,影响了电路的工作速度;二是一个灵敏放大器只能带一个存储单元阵列,影响了DRAM的容量。
改进过的DRAM内核电路采用双相时钟,有效地消除了时钟溃通效应,提高了电路的工作速度;在电路结构方面,在字线与存储单元间加入了控制单元,从而增加了一个灵敏放大器驱动的存储单元数。该电路在只有在读写某一个存储单元阵列时,该阵列才被打开[4]。
3.2.1仿真结果和版图面积对比
仿真结果表明:典型DRAM内核的电荷传输率为2.3%,改进的DRAM内核的电荷传输率为4%,改进过的DRAM结构消除了时钟溃通效应,提高了电路工作速度。
下面两表是DRAM内核电路保持在500M时钟的工作频率下,存储单元分别为128,256,512时,不带控制单元和带控制单元的版图面积,版图面积对比说明带控制单元的结构由于可以共用预充电电路、灵敏放大器电路,以及读写电路等而使单位存储单元分摊的面积变小。
|
存储单元数(位) |
128 |
256 |
512 |
|
面积(μm2) |
1431 |
2827 |
5604 |
|
面积 /存储单元(μm2) |
11.17 |
11.04 |
10.94 |
|
|
存储单元数(位) |
128×2 |
256×2 |
512×2 |
|
面积(μm2) |
2579 |
5212 |
10335 |
|
面积 /存储单元(μm2) |
10.07 |
10.17 |
10.09 |
|
|
表3.1不带控制单元DRAM内核版图的面积 |
表3.2 带控制单元DRAM内核版图的面积 |
3.3 版图设计
3.3.1 DRAM内核版图设计
DRAM 内核的版图设计是用Cadence的SKILL语言和ROD编程实现的,该方法实现了容量可变,且便于在不同工艺间移植。。
用SKILL语言编程实现PCell,主函数为pcDefinePCell()[5][6],层次化构建PCell时调用已生成的PCell的函数是dbOpenCellViewByType() [6],ROD提供了层次化构建PCell时需要用到的各种功能函数[7],图3.3是编程自动生成的内核版图。

图3.3存储单元为64时DRAM内核版图
3.3.2 外围电路的版图生成
外围电路由于是用HDL语言编写的,因此版图用Cadence相关工具产生,最后把上述两部分电路用结合起来,就能得到FIFO电路的整个版图。
4 仿真结果
4.1 DARM内核仿真结果
仿真是在0.18μm 标准CMOS工艺下进行的,时钟工作频率为500M。

图4.1 DRAM内核电路仿真结果
当WRRD为低电平时,是写控制信号;当WRRD为高电平时,是读控制信号,CK为时钟信号,上升沿有效,D为数据,以上三个信号均为双相。IO为数据输出,DR为读出数据指示信号,高电平有效 ,从仿真结果来看,功能正确,工作频率为500M。
4.2 FIFO电路仿真结果
仿真为先写入32个数据,然后全部读出,接着同时读写八个数据,工作频率为10G,内核工作速度为500M ,仿真结果正确。
图4.2 FIFO仿真结果
5 结论
仿真结果表明,本文提出的基于DRAM内核的高速,大容量FIFO电路及版图设计能够满足PCI-Express接口的性能要求,为高速、大容量的数据传输提供保证,且设计结果能够在不同工艺间转换。
参考文献
[1] 鄂大伟,基于多FIFO输入队列交换结构的迭代匹配算法性能分析与比较,计算机工程与应用[J] 200111,79-82.
[2] 熊红兵,陈琦. 基于FPGA的异步FIFO设计与实现,微计算机信息[J],2006,6-2 :216-218.
[3] 黎传礼,SOI的电学性能测试以及低功耗SOI DRAM的设计研究[D],上海:中国科学院上海微系统与信息技术研究所 2001,21-32.
[4] BRENTK,R.JACOBB,DRAM CIRCUIT DESIGN[M], IEEE Press,New York,1999,29-30,174-175
[5] SKILL Language User Guide Product Version 06.10[R], July 2002,77-148 Cadence Design System,Inc. Printed in the United States of America.
[6] Virtuoso Parameterized Cell Reference Product Version 5.0[R], July 2002 ,203-239,Cadence Design System,Inc. Printed in the United States of America.
[7] Virtuoso Relative Object Design Product version 5.0[R],July 2002 Cadence Design System,Inc. Printed in the United States of America.. 【摘 要】论文给出了一种适用于PCI-Express接口的用0.18μm标准CMOS工艺实现的基于动态存储器(DRAM)内核的高速大容量先入先出存储器(FIFO)电路及其版图设计。电路采用分块和Cell级连技术实现了高速、大容量的存储模块,外围电路用硬件描述语言(HDL)描述,存储模块版图用SKILL语言和ROD(Relative Object Design)编程实现,DRAM内核工作时钟频率达500M。 【关键词】先入先出;动态存储器;版图自动生成
|