第八课 IP核之FIFO

使用Synopsys VCS仿真Vivado FIFO IP 使用VCS仿真xilinx IP出现VHDL syntactic or semantic error/warnings 阅读详情

一  FPGA 使用的 FIFO 一般指的是对数据的存储具有先 进先出特性的一个缓存器,常被用于数据的缓存,或者高速异步数据的交互也即所谓的跨时钟域信号传递。特点:它与 FPGA 内部的 RAM 和 ROM 的区别是没有外部读写地址线,采取顺序写入数据,顺序读出数据的方式, 使用起来简单方便,由此带来的缺点就是不能像 RAM 和 ROM 那样可以由地址线决定读取或写入某个指定 的地址。

同步 FIFO 是指读时钟和写时钟 为同一个时钟,在时钟沿来临时同时发生读写操作。异步 FIFO 是指读写时钟不一致,读写时钟是互相独立的。

“almost_empty”和“almost_full”这两个信号分别被看作“empty”和“full”的警告信号,他们相 对于真正的空(empty)和满(full)都会提前一个时钟周期拉高。

实验任务:本节的实验任务是使用 Vivado 生成 FIFO IP 核,并实现以下功能:当 FIFO 为空时,向 FIFO 中写入数 据,写入的数据量和 FIFO 深度一致,即 FIFO 被写满;然后从 FIFO 中读出数据,直到 FIFO 被读空为止, 以此向大家详细介绍一下 FIFO IP 核的使用方法。

二 程序设计

创建FIFO的IP核,具体设置见笔记。创建pll的ip核。50m和100m。

ip_fifo.v: 例化pll的ip核(ip核重新创建),FIFOip核,读和写模块以及fifo读写时钟阈下的ila。 

fifo_wr.v 同步empty信号。写使能赋值:busy信号拉低的情况下,empty拉高,en拉高。almost_full拉低,en拉低。

fifo_rd.v 同步写时钟域下的ful,对en赋值.

仿真: modelsim 联合仿真

问题:一直卡在这个界面,尚未解决。可能与ip核有关。

错误原因会在tcl console中显示。

# ** Error: ../../../../ip_fifo.ip_user_files/ipstatic/hdl/fifo_generator_v13_2_rfs.vhd(79): near "AES128-CBC": Unknown session key in protected region
# ** Error: ../../../../ip_fifo.ip_user_files/ipstatic/hdl/fifo_generator_v13_2_rfs.vhd(80): VHDL Compiler exiting

用源码跑仿真也会出现这个问题。

下载验证: ila在线调试。在线调试的信号完全对不上 源码ila例化代码识别不了,可能是没创建ila的ip核。 该实验很失败

注意: ila在线调试中 例化ila的使用。 pll的ip核创建没有resert的创建方法。联调失败的原因。

二、20【FPGA】FPGA开发中常用的IP核——PLL/ROM/RAM/FIFO 常用IP核,PLL、ROM、RAM、FIFO 阅读详情

相关推荐

vivado ip核 FIFO的配置与调用

FIFO generator core 支持 Native interface FIFOs, AXI Memory Mapped interface FIFOs 和AXI4-Stream interface FIFOs。 AXI Memory Mapped 和AXI4-Stream interface FIFOs 是由 Native interface FIFO 衍生出来的。 FIFO 的用处 Native interface FIFOs 可用于数据缓冲、数据宽度转换、跨时钟域处理。 ...

sinat_34245317的博客 1万+

【RAM IP】RAM IP核简介及实验

RAM简介: RAM(Random Access Memory),即随机存取存储器。它是双端口的,它可以随时把数据写入任一指定地址的存储单元,也可以随时从任一指定地址中读出数据,其读写速度是由时钟频率决定的。RAM主要用来存放程序及程序执行过程中产生的中间数据、运算结果等。 一片RAM中分为许多小格,每一片容量为36k,根据设定的位宽决定了这片RAM可以存放分为几格,位宽一啊不能设定为1、2、4、8、16、32等,每相邻的两片RAM可以合成一片RAM,这片RAM同样是双端口,可以独立的完成读写操作,且在

记录学习历程 8025

FIFO Generate IP核AXI接口配置全解

当需要在设计中使用自定义IP时,可以通过为IP核的各种参数指定值来进行定制。

u011565038的博客 2293

FIFO读写时序理解——almost_empty、almost_full

FIFO读写时序理解——almost_empty、almost_full

weixin_45793915的博客 1万+

FIFO Generate IP核使用——Native Ports页配置

在使用FIFO Generate IP核时,如果在Basic选项页选择了Naitve接口,就需要配置Native Ports页,该页提供了针对FIFO核心的性能选项(读取模式)、数据端口参数、ECC(错误检查和纠正)以及初始化选项。

