fifo深度计算

author author     2023-03-02     764

关键词:

参考技术A

题目详见原文: FIFO深度计算

只有在 突发传输 情况下,讨论FIFO深度才有意义

FIFO的最小深度与 burst rate, burst size, read and write frequency 等因素有关。要确定FIFO的深度,关键在于计 算出在突发读写这段时间内有多少个数据没有被读走 。也就是说FIFO的最小深度就等于没有被读走的数据个数。

关于延迟和同步空满信号的问题:

在异步FIFO设计中,我们需要去 判断FIFO的空满 来保证逻辑的正确性,判断空满标志需要去比较读写指针,而读指针与写指针处在不同的时钟域中,我们需要采用 格雷码 两级同步寄存器 去降低亚稳态的概率,而 两级同步必然会导致空满标志位的判断至少延迟2个cycle 。对于空标志位来说,将写指针同步到读时钟域至少需要花费2个时钟,而在同步这段时间内有可能还会写入新的数据,因此同步后的写指针一定小于或等于(当且仅有同步时间内没有新数据写入的情况下才会等于)当前的写指针,所以 此时判断不一定是真空 ;同理,对于满标志位来说,将读指针同步到读时钟域至少需要花费2个时钟,而在同步这段时间内有可能还会读出新的数据,因此同步后的读指针一定小于或等于当前读指针,所以此时判断并不一定是真满。

最坏的情形 中,读写的速率应该相差最大,也就是说需要找出最大的写速率和最小的读速率。

注意:这里需要验证一下是否有解 ,即写入burst数据时间必须大于等于读出burst数据时间,不然数据就会越累积越多,使得FIFO的深度必须为无穷大。

从上面分析来看,求FIFO的最小深度主要有以下 要点

下面我们来推导一下FIFO深度的求解公式,假设:

那么:

fifo深度计算

参考技术A题目详见原文:FIFO深度计算只有在突发传输情况下,讨论FIFO深度才有意义FIFO的最小深度与burstrate,burstsize,readandwritefrequency等因素有关。要确定FIFO的深度,关键在于计算出在突发读写这段时间内有多少个数据没有被读走... 查看详情

fpga开发基础————异步fifo深度的计算与分析

...O在处理异步多bit数据的时候,总对这个FIFO的深度选取跟耿于怀。看视频感觉也是讲的模棱两可。下面就主要总结一下,几种情况 第一种情况:fA>fB读写之间没有空闲周期(fA>fB在两个连续读写之间有一个周... 查看详情

fpga开发基础————异步fifo深度的计算与分析

...O在处理异步多bit数据的时候,总对这个FIFO的深度选取跟耿于怀。看视频感觉也是讲的模棱两可。下面就主要总结一下,几种情况 第一种情况:fA>fB读写之间没有空闲周期(fA>fB在两个连续读写之间有一个周... 查看详情

fifo深度

asyncfifo的full和empty的判断:1)binary进制,MSB相同时,LSB也相同,empty;                    MSB不同时,LSB相同,full2)grayco 查看详情

大疆2019校招fpga笔试总结(代码片段)

...ycle可以写入80个数据,每10个cycle可以读出8个数据,fifo的深度至少为?写时钟频率w_clk,读时钟频率r_clk,写时钟周期里,每B个时钟周期会有A个数据写入FIFO读时钟周期里,每Y个时钟周期会有X个数据读出FIFO则,FIFO的最小深度是?... 查看详情

fpga/ic秋招笔试/面试题总结(代码片段)

...释放四、同步FIFO/异步FIFO1.同步FIFO2.异步FIFO五、FIFO最小深度计算1.FIFO最小深度2.示例分析六 查看详情

verilog常考面试题之同步fifo设计(给定位宽和深度)(代码片段)

fifo(firstinfirstout)fifo的作用是缓冲,分为同步fifo和异步fifo,跟其他存储单元例如RAM的区别最大在于RAM有地址线,可寻址读写,而FIFO不可寻址,所以读写地址得用读写指针生成。1.同步fifo的写时钟和读时钟... 查看详情

