8b_10b_coder 笔记

8b_10b编码介绍:维基百科

8b_10b编码标准:"Standard for High Performance Serial Bus (High Speed Supplement)]," in IEEE Std 1394b-2002 (Amendment to IEEE Std 1394-1995) , vol., no., pp.1-356, 14 Dec. 2002, doi: 10.1109/IEEESTD.2002.94221.

我在学习hdmi 的时候不太看得懂8b_10b编码,就上网查了一下,学到了很多,在此记录学习中遇到的难点,希望大家批评指正。

一、8b_10b编码主要逻辑就是把8b(256个状态)转换为10b,这个主要逻辑都要满足的,还有一些次要逻辑,有特征字( special characters)和控制字(control coding)等,这些次要逻辑负责错误检测,同步等。在这统称为次要逻辑是因为我看到的一些代码其将用不到的逻辑状态阉割掉了,我的理解是:这些次要逻辑按需使用就行。

例如我用quartus 例化的8b_10b coder 的IO为:信息来源:

8B10B Encoder/Decoder MegaCore Function User Guide

 然而在hifpga上看到的IO 

来源:详解FPGA实现8b10b编码原理(含VHDL及verilog源码)实在是能力有限,不会用opencore

module encode (datain, dispin, dataout, dispout) ;
  input [8:0]   datain ;
  input         dispin ;  // 0 = neg disp; 1 = pos disp
  output [9:0]  dataout ;
  output        dispout ;

两者IO存在巨大区别。

二、另一个是编码中的一个小细节,就是编码中的字母不是按字母的顺序 

来源:8b_10b编码标准:"Standard for High Performance Serial Bus (High Speed Supplement)]," in IEEE Std 1394b-2002 (Amendment to IEEE Std 1394-1995) , vol., no., pp.1-356, 14 Dec. 2002, doi: 10.1109/IEEESTD.2002.94221.

 其中的ouput 顺序是abcdei fghj,为什么要强调这一点是因为

 3b转4b中有一个逻辑是:A7 replaces P7 if the following is true:

 (rd<0)? (e==1 && i==1): (e==0 && i==0) 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值