u011565038的博客 2003

FPGA原理与结构(12)——FIFO IP核原理学习

本文对于xilinx的FIFOGenerator IP核进行了一个简单的介绍,解释了IP核中各个类型信号的具体功能。介绍了FIFO的读写操作,其中读操作又可以分成2种模式,推荐使用标准模式,最后介绍了FIFO的非对称读写位宽

apple_53311083的博客 1万+

【Microsemi PolarFire】PCIe学习笔记(一)——PCIe IP核配置

根据对GUI的输入生成参考时钟,PCIESS系统的参考时钟使用差分HCSL/LVDS。我这里使用的是PCIE插槽提供的差分100M参考时钟。 根据对GUI的输入生成TxPLL/TxPLL_SSC。通常使用一个频率稳定性大于±300ppm的100MHz时钟(Refclk)。PCIESS块接受100MHz、125MHz或156.25MHz的输入时钟,并将其转换为PCIe Gen1或Gen2的速度。 使用相同的PMA和PCS设置配置请求的通道数量——每个通道和CDRPLL设置的位置。①Port Type:选择

qq_44759410的博客 3283

xilinx最新FIFO Generator v13.2 中文版

最新版xilinx ip核 FIFO Generator v13.2,欢迎大家下载一起交流资源。

FPGA之FIFO IP核详细教程

FPGA之fifo的相关知识 本文回答以下几个问题: 1:fifo是什么,有什么作用; 2:在使用fifo的两种模式; 3:使用异步fifo IP核的详细步骤说明; 4:RTL设计和仿真; 5:功能仿真; 下面一 一解释上面的几个问题 1: Fifo是什么 :fifo1是英文first in first out 即先进先出(...

MTIS的博客 1万+

后向投影算法(BPA)-SAR成像算法系列(二)

SAR成像算法:后向投影算法(BPA)原理介绍及实现步骤解析。

yjh_2019的博客 1万+

ADS重新安装失败排查指南:从注册表清理到环境变量配置

本文详细解析了ADS重新安装失败的常见原因及解决方案,包括注册表残留清理、license路径锁定处理和环境变量配置。通过分步指南和实用技巧,帮助工程师高效解决安装问题,确保软件正常运行。

weixin_42524708的博客 457

Vivado FIFO IP核的使用

1 2. Native Ports页面 FIFO IP核为高电平复位。 3 4

UVM频率 1万+

yolov8的Detect层详解(输出维度改动)

对于部署端需要拿到onnx的output进行后处理,但是基于anchor_free的yolov8输出是1*(4+cls)*8400,不是我们常见的ncwh格式,所以对Detect层进行了学习,分享一下体会。

yjcccccc的博客 2万+

[ip核][vivado]FIFO 学习

<xlinx FPGA应用进阶 通用IP核详解和设计开发>读书摘录:1.        2.3.仿真模型特点总结:1)复位后会有busy状态,需要等待wr_rst_busy信号低电平后才能正常写入                 2)prog_full信号的高电平长度可调                 3)仿真中的读状态很奇怪,并没有正常读取,都是XXX的状态。所用的testbenc...

qwerty的博客 2万+

SAP S4业务伙伴(BP)实战指南:从角色分配到数据同步的完整流程

本文详细解析了SAP S4业务伙伴(BP)功能,从基础概念到实战操作,涵盖角色分配、数据同步及常见问题排查。通过BP机制,企业可高效管理客户、供应商等多重身份,实现数据共享和动态切换,显著提升主数据管理效率。特别适合SAP实施顾问和ERP管理员参考。

y2z3a4b5c的博客 871

C++坦克大战源代码

【代码】C++坦克大战源代码。

强国豪,林中霖 2612

IP核之FIFO

部分转载~ FIFO:First Input First Output,即先入先出队列,在计算机中,先进先出队列是一种传统的按序执行方法,先进入的指令先完成并引退,跟着才执行第二条指令。 主要功能包括: (1)数据的缓冲。如果数据的写入速率高,但间隔大,且会有突发;读出速率小,但相对均匀。则通过设置相应深度的FIFO,可以起到数据暂存的功能,且能够使后续处理流程平滑,避免前级突发时,后级来不及处理而丢弃数据。 (2)时钟域的隔离。对于不同时钟域的数据传递,则数据可以通过FIFO进行隔离,避免跨时钟域的数据传

qq_40039676的博客 1万+

Latex | IEEE双栏排版中长公式的排版

IEEE双栏排版中,有时候公式过于长了,过宽,导致单栏排版不下。

qq_43466146的博客 1万+

