格雷码指针实现异步fifo设计翻译_石倩

上传人:mg****85 文档编号:34524631 上传时间:2018-02-25 格式:DOC 页数:9 大小:895.18KB
返回 下载 相关 举报
格雷码指针实现异步fifo设计翻译_石倩_第1页
第1页 / 共9页
格雷码指针实现异步fifo设计翻译_石倩_第2页
第2页 / 共9页
格雷码指针实现异步fifo设计翻译_石倩_第3页
第3页 / 共9页
格雷码指针实现异步fifo设计翻译_石倩_第4页
第4页 / 共9页
格雷码指针实现异步fifo设计翻译_石倩_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《格雷码指针实现异步fifo设计翻译_石倩》由会员分享,可在线阅读,更多相关《格雷码指针实现异步fifo设计翻译_石倩(9页珍藏版)》请在金锄头文库上搜索。

1、本科毕业设计外文翻译专业名称 微电子学 学生学号 2012303531 学生姓名 石倩 指导教师 韩兵 完成时间 2016 年 5 月 本科毕业设计英文翻译指导教师评阅意见学生姓名: 班级: 得分:请指导教师用红笔在译文中直接进行批改,并就以下几方面填写评阅意见,给出综合得分(满分按 100 分计) 。1、专业术语、词汇翻译的准确性;2、翻译材料是否与原文的内容一致;3、翻译材料字数是否符合要求;4、语句是否通顺,是否符合中文表达习惯。中文译文:IOSR Journal of VLSI and Signal Processing (IOSR-JVSP)ISSN: 2319 4200, ISBN

2、 No. : 2319 4197 Volume 1, Issue 3 (Nov. - Dec. 2012), PP 32-37 www.iosrjournals.org高速 AMBA AHB RoHS 存储控制器基于格雷码指针的异步 FIFO 设计G.Ramesh, V.Shivaraj Kumar, K.Jeevan ReddyDept. of Electronics and Communication, JNTUH, India摘要:FIFO 设计的改进技术是将 FIFO 异步时钟域之间彼此异步的写指针和读指针进行比较,异步 FIFO 的指针比较技术使用较少的同步触发器来构建FIFO。这种

3、方法需要额外的技术来正确地合成和分析设计,这个在本文中详细说明。为了提高 FIFO 的速度,本设计采用了组合二进制/格雷码计数器,保持了二进制脉动进位逻辑。这种 FIFO 设计用于实现 AMBA AHB 兼容内存控制器。这意味着,高级微控制器总线架构兼容微控制器。此次的 MC 设计主要包括 SRAM 和 ROM 存储器来进行系统内存的控制。关键词:AMBA,AHB,FIFO,格雷计数器,内存控制器一、介绍异步 FIFO 是指 FIFO 的设计中,其中数据值顺序地写入到使用一个时钟域控制的 FIFO 的缓冲器中,但数据值又通过另一个时钟域顺序地从相同的FIFO 缓冲器中读出,其中两个时钟域是彼此

4、异步的。设计异步 FIFO 一个常见的技术是使用格雷码指针将读写地址在生成异步 FIFO 满或空状态信号之前同步到相反的时钟域。一个有趣的和不同的方法关于 FIFO 满和空的产生是做一个指针异步比较,然后异步设置满或空状态位。本篇文章中的异步 FIFO 设计风格是进行异步指针比较和异步满和空标志,与这种风格的异步 FIFO 设计的重要细节都包括在内。本文实现的 FIFO 风格采用高效的格雷码计数器,它的实现将在下一节中描述。二、格雷码计数器一个格雷码计数器样式采用一组触发器,与伴随格雷码寄存器的格雷码到二进制码的转换,二进制增量,二进制码到格雷码转换。第二格雷码计数器样式,在本文中所描述的,使

