FIFO深度
async fifo的full和empty的判断:
1)binary进制,MSB相同时,LSB也相同,empty;
MSB不同时,LSB相同,full
2)gray code,MSB相同时,LSB也相同,empty;
MSB不同,MSB-1也不同,余下LSB相同,full;
ASYNC FIFO中的empty和full的控制流,
首先ptr, ptr_w--------binary++---------gray code-------FF(wclk)--------SYNC FF(rclk)-------ptr_r
然后empty
fifo的深度问题:
fifo主要做异步时钟域之间的数据缓存功能。
首先应该理解清楚,该FIFO的应用场景,这会直接关系到需要缓存的数据量,FIFO的深度。
其次,在数据缓存的过程中,最好是不发生fifo,满而等待的情况,所以从带宽角度来看,一般是写的带宽大于读的带宽,
但是在这种情况下,如果写操作是连续操作,再大的FIFO也是没有意义的,所以FIFO的写入操作一般是基于Burst的,
在这种写不连续的情况下,通过FIFO,来最小化,大的带宽到小的带宽的转变。
所以FIFO的深度只与,两个带宽最大的差有关。
BW = Freq * Data_width
一般考虑的场景:空闲------Burst传输------空闲------Burst传输
极端的场景:空闲-------Burst传输-------Burst传输------空闲(背靠背传输)
一般的场景:T(Burst)*BW(read)+FIFO depth >= T(Burst)*BW(write)
且保证空闲时间内,slave可以把FIFO读空。(T(空闲)*BW(read) >= FIFO depth)
极端的场景:T(Burst)*BW(read)+FIFO depth >= 2*T(Burst)*BW(write)
且保证空闲时间内,slave可以把FIFO读空。(T(空闲)*BW(read) >= FIFO depth)
FIFO深度的更多相关文章
- 深入理解FIFO(包含有FIFO深度的解释)——转载
深入理解FIFO(包含有FIFO深度的解释) FIFO: 一.先入先出队列(First Input First Output,FIFO)这是一种传统的按序执行方法,先进入的指令先完成并引退,跟着才执行 ...
- 深入理解FIFO(包含有FIFO深度的解释)
FIFO: 一.先入先出队列(First Input First Output,FIFO)这是一种传统的按序执行方法,先进入的指令先完成并引退,跟着才执行第二条指令. 1.什么是FIFO? FIFO是 ...
- FIFO 深度了解
嘻哈第二篇,深度聊聊各种细节. 优化与跨时钟阈分析
- FIFO
FIFO存储器 FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序 ...
- 异步fifo的设计
本文首先对异步 FIFO 设计的重点难点进行分析 最后给出详细代码 一.FIFO简单讲解 FIFO的本质是RAM, 先进先出 重要参数:fifo深度(简单来说就是需要存多少个数据) ...
- 转:FIFO的定义与作用
一.先入先出队列(First Input First Output,FIFO)这是一种传统的按序执行方法,先进入的指令先完成并引退,跟着才执行第二条指令. 1.什么是FIFO? FIFO是英文Firs ...
- Altera FIFO IP核时序说明
ALTERA在LPM(library of parameterized mudules)库中提供了参数可配置的单时钟FIFO(SCFIFO)和双时钟FIFO(DCFIFO).FIFO主要应用在需要数据 ...
- FPGA FIFO深度计算
转自:http://comm.chinaaet.com/adi/blogdetail/37555.html 首先,一定要理解清楚FIFO的应用场景,这个会直接关系到FIFO深度的计算,如果是面试官抛出 ...
- FIFO深度计算
本文设计思想采用明德扬至简设计法.在使用FPGA设计系统时,常需要利用FIFO进行数据缓存保证数据不丢失,因此计算FIFO深度是至关重要的.FIFO的深度主要取决于“最恶劣”的情况,以下对于两种最常见 ...
随机推荐
- Java_动态加载
Java类动态加载(一)——java源文件动态编译为class文件最近在做java动态加载这方面的工作,起初也遇到了很多困难.网上关于这方便的东西很零散,为了便于日后回过头来再看,于是我将这几天的心得 ...
- 【JavaService】部署Java jar为Windows后台服务
将Java jar文件部署为Windows后台服务有多种方法:Service Installer.Java service Wrapper.JavaService.exe等等.这里介绍下使用JavaS ...
- Linux任务调度命令(轻松管理Linux)
Linux任务调度其实就是让系统在某个时间执行某些命令或者程序,这样可以让管理员更加轻松地管理自己的Linux,当我刚了解到这个方法时,我的内心充满了无尽的欣喜,感觉Linux实在是太强大了. 下面我 ...
- [LintCode] Paint House 粉刷房子
There are a row of n houses, each house can be painted with one of the three colors: red, blue or gr ...
- CCS样式表
一.css样式表 1.样式表分类 1.内联式 <p style="font-size:18px;">This is an apple</p> 2.内嵌样式表 ...
- jquery_简单介绍
jquery是一个优秀的javascript的库. jquery对象是通过jquery包装DOM对象产生的对象 配置jquery 在<head> <script src=&quo ...
- poj1006-Biorhythms(中国剩余定理)
一,题意:右上角中文.二,思路: 1,由题意得出方程组 2,利用中国剩余定理求解 3,求出最小正整数三,步骤: 1,由题意得出方程组 (n+d) % 23 = p ; (n+d) % 28 = e ; ...
- php代码优化,mysql语句优化,面试需要用到的
首先说个问题,就是这些所谓的优化其实代码标准化的建议,其实真算不上什么正真意义上的优化,还有一点需要指出的为了一丁点的性能优化,甚至在代码上的在一次请求上性能提升万分之一的所谓就去大面积改变代码习惯, ...
- logback使用总结
filter: http://aub.iteye.com/blog/1110008 http://aub.iteye.com/blog/1101222 Logback Log4j的创始人Ceki Gü ...
- Flex HTTPService json
import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; import mx.rpc.http.HTTPService; i ...