0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA学习-异步FIFO原型设计与验证

FPGA设计论坛 来源:未知 2023-11-17 14:00 次阅读


点击上方蓝字关注我们

第一节:fifo基础

内容:

1.掌握FPGA设计中关于数据缓存的使用

2.掌握FIFO工作原理

1.1片上存储(on-chip ram

在实际应用中任何场合都离不开数据,只要有数据的地方就有存储器,一般存储分为了2种,一种时可以读写,一种时只读。

对于芯片设计而言,有的存储器时集成在芯片内部,我们称之为片内存储器,on-chip ram,如果使用芯片以外的存储器芯片,我们称之为片外存储器,从应用角度可以将存储分为片上和片外。

如果数据量较小,可采用片内存储器,因为片内存储器存储的数据量较小,如果数据量大则需要片外存储器。

根据实际情况应用,片上存储器一般作为数据缓存使用,真正用来存储数据选择片外存储器。

1.2片上存储器分类

1.3fifo

fifo是片上存储器的一种,它本质上是双端口ram的一种特殊结构,数据存储时顺存取。

信号

描述

信号名

描述

wr_clk

时钟

rd_clk

读时钟

wr_en

写使能

rd

读使能

wrdata[w-1:0]

写数据

rddata[R-1:0]

读数据

full(地址)

存储器空间操作

empty(地址)

存储器空间操作


1.随机读写

不管读写可以选择空间地址

同一地址允许覆盖(当我们往同一个地址多次写入数据的时候,后面一次操作覆盖掉前一个操作的数据)

同一地址空间无释放(当我们从同一个地址多次读出数据的时候,数据一直有效)

2.顺序读写

读写空间按照顺序存储器

同一地址不允许覆盖(当我们往同一个地址多次写入数据的时候,低一次写入后,后面所有的写操作都是无效)

同一地址空间释放(当我们从同一个地址多次读出数据的时候,当第一次读完数据,之后数据无有效)

1.3工作原理

根据FIFO顺序读写操作特性,我们可以看出写操作永远快于读操作,如果空间被写完,读写地址相同,空间全部被释放掉,读写地址相同

1.4空间判断

假如空间大小为dept=N,则写地址wraddr[log2N-1:0] , 读地址rdaddr[log2N-1:0]


如果我们将读写地址扩1位,则则写地址wraddr[log2N:0], 读地址rdaddr[log2N:0]

当wraddr[log2N-1:0] == rdaddr[log2N-1:0]

wraddr[[log2N] != rdaddr[log2N]说明写地址追上读地址 | rdaddr[log2N-1:0] - wraddr[log2N-1:0] | = N

wraddr[[log2N] == rdaddr[log2N]说明读地址追上写地址 | rdaddr[log2N-1:0] - wraddr[log2N-1:0] | = 0

例如depth =4

000 100

001 101

010 110

011 111





精彩推荐



至芯科技FPGA就业培训班——助你步入成功之路、11月30号北京中心开课、欢迎咨询!
在设计中扩展串行端口的入门知识
FPGA高级设计之实现功耗优化
扫码加微信邀请您加入FPGA学习交流群




欢迎加入至芯科技FPGA微信学习交流群,这里有一群优秀的FPGA工程师、学生、老师、这里FPGA技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!

点个在看你最好看



原文标题:FPGA学习-异步FIFO原型设计与验证

文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21320

    浏览量

    593195

原文标题:FPGA学习-异步FIFO原型设计与验证

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    fpga原型验证流程

    FPGA原型验证流程是确保FPGA(现场可编程门阵列)设计正确性和功能性的关键步骤。它涵盖了从设计实现到功能验证的整个过程,是
    的头像 发表于 03-15 15:05 373次阅读

    原型平台是做什么的?proFPGA验证环境介绍

    proFPGA是mentor的FPGA原型验证平台,当然mentor被西门子收购之后,现在叫西门子EDA。
    的头像 发表于 01-22 09:21 654次阅读
    <b class='flag-5'>原型</b>平台是做什么的?pro<b class='flag-5'>FPGA</b><b class='flag-5'>验证</b>环境介绍

    什么是FPGA原型验证FPGA原型设计的好处是什么?

    FPGA原型设计是一种成熟的技术,用于通过将RTL移植到现场可编程门阵列(FPGA)来验证专门应用的集成电路(ASIC),专用标准产品(ASSP)和片上系统(SoC)的功能和性能。
    发表于 01-12 16:13 382次阅读

    请问异步FIFO的溢出操作时怎么样判断的?

    请问异步FIFO的溢出操作时怎么样判断的? 异步FIFO是数据传输的一种常用方式,在一些储存器和计算机系统中,常常会用到异步
    的头像 发表于 10-18 15:28 376次阅读

    同步FIFO异步FIFO的区别 同步FIFO异步FIFO各在什么情况下应用

    同步FIFO异步FIFO的区别 同步FIFO异步FIFO各在什么情况下应用? 1. 同步
    的头像 发表于 10-18 15:23 1016次阅读

    跨时钟设计:异步FIFO设计

    在ASIC设计或者FPGA设计中,我们常常使用异步fifo(first in first out)(下文简称为afifo)进行数据流的跨时钟,可以说没使用过afifo的Designer,其设计经历是不完整的。废话不多说,直接上接
    的头像 发表于 07-31 11:10 1353次阅读
    跨时钟设计:<b class='flag-5'>异步</b><b class='flag-5'>FIFO</b>设计

    FPGA零基础学习之Vivado-FIFO使用教程

    大侠好,欢迎来到FPGA技术江湖。本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的“傻瓜式”讲解,让电子、信息、通信类专业学生、初入职场小白
    发表于 06-16 17:50

    为什么SoC验证一定需要FPGA原型验证呢?

    在现代SoC芯片验证过程中,不可避免的都会使用FPGA原型验证,或许原型验证一词对你而言非常新鲜
    发表于 05-30 15:04 986次阅读
    为什么SoC<b class='flag-5'>验证</b>一定需要<b class='flag-5'>FPGA</b><b class='flag-5'>原型</b><b class='flag-5'>验证</b>呢?

    从SoC仿真验证FPGA原型验证的时机

    我们当然希望在项目中尽快准备好基于FPGA原型验证的代码,以便最大限度地为软件团队和RTL验证人员带来更客观的收益。
    发表于 05-30 11:10 804次阅读
    从SoC仿真<b class='flag-5'>验证</b>到<b class='flag-5'>FPGA</b><b class='flag-5'>原型</b><b class='flag-5'>验证</b>的时机

    FIFO设计—异步FIFO

    异步FIFO主要由五部分组成:写控制端、读控制端、FIFO Memory和两个时钟同步端
    发表于 05-26 16:17 1045次阅读
    <b class='flag-5'>FIFO</b>设计—<b class='flag-5'>异步</b><b class='flag-5'>FIFO</b>

    多片FPGA原型验证系统互连拓扑分析

    多片FPGA原型验证系统的性能和容量通常受到FPGA间连接的限制。FPGA中有大量的资源,但IO引脚的数量受封装技术的限制,通常只有100
    发表于 05-23 17:12 1243次阅读
    多片<b class='flag-5'>FPGA</b><b class='flag-5'>原型</b><b class='flag-5'>验证</b>系统互连拓扑分析

    SoC设计的IO PAD怎么移植到FPGA原型验证

    FPGA原型验证系统要尽可能多的复用SoC相关的模块,这样才是复刻SoC原型的意义所在。
    发表于 05-23 16:50 417次阅读
    SoC设计的IO PAD怎么移植到<b class='flag-5'>FPGA</b><b class='flag-5'>原型</b><b class='flag-5'>验证</b>

    正确认识原型验证多片FPGA自动分割工具

    当SoC的规模在一片FPGA中装不下的时候,我们通常选择多片FPGA原型验证的平台来承载整个SoC系统。
    发表于 05-23 15:31 344次阅读

    FPGA原型验证中分割引擎的重要性解析

    FPGA原型验证的原理是将芯片RTL代码综合到FPGA上来验证芯片的功能。对于目前主流行业应用而言,芯片规模通常达到上亿门甚至数十亿门,一颗
    发表于 05-18 12:52 418次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>原型</b><b class='flag-5'>验证</b>中分割引擎的重要性解析

    FPGA原型验证系统中复制功能模块的作用

    在进行FPGA原型验证的过程中,当要把大型的SoC进行FPGA原型验证时,有时候会遇到一种情况,
    的头像 发表于 05-04 16:21 453次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>原型</b><b class='flag-5'>验证</b>系统中复制功能模块的作用