FPGA IMPLEMENT 1Gb/10Gb ETH(二.1)

在上一节中介绍了PCS 8b10b encoder/decoder:的原理,接下来这一节,介绍FPGA实现:

本质是一张编码表,查找表:

XIilinx ug476 Appendix C(其中注意bit顺序编码前是高位在前

HGF EDCBA

编码后是低位在前

abcdei fghj


)  D码表、K码表,但是特殊情况没有标明,下面是特殊情况:

5b/6b是根据3b/4b的计算结果的极性(postive/negtive)来选择postive或者negtive的6b输出,那么6b的输出一般有两种情况:pos和neg;但是,当Dx.y的y为7,即8bit数据的高3bit为111时,会有两种码元,一种是A7,一种是P7,A7和P7各自都有pos和neg两种极性输出,也就是总共4种输出;

A7和P7的存在,可能是因为特殊情况会导致K码的漏检,任何编码都是不能保证完全没有漏洞的,不同的编码有不同的容错概率,这些具体原因包括编码表中二进制码的来源规则和相同Dx时4b输出最多两种情况,请参考相关数学文献;

verilog实现(还有更简单的方法,不像demo这样把3b/4b和8b/10b分开计算,直接把8b/10b查找表代码实现,效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值