乒乓ram介绍.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
乒乓ram介绍

乒乓ram简介 在现在的数据采集分析系统中,随着采集数据的速度剧增,每次都对这些庞大的数据量直接进行分析,这将会占用很多的CPU,使得CPU不能及时的去做其它的事情。我们可以在传输这些数据的时候提供适当的通道,建立一个缓冲电路,来实现数据流的无缝缓存和处理,提高系统的处理速度和性能。输入输出缓存电路一般有三种结构和形式: ①双口ram结构:双口RAM是在一个SRAM存储器上具有两套完全独立的数据线、地址线、读写控制线、并允许两个独立的系统同时对该存储器进行随机访问。 ②FIFO结构:FIFO(First In First Out)是一种先进先出的数据缓存器,③乒乓ram结构:这种结构是将输入数据流通过输入数据选择单元等时地将数据流分配到两个ram缓冲区。通过两个ram读和写的切换,来实现数据的流水式传输。 综上所述,乒乓缓存结构实际上相当于一个双口RAM,但它与普通的双口RAM又有所不同。普通双口RAM是单个存储体构成的IC,乒乓ram结构则由包含两个相互独立存储体的多片IC构成,从而使其在结构、速度、容量等方面具有更大的灵活性;若双口在访问同一地址时,普通双口SAM指向的必定是存储体内的同一存储单元,而乒乓ram结构则分别指向属于SRAM1和SRAM2的两个不同的存储单元,更易操作。乒乓缓存结构的上述特点决定了可以相对较便宜的高速大容量SRAM、外围逻辑器件构成比双口RAM以及高速FIFO更适合视频处理的系统所需要的缓冲存储器。 乒乓ram结构的上述特点决定了可以相对较便宜的高速大容量RAM、外围逻辑器件构成比双口RAM以及高速FIFO更适合大数据传输系统所需要的缓冲存储器。 乒乓ram控制原理 乒乓操作是一个常用的数据流控制处理技巧。典型的乒乓操作结构如图所示。 乒乓操作的处理流程为:输入数据流通过输入数据选择单元将数据流等时分配到两个数据缓冲区,数据缓冲模块。在第一个缓冲周期,将输入的数据流缓存到数据缓冲模块;在第2个缓冲周期,通过输入数据选择单元的切换,将输入的数据流缓存到数据缓冲模块,同时将缓存的第1个周期数据输数据选择单元在第3个缓冲周期通过输入数据选择单元的再次切换,将输入的数据流缓存到同时将缓存的第2个周期的数据输数据选择单元。如此循环。 乒乓操作的最大特点是通过“输入数据选择单元”和“输出数据选择单元”按节拍、相互配合的切换,将经过缓冲的数据流没有停顿地送到“数据流运算处理模块”进行运算与处理。把乒乓操作模块当做一个整体,站在这个模块的两端看数据,输入数据流和输出数据流都是连续不断的,没有任何停顿,因此非常适合对数据流进行流水线式处理。所以乒乓操作常常应用于流水线式算法,完成数据的无缝缓冲与处理。 图2 乒乓ram模块示意图 图2为乒乓ram的模块示意图。先在时钟控制下输入两路信号,经过粗略处理,产生两路数据线和地址线,以及两个ram模块的控制线,分别控制两个ram的读和写,并且两个ram的读(或者写)互锁,即一个若处于读状态,则另一个处于写状态。最后把另个ram保存的数据经过一个二选一模块输出,分时复用,产生在时间上连续的数据流输出。 乒乓ram的设计流程 乒乓ram的主要外围接口包括输入部分in0_addr_wr[9:0],in1_addr_wr[9:0];输出部分包括ram模块的输出out0[15:0],out1[15:0],以及两个选择后的最终输出out[15:0]。其大概流程图如下: 图3 乒乓ram设计流程图 其中,ram是调用IP核产生的,这可以直接选择FPGA自带的ram器件,从而极大的减少了寄存器组的使用,提高了FPGA的利用率。 仿真结果 图3是仿真的总体波形图 图4 仿真波形图 调用IP核产生的ram要存满数据后才会逐步读出数据,即在下一个地址周期才会读出该ram中保存的数据。开始ram中无数据,此地址周期内输出0;第二个地址周期读出ram1,也是0;第三个地址周期读出ram0,第四个周期读出ram1,可以看出in0和in1的数据逐渐输出,并且在乒乓信号切换时数据流也相应切换,衔接得刚好。充分说明了乒乓ram实现大量高速数据流的无缝缓冲和处理。 输入数据流选择单元 2选1 输出数据流选择单元 2选1 ram A ram B ram B spo d d a ram A we clk a we clk spo 2选1 out 数据与接口处理 in1 in2 clk rst 准备,程序复位 产生两个ram,及其读写切换标志信号pingpang pingpang==1? wr0=1,wr1=0,产生ram0地址线,写ram0,读ram1 Yes No wr1=1,wr0=0,产生ram0地址线,写ram0,读ram1 产生ram1数据输出 产生ram0数据输出 经过二选一模块产生连

您可能关注的文档

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档