5B6B码编码(4)

2018-12-02 14:04

后的图形如图5所示:

图 5缓存电路

3.3.4 并串转换模块的设计

本模块主要是实现并行数据输入转换为串行数据输出,输入的为6位的并行的数据,输出为6位串行的数据,通过Quartus封装后的图形如图6所示:

图 6并串转换模块

3.3.5 系统的顶层设计

完整电路模块采用自顶向下的设计方法,在顶层模块中调用各个子模块来完成系统控制功能。具体顶层设计电路如下:

图 7完整电路顶层图

13

3.4 系统各个模块的仿真

3.4.1分频器的仿真

通过前面的设计,设置好相应的输入和输出后六分频器的仿真波形如图8所示:

图 8分频器的仿真

图中clk为系统时钟输入,clk6为6分频后的时钟输出,通过对比可以看出,仿真波形是正确的。 3.4.2 串并转换模块的仿真

通过前面的设计,设置好相应的输入和输出后串并转换模块的仿真波形如图9所示:

图 9串并转换模块的仿真

图中clk为系统时钟输入,shift_in为串行的5B码组输入,A为并行的5B码组输出,这里我们选用任意的一个码组10110,从仿真结果中可以看出,在第五个时钟周期结束后并行输出的码组为10110,验证了仿真的正确性。 3.4.3 存储器模块的仿真

通过前面的设计,设置好相应的输入和输出后存储器模块的仿真波形如图

14

10所示:

图 10缓存电路的仿真

图中clk为系统时钟输入;F为模式选择位,0表示选择模式1,1表示选择模式2,;Y为并行的5B码组输入,Q为并行的6B码组输出。通过对比Y和Q的码组可以发现,当输入00000时输出000111,当输入00001时输出011100,当输入00010时输出110001,当输入00011时输出110001??,只不过延迟了一个时钟周期。与5B6B编码表中进行对比可以证明仿真结果是正确的。 3.4.4 并串转换模块的仿真

通过前面的设计,设置好相应的输入和输出后并串转换模块的仿真波形如图11所示:

图 11并串转换模块的仿真

图中clk0表示系统时钟6分频后的时钟输入,clk1为系统时钟输入,Q为并行的6B码组输入,shift_out为串行的6B码组输入,这里我们选用任意一个码组100100测试,shift_out在一个clk0周期后输出的串行码为100100,说明了仿真是正确的。

15

3.4.5 完整电路仿真

根据顶层模块的设计,仿真结果如图12所示:

图 12完整电路仿真波形

图中clk为系统时钟输入,clk6为6分频器分频后的输出,M为模式选择位,A为并行5B码组输入,Q为并行6B码组输出,shift_in为串行的5B码组输出,shift_out为串行的6B码组输出,这里选用任意一个码组01011作为串行码组输入,可以看到在一个clk6周期后串行输出的6B码组为100111,通过编码表对比可以知道,设计与仿真都是正确的,故整个系统完全实现了所要求的功能。

16

第四章 总结

本文简单介绍了一种方法实现5B6B的编码,并使用VHDL硬件语言实现了5B6B编码数字化设计,完成了编码器最基本的功能,在这个基础上,未来的目标就是降低监测同步信号误码率,使这个设计更加完美。

第一次采用FPGA来对5B6B编码,所有的Verilog编程中,所有的设计QUARTUS2功能仿真和时序验证已经通过仿真。

毕业设计选择这一个题目是因为有同学在课程设计中曾做这个题目,可以相互探讨。开始可以选择Matlab或者 VHDL语言来进行设计,我们选择了用VHDL来做,使用自上而下的硬件描述语言的设计方法来实现。

17


5B6B码编码(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:房地产开发有限公司章程范本(精品版)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: