1.先入先出(First In First Out ,FIFO)

(1)根据下图讲解FIFO涉及的各引脚
①根据使用的资源类型不同,FIFO可分为两类,一种是使用BRAM(Block RAM)的FIFO,另一种是使用DRAM(Distribute RAM)的FIFO。
其中
BRAM支持FIFO读写位宽不相同(最常用);
DRAM读写位宽必须相同。

②如图所示,FIFO大体可分为”写模块(Write Clock Domain)“与”读模块(Read Clock Domain)“两部分
③具体引脚定义如下:

  • rst::总复位;
  • wr_rst:写复位;
  • rd_rst:读复位;
  • wr_en:写使能;
  • full:写满信号,FIFO被写满时拉高;
  • almost_full:即将写满信号,在写满之前的一个时钟拉高;
  • Prog_full:可编程的写满信号,即给定一个值,在写数据达到给定值时,该标志拉高;
  • din[n:0]:自定义位宽为n的写入数据;
  • wr_ack:写反馈,对于每个时钟的数据写入,成功后均提供一次反馈值(信号拉高)
  • overflow:写溢出,这个信号用来指示在前一个时钟周期的写请求(wr_en)被拒绝,因为FIFO已经满了;
  • wr_data_count:这个值表明FIFO中已经写入的数据的数目,该信号在写入数据时被触发(在FIFO同步时钟与位宽相同的情况下,该值与rd_data_count的值相等,——注意理解这句话);
  • prog_full_thresh_assert:动态调整prog_full的值;(暂时不太理解具体使用场景)
  • prog_full_thresh_negate:门限值失效;
  • prog_full_thresh:用来设定prog_full的有效时的数据数目,和无效时的数据数目;
  • injectsbiterr:注入单bit错误,略,基本用不上;
  • injectdbiterr:注入双bit错误,略,基本用不上;
  • rd_en:读使能;
  • empty:读空信号,FIFO可读数据为0时拉高;
  • almost_empty:即将读空信号,在FIFO被读空之前的一个时钟拉高;
  • Prog_empty:可编程的读空信号,即给定一个值,在可读数据大于给定值时,该信号拉高;
  • dout[n:0]:自定义位宽为n的读出数据
  • valid:数据有效标志,表示FIFO读出的信号是否有效,有效则拉高;
  • underflow:表明前一次读操作被拒绝了,因为FIFO已经空了;
  • rd_data_count:这个值表明FIFO中可以读取的数据的数目,在读操作的时候,通过对这个数据进 行判断,可以保证当FIFO中没有数据的时候,停止读操作。当发生一次读操作时,会在下一个时钟的上升沿对rd_data_count进行改变。即写入一个数据的时候rd_data_count+1,当读出一个数据的时候,rd_data_count-1;
  • prog_empty_thresh_assert:动态调整prog_empty的值;
  • prog_empty_thresh_negate:门限值失效;
  • prog_empty_thresh:用来设定prog_empty的有效时的数据数目,和无效时的数据数目;
  • sbiterr:配合injectsbiterr使用,略,基本用不上;
  • dbitter:配合injectdbiterr使用,略,基本用不上。

