在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3788|回复: 10

[求助] 请教以太网缓存的问题

[复制链接]
发表于 2011-1-25 09:12:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
做以太网到e1的转换,需先将以太网帧进行缓存,用fifo实现,我的问题就是:
以太网是变长的,可能在FIFO读的过程中已经写入很多以太网数据了,比如读第1帧的时候又写入了第2,第3,第4帧的数据了,那请问怎么识别读出的数据是哪一帧的呢?我现在的想法就是记录每一次写完以太网数据后的“写地址”,读的时候顺序取出这些“写地址”,如果“读地址”等于“写地址”则认为读完一帧了。不知大家是怎么处理这个问题的?
发表于 2011-1-26 11:44:41 | 显示全部楼层
如果你的datapath宽度是32,那么,可以把fifo的宽度设计成33,34,或者35
多出的bit位,可以用来标志frame头部,以及错误等状态信息
发表于 2011-1-26 13:45:00 | 显示全部楼层
为什么要判断是第几帧呢?
如果你仅仅是做转发处理而不作分析,那根本不用管。
 楼主| 发表于 2011-1-26 14:50:43 | 显示全部楼层



这个办法比我之前想的用另外一个fifo来存地址要简便,不过如果fifo深度很大的话,岂不是有很多的fifo空间没利用?
 楼主| 发表于 2011-1-26 14:52:14 | 显示全部楼层


为什么要判断是第几帧呢?
如果你仅仅是做转发处理而不作分析,那根本不用管。
falloutmx 发表于 2011-1-26 13:45




    主要是我不知道存进fifo的帧的长度,因此不知道在读出的数据什么时候算是下一帧的数据了
发表于 2011-1-26 14:57:00 | 显示全部楼层
多个地址,TAG标记下第一帧
 楼主| 发表于 2011-1-27 08:36:40 | 显示全部楼层
可不可以说的详细点,谢谢
发表于 2011-2-11 14:49:38 | 显示全部楼层


这个办法比我之前想的用另外一个fifo来存地址要简便,不过如果fifo深度很大的话,岂不是有很多的fifo空 ...
123zxc123 发表于 2011-1-26 14:50




无所谓了,浪费不了多少FIFO空间.一般情况,512x35的FIFO足够了...
我见过的几个MAC,都是这样设计的
发表于 2017-6-29 11:44:20 | 显示全部楼层
请问MAC的深度如何确定,假如1000Mbps工作,而总线带宽是200MBps
发表于 2017-7-1 01:57:23 | 显示全部楼层
一般都是用phase tag
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-11 18:05 , Processed in 0.030355 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表