格雷码指针实现异步FIFO设计翻译_石倩.doc_第1页
格雷码指针实现异步FIFO设计翻译_石倩.doc_第2页
格雷码指针实现异步FIFO设计翻译_石倩.doc_第3页
格雷码指针实现异步FIFO设计翻译_石倩.doc_第4页
格雷码指针实现异步FIFO设计翻译_石倩.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科毕业设计外文翻译专业名称 微电子学 学生学号 2012303531 学生姓名 石倩 指导教师 韩兵 完成时间 2016年5月 本科毕业设计英文翻译指导教师评阅意见学生姓名: 班级: 得分:请指导教师用红笔在译文中直接进行批改,并就以下几方面填写评阅意见,给出综合得分(满分按100分计)。1、专业术语、词汇翻译的准确性;2、翻译材料是否与原文的内容一致;3、翻译材料字数是否符合要求;4、语句是否通顺,是否符合中文表达习惯。中文译文:IOSR Journal of VLSI and Signal Processing (IOSR-JVSP)ISSN: 2319 4200, ISBN No. : 2319 4197 Volume 1, Issue 3 (Nov. - Dec. 2012), PP 32-37 高速AMBA AHB RoHS存储控制器基于格雷码指针的异步FIFO设计 G.Ramesh, V.Shivaraj Kumar, K.Jeevan ReddyDept. of Electronics and Communication, JNTUH, India摘要:FIFO设计的改进技术是将FIFO异步时钟域之间彼此异步的写指针和读指针进行比较,异步FIFO的指针比较技术使用较少的同步触发器来构建FIFO。这种方法需要额外的技术来正确地合成和分析设计,这个在本文中详细说明。为了提高FIFO的速度,本设计采用了组合二进制/格雷码计数器,保持了二进制脉动进位逻辑。这种FIFO设计用于实现AMBA AHB兼容内存控制器。这意味着,高级微控制器总线架构兼容微控制器。此次的MC设计主要包括SRAM和ROM存储器来进行系统内存的控制。关键词:AMBA,AHB,FIFO,格雷计数器,内存控制器一、介绍异步FIFO是指FIFO的设计中,其中数据值顺序地写入到使用一个时钟域控制的FIFO的缓冲器中,但数据值又通过另一个时钟域顺序地从相同的FIFO缓冲器中读出,其中两个时钟域是彼此异步的。设计异步FIFO一个常见的技术是使用格雷码指针将读写地址在生成异步FIFO满或空状态信号之前同步到相反的时钟域。一个有趣的和不同的方法关于FIFO满和空的产生是做一个指针异步比较,然后异步设置满或空状态位。本篇文章中的异步FIFO设计风格是进行异步指针比较和异步满和空标志,与这种风格的异步FIFO设计的重要细节都包括在内。本文实现的FIFO风格采用高效的格雷码计数器,它的实现将在下一节中描述。二、格雷码计数器一个格雷码计数器样式采用一组触发器,与伴随格雷码寄存器的格雷码到二进制码的转换,二进制增量,二进制码到格雷码转换。第二格雷码计数器样式,在本文中所描述的,使用两组寄存器,一个二进制计数器和第二捕获二进制到格雷码转换值。这种格雷码计数器的目的是利用二进制进位结构,简化了格雷码到二进制转换;减少组合逻辑,并增加格雷码计数器的频率上限。二进制计数器有条件递增的二进制值,它被传递给二进制计数器作为下个二进制计数值的两个输入,也被传递给简单二进制到格雷转换逻辑,由一个2输入的异或门每比特位。转换后的二进制值是下一个格雷计数值,并驱动格雷码寄存器输入。图1:对于n位格雷码计数器的框图 这个实现需要两次触发器的数目,但降低了组合逻辑,并且可以以更高的频率工作。在FPGA设计中,额外的触发器可用性很少是一个问题,因为FPGA中通常含有更多的触发器比任何设计都不会使用。在FPGA设计中,降低了组合逻辑的量常常转化为在速度上显著改善。在图一的框图的PTR输出是一个n位格雷码的指针。三、满/空状态判断首先满和空标志产生有两个问题,满和空的确认是基于读和写指针是相同的表示的事实。因此,空和满之间有一些东西需要联系起来。一个已知的解决这个问题的方法是对两个指针追加附加位,然后比较附加位,如果相等(FIFO为空),如果不相等(FIFO为满),读写指针其它位要保持相同。另一种解决方案是把地址空间划分为四个象限,解码两个计数器的两个MSB,以确定在两个地址指针相同的时候FIFO的满空状态。图2:FIFO将会处于满状态因为写指针落后于读指针一个象限,这表示如图2所示“可能会满”的情况,当这种情况发生时,图4的方向锁存器被置位。图3:因为RPTR一个象限落后于RPTRFIFO会空如图3所示如果写指针超前读指针中的一个象限,这表明了“可能会空”的情况,当这种情况发生时,图4的方向锁存器被复位。图4.FIFO方向象限检测电路当FIFO复位时,寄存器也被清除,以指示在FIFO“将空”(实际上,当两个指针复位时它是空的)。存储器置位和复位,消除了地址指针解码器的模糊性。4、 FIFO 本次FIFO的实现在于通过同步地址指针从一个时钟域到另一个时钟域获得满/空标志。 FIFO的实现方案是提供格雷码指针之间的异步比较,产生异步控制信号来置位和复位满和空触发器。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信号由相似的方式产生。图6.异步指针比较判断满/空状态4.2 重置FIFO FIFO的竞争事件发生在FIFO复位操作的地方。当FIFO复位,四个重要的事情发生在async_cmp模块和产生满/空标志模块(该async_cmp,wptr_full和RPTR空模块之间的连接如图7所示。(1)复位信号直接清除wfull标志。rempty标志不会被复位清零。(2)复位信号清除FIFO两个地址指针,指针比较模块指出指针是相等的。(3)复位清除了寄存器的值。(4)地址指针相等,标志寄存器清零,aempty_n位有效,即空标志有效。4.3 FIFO写入和FIFO写满第二个感兴趣的是当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模块图8.Asynchronous空和满标志4.4 FIFO读取和FIFO读空 当rptr增加到超过wptr进入下一个格雷码象限。寄存器再次置位(但它已经被设置)当rptr是在同一个象限内追赶到wptr。在这一时刻,图6的dirrst位被置为高电平,从而清除寄存器值。这意味着寄存器清零之前很久FIFO为空,并且不定时到aempty_n信号的判断是至关重要的。当rptr赶上了wptr(寄存器清零)。该aempty_n信号表示了rempty触发器。所述在一个FIFO读操作时会判断aempty_n信号,并且同步于rclk的上升沿;因此,空标志判断与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满和空关键时序路径使用本文中描述的异步比较技术,存在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.ArchitectureAHB-MC 为了提高速度,减少翻转次数格雷码FIFO被使用。FIFO的模拟结果显示出了格雷码计数器FIFO.实际上证明了格雷计数器的FIFO提供了高速的读出和写入到ROM,SRAM存储器.FIFO起着存储器控制器的作用,以避免记忆延迟。至关重要的是翻转次数减少了相对于传统的FIFO设计。AMBA内存控制器触发器的减少有两种类型的时钟域。1)AHB时钟域(HCLK)。2)内存时钟域(MCLK)。 同步必须要求对内存和AHB模块之间的正常通信。这里,格雷码计数器的FIFO提供了这两个结构域之间的同步。图11.Gray指针FIFO仿真图12.写入数据到存储器图13.读出数据从存储器6、 结论本文描述了一种有效的技术,以实现一个高速异步FIFO,使用由格雷码计数器寻址的双端口RAM设计,使用一个异步比较器,用于检测满/空状态。上述技术实现了满/空标志的异步判断,需要更多的努力来进行静态时序验证。使用的技术没有存储满/空状态标志,所以必须谨慎以确保这些标志的产生符合所需的时序要求,以识别该系统的其余部分的满/空判断。参考文献:1 Clifford E. Cummings, “Simulation and Synthesis Techniques for Asynchronous FIFO Design,” SNUG 2002 (Synopsys UsersGroup Conference, San Jose, CA, 2002) User Papers, March 2002, Section TB2, 2nd paper. Also available at /papers2 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. Also available /papers3 Clifford E. Cummings and Don Mills, “Synchronous Resets? Asynchronous Resets? I am So Confused! How Will I Ever KnowWhich to Use?” SNUG 2002 (Synopsys Users Group Conference, San Jose, CA, 2002) User Papers, March 2002, Section TB2, 1stpaper. Also available at /papers4 Frank Gray, Pulse Code Communication. United States Patent Number 2,632,058. March 17, 1953.5 John OMalley, Introduction to the Digital Computer, Holt, Rinehart and Winston, Inc., 1972, pg. 190.6 Peter Alfke, “Asynchronous FIFO in Virtex-II FPGAs,” Xilinx techXclusives, downloaded /support/techXclusives/fifo-techX18.htm7 “Prime Cell AHB SRAM/NOR Memory Controller”, Technical Reference Manual, ARM Inc. Building an AMBA AHB compliantMemory Controller Hu Yueli1,2, Yang Ben1,2 Key Labora

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论