一种基于ASIC的高速异步FIFO设计*
2011-08-20丁彬勇白雪飞
网络安全与数据管理 2011年22期
丁彬勇,白雪飞,黄 鲁
(中国科学技术大学 电子科学与技术系 集成电路实验室,安徽 合肥 230027)
在现代集成电路设计中,随着集成度的不断提升,常常会遇到数据缓存与不同时钟域之间数据传递的问题,在不同系统间如不能设计出有效的接口单元,将会产生数据传输过程中的复写、丢失和无效数据的读入等错误,同时亚稳态现象也会出现在不同时钟域之间的数据传递过程中。此时,如何实现数据高速有效的传输并克服跨时钟域间数据传递时的亚稳态成为一个关键点问题。由于异步FIFO (First In First Out)能够有效解决不同传输速度和不同时钟域之间数据传递的问题,异步FIFO在实际电路中得到广泛的运用。本文介绍一种基于ASIC的高速异步FIFO的设计和实现方案。
1 异步FIFO的基本功能和结构

异步FIFO指在不同时钟域之间,由一个时钟域写入,待写入数据稳定之后,由另一个时钟域读出。图1为异步FIFO的基本结构框图,FIFO的存储单元采用双端口RAM的解决方式,同步模块SYNC完成异步读写时钟域之间指针信号的同步过程,将同步前后的指针送到 wrfull、rdempty模块,产生 wrfull、rdempty信号,从而构成一个完整的FIFO。

表1 FIFO各信号列表
2 异步信号同步的关键问题
在不同时钟域之间传递的信号,由于两个时钟之间没有清楚的相位和频率关系,很容易出现亚稳态现象。亚稳态是指触发器无法在某个规定的时间段内达到一个可以确认的状态。当一个触发器进入亚稳态时,触发器会输出一些中间电平,或者可能处于振荡状态。……
登录APP查看全文