Xilinx_FIFO_IP核的使用

VIVADO_FIFO IP核的使用 概述: IP核版本:FIFO Generator v13.2,配置环境vivado2018.2 文章目录1.基本FIFO-IP核的配置2.FIFO读写 1.基本FIFO-IP核的配置 (1) .按照以下步骤 双击③处的FIFO Generator到步骤2。 注意:④处可以查看FIFO-IP核的版本,在官网可以下载到相应的说明文档。 官网:https://china.xilinx.com/ (2)进入FIFO配置页面: 看图: 最终的配置以及资源占用:

Crazzy_M的博客 1万+

水环境综合管控平台完整方案

水环境综合管控平台项目(2026-2027)摘要 项目概况: 总投资5亿元的水环境综合管控平台项目,是国家数字政府与生态文明建设战略的重要实践。项目严格遵循2026年最新政策标准,整合物联网、大数据和AI技术,构建覆盖水质监测、污染溯源、生态保护等全流程的智能管控体系。 核心内容: 系统架构:采用五层设计(基础设施层至展示层),集成10大核心功能模块,包括水质动态监测、污染智能溯源和生态评估预警系统; 技术创新:运用2026年最新边缘计算和数字孪生技术,实现毫秒级水质异常响应和三维流域仿真; 实施规划:分7

随读手记 405

【项目实战】功能安全目标有四个ASIL等级:A、B、C、D,ASIL D是最高的等级

功能安全是一种关注产品在异常情况下如何避免造成伤害的概念功能安全在汽车电子行业中非常重要。功能安全涉及到系统、电子和软件三个部分。(1)系统部分主要涉及概念设计(2)而具体的实施则是在电子和软件部分完成。

奶爸的编程之路,也就一周冷个三天 2830

Vivado 下 IP核之FIFO 实验

FIFO 本质上是由RAM加读写控制逻辑构成的一种先进先出的数据缓冲器,其与普通存储器RAM的区别在于 FIFO没有外部读写地址线,使用起来非常简单,但FIFO只能顺序写入数据,并按顺序读出数据,其数据地址由内部读写指针自动加 1完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址,不过也正是因为这个特性,使得 FIFO在使用时并不存在像RAM那样的读写冲突问题。根据 FIFO工作的时钟域,可以将FIFO分为。

yishuihanq的博客 1万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Vivado IP核fifo使用指南

fifo是FPGA中使用最为频繁的IP核之一,可以通过软件自动生成,也可以自主编写。下面介绍vivado的fifo生成步骤 1、打开ip核,搜索fifo 2、创建fifo 选择独立的时钟块ram。 3、 A、选择标准fifo或者frist word full模式,标准模式是数据延时一个时钟周期进入或者输出;frist word full模式时数据直接随时钟同步进入或者输出。 B、设...

Kevin 4万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

14 FIFO IP核

FIFO(First In First Out,即先入先出)是一种数据缓存器,用来实现数据先入先出的读写方式。FIFO由 RAM 加读写控制逻辑构成,其与普通 RAM 的区别在于 FIFO 没有外部读写地址线,使用起来非常简单,但 FIFO 只能顺序写入数据,并按顺序读出数据,其数据地址由内部读写指针自动加 1 完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。根据 FIFO 工作的时钟域,可以将 FIFO 分为同步 FIFO 和异步 FIFO。

lf282481431的博客 3171

Vivado18.3-IP核-FIFO 学习笔记

本内容学习自领航者ZYNQ 之FPGA开发指南 V1.0 1.FIFO IP核简介 根据FIFO 工作的时钟域,可以将FIFO 分为同步FIFO 和异步FIFO。同步FIFO 是指读时钟和写时钟为同一个时钟,在时钟沿来临时同时发生读写操作。异步FIFO 是指读写时钟不一致,读写时钟是互相独立的。Xilinx 的FIFO IP 核可以被配置为同步FIFO 或异步FIFO,其信号框图如下图所示。从...

weixin_42151221的博客 1万+

Vivado IP核调用——FIFO

FIFO(first-in-first-out),可作为以先入先出顺序存取数据的数据缓存器。读写时钟或存取速率不同时,需要一个数据缓存器作为桥梁进行存—取两端的数据传输,常用异步FIFO完成该任务。与BRAM的区别在于,FIFO无地址线,可以简单地实现缓冲数据的先入先出顺序传输,无需按地址存取数据。FIFO内存取的数据不由地址指向,而是由自动变化的读指针和写指针指向要读或写的下一个数据。

m0_52622121的博客 5284
上一篇: 第七课 IP核之RAM
下一篇: 第九课 uart串口通信
13.02
博客等级 码龄7年 1粉丝 12原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值