原创 【博客大赛】TSE-MAC的FIFO工作机制

2013-2-28 21:50 2232 16 21 分类: FPGA/CPLD 文集: Qsys与uC/OS学习笔记

TSE-MAC的FIFO工作机制

 

最近在这条Altera三速以太网(TSE)的MAC,目前基本能够从这个挂在MAC上的Avalon-ST总线上收发PC的IP包了。

MAC是个试用版的IP核,内部框图如下。它通过MII/GMII/RGMII和FPGA外部的PHY交换数据。内部做了一些MAC该做的事,然后通过两个FIFO分别缓存以太网的收或发数据包。这两个FIFO读写的一端自然是MAC,另一端则是Avalon-ST总线。

1.jpg

 

再说这两个FIFO的管理也很有学问,它要实现的功能是在尽可能不丢包(FIFO不能溢出或空读)的情况下收发数据。如图所示,这是RX FIFO用于控制的几个寄存器示意图。

2.jpg

 

这里有4个寄存器。User guide上有如下的描述。

3.jpg

 

光是看看这些枯燥的文字恐怕很难理解清楚它的工作机理。如果自己动手操作一把,遇上几次收发故障,那么再回头消化下估计就不难了。

简单的来看,almost empty和almost full是实际上MAC希望提醒Avalon ST总线或PHY端(也可以理解为远端的以太网设备)注意当前FIFO真得快full或empty了。当然了,almost empty有一种情况不会发出预警,那便是在FIFO中已经出现了当前收发帧数据的eop(end of packet),这种情况下会继续读FIFO直到eop;almost full预警发出时,如果读FIFO端仍没有准备好要读FIFO,那么当前帧可能就要遭受丢弃的厄运了。

与此类似,section empty和section full则不是绝对的FIFO的empty或full状况指示,个人的理解,这两个寄存器主要是设计者根据PHY端和Avalon-ST端的实际速率状况,相互提前做出指示,让另一方能够尽早做出相关操作的报警。Section full寄存器如果设置为0时,则使能store and forward模式,该模式下,完整的接收一整个帧的数据时则发起Avalon-ST的读操作。

 

 

 

文章评论5条评论)

登录后参与讨论

ilove314_323192455 2015-3-23 11:15

比如配置相关的引脚复用,需要在setting里面修改一下设定

用户377235 2015-3-19 00:05

只使用这个IP核,搭配一些控制模块,在锁定管脚的时候为什么有些和hard processor连接复用的管脚锁定不了呢?

ilove314_323192455 2013-3-8 18:58

这个应该是以太网协议中实现的,可能是发出错误或暂停指示,远方设备可能会随后重发,具体实现要去翻翻以太网的协议

用户433737 2013-3-7 19:27

例如在发送的时候,section full=1的时候,我们停止向FIFO写入数据,但是当section empty=1的时候我们怎么控制远方的设备停止读取FIFO中的数据。

用户433737 2013-3-7 19:23

例如在发送时,almost full提示出现,我们可以控制停止向FIFO写,但是当almost empty提示出现时,我们怎么使远方设备停止读取数据呢?
相关推荐阅读
特权ilove314 2016-06-30 21:16
例说FPGA连载6:FPGA开发所需的技能
例说FPGA连载6:FPGA开发所需的技能 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   前面的文字已经做了很多铺垫,相信读...
特权ilove314 2016-06-28 21:09
例说FPGA连载5:FPGA的优势与局限性
例说FPGA连载5:FPGA的优势与局限性 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   若要准确评估FPGA技术能否满足开...
特权ilove314 2016-06-28 21:05
例说FPGA连载5:FPGA的优势与局限性
例说FPGA连载5:FPGA的优势与局限性 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   若要准确评估FPGA技术能否满足开...
特权ilove314 2016-06-26 22:11
例说FPGA连载4:FPGA语言与厂商介绍
例说FPGA连载4:FPGA语言与厂商介绍 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   Verilog与VHDL 说到FP...
特权ilove314 2016-06-23 21:26
例说FPGA连载3:FPGA与其它主流芯片的比较
例说FPGA连载3:FPGA与其它主流芯片的比较 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   FPGA、ASIC和ASSP...
特权ilove314 2016-06-21 20:32
例说FPGA连载2:FPGA是什么
例说FPGA连载2:FPGA是什么 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   2015年伊始,Intel欲出资百亿美金收...
我要评论
5
16
关闭 站长推荐上一条 /2 下一条