相关文章
1.Altera的单时钟同步FIFO,带almost_empty和almost_full端口https://blog.csdn.net/qq_39485231/article/details/105345164
2.Altera的单时钟同步FIFO,带empty和full端口https://blog.csdn.net/qq_39485231/article/details/105351146
3.Altera的异步FIFO,读写用同频不同相时钟https://blog.csdn.net/qq_39485231/article/details/105352597
4.Altera的异步FIFO学习心得https://blog.csdn.net/qq_39485231/article/details/105364241

Altera的单时钟同步FIFO,带empty和full端口

  • 程序
  • 单时钟同步FIFO,带empty和full端口
  • 1. full置位时
  • 2. empty置位时
  • 3. 总结

程序

程序可以参考我的另外一篇文章: Altera的单时钟同步FIFO,带almost_empty和almost_full端口
只需要修改一下顶层文件的端口连接,和删除FIFO的部分接口。

单时钟同步FIFO,带empty和full端口

首先让Quartus根据我们的需要生成FIFO

1. full置位时

这里我们来看用ModelSim仿真的结果:

可以从图中发现当usedw等于0后,立马把full置位。置位一个时钟周期后,wrreq被拉低,rdreq被拉高,这也与程序的定义吻合。


大家可以发现一个问题,当usedw记到255之后,再写入一个就变成0了,这也是FIFO的特点。想知道详细的原因可以查阅相关资料。在仿真图可以看到当usedw为0,即FIFO写满后,wrreq还持续了一个T,所以这个时候仍然在写入,但是数据是没有写进去的。这也是为什么有almost_empty和almost_full端口的意义

2. empty置位时

这里我们来看用ModelSim仿真的结果:

可以从图中发现当usedw等于0后,立马把empty置位。置位一个时钟周期后,wrreq被拉高,rdreq被拉低,这也与程序的定义吻合。


大家可以发现一个问题,在仿真图可以看到当usedw为0,即FIFO读空后,rdreq还持续了一个T,所以这个时候仍然在读出,数据是保持上次的输出值,但其实这个时候读出的是无效数据,因为FIFO已经空了。

3. 总结

  1. 单时钟同步FIFO在读写时都有一个时钟周期延时,即wrreq置位后不能立马写入数据,一个T后,数据才会成功写进FIFO;当rdreq置位后不能立马读出数据,一个T后,数据才会成功从FIFO中读出,可以发现和RAM的机制类似
  2. usedw和写入、读出数据是同步更新的,当读出最后一个数据,usedw同时也复位为0,写入时同理。当FIFO写满时usedw是为0的,当FIFO读空时,usedw也是0,但两个0代表值不同.
  3. 这个程序在读数据时,当读空FIFO之后还多读了一个T,这个读出是错误的数据; 这个程序在写数据时,当写满FIFO之后还多写了一个T,此时数据并没有写入。
    解决办法1:添加almost_empty和almost_full端口,用这两个端口控制起始,而不用empty和full信号!!!以后写程序尽量都用almost_empty和almost_full端口
    解决办法2:直接用usedw来控制,虽然和almost_empty和almost_full的机制一致,但是各有优缺点,根据不同的场合进行选择。
    以后写程序不用empty和full信号控制FIFO的读写起始
  4. 在向FIFO写数据时,他的输出端q会保持最后一次输出的值。
  5. full置位是在FIFO写满,usedw变为0的时刻,此时记满溢出;empty置位是在FIFO读空,usedw变为0的时刻。

