微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 如何用FIFO实现带宽控制。

如何用FIFO实现带宽控制。

时间:10-02 整理:3721RD 点击:
最近遇到一个问题:控制以太网的入口带宽,例如100M进来,需要以10M为单位设置带宽.
我的思路用FIFO实现,写入时钟clk; 读取时钟是1/10, 7/10,8/10,没10个时钟使能1个读允许,如果非空就产生ren(读使能)。但这样还是不能准确控制带宽。请教大侠们有好的思路提供,先谢谢了。

一般来讲,这种结构下光一个异步FIFO不够。
data path应该是: 写入数据-> 同步FIFO -> 异步FIFO -> 读出数据。
【1】速度的控制属于data link layer的功能,通过同步FIFO进行控制, 然后用软件run-time设置FIFO合适的深度。 并行同步FIFO有利于更精确控制速率
【2】异步FIFO纯粹为了data跨时钟域,笼统上属于PHY layer,别搁上层



   谢谢你提供的思路。目前做的是万兆光接口,控制带宽6g,7g,8g三个档,不需要精准控制,所以想自己写代码控制。

看了下交换机芯片的带宽控制,没看出芯片的设计方法。下步打算用令牌桶思路试试。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top