5、用两组寄存器,一个二进制计数器和第二捕获二进制到格雷码转换值。这种格雷码计数器的目的是利用二进制进位结构,简化了格雷码到二进制转换;减少组合逻辑,并增加格雷码计数器的频率上限。二进制计数器有条件递增的二进制值,它被传递给二进制计数器作为下个二进制计数值的两个输入,也被传递给简单二进制到格雷转换逻辑,由一个 2输入的异或门每比特位。转换后的二进制值是下一个格雷计数值,并驱动格雷码寄存器输入。图 1:对于 n 位格雷码计数器的框图这个实现需要两次触发器的数目,但降低了组合逻辑,并且可以以更高的频率工作。在 FPGA 设计中,额外的触发器可用性很少是一个问题,因为FPGA 中通常含有更多的触发器比任

6、何设计都不会使用。在 FPGA 设计中,降低了组合逻辑的量常常转化为在速度上显著改善。在图一的框图的 PTR 输出是一个 n 位格雷码的指针。三、满/空状态判断首先满和空标志产生有两个问题,满和空的确认是基于读和写指针是相同的表示的事实。因此,空和满之间有一些东西需要联系起来。一个已知的解决这个问题的方法是对两个指针追加附加位,然后比较附加位,如果相等(FIFO 为空) ,如果不相等(FIFO 为满) ,读写指针其它位要保持相同。另一种解决方案是把地址空间划分为四个象限,解码两个计数器的两个 MSB,以确定在两个地址指针相同的时候 FIFO 的满空状态。图 2:FIFO 将会处于满状态因为写指

7、针落后于读指针一个象限,这表示如图2 所示“可能会满”的情况,当这种情况发生时,图 4 的方向锁存器被置位。图 3:因为 RPTR 一个象限落后于 RPTRFIFO 会空如图 3 所示如果写指针超前读指针中的一个象限,这表明了“可能会空”的情况,当这种情况发生时,图 4 的方向锁存器被复位。图 4.FIFO 方向象限检测电路当 FIFO 复位时,寄存器也被清除,以指示在 FIFO“将空” (实际上,当两个指针复位时它是空的) 。存储器置位和复位,消除了地址指针解码器的模糊性。4、FIFO本次 FIFO 的实现在于通过同步地址指针从一个时钟域到另一个时钟域获得满/空标志。 FIFO 的实现方案是

8、提供格雷码指针之间的异步比较,产生异步控制信号来置位和复位满和空触发器。FIFO 的框图见图 5。图 5. FIFO2 异步的指针比较逻辑4.1 异步满/空标志在图 6 中所示的 async_cmp 模块:,aempty_n 和 afull_n 是异步解码信号。aempty_n 信号在 rclk 的上升沿有效,在 wclk 的上升沿无效。同样,afull_n 信号有效在 wclk 的上升沿,在 rclk 上升沿无效。空信号将被用于停止下一个读操作,aempty_n 的上升沿与读时钟是保持异步的,但下降沿与读时钟同步。这是在产生 rempty 的两级同步器完成的。wfull 信号由相似的方式产生

