电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

FIFO深度问题

4页
  • 卖家[上传人]:公****
  • 文档编号:479582074
  • 上传时间:2023-10-20
  • 文档格式:DOC
  • 文档大小:59.50KB
  • / 4 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、FIFO深度问题写时钟周期w_clk,读时钟周期r_clk,写时钟周期里,每B个时钟周期会有 A个数据写入FIFO读时钟周期里,每 Y个时钟周期会有X个数据读出FIFO则,FIFO的最小深度是?w_clk,r_clk/ ns f_wr,f_rd/mhz1, 首先考虑有解条件平均写入速率=平均读取速率平均写入速率:A/(B*w_clk)=(A*f_wr)/B -(data/s)平均读取速率:X/(Y*r_clk)=(X*f_rd)/Y -(data/s)由上式可推出 A/B=(X*Y)/(f_rd*f_wr)表达的含义就是fifo的输入和输出带宽要匹配,其中 A/B表示链路利用率,f_wr x width表 示带宽,这里大概是默认输入输出的数据宽度相同,所以以f_wr来代替带宽。X/Y 和f_rd的含义也是这样。在带宽匹配的前提下数据不会无限积累。2, 其次算出写数据的最大burst_length。考虑最坏情况,即不考虑写入空闲,采用背靠背突发传输比如,如果条件给出,每100个写时钟,写入80个数据,那么在背靠背的情况下,burst_length=2*80=1603, 有fifo_dep

      2、th 公式如下fifo_depth = burst_le ngth - burst_le ngth * (X/Y) * (f_rd/f_wr) =burst_le ngth(1-A/B)4, EXAMPLE如果100个写时钟周期可以写入80个数据,10个读时钟可以读出8个数据其中w_ck=5ns,r_ck=10ns所举的那个例子,如果呼入fifo的数据宽度和呼出相同的话,都设为w bit。那么呼如fifo的带宽就是200wbps,呼出fifo的带宽是100wbps。考虑链路利用 率都是80%。那么呼入fifo的有效带宽是160wbps。呼出fifo的带宽是80wbps。现在看到 矛盾了,由于输入输出带宽不相等,进来永远比出去多,那么FIFO总是处于不断积累数据的状态。所以所举的这个例子并不合适。应该提高读时钟的速率,使fifo两端的带宽匹配,在这个前提下才能计算出有解的fifo深度。如果令wclk = rclk (以下内容中的clk表示时钟的频率,不是周期)。可使得读写带宽匹配。 那么这个例子的答案是32原因如下: 考虑背靠背的情况, 160 个 wclk 连续都写入了 160 个数据

      3、。而这 160 个 wclk 时间内,由于 wcik = rclk,那么读出了( 160/10 )x 8 = 128个数据。有32个数据会被留在 fifo里。那么fifo的最小深度就是 32。如果令 wcik = 200mhz,改为100个wcik里写入40 个,rclk = 100mhz, 10个rclk里读出8个。那么fifo深度为485,fifo_depth = burst_iength - burst_iength * (X/Y) * (f_rd/f_wr)作个变形,得到 fifo_depth = burst_length -(burst_length /f_wr)*f_rd*(x/y)其中(burst_length /f_wr) 表示这个burst的持续时间,f_rd*(x/y)表示读的实际速度。 两者的乘积自然就是这段时间读出的数据量。 显然 burst_length 表示这段时间写入的数据量, 两者的差为 fifo 中残留的数据,这个也就是理论上的 fifo 的最小深度。实际应用中往往是以半空半满信号来指示 fifo 的空满状态的,所以实际设计 fifo 的时候会至 少留

      4、下一个数据空间的深度裕量这里,我们没有考虑由于异步读写需要同步,所引入的延时。越大的延时,需要越大的FIFO来缓冲更多和写数据。计算FIFO深度翻译英汉对照版ntroductionOne of the most common questions in interviews is how to calculate the depth of a FIFO.在而试过程中,经常被问及的问题之一就是如何计算一个FIFO的深度。Fifo is used as buffering element or queueing element in the system, which is by commonsense is required only when you slow at reading than the write operation.FIFO在统中用来作缓冲或者队列,通常情况下,当读速率比写速率慢的时候, 需要采用 FIFO。So size of the FIFO basically implies the amount of data required to buffer, which

      5、depends upon data rate at which data is written and the data rate at which data is read.所以FIFO的深度取决于需要缓冲的数据量,缓冲的数据量取决于写速率和读速 率。Statistically, Data rate varies in the system majorily depending upon the load in the system. So to obtain safer FIFO size we need to consider the worst case scenario for the data transfer across the FIFO under consideration.统计表明,系统中数据率的变化主要依赖于系统的负载。所以,为了得到安全 的FIFO,在设计时,我们需要考虑最坏情形下的通过FIFO进行的数据传输。For worst case scenario, Difference between the data rate between write and

      6、read should be maximum. Hence, for write operation maximumdata rate should be considered and for read operation minimum data rate should be considered. 最坏情况下,读写数据间的速率差,应该为最大值。也就是说,写操作速率应 该取最大的写速率,而读操作应该取选小的读速率。So in the question itself, data rate of read operation is specified by the number of idle cycles and for write operation, maximumdata rate should be considered with no idle cycle. 如问题本身,读操作的数据速率是由空闲周期决定的,而对于写操作,最大的 写数据率,应该不考虑空闲周期。So for write operation, we need to know Data rate = Number o

      7、f data * rate of clock. Writing side is the source and reading side becomes sink, data rate of reading side depends upon the writing side data rate and its own reading rate which is Frd/Idle_cycle_rd.因而,对于读操作,我们有 Data rate = Number of data * rate of clock 。 写方是数据流入的方,而读方是数据露出方。读方的速率取决于写方的速率和 自身的读速率(Frd/ldle_cycle_rd.)In order to know the data rate of write operation, we need to know Number of data in a Burst which we have assumed to be B. 为了获知写方数据速率,我们需要知道在突发模式下的数据量,我们假设其为 B.So following up with

      8、 the equation as explained below: Fifo size = Size to be buffered = B - B * Frd / (Fwr* ldle_cycle _rd ).参考如下的等式:Fifo size = Size to be buffered = B - B * Frd / (Fwr* ldle_cycle _rd ).Here we have not considered the sychnronizing latency if Write and Read clocks are Asynchronous. Greater the Synchronizing latency, higher the FlFO size requirement to buffer more additional data written. 这里,我们没有考虑由于异步读写需要同步,所引入的延时。越大的延时,需 要越大的FIFO来缓冲更多和写数据。Example : FlFO Depth Calculation例子:计算FIFO深度Assume that we

      9、have to design a FIFO with following requirements and We want to calculate minumum FIFO depth,假充我们需要设计如下需求的 FIFO,我们需要计算它的最小深度。Asynchronized fifo 异就 FIFOWriting clock 30MHz - F1 写时钟Readi ng clock 40MHz - F2读时钟读方一个读方 10Writing Burst Size - B突发数据量Case 1 : There is 1 idle clock cycle for reading side - I空闲周期Case 2 : There is 10 idle clock cycle for reading side - I个空闲周期FIFO depth calculation = B - B *F2/(F1*I)If if we have alternate read cycles i.e between two read cycle there is IDLE cycle.如果我们已经改变了读周期,比如,两个读周期中有一个空闲周期。FIFO depth calculation = B - B * F2/(F1*2)In our present problem FIFO depth = B - B *40/(30*2)= B(1-2/3)= B/3That means if our Burst amount of data is 10 , FIFODEPTH = 10/3 = 3.333 = 4 (approximatly)If B = 20 FIFO depth = 20/3 = 6.6 = 7or 8 (clocks are asynchronous)If B = 30 FIFO depth = 30/3 =

      《FIFO深度问题》由会员公****分享,可在线阅读,更多相关《FIFO深度问题》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.