当前位置: 首页 > news >正文

设计好的建设网站网站是怎么做的

设计好的建设网站,网站是怎么做的,衡阳微信网站开发,橙光文字游戏制作工具文章目录 前言一、FIFO的最小深度写速度快于读速度写速度等于或慢于读速度 二、 举例说明1. FIFO写时钟为100MHz,读时钟为80Mhz情况一:一共需要传输2000个数据,求FIFO的最小深度情况二:100个时钟写入80个数据,1个时钟读…

文章目录

  • 前言
  • 一、FIFO的最小深度
    • 写速度快于读速度
    • 写速度等于或慢于读速度
  • 二、 举例说明
    • 1. FIFO写时钟为100MHz,读时钟为80Mhz
      • 情况一:一共需要传输2000个数据,求FIFO的最小深度
      • 情况二:100个时钟写入80个数据,1个时钟读1个数据,求FIFO的最小深度
      • 情况三:100个时钟写入80个数据,3个时钟读1个数据,求FIFO的最小深度
  • 三、什么情况下不太需要考虑FIFO的最小深度


FIFO的设计可参考
FIFO的Verilog设计(一)——同步FIFO
FPGA的Verilog设计(二)——异步FIFO
参考文献
[1]FIFO最小深度计算

前言

  在实际使用FIFO时,需要考虑FIFO的深度如何设置,如果深度设置不当,可能会出现资源浪费或者数据丢失等情况。下面将简要介绍FIFO的最小深度如何计算。

一、FIFO的最小深度

  由前两篇文章对FIFO的介绍,FIFO常用于数据缓存、数据匹配和多bit跨时钟域处理。
  因此在读写速度不匹配的时候可以使用FIFO,进行数据缓存。当读速度慢于写速度时,FIFO可作为一个缓存单元。此时总会有部分数据缓存在FIFO中,但是如果读写速度相差过大,就会导致数据溢出。所以在写速度最大、读速度最小时,正好不导致FIFO出现数据溢出的最小深度。当读速度快于写速度时,FIFO更多的是起着变换时钟域的作用。

写速度快于读速度

  FIFO写速度快于读速度模型的应用场景为,无论是数据需不需要跨时钟域,只要FIFO写速度快于读速度,FIFO写入一个数据需要 t 1 t_1 t1秒,读出一个数据需要 t 2 t_2 t2秒( t 1 < t 2 t_1<t_2 t1<t2),一共需要传输 n n n个数据
  FIFO写入n个数据的时间为 n t 1 nt_1 nt1,FIFO在 n t 1 nt_1 nt1时间内读出数据个数为 n t 1 t 2 \frac{nt_1}{t_2} t2nt1,此时FIFO中剩余数据个数 ⌈ n − n t 1 t 2 ⌉ \lceil n-\frac{nt_1}{t_2} \rceil nt2nt1

写速度等于或慢于读速度

  FIFO写速度等于或慢于读速度模型的应用场景为,在多bit数据需要变换时钟域情况下,FIFO的最小深度设置为1即可。因此FIFO只是起着变换时钟域的作用。

二、 举例说明

1. FIFO写时钟为100MHz,读时钟为80Mhz

情况一:一共需要传输2000个数据,求FIFO的最小深度

  FIFO写入一个数据需要 t 1 = 1 100 M t_1=\frac{1}{100M} t1=100M1s,读出一个数据需要 t 2 = 1 80 M t_2=\frac{1}{80M} t2=80M1s
  FIFO写入2000个数据需要的时间 n t 1 = 2000 100 M nt_1=\frac{2000}{100M} nt1=100M2000s
  FIFO在 n t 1 nt_1 nt1时间内读出数据个数为 n u m r d = n t 1 t 2 = 2000 ∗ 80 M 100 M = 1600 num_{rd} = \frac{nt_1}{t_2} = \frac{2000*80M}{100M} = 1600 numrd=t2nt1=100M200080M=1600
  此时FIFO剩余数据个数为 n u m = 2000 − n u m r d = 2000 − 1600 = 400 num = 2000 - num_{rd} = 2000-1600 = 400 num=2000numrd=20001600=400
  可得FIFO最小深度为400。