9、。图 6.异步指针比较判断满/空状态4.2 重置 FIFOFIFO 的竞争事件发生在 FIFO 复位操作的地方。当 FIFO 复位,四个重要的事情发生在 async_cmp 模块和产生满/空标志模块(该async_cmp,wptr_full 和 RPTR 空模块之间的连接如图 7 所示。(1)复位信号直接清除 wfull 标志。rempty 标志不会被复位清零。(2)复位信号清除 FIFO 两个地址指针,指针比较模块指出指针是相等的。(3)复位清除了寄存器的值。(4)地址指针相等,标志寄存器清零,aempty_n 位有效,即空标志有效。4.3 FIFO 写入和 FIFO 写满第二个感兴趣的是当

10、 FIFO 写动作发生时,地址指针 wptr 递增。在这一点上,FIFO 指针不再相等,所以 aempty_n 信号无效,控制 REMPTY 信号的触发器被置为无效。在 rclk 两个上升沿后,FIFO 将去判断 rempty 信号。因为aempty_n 的发生在 walk 的上升沿,并且因为 rempty 信号由 rclk 时钟判断。如图两个触发器同步器:8 需要除去亚稳态来产生稳定的 rempty 触发器。FIFO 操作事件发生时,wptr 增加到超出 rptr 进入下一格雷码象限,寄存器便被复位。图 7.async_cmp 模块连接到 rptr_empty 和 wptr_full 模块图

11、 8.Asynchronous 空和满标志4.4 FIFO 读取和 FIFO 读空当 rptr 增加到超过 wptr 进入下一个格雷码象限。寄存器再次置位(但它已经被设置)当 rptr 是在同一个象限内追赶到 wptr。在这一时刻,图 6的 dirrst 位被置为高电平,从而清除寄存器值。这意味着寄存器清零之前很久 FIFO 为空,并且不定时到 aempty_n 信号的判断是至关重要的。当 rptr 赶上了 wptr(寄存器清零) 。该 aempty_n 信号表示了 rempty 触发器。所述在一个 FIFO 读操作时会判断 aempty_n 信号,并且同步于 rclk 的上升沿;因此,空标志

12、判断与 rclk 同步。最后,当一个 FIFO 进行写操作时,wptr 递增。在这一点上,FIFO 指针不再相等。所以 aempty_n 信号不进行判断,清除 rempty 的预置控制触发器。在rclk 两个上升沿后,FIFO 将去判断 rempty 信号。因为 aempty_n 的判断发生在 wclk 上升沿并且因为 rempty 信号由 rclk 控制,两个触发器同步。Asynchronous FIFO Design with Gray code Pointer for High Speed AMBA AHB Compliant Memory4.5 满和空关键时序路径使用本文中描述的异步比

13、较技术,存在 rempty 和 wfull 信号的产生相关联的关键时序路径。空关键时序路径,在图 9 所示:(1)由 rclk 到 Q 进行递增的 rptr, (2)rptr 到 wptr 的比较逻辑, (3)比较器输出的锁存,生成aempty_n 信号标志, (4)预置 rempty 信号, (5)由 REMPTY 信号驱动各逻辑,和(6)在 rclk 域满足任何触发器的设置时间的要求,得到的信号定时中的任何逻辑。这个关键时序路径具有用于 wfull 信号的生成,对称等效关键时序路径:见图 9。图 9.判断满/空状态的关键时序路径五、实现 AMBA AHB 内存控制器图 10.Archite

14、ctureAHB-MC为了提高速度,减少翻转次数格雷码 FIFO 被使用。FIFO 的模拟结果显示出了格雷码计数器 FIFO.实际上证明了格雷计数器的 FIFO 提供了高速的读出和写入到 ROM,SRAM 存储器.FIFO 起着存储器控制器的作用,以避免记忆延迟。至关重要的是翻转次数减少了相对于传统的 FIFO 设计。AMBA 内存控制器触发器的减少有两种类型的时钟域。1)AHB 时钟域(HCLK) 。2)内存时钟域(MCLK) 。同步必须要求对内存和 AHB 模块之间的正常通信。这里,格雷码计数器的 FIFO 提供了这两个结构域之间的同步。图 11.Gray 指针 FIFO 仿真图 12.写

15、入数据到存储器图 13.读出数据从存储器6、结论本文描述了一种有效的技术,以实现一个高速异步 FIFO,使用由格雷码计数器寻址的双端口 RAM 设计,使用一个异步比较器,用于检测满/空状态。上述技术实现了满/空标志的异步判断,需要更多的努力来进行静态时序验证。使用的技术没有存储满/空状态标志,所以必须谨慎以确保这些标志的产生符合所需的时序要求,以识别该系统的其余部分的满/空判断。参考文献:1 Clifford E. Cummings, “Simulation and Synthesis Techniques for Asynchronous FIFO Design,” SNUG 2002 (S

16、ynopsys UsersGroup Conference, San Jose, CA, 2002) User Papers, March 2002, Section TB2, 2nd paper. Also available at Clifford E. Cummings, “Synthesis and Scripting Techniques for Designing Multi-Asynchronous Clock Designs,” SNUG 2001(Synopsys Users Group Conference, San Jose, CA, 2001) User Papers, March 2001, Section MC1, 3rd paper. Al

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 教育/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号