FIFO各端口详解_领航者开发板相关推荐

  1. PWM脉冲宽度调制,实现呼吸灯_领航者开发板

    1.脉冲宽度调制(Pulse Width Modulation,PWM) 仅从本次实验(呼吸灯)的角度进行解释:通过不断调节信号的占空比来改变LED灯的亮度,如占空比逐渐递增会使得LED逐渐变亮,占空 ...

  2. access h3c交换机光口_华为交换机如何配置?access、trunk、hybird端口详解

    原标题:华为交换机如何配置?access.trunk.hybird端口详解 很多人朋友多次问到华为交换机的配置,确实用的比较多,上次我们有单独提到h3c交换机的配置,今天我们来了解下华为交换机的配置, ...

  3. Spring事务管理详解_基本原理_事务管理方式

    Spring事务管理详解_基本原理_事务管理方式 1. 事务的基本原理 Spring事务的本质其实就是数据库对事务的支持,使用JDBC的事务管理机制,就是利用java.sql.Connection对象 ...

  4. Linux操作系统之—所有端口详解大全手册

    Linux操作系统之-端口详解大全手册 0|无效端口,通常用于分析操作系统  1|传输控制协议端口服务多路开关选择器  2|管理实用程序  3|压缩进程  5|远程作业登录  7|回显  9|丢弃  ...

  5. realloc重分配内存详解_羽夜水之灵_百度空间

    realloc重分配内存详解_羽夜水之灵_百度空间 realloc重分配内存详解_羽夜水之灵_百度空间 realloc重分配内存详解 最近在写source code时需要在数组的buffer小时重新申 ...

  6. 黑客攻击常用端口详解总结

    黑客攻击常用端口详解总结 1 FTP(文件传输协议).  FTP 用于在您的计算机和其他计算机之间进行文件传输. 仅当您在运行 FTP 服务器时,才应打开21端口! 22 SSH.  到该端口的 TC ...

  7. linux查看端口及端口详解

    今天现场查看了TCP端口的占用情况,如下图 红色部分是IP,现场那边问我是不是我的程序占用了tcp的链接,,我远程登陆现场查看了一下,这种类型的tcp链接占用了400多个,,后边查了一下资料,说EST ...

  8. 端口详解及如何开起端口关闭端口

    端口详解及如何开起端口关闭端口 端口概念 在网络技术中,端口(Port)大致有两种意思:一是物理意义上的端口,比如,ADSL Modem.集线器.交换机.路由器用于连接其他网络设备的接口,如RJ-45 ...

  9. linux 访问windows 端口,Linux和Windows下查看端口详解

    Linux和Windows下查看端口详解 我们常会在计算机上安装很多软件,如果喜欢冲浪的话,必然就会用的软件的通信,当然包括web开发的,应用多了,难免会要不小心占用端口的问题,这时候用命令来处理是最 ...

最新文章

  1. BF算法优化-------KMP算法
  2. 图像质量评价,图片放大和缩小
  3. Garbage First
  4. spring-mvc注解
  5. 将本地工程上传到github
  6. 陕师大计算机专业,陕师大计算机系组合数学试题
  7. 计算机院校考研非歧视,2021考研昌吉学院学科教学(语文)045103调剂信息
  8. php监控url,php对URL地址探测
  9. excel取消合并单元格并填充内容的技巧
  10. python-机器学习的两种传统算法-knn,k-means
  11. FragmentActivity_左右滑动的碎片
  12. 汉语拼音字母n和l、in和ing的发音有什么区别?
  13. 企业常见10个CRM问题答疑!
  14. 域名信息备案管理系统php,如何查询域名备案号
  15. 干货|一文搞定 uiautomator2 自动化测试工具使用
  16. UEFI下的Gmac驱动实现
  17. Zigbee(3) ---- 无线温度检测试验
  18. 选点问题(贪心算法)
  19. 车机串口连接GND、RXD、TXD说明
  20. java驱动打印机_本地打印机驱动程序如何找到网络打印机?

热门文章

  1. Git 创建远程分支与本地分支
  2. 臻图信息:数字技术推动智慧楼宇开启新模式
  3. html js引用本地资源,了解使用JavaScript读取本地文件的方法
  4. Git关联远程仓库和分支
  5. QQ慧眼:企鹅企鹅你擦亮眼
  6. C#【必备技能篇】Windows计时器分辨率:重大规则更改
  7. 如何实现动态加载Javascript 文件模块
  8. 知名著者结城浩:坚持做一件事而不厌倦,一旦厌倦马上更换目标
  9. 考研时间查询时间,已经出炉啦
  10. linux根目录和常用命令