您好,欢迎来到易妖游戏网。
搜索
您的当前位置:首页基于FPGA双RAM乒乓操作的数据存储系统的研究-图文(精)

基于FPGA双RAM乒乓操作的数据存储系统的研究-图文(精)

来源:易妖游戏网
科技信息。机械与电子o2021年第2l期基于FPGA双RAM乒乓操作的 数据存储系统的研究 钱黄生1夏忠珍z

11。中国电子科技集团公司第四十一研究所山东青岛266555;2.南京立汉化学有限公.-3江苏南京211102l

【搐要】本文阐速了在对实时性要求较高,而对数据存储深度要求不高的数据采集系统中,用FPGA构建双RAM来乒乓存储数据的方法,重点介绍了乒乓操作的控制方法。本方法在XILINX9.1软件中通过时序仿真。并且通过XC2VP20验证了本方法完全能够满足设计的要求。

【关键词】FPGA;KAM;乒乓操作 0引言

经过70年的不断开展,FPGA已由当初的1200门开展成为今天 的百万门级。通过不断更新优化产品架构和生产工艺,实现了更多的 逻辑单元、更高的性能、更低的单位本钱和功耗【11。 本文用到的FPGA是xilinx公司Virtex-Il Pro家族的xc2vp20芯 片,它包含2个POWER PC处理器.20880个cell.多达290KB的分布 式RAM以及88个18KB的Block RAM嘲。由于本系统的存储深度不 大,所以采用FPGA片内资源来构建RAM。这样效率更高.且使用方 便,而且还可以防止板级信号干扰。既节省了印制板空间又节约了成 本。

仅供学习参考

1乒乓操作原理

乒乓操作口棚是种经常应用于数据流控制的处理方法。图l是它的 典型操作示意图。

乒乓操作的处理流程为:输人数据流通过“输入数据选择单元〞将 数据流等时分配到两个数据缓冲区.数据缓冲模块选择双口RAM (DPRAM或单r】RAM,FIFO等。在第一个周期,将输入的数据流缓存 到。数据暂存单元1〞:在第2个周期,通过“输人数据选择单元〞的切 换,将输入的数据流缓存到“数据暂存单元2〞,同时将“数据暂存单元 1〞缓存的第1个周期数据通过“输出数据选择单元〞的选择。输送到 “数据处理单元〞即上位机凄走进行处理;在第3个缓冲周期通过“输 人数据选择单元〞的再次切换,将输入的数据流缓存到“数据暂存单元 1〞,同时将“数据暂存单元2〞缓存的第2个周期的数据通过“输出数 据选择单元〞切换,输送到“数据处理单元〞进行运算处理。如此循环。 输入输出数 数据据

数据刊l(D骱PRA甑M1} 选择选择处 单元单元理 堕 仅供学习参考

2选l

I数篙DPA单M亍2 P一

2选l了E 图1典型乒乓操作操作示意图

乒乓操作的最大特点是通过“输入数据选择单元〞和“输出数据选择单元〞按节拍、相互配合的切换,将经过缓冲的数据流不断输送到“数据流运算处理模块〞进行运算与处理。将乒乓操作模块作为一个整体,通过观察此模块两端的数据,发现输入数据流和输出数据流都是连续不断的,因此非常适合对数据流进行流水线式处理。所以乒乓操作常常应用于流水线式算法.完成数据的无缝缓冲与处理。本文采用这种方法是为了实现采样后的数据能被较连续地输送人上位机进行处理,显示波形等。

2FPGA仞化双口RAM

Xilinx公司为相应的FPGA器件提供了很多的IP核,可根据需要调用来直接使用。例化双口M时.可以选择Block RAM来例化4Kx 32bit的双口RAM。

component dpram port(

addra:IN std_logie_VECTOR(1l downto0; addrb:IN std_logic—VECTOR(1l downto o; clka:IN std_logic; cikb:IN std_logie;

dina:IN std—logic_VECTOR(13downto o;

仅供学习参考

dinb:IN std_logic—VECTOR(I3downto o; doutb:OUT std—logic_VECTOR(13downto o; erla:IN std_logic; enb:IN std_logic; w能:IN std_logie; web:IN std—logic; end component;

双端¨RAM两个端口完全,支持宽度1到256bit,深度2到IM字的数据。双端口RAM由两套地址线、控制线和数据线组成.分别与两端的系统相连。本文双端口RAM一端连接AD芯片的数据输出端,另一端通过PCI9054与L位机CPU交换数据。A端口配置为只写模式,AD芯片准换输ffj的数据由其写入。B端订配置为读写模式,可以方便验证出读出数据的正确性。同时每个端口都具有使能和读写管脚。Addra和addrb是地址线.elka和clkb是时钟。dina和dinb是A、B 端几输入的数据.doutb是B端Ll输出的数据,ella和errb是A、B端口的使能信号,wea和web是A、B端u的读写信号。

3逻辑实现

数据2选l单元选择切换两块RAM的地址线、读写线以及使能线。对于单块双端n RAM,A端¨输入数据时,地址线即为计数器产生的连续地址,输入数据就是AD芯片转换后的数宁信号。计数器记到数据写满RAM空间时,停止计数。此时等待CPU读取,此时另外一块RAM正在输出数据。CPu通过其B端【J读出数据。伞部完成后再进行轮换。对第2片RAM进行写撩作.读取第1块R^M内数据

(aJ读写梅供信}仿真田

仅供学习参考

支奠支支

Ij}.。?Ij气j囊曼: :::: .:・’

!j!?■j。!。j:t’t.1_. ● ‘● :::: ● ● ● ● 。‘,:.:.: ● ● ●

・:.I・●、‘ ::

t’≥‘j?。≥。000誓‘苫’j i0寸’0 : 仅供学习参考

(b实际采样敷据波形田 圈2仿真与实际采样数据波形图

数据流进行无缝传输时,在理想的乒乓读写时序下,此时RAM为非读即写状态。读写切换控制信号较简单,但是采样率为20MHz以及系统总线为CPCI情况下,CPU读取数据的时间远小于FPGA内部双口RAM写入相同数据的时间。于是可能导致以下情况:A端口输人数

据后,CPU读取另外一RAM数据还未完成,即出现等n:转第96页

基于FPGA双RAM乒乓操作的数据存储系统的研究

仅供学习参考

作者:钱黄生, 夏忠珍

作者单位:钱黄生(中国电子科技集团公司第四十一研究所,山东,青岛,266555, 夏忠珍(南京立汉化学,江苏,南京,211102

刊名: 科技信息

英文刊名:SCIENCE & TECHNOLOGY INFORMATION 年,卷(期:2021(21 参考文献(4条

1.冯远辉.FPGA的现状及展望.电子设计应用,2006, 2.

2.Xilinx Corp.Virtex-ⅡPro and Virtex-Ⅱ Pro X Platform FPGAs.2005.10. 3.李春杰.李旭春.FPGA设计的思想与方法[J].电测与仪表,2005,42:470. 4.王志,罗新民.基于乒乓操作的异步FIFO设计及VHDL实现[J].电子工程师,2005,3l(6.

本文链接: ://d.g.wanfangdata /Periodical_kjxx202121694.aspx

仅供学习参考

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- vipyiyao.com 版权所有 湘ICP备2023022495号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务