当前位置: 首页 > article >正文

FIFO架构专题-异步FIFO及信号

概述

FIFO按时钟可分为:异步FIFO、同步FIFO。

定义

同步FIFO:读时钟和写时钟都相同的FIFO。同步FIFO内部没有异步处理,因此结构简单,资源占用较少。

异步FIFO:读时钟和写时钟可以不同的FIFO。异步FIFO内部有专门的异步处理电路,处理读和写信号的交互(打两拍之类的电路),因为异步FIFO结构复杂,占用资源较大。

建议

如果时钟相同,就选同步FIFO,如果不同就选异步FIFO。下面就是FIFO IP核的选择。common clock就是同步fifo,independent clocks就是异步FIFO。

在xinlinx的IP核中FIFO生成器核心是一个完全验证的首出内存队列,用于任何需要有序存储和检索的应用程序,实现高性能和区域优化设计。该核心为所有的FIFO配置提供了一个优化的解决方案,并在使用最小的资源的同时提供了最大的性能(高达500 MHz)。该核心支持本机接口FIFOs、AXI内存映射接口FIFOs和AXI4-流接口FIFOs。AXI内存映射和AXI4-流接口FIFO来自于本地接口FIFO。有三种AXI内存映射接口样式可选。

以下是AXI-STREAM接口的FIFO时序图:

wr_clk输入写时钟:写域上的所有信号都与此时钟同步。

输入数据输入:写入FIFO时使用的输入数据总线。

wr_en输入写入启用:如果FIFO未满,则断言此信号会导致数据(在din上)被写入FIFO。

满输出满标志:当断言时,该信号表示FIFO已满。当FIFO满时,写入请求被忽略,在FIFO满时启动写入不会对FIFO的内容造成破坏。

wr_rst输入写重置:同步到写时钟。当断言时,将初始化写时钟域的所有内部指针和标志。

almost full:当断言时,这个信号表示在FIFO满之前只能再执行一次写入。

prog_full (1)输出可编程满:当FIFO中的单词数大于或等于断言阈值时,将确认此信号。当FIFO中的单词数小于否定阈值时,则取消断言。

wr_data_count [d:0]输出写入数据计数:此总线表示写入FIFO的单词数。计数保证永远不会少报FIFO中的单词数,以确保您永远不会溢出FIFO。此行为的例外情况是,当一个写操作发生在wr_clk/ clk的上升边缘时,该写操作将只反映在下一个上升时钟边缘的wr_data_count上。如果D小于log2(FIFO深度)-1,总线通过删除最小显著位来截断。注意:当启用了非对称端口宽度选项时,wr_data_count也可用于使用通用时钟块基于RAM的FIFO的超尺度设备。

wr_ack输出写入确认:此信号表示在前一个时钟周期中的写入请求(wr_en)成功。

溢出:此信号表示在前一个时钟周期中的写入请求(wr_en)被拒绝,因为FIFO已满。溢出FIFO不会破坏FIFO的内容。

输入可编程全阈值:此信号用于输入断言和取消断言可编程满(prolg_full)标志的阈值。在复位期间,可以在电路中动态地设置该阈值。您可以选择将断言和否定阈值设置为相同的值(使用完全否定阈值),也可以独立地控制这些值(使用完全断言和完全否定阈值)。


http://www.kler.cn/a/407560.html

相关文章:

  • 瑞佑液晶控制芯片RA6807系列介绍 (三)软件代码详解 Part.10(让PNG图片动起来)完结篇
  • [面试]-golang基础面试题总结
  • 2022 年中高职组“网络安全”赛项-海南省省竞赛任务书-1-B模块B-1-Windows操作系统渗透测试
  • 探索 .NET 9 控制台应用中的 LiteDB 异步 CRUD 操作
  • 大公司如何实现打印机共享的?如何对打印机进行管控或者工号登录后进行打印?异地打印机共享的如何实现可以帮助用户在不同地理位置使用同一台打印机完成打印任务?
  • 银河麒麟v10 二进制kubeadm+containerd搭建k8s集群(证书100年)—— 筑梦之路
  • cookie反爬----普通服务器,阿里系
  • python FastAPI 后台运行
  • git 构建分布式版本控制系统
  • https证书集成到java中
  • C++注释
  • VScode 连不上远程云服务器
  • 通过端口测试验证网络安全策略
  • 开源项目Screenshot-to-Code:截图图片生成代码
  • 大数据-229 离线数仓 - ODS层的构建 Hive处理 JSON 数据处理 结构化
  • Vue3 + Vite 项目引入 postcss + tailwindcss
  • C0029.在Clion中解决Debug时,提示Process finished with exit code -1的错误
  • Altium Designer学习笔记 6-10 异性元件库创建_原理图绘制
  • 【网络安全设备系列】4、漏洞扫描设备
  • 【Git】:Git基本操作
  • QT 关于QTableView的应用和管理
  • 【计算机网络】解决bind error
  • 如何最简单、通俗地理解Python的迭代器?
  • Vue 3 中 onUnload 和 onPageScroll 使用详解
  • 一文学习开源框架OkHttp
  • Vue3 + Vite + Electron + TS 项目构建