前言

在数据处理的一个周期内,为了避免同时对RAM读和写,因此利用乒乓操作将读写分开,在一个周期内仅对一片RAM读,对另一片RAM写,下个周期后再换回来。因此,实际上一片RAM的操作周期是两个数据处理周期。

代码释义

scyc :数据处理周期
exsig :ram切换信号
wsig :ram写信号
rsig : ram读信号
addr1 :ram1读写地址
addr2 :ram2读写地址
dat_i : ram写数据
dat_o :模块输出数据
时序图如下所示,在每个wsig和rsig信号来时,在exsig为高电平时写RAM1、读RAM2,当exsig为低电平时,写RAM2.读RAM1,由此避免了在一个scyc周期内对一片RAM进行读写。

具体实现代码如下:

always@(posedge clk,negedge rst_n)if(!rst_n) beginw1clk<=1'b0;w2clk<=1'b0;r1clk<=1'b0;r2clk<=1'b0;endelse if(exsig==1'b1)if(wsig)w1clk<=1'b1;else if(rsig)r2clk<=1'b1;else beginw1clk<=1'b0;r2clk<=1'b0;endelse if(exsig==1'b0)if(wsig)w2clk<=1'b1;else if(rsig)r1clk<=1'b1;else beginw2clk<=1'b0;r1clk<=1'b0;endelse beginw1clk<=1'b0;w2clk<=1'b0;r1clk<=1'b0;r2clk<=1'b0;end

RAM的读写地址是在每次读信号后发生变化

always@(posedge clk,negedge rst_n)if(!rst_n) beginaddr1<=5'd0;addr2<=5'd0;endelse if(r1clk)addr1<=addr1+1'b1;else if(r2clk)addr2<=addr2+1'b1;

最终结果如下

稍后我会把链接放上来,是quartus 18.1工程文件,包括testbench,也可以把verilog文件添加到自己的工程中去。代码下载地址:
https://download.csdn.net/download/changshengxiao/11785262

FPGA两片RAM的乒乓操作相关推荐

  1. FPGA基于双端口RAM的乒乓操作

    如果需要重读,需要用ram,如果不需要重读的话就用FIFO 双buffer不太好实现错误重传机制!!!! 双buffer作用: 1.跨时钟域 2.完成数据位宽转换 3.完成数据缓冲 双buffer缓冲 ...

  2. 最详细的FPGA的双口RAM乒乓操作与数据处理实例(第一部分)

    首先说明一下 代码都是自己完全手写的,如果有人看了我的代码,欢迎指出不足,写的不好也不要嘲笑,一个字一个字写出来的. - 1.目的 测试双口RAM的乒乓操作的功能,研究RAM输入输出操作,以及乒乓操作 ...

  3. 乒乓RAM基本原理和操作介绍

    引言      乒乓操作是一个非常常用的数据流控制处理技巧,乒乓RAM源于乒乓操作的基本原理,本节将对乒乓RAM作一个简单的介绍,也作为平常学习笔记的一个记录,等忘记后可以回来复习复习. 主要内容 乒 ...

  4. (19)FPGA乒乓操作

    (19)FPGA乒乓操作 1.1 目录 1)目录 2)FPGA简介 3)Verilog HDL简介 4)FPGA乒乓操作 5)结语 1.2 FPGA简介 FPGA(Field Programmable ...

  5. 芯片设计概念:乒乓操作,串并转换,流水线操作

    乒乓操作 乒乓操作"是一个常常应用于数据流控制的处理技巧.通过乒乓操作实现低速模块处理高速数据的实质是:通过 DPRAM 这种缓存单元实现了数据流的串并转换,并行用 " 数据预处理 ...

  6. ZYNQ之FPGA 片内RAM读写测试实验

    文章目录 前言 一.添加RAM IP核 二.编写测试程序 三.添加ILA 四.分配管脚 五.Simulator仿真 六.硬件调试 总结 前言 本实验的主要内容是介绍如何使用 FPGA内部的RAM以及程 ...

  7. IIC总线随机读VHDL实现FIFO实现乒乓操作HM62256测试定制IP核

    博客简介 本博客是本人大二上学期数字系统实验硬件描述3的内容,在此记录以防丢失.目录如下: IIC串行总线时序分析 VHDL编程设计专门状态机与2片异步FIFO来实现乒乓操作 设计HM62256测试电 ...

  8. Quartus 平台 FPGA 片内 RAM 使用

    Quartus 平台 FPGA 片内 RAM 使用 本文将以 Quartus 自带的 RAM:2-PORT 为例,介绍 EP4CE6E22C8 On Chip Memory 的使用 一.在 IP Ca ...

  9. FPGA 单端口RAM IP核使用 vivado仿真

    一.各类存储器简介 ROM:只读,只有读接口(读地址.读数据) RAM:可读可写,有读接口(读地址.读数据)和写接口(写使能.写数据.写地址),默认任何时刻都能读,没有读使能,大小和位宽查手册,需要持 ...

  10. 【ZYNQ Ultrascale+ MPSOC FPGA教程】第六章 FPGA片内RAM读写测试实验

    原创声明: 本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处. 适用于板卡型号: AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E ...

最新文章

  1. html页面调用ico图标,如何在HTML中使用图标字体 - icon font?
  2. 学习数据结构 二叉查找树(binary search tree)
  3. Spring Security 实战干货:OAuth2授权回调的核心认证流程
  4. IE下checkbox或radio隐藏bug
  5. cpickle安装_Py之h5py:Python库之h5py库的简介、安装、使用方法详细攻略
  6. Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】
  7. 美将遣返庇护申请者至墨西哥 弱势人士有望豁免
  8. python数据挖掘学习笔记】十三.WordCloud词云配置过程及词频分析
  9. ASP.NET面试题 (转)
  10. iOS捕获异常的处理
  11. 游戏设计亦或课件设计
  12. VMware vCenter Server安装与配置
  13. NodeJS笔记: 文件操作大全
  14. 追剪算法C语言,基于PLC的追剪控制系统设计.doc
  15. linux下socket编程实例
  16. SQL注入之数据库判断
  17. Javamail配置阿里云邮箱发送邮件
  18. 2020年9月程序员工资统计,平均14469元
  19. AR互动大屏丨Add_自动循环动画、遮挡效果的实现
  20. Android自动伸展动画,Android:展开/折叠动画

热门文章

  1. Kubernetes之Secrets
  2. MacBook Air 做双系统,以及恢复MAC系统
  3. 【iOS-iap防护】验证用户付费收据!拒绝iap Cracker!拒绝iap Free!让iphone越狱用户无从下手!(作者新浪微博: @李华明Himi )
  4. iOS 实现3Dtouch
  5. FPGA同步复位、异步复位、异步复位同步释放
  6. 如何通过编程打开一个网页
  7. 山东大学项目实训设计系统(四)管理员端
  8. 一梦三四年——国产MOBA网游的巅峰
  9. 交中IB课程中心2022届早申阶段录取成果汇总
  10. 修行漫谈——说说中年危机