EDN China > 设计实例 > 通信 > 网络传输与交换 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) 用于高速密集并行总线通信的零和信号方法

EDNChina编译?? 2013年10月10日 ?? 收藏0

用于仿真的编码方法

在随后的分析章节中描述的电路仿真要求为“典型”案例提供基本的随机数据集。“最坏”情况图案可以由深入了解系统弱点的工程师提供。针对单个链路或不相关的单端链路的随机数据可以由仿真环境中可用的伪随机比特流(PRBS)提供。然而,平衡的代码字的随机流要求特殊的处理。

简单的编码方法可以采用代码字的查找表,其中每个数据值代表进入查找表的索引。随机代码字可以通过从查找表随机选择条目来产生。

在编码小的数据集时这是很容易实现的,但随着数据比特数的增加,这种做法将越来越难,而且解码也需要搜索表格。然而,出于这些仿真的目的,查找表是合适和有效的。对小的代码字集来说,可以产生整个表。而对大的代码字集来说,查找表可以用随机选择的平衡(或接近平衡)代码字填入。由于仿真(至少)要求数百个代码字,因此有1万个条目数量级的查找表在大小上足够了,并且容易产生或存储。

不管用于查找表的代码字值是枚举产生的还是随机选择的,候选代码字都要转换成二进制,并对1和0比特进行计数。平衡的代码字有相同数量的1和0比特。如上所述,“接近平衡的”代码字具有受限的差值,由0和1比特数量的差值d确定。举例来说,针对2*N = 4(线)的情况,代码字是4比特,因此共有24 = 16个。针对4比特的代码字及它们的差值列举在表5中。(注意,每列中的代码数量可以从Pascal的三角函数得到)


表5:4位代码字的差值。

我们开发了Matlab软件代码用于产生具有特定代码大小和差值的代码字集,然后随机产生代码字用作仿真的输入。例如,考虑N = 8的情况,此时零和编码要求12根线(相比之下差分信号要16根,单端信号要8根)。对40个12比特代码字执行Matlab软件产生的结果如图2所示。结果中的每一列代表一个平衡的代码字,其中有6个0和6个1。每一行代表仿真的输出缓冲器发送的比特流。


图2:Matlab产生的12比特平衡代码字例子。

分页导航

? 第1页:引言? 第2页:零和信号方法的基本工作原理
? 第3页:零和编码? 第4页:用于仿真的编码方法
? 第5页:仿真环境和关联的HPC系统假设? 第6页:链路架构
? 第7页:链路架构:发送缓冲器? 第8页:链路架构:片载无源电源分布
? 第9页:链路架构:印刷线路板? 第10页:链路架构:仿真激励和图案
? 第11页:标称仿真:眼图与电压纹波? 第12页:仿真变化:差值和总线大小
? 第13页:仿真变化:数据速率? 第14页:零和信号总结

《电子技术设计》网站版权所有,谢绝转载


?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

总线? 通信? 零和信号? 电路板走线?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