verilog常考面试题之同步fifo设计(给定位宽和深度)(代码片段)

...储实体(reg、memory)例如:给定位宽为8,深度16一、首先定义参数,方便后续修改或者其他人使用时直接通过传参进行,包括数据位宽、FIFO深度、地址位宽(log2(fifo深度))、读的模式... 查看详情

平头哥面试——数字ic面试流程整理

...析的,整体的框架,写了多少代码)3.跨时钟域传输。4.FIFO深度计算,不同读写频率,读写频率相同,FIFO深度怎么计算←5.AHB总线APB总线的区别,AHB总线控制信号怎么工作,自己有没有写过AHBAPB总线的代码、6.不撕代码 查看详情

平头哥面试——数字ic面试流程整理

...析的,整体的框架,写了多少代码)3.跨时钟域传输。4.FIFO深度计算,不同读写频率,读写频率相同,FIFO深度怎么计算←5.AHB总线APB总线的区别,AHB总线控制信号怎么工作,自己有没有写过AHBAPB总线的代码、6.不撕代码 查看详情

fpgaip核最多

...很正常的。通常情况下,每个FIFO的参数,特别是位宽和深度,是不同的。明德扬(MDY)在2021年承担了多个基于XILINX芯片的研发项目,包括VPX网络透明传输项目(芯片为XC7K325T-2FBG900)、某高端测试仪项目(芯片为XCKU060-FFVA1156)、某网闸... 查看详情

使用 FIFO 方法通过 UDF 计算平均价格、已实现收益和未实现收益

】使用FIFO方法通过UDF计算平均价格、已实现收益和未实现收益【英文标题】:CalculateAvgPrice,Realizedgain&UnrealizedgainviaUDFusingFIFOmethod【发布时间】:2021-07-1217:50:05【问题描述】:这篇文章是我earlierpost的延续,我已经从TomSharpe那... 查看详情

fifoip核仿真

...O测试逻辑代码  首先往FIFO里面写入512个数据(FIFO深度的一半),然后再开始同时往FIFO里面写入,读出数据。FIFO读和写的时钟域不同,对于不同时钟域的信号应该进行区分,状态机也应该分开来写。 `timescale1ns/1ps/////... 查看详情

异步fifo的编程

...和写地址,每次读写时能读写地址应该加1.计数次数为ram深度的2倍。当读写地址相等时则空标志位有效,当读写地址最高位互补其余位相等时则满标志位有效。存储部分採用双口RAM实现。以下是详细的Verilog代码:moduleafifo(r_clk,w_... 查看详情

从零开始学习uvm10.7uvmtlm——tlmfifo[uvm_tlm_fifo](代码片段)

...存储数据包,以便允许发送方和接收方独立操作。FIFO的深度通常根据数据传输速率计算。TLMFIFO被放置在测试台组件之间,这些组件以不同的速率传输数据对象。UVMTLMFIFOExample下面定义了一个名为Packet的类,作为从一个组件传输... 查看详情

怎样把异步fifo的veriloghdl代码中的parameterdsize=8;parameterasize=4;改为宽度为16位,谢谢!

...参数,哪个代表宽度。光看这两个命名看不出来,deepth是深度,width是宽度。建议你把更详细的代码发上来吧一下补充:注意代码里这两段parameterDATASIZE=8;//MemorydatawordwidthparameterADDRSIZE=4;//Numberofmemoryaddressbits很明显DATASIZE就是字宽... 查看详情

fpga之fifo学习心得

...时域之间的数据传递,比如FIFO的一端是AD采集,另一端是计算机PCI总线,假设AD的采集速度一般都是几百Kb/s,PCI总线的速度为200Mb/s,在这俩个的时域中传递数据时就可以采用FIFO来作为数据缓冲。同时FIFO还可以作为不同数据宽度... 查看详情

深度学习——深度学习中的梯度计算

梯度下降在【机器学习基础】中已经总结了,而在深度学习中,由于模型更加复杂,梯度的求解难度更大,这里对在深度学习中的梯度计算方法进行回顾和学习。本节主要是了解深度学习中(或者说是tensorflow... 查看详情