当前位置:首页 期刊杂志

一种ZBT SRAM接口控制器的设计

时间:2024-08-31

王小蓉 ,田书林 ,刘科

(电子科技大学 自动化工程学院 成都市高新西区西源大道2006号 611731)

0 引言

随着计算机技术和网络技术的飞速发展,数字信号处理系统中对存储器速度的要求越来越高。对于标准的SRAM,在读写转换时需要一定的等待时间,不适合用于频繁读写的场合。为了提高总线的利用率,IDT,Micron和Motorola公司联合设计出了零总线翻转存储器——ZBT(Zero Bus Trunaround) SRAM。该器件允许在每一个时钟周期内读写数据,读写周期交替时不需要等待时间,这样,可极大地提高总线利用率,扩展数据吞吐量[1]。本文根据ZBT SRAM读写时序,设计了一种对其进行交替读写操作的接口电路。

1 ZBT SRAM基本原理与时序分析

ZBT SRAM是一种同步SRAM,要求所有操作与时钟信号有严格的同步关系[2],通过减少读写操作转换间的等待时间,允许设计者充分利用其带宽[3]。ZBT SRAM可分为直通(flow-through)和管道(pipeline)两种类型。Flow-through ZBT SRAM的输出/输入数据相对于读命令/写命令滞后一个时钟周期,而Pipeline ZBT SRAM的输出/输入数据相对于读命令/写命令滞后两个时钟周期[4],两种类型的ZBT SRAM仅在数据的滞后时间上有所区别,其余用法均相同。

下面以Pipeline型ZBT SRAM为例进行分析。图1是ZBT SRAM的读写操作时序[5],由图可知,时钟使能信号,地址信号写控制信号片选信号地址更新信号在时钟信号的上升沿被采样,如果均为有效电平为低电平,将对地址线上出现的地址单元进行写操作;如果为有效电平,且为高电平,将对地址线上的地址单元进行读操作。

图1 ZBT SRAM读写操作时序图

2 接口控制器的设计

当ZBT SRAM工作在异步系统中时,由于ZBT SRAM时钟与本地地址、数据及控制信号没有严格的时序关系,难以满足图1的时序要求。因此,接口控制器的设计必不可少。其在系统中的位置如图2所示,主要任务是实现本地异步信号到ZBT SRAM同步信号的转换。

图2 接口控制器在系统中的位置

本设计中最重要的部分是数据和地址产生模块。控制信号模块可用简单的门电路实现。由ZBT SRAM时序知,在操作时数据信号需要比地址信号延迟两个时钟周期,设计中,利用D触发器来实现这一点。

地址线产生:将本地地址线经过一个触发器,在ZBT时钟信号上升沿锁存后,作为ZBT SRAM的地址信号;

数据线产生:ZBT SRAM中读写数据线是共用的,设计中,将数据信号设置为双向端口;在写操作时,数据信号比地址信号延迟两个时钟周期到达。为满足这一要求,将写入ZBT SRAM的数据信号在ZBT时钟信号上升沿触发后,经过3个触发器,输入到ZBT SRAM的数据线上;读操作时,数据将在地址信号有效的2个时钟周期后,出现在数据线上,被读回。

3 仿真验证

接口控制器在FPAG中实现,利用QUARTUS II软件设计FPGA程序,并仿真调试,得结果并分析如下。设计中对ZBT SRAM操作的地址从0x00000开始,向该单元写入的数据是0x4000,向地址0x00001单元写入的数据是0x4001,以此类推。

图3是对ZBT SRAM进行写操作的仿真结果。以地址为0x00001单元为例,从图可知,206.064ns时刻,ZBT时钟(ZBT_CLK)上升沿来临,此时,采样ZBT SRAM控制信号和地址信号,知将对0x00001单元执行写操作;两个时钟周期后(216.064ns),数据0x4001已到达控制器的数据输出线ZBT_DATA。由此可知,接口控制器符合ZBT SRAM写时序。

图3 交替读写ZBT SRAM接口控制器写操作仿真

图4是对ZBT SRAM进行读操作的仿真结果。从图可知,211.064ns时刻,ZBT_CLK上升沿来临,采样ZBT SRAM控制信号和地址信号,知将对0x00001单元执行读操作;读出的数据将在两个时钟周期之后到达数据线ZBT_DATA。从图4中知,两个时钟周期之后(221.064ns)数据线上的数据线状态为高阻(ZZZZ),可接受输入信号,不会引起总线冲突。由此证明了接口控制器符合ZBT SRAM读时序。

图4 交替读写ZBT SRAM接口控制器读操作仿真

由上述分析可知,本文设计的接口控制器完成了从CPU到ZBT SRAM之间信号的转换,在执行交替读写操作时,严格符合ZBT SRAM的读写时序。

4 应用验证

为了证明上述接口控制器的实用性,将上述接口控制器应用在任意波形发生器系统中,其系统实现框图如图5[6]所示。

图5 任意波形发生器系统框图

此任意波形发生器采样频率为200MHz,存储深度为256k×16bits,输出信号的最大频率可达80MHz。FPGA选用Altera公司的EP3C16F484芯片,最大工作频率为475MHz;ZBT SRAM选用ISSI公司的IS61NLP25618芯片,存储容量为256k×18bits,最大工作频率为250MHz;DAC选用AD公司16bits芯片AD9747,最大工作频率为250MHz。本任意波形发生器利用DDS原理实现[7],ZBT SRAM在该系统中完成DDS系统中相位查找表的功能,ZBT SRAM接口控制器在FPGA中实现。利用此方案设计的任意波形发生器所产生的波形如图6所示。

图6 利用ZBT SRAM实现的任意波形发生器产生的正弦波

实验证明,本文设计的ZBT SRAM接口控制器实现了ZBT SRAM与周围器件间的良好衔接。在任意波形发生器中的应用,更证明了该控制器良好的实用性。

[1]钱博,刘元涛,钟鸣.高速数字信号处理总的双缓冲ZBT SRAM控制器设计[J].沈阳理工大学学报,2008,27(2):40-43.

[2]John F. Wakerly.Digital Design Principles and Practices(Third Edition)[M].林生,金京林,葛红,王腾,译.北京:机械工业出版社,2005:548.

[3]何永泰,黄文卿.基于FPGA的ZBT SRAM接口控制器的设计[J].自动化技术与应用,2004,23(10):49-50.

[4]ZBT SRAM Controller Reference Design For Stratix & Stratix GX Devices[EB/OL].www.altera.com,2004,4.

[5]4Mb,PIPELINE ‘NO WAIT’STATE BUS SRAM[EB/OL].www.issi.com.

[6]高士友,胡学深,杜兴莉,刘 桥.基于FPGA的DDS信号发生器设计[J]. 计算机应用技术,2009,16:35-40.

[7]王文梁.100MSa/s任意波形发生器硬件设计[D].成都:电子科技大学,2007.

[8]刘佳,高杨,蔡林飞,周岩,李俊艳,梁正恺.全彩LED大屏全彩同步显示控制器系统的ZBT SRAM控制器设计[J].现代电子技术,2008(13):179-181.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!