当前位置: 首页 > news >正文

PRBS简介

声明文中关于PRBS的介绍参考以下内容[1].Using Pseudo-Random Binary Sequences to Stress Test Serial Digital Interfaces.[2].UG476——7 Series FPGAs GTX/GTH Transceivers.[3].ITU-T Recommendation O.150.一、PRBS的定义PRBS Pseudo-Random Binary Sequences伪随机二进制序列是一串数字 1 和 0 的组合在其序列长度内具有统计学上的随机性。这种序列的相邻比特之间没有相关性因此可以被视为测试串行数字接口的“最坏情况”压力测试信号。如果接口能够在不产生比特错误的情况下处理这种“嘈杂”的随机比特序列那么我们就可以确信它能够处理好“干净”的非随机序列。虽然 PRBS 序列表现出随机行为但它实际上是确定性生成的重复时比特序列总是相同的。例如PRBS7 序列的字长为 7 位生成的序列长度为 2^7 - 1即 127位该序列由Pattern发生器无限重复。一般来说任何 PRBSk 序列的字长都为 k 位序列长度为 2^k - 1 位。正是这种确定性生成与随机比特模式的结合使得这些序列成为测试接口的理想选择。由于误码率分析仪知道生成了哪些 PRBS 比特因此对接口输出比特流进行误码计数就相对简单了。二、PRBS的选择PRBS测试码的选择依据参考文件的推荐在《Using Pseudo-Random Binary Sequences to Stress Test Serial Digital Interfaces》文档中推荐的PRBS测试码型如下表1所示。表1 PRBS测试码型选择1从表1中可以看出,PRBS9是SFP的推荐测试码型之一PRBS15通常用于抖动测试PRBS23通常用于SDH/SONET的测试以及SDI芯片制造商用于接口测试PRBS31是10G以太网的推荐测试码型之一。在《UG476——7 Series FPGAs GTX/GTH Transceivers》文档中推荐的PRBS测试码型如下表2所示。表2 PRBS测试码型选择2从表2中可以看出,PRBS7是通常用于8B/10B编码测试PRBS23用于非 8B/10B 编码测试。综合表1和表2的内容来看PRBS测试码型的选择依据接口的类型和实际的应用场景具体的码型选择需要参考上述文档和工程应用中的实际需求。三、PRBS的产生以PRBS7为例简单介绍PRBS产生的原理生成PRBS7测试码型相关的信息如下图1所示图1 PRBS7测试码型相关信息图1中展示了PRBS7的生成多项式为在生成PRBS7的线性反馈移位寄存器中对第6位和第7位进行异或操作并将其输出的结果反馈到第1位第7位的输出构成PRBS7的输出序列。使用Verilog实现一个PRBS7的生成器代码如下moduleprbs7_gen(inputclk,inputrst_n,outputprbs7_bit_o);parameterINITAIL_VALUE7b0000001;//初始值定义//表达式x^7x^61//初始值7b0000001//寄存器定义:R1-R2-R3-R4-R5-R6-R7其中最低位为R1最高位为R7//输出寄存器:R7//反馈值:feedback_bit R7 ⊕ R6//移位操作:// R1_new feedback_bit,// R2_new R1_old,// R3_new R2_old,// R4_new R3_old,// R5_new R4_old,// R6_new R5_old,// R7_new R6_old,reg[6:0]prbs7_r;wirefeedback_bit;always (posedgeclk)beginif(!rst_n)begin prbs7_rINITAIL_VALUE;endelsebegin prbs7_r{prbs7_r[5:0],feedback_bit};//PRBS7 实现低位向高位移位end endassignfeedback_bitprbs7_r[6]^prbs7_r[5];//对第7位和第6位进行异或操作assignprbs7_bit_oprbs7_r[6];//以第7位作为实际PRBS7 bit的输出endmodule在该代码中设定的初始值为7’b000_0001在该代码中prbs7_bit_o的值即为PRBS7序列值。对以上代码在Vivado软件中进行综合综合的RTL视图如下图2所示图2 PRBS7 RTL视图可以看到综合出来的结果中包含了1个FDSE和6个FDRE构成7个寄存器LUT2进行第6位和第7位输出的异或运算第7位作为输出从而综合出来的结果与图1中的生成原理相同。对上述代码在Vivado中进行仿真仿真结果如下图3所示图3 PRBS7 仿真结果从仿真结果输出可以看到前16个序列输出分别是0000_0010_0000_1100(前6个输出值为0000_00)前6个连续输出0之后第7个输出值为1刚好反映了PRBS7最多连续输出6个0在输出127位数值之后开始重复第1个数据以上输出信息与图1相对应在证明了代码正确性的同时验证了PRBS7序列的相关性质。
http://www.gsyq.cn/news/1403002.html

相关文章:

  • 告别重复图片困扰:AntiDupl.NET开源工具帮你智能清理数字垃圾
  • 3PEAK思瑞浦 LMV321X-S5TR SOT23-5 运算放大器
  • Coze智能体开发:开发儿童绘本制作工具
  • 终极硬件加速视频编解码完整解决方案:Hap QuickTime Codec深度解析
  • BetterNCM安装器完整指南:5分钟解锁网易云音乐无限插件功能
  • 2026年GEO最容易踩的5个坑:90%的人第一步就走错了
  • 5分钟构建企业级数据大屏:Flask+ECharts实战指南
  • 实测taotoken api在matlab调用下的响应延迟与稳定性表现
  • 3个核心技术:解密猫抓插件如何成为浏览器资源嗅探神器
  • 伊辛机与QUBO模型:解决大规模课程选择组合优化问题
  • 5分钟学会:用这款免费AI神器让模糊图片秒变高清
  • NVIDIA Profile Inspector终极指南:4个简单步骤解锁显卡隐藏性能
  • 软件开发人员绕过 Adobe 和微软,构建 Git 跟踪的书籍制作流程!
  • 暗黑破坏神2存档修改终极教程:d2s-editor让你5分钟掌握角色定制
  • 飓风疏散中社会脆弱性如何影响人口流动:基于移动大数据与SVI的实证研究
  • 大疆无人机固件自由下载神器:DankDroneDownloader终极使用指南
  • WechatDecrypt:三步快速解密微信聊天记录的完整指南
  • 终极指南:如何在Windows系统上安装macOS风格的高清鼠标指针
  • VR开发引擎选型实战:Unreal Engine与Unity深度对比与决策指南
  • Grafana配置详解
  • 2026职场英语在线学习APP深度测评|打工人零基础进阶必备神器
  • 3步掌握SMUDebugTool:解锁AMD Ryzen处理器的隐藏性能
  • AutoJs Pro 7.0.4-1 实战进阶---构建高仿人操作的快手极速版自动化脚本
  • 戴森球计划终极蓝图指南:8000+工厂设计快速搭建高效星际帝国
  • EmulatorJS版本选择完全指南:如何为你的怀旧游戏体验找到最佳版本
  • G-Helper终极指南:如何让华硕笔记本性能翻倍且续航提升50%
  • Vidupe:基于内容感知的视频智能去重解决方案
  • 基于中继标签的分布式MIMO雷达:无需硬件同步实现超高分辨率感知
  • PDF补丁丁终极指南:免费开源工具如何彻底改变你的PDF处理体验
  • 如何用Obsidian搭建你的专属学术研究系统:从零到精通的完整指南