Altera的单时钟同步FIFO,带empty和full端口相关推荐

  1. 同步(单时钟)、异步(双时钟)FIFO的Verilog HDL实现(含Testbench仿真代码)

    目录 一.FIFO的定义和应用场景 二.FIFO的结构 三.FIFO的应用场景 3.1 单时钟(同步)FIFO 3.2 双时钟(异步)FIFO 四.FIFO的结构 五.FIFO常见参数 六.实现 FI ...

  2. 7 centos 时钟跟物理机同步_同步FIFO和异步FIFO

    1.定义 FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序的读出 ...

  3. 基于 FPGA 的高级数字电路设计(7)单口 RAM、同步 FIFO、异步 FIFO 设计

    一.单口 RAM 设计 module BRAM_PORTA( input clka, input ena, input wea, input [3:0] addra, input [15:0] din ...

  4. 跨时钟域方法(同步器、异步FIFO、边沿检测器、脉冲同步器、同步FIFO)

    目录 1.跨时钟域方法的原因 2.跨时钟处理的两种思路 3.跨时钟域分类--单比特信号跨时钟 3.1.1慢时钟---快时钟.(满足三边沿准则,有效事件可以被安全采样) 3.1.2慢时钟---快时钟.( ...

  5. 数字IC设计系列----单端口RAM、双端口RAM、同步FIFO、异步FIFO

    目录​​​​​​​ 一.单端口RAM原理及实现 1.1.原理 1.2.Verilog实现 1.3.优缺点分析 2.双端口RAM原理及实现 2.1.原理 2.2.Verilog实现 2.3.优缺点分析 ...

  6. 跨时钟域信号处理(二)——异步fifo的Verilog实现(附同步fifo的实现)

    需要回答几个问题: 1.什么是异步FIFO,异步FIFO有什么功能? 跨时钟域的数据交换,防止亚稳态. 2.在产生写满与读空信号时需要进行跨时钟域如何做的,且如何能正确指示空满状态? 寄存器打两拍+格 ...

  7. 同步FIFO和异步FIFO的Verilog实现

    FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序的读出数据, 其 ...

  8. FPGA基础知识极简教程(3)从FIFO设计讲起之同步FIFO篇

    博文目录 写在前面 正文 FPGA/ASIC中的FIFO 同步FIFO的设计 参考资料 交个朋友 写在前面 个人博客首页 注:学习交流使用! 正文 FPGA/ASIC中的FIFO FIFO缓冲区如何用 ...

  9. 同步fifo与异步fifo

    参考以下帖子: https://blog.csdn.net/hengzo/article/details/49683707 https://blog.csdn.net/Times_poem/artic ...

  10. 同步FIFO和异步FIFO

    1.定义 FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序的读出 ...

最新文章

  1. 小手段:开启 GNOME 的窗口分组效果
  2. Debian 下如何安装 Java
  3. 05 Linux快速安装 Oracle11g
  4. [安全攻防进阶篇] 七.恶意样本检测之编写代码自动提取IAT表、字符串及时间戳溯源
  5. function click_click事件的累加问题解决
  6. C#中的引用传递、值传递
  7. 面试官:Java为什么只有值传递?
  8. Linux工作笔记032---Centos7.3/8.2 下安装mysql_不局限于MySql版本
  9. Eclips下运行helloworld,弹出手机模拟器上什么也没有
  10. 雷林鹏分享:PHP 表单 - 验证邮件和URL
  11. Linux - ZModem协议的sz命令传输文件异常
  12. android微信朋友圈相册背景,微信朋友圈相册背景多大尺寸合适
  13. android水下气泡,科学网—水下爆炸气泡的基本现象及规律 - 黄超的博文
  14. 细胞自动机_细胞自动机和音乐
  15. 对焦(调焦),变焦区别
  16. 外汇天眼:开仓、平仓、持仓、锁仓是什么意思?
  17. 拉丁超立方——样本点空间转换
  18. 5个值得关注的L1公链
  19. java根据前序和中序建树_(Java实现)二叉树---根据前序、中序、后序数组还原二叉树...
  20. FastFDS----分布式文件服务系统服务端搭建

热门文章

  1. 银行理财产品的十个坑
  2. 【荣耀内推】2023届荣耀校招开启啦
  3. 笔记本实现共享wifi上网
  4. 笔记本电脑设置WiFi共享
  5. 一分钟让你了解蓝桥杯(电子类)单片机比赛规则
  6. Windows“控制面板”在哪?win10怎么打开控制面板(快捷方法)打开控制面板的多种方法都在这里
  7. 鸢尾花完整的python代码_带“鸢”的诗句大全
  8. CDH踩坑记录之:熵不足
  9. 广东迅视资管 “亦庄智造”填补国内高速棒材技术空白
  10. 海龟作图python等边三角形_python 海龟作图