【8B10B编解码及verilog(xilinx example)解析】

2023-09-21 15:31:36

8B10B编解码及verilog(xilinx example)解析

编码

8b/10b编码将串行的数据以8bit为一个单位进行编码处理得到一个10bit的数据,具体怎么操作呢,假设原始8位数据从高到低用HGFEDCBA表示,将8位数据分成高3位HGF和低5位EDCBA两个子组。经过5B/6B编码,将低5位EDCBA映射成abcdei;高3位经过3B/4B编码,映射成fghj,最后合成abcdeifghj发送。

在这里插入图片描述

查表算法

在这里插入图片描述在这里插入图片描述
D.x.A7用在:
x=17 x=18 x=20当RD=-1时;
x=11 x=13 x=14 当RD=+1时。
其他情况下x.A7码不能被使用,只能使用P7码
K.28组成了一部分K码,包括了K.28.0至K.28.7
K.23.7、K.27.7、K.29.7、K.30.7编码由D.23、D.27、D.29、D.30和K.x.7编码组成

解码

解码是编码的逆向,首先通过6b查找解析出5bit和k.28代表的K码
然后由K.x.7编码解析出由D.23、D.27、D.29、D.30组成的K.23.7、K.27.7、K.29.7、K.30.7

代码解析

在这里插入图片描述
k28代表K.28.X的K 码,1有效
在4位解析中,根据k28标识解析出K和D码
is_k是输出K码标识
k28表达式中,个人理解可以将d10[8]、d10[9]去掉

极性

+/-RD代表着同一个码型的两种编码方式。再举个例子比如:在表1中,对于D.x.4(100),其对应的4B码字有两种:1101和0010,若此时RD为负,则取1101作为其对应的4B码字作为输出,同时检验此时的编码是否为完美编码,如果是完美编码,则保持RD的极性不变;否则改变RD的极性。通过控制RD的极性,同时在编码时根据RD的极性选择相对应的编码值,使得编码后的数据流有更好的直流平衡特性,达到我们的缓解长“0”或长“1”的目的。
在这里插入图片描述
在这里插入图片描述

控制字K码

在这里插入图片描述

更多推荐

十五、垃圾回收相关算法

目录一、标记阶段:引用计算法对象存活判断引用计算法二、标记阶段:可达性分析算法三、对象的finalization机制四、MAT和Jprofiler的GCToots的溯源五、垃圾清除算法之标记-清除算法六、垃圾清除算法之复制算法七、垃圾清除算法之标记-压缩算法八、小结分代收集算法九、增量收集算法、分区算法1、什么是增量收

【EI会议信息】第五届物联网、自动化和人工智能国际会议(IoTAAI 2023)

第五届物联网、自动化和人工智能国际会议(IoTAAI2023)20235thInternationalConferenceonInternetofThings,AutomationandArtificialIntelligence第五届物联网、自动化和人工智能国际会议(IoTAAI2023)将于2023年11月24-2

你的服务器还安全吗?用户数据是否面临泄露风险?

一系列严重的网络安全事件引起了广泛关注,多家知名公司的服务器遭到黑客挟持,用户的个人数据和敏感信息面临泄露的风险。这些事件揭示了网络安全的脆弱性和黑客攻击的威胁性,提醒着企业和个人加强对网络安全的重视。一、入侵案例1.1蔚来数据泄露1.2特斯拉、波音、SpaceX供应商拒付赎金遭机密泄露二、入侵常见方式2.1弱密码攻击

【Rust 基础篇】Rust动态大小类型:理解动态大小类型与编写安全的代码

导言Rust是一种以安全性和高效性著称的系统级编程语言,其设计哲学是在不损失性能的前提下,保障代码的内存安全和线程安全。在Rust中,动态大小类型(DST)是一种特殊的类型,它的大小在编译时无法确定,需要在运行时根据实际情况进行确定。动态大小类型在Rust中有着重要的应用场景,例如引用类型、trait对象等。本篇博客将

ATECLOUD电源测试软件平台如何测试电源纹波?

电源纹波是影响电源稳定性的重要因素,过大的纹波会导致电源模块的工作效率降低,可能使电源模块直接损坏。使用ATECLOUD碘盐测试软件平台对纹波进行测试,检测其工作情况,以确保其稳定性和性能。电源纹波的产生电源的纹波通俗的来讲就是电源模块电压波动而造成的一种现象。一般情况下电源模块中的纹波都是由交流电经过整流稳压环节之后

开源软件的漏洞响应:应对安全威胁

🌷🍁博主猫头虎带您GotoNewWorld.✨🍁🦄博客首页——猫头虎的博客🎐🐳《面试题大全专栏》文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺🌊《IDEA开发秘籍专栏》学会IDEA常用操作,工作效率翻倍~💐🌊《100天精通Golang(基础入门篇)》学会Golang语言,畅玩云原生,走遍大

Learned-Based VO 梳理(USTC Paper Reading)

梗概主题:VOinDynamic思路简答介绍SLAM框架,引入VO问题直接从LearnedVO开始,介绍VO问题的相关研究,总结当前研究存在的问题讨论DynamicVO中的相关做法,总结问题,提出想法拓展VO和navigation的关系引入SLAM的全称是SimultanousLocationAndMapping,同步

【软件工程】软件工程之道—《人月神话》读后思考

目录写在前面1图书介绍2读后思考写在前面《人月神话》是一本由弗雷德里克·布鲁克斯(FrederickP.Brooks)所著的计算机科学经典著作。这本书首次出版于1973年,至今仍然被认为是计算机科学领域的重要参考书籍之一。它对我产生了深远的影响。通过作者弗雷德里克·布鲁克斯的深入剖析和丰富的实践经验,我对软件开发项目的

✔ ★ 算法基础笔记(Acwing)(三)—— 搜索与图论(17道题)【java版本】

搜索与图论1.DFS1.排列数字(3分钟)2.n-皇后问题2.BFS(队列)1.走迷宫二刷总结(队列存储一个节点pair<int,int>)三刷总结走过的点标记上距离(既可以记录距离,也可以判断是否走过)★★例题2.八数码二刷总结3.树与图的dfs1.树的重心二刷总结1.如何找根节点?用无向图遍历,则不需要根节点2.把

红与黑(bfs + dfs 解法)(算法图论基础入门)

红与黑问题文章目录红与黑问题前言问题描述bfs解法dfs解法前言献给阿尔吉侬的花束(入门级bfs查找+模版解读+错误示范在之前的博客当中,详细地介绍了这类题目的解法,今天为大家带来一道类似的题目练练手,后续还会更新更有挑战的题目以及更为详细的解析,喜欢的小伙伴可以点个关注啦!问题描述有一间长方形的房子,地上铺了红色、黑

8个很棒的Vue开发技巧

1.路由参数解耦通常在组件中使用路由参数,大多数人会做以下事情。exportdefault{methods:{getParamsId(){returnthis.$route.params.id}}}在组件中使用$route会导致与其相应路由的高度耦合,通过将其限制为某些URL来限制组件的灵活性。正确的做法是通过prop

热文推荐