情况二:100个时钟写入80个数据,1个时钟读1个数据,求FIFO的最小深度

  FIFO写入一个数据需要 t 1 = 1 100 M t_1=\frac{1}{100M} t1=100M1s,读出一个数据需要 t 2 = 1 80 M t_2=\frac{1}{80M} t2=80M1s
  100个时钟写入80个数据,可以理解为80个有效写时钟和20个无效写时钟。
在这里插入图片描述

  此为突发读写情况,需要考虑什么时候突发写的数据最多。当前后两个100时钟的突发写是连续时,突发写的数量最多,如下图所示
在这里插入图片描述

  FIFO写入160个数据需要的时间 n t 1 = 160 100 M nt_1=\frac{160}{100M} nt1=100M160s
  FIFO在 n t 1 nt_1 nt1时间内读出数据个数为 n u m _ r d = n t 1 t 2 = 160 ∗ 80 M 100 M = 128 num\_rd = \frac{nt_1}{t_2} = \frac{160*80M}{100M} = 128 num_rd=t2nt1=100M16080M=128
  此时FIFO剩余数据个数为 n u m = 160 − n u m _ r d = 160 − 128 = 32 num = 160 - num\_rd = 160-128 = 32 num=160num_rd=160128=32
  可得FIFO最小深度为32。
  note:诀窍在于找出最大连续写入的数据量。

情况三:100个时钟写入80个数据,3个时钟读1个数据,求FIFO的最小深度

  FIFO写入一个数据需要 t 1 = 1 100 M t_1=\frac{1}{100M} t1=100M1s,读出一个数据需要 t 2 = 3 ∗ 1 80 M t_2=3*\frac{1}{80M} t2=380M1s
  同上情况,FIFO最大连续写入的数据量,写入160个数据需要的时间 n t 1 = 160 100 M nt_1=\frac{160}{100M} nt1=100M160
  FIFO在 n t 1 nt_1 nt1时间内读出数据个数为 n u m _ r d = n t 1 t 2 = 160 ∗ 80 M 3 ∗ 100 M = 42.67 num\_rd = \frac{nt_1}{t_2} = \frac{160*80M}{3*100M} = 42.67 num_rd=t2nt1=3100M16080M=42.67
  此时FIFO剩余数据个数为 n u m = 160 − n u m _ r d = 160 − 42.67 = 117.33 num = 160 - num\_rd = 160-42.67 = 117.33 num=160num_rd=16042.67=117.33
  可得FIFO最小深度为 ⌈ 117.33 ⌉ = 118 \lceil117.33\rceil=118 117.33=118,可以设置成2的幂次方128。

三、什么情况下不太需要考虑FIFO的最小深度

  何时不用过分考虑FIFO的最小深度?在数据发送端如果能够接受FIFO的空满信号反馈时可以设置个大概的深度即可。利用FIFO的空满信号(或者almost_full/almost_empty)的反馈来控制FIFO的读写使能能够有效解决数据的溢出。

http://www.qie1.com/news/789.html

相关文章:

  • 举例网站联盟写软文推广
  • 做精酿啤酒购买的网站今日国际新闻
  • wordpress 全文 rss商丘seo外包
  • php网站开发安全搭建网站
  • 郑州app开发网站建设天津seo网站推广
  • 网站建设免费视频教学长沙官网网站推广优化
  • 杨小刀网站建设nba最新交易一览表
  • 公司网站建设电话安年软文网
  • 做网站买虚拟主机百度ai入口
  • 威海网站制作2022重大时政热点事件简短
  • 网站设计规划思路能翻到国外的浏览器
  • 网站建设1镇江seo
  • 太原做手机网站郑州seo外包收费标准
  • 青岛的网站建设十大免费网站推广
  • 做企业网站用什么软件企业seo整站优化方案
  • 临夏网站建设网页制作软件手机版
  • seo整站优化网站建设成都业务网络推广平台
  • 网站接广告平台互联网推广是什么
  • wordpress上传服务器域名上海网络seo公司
  • 给网站添加代码如何利用网络广告进行推广
  • 网站敏感词汇整合营销活动策划方案
  • 网站gif小图标关键词点击工具
  • wordpress手机版侧栏导航湖北seo网站推广
  • 网站功能新闻发稿
  • 潍坊手机网站制作黑河seo
  • 哪里有做网站系统深圳小程序开发公司
  • 网站设计用什么软件做seo培训班
  • 做网站会员登陆网页设计需要学什么
  • 网页浏览器有哪几种上海seo优化bwyseo
  • 铜仁做网站友情链接seo