基于CPLD的8B10B编码器模型的设计

时间:2022-04-29 06:23:46

基于CPLD的8B10B编码器模型的设计

【摘 要】本文在Altera公司开发的Quartus II开发平台上,利用EDA技术,采用VHDL程序设计输入和原理图设计输入混合设计的方式,基于FPGA数字集成电路提出一种简单实用的8B10B编码器的实现方法,完成8B10B编码器模型的设计。其输入输出特性满足8B10B基本原理和核心算法,实现了设计的要求。

【关键词】CPLD 8B10B编码器 EDA indata 时序仿真

一、前言

8B10B编码技术广泛应用在串行连接SCSI、串行ATA、光纤链路、以太网、XAUI、PCI Express总线、Infini Band、Serial Rapid IO、Hyper Transport总线以及IEEE1394b接口(火线)等技术中[1]。8B10B2将8bit代码组合编码成10bit代码,代码组合包括256个数据字符编码和12个控制字符编码,通过仔细选择编码方法可以获得不同的优化特性[2]。在高速串行流中,如果1码元或者0码元有连续多位没有发生变化,就会因为电压的关系而产生误码[3]。8B10B编码方式保证了直流平衡,保证在串行码元流中不会产生超过4个连续的1码元或者0码元,从而防止码间干扰。

二、8B10B编码器的实现

(一)8B10B编码器顶层设计思路

8B10B是一个线路编号,其标注了一个8位符号到10位符号来完成直流平衡和有界视差。这是信号的一个重要属性,其需要在很高速率下发送以减少符号间干扰。8位数据被当作一个10位的实体来传输。这个数据的低5位被编码成6位的组,最高的3位被编码成一个4位组。这些编码被连接在一起在电线上传输从而组成10位的符号[5]。

本文的8B10B编码器采用层次描述方式,也采用原理图输入和文本输入混合方式建立描述语言。8B10B编码器由indata模块、B3B4模块、B5B6模块、outdata模块组成。indata模块实现输入8位信号,并行输出3位信号和5位信号,为下一步3B4B编码和5B6B编码做基础准备。B3B4模块实现了输入3位码元,通过查表法,输出相对应的4位编码。indata模块与B3B4 模块、B5B6模块之间的数据总线分别为3位和5位。Outdata模块与B3B4模块、B5B6模块之间的数据总线分别为4位和6位。

(二)indata模块设计

本文使用VHDL语言设计indata数据分流模块。VHDL语言对时序器件功能和逻辑行为有强大的描述能力,体现与设计平台和硬件实现对象无关性的优秀特点。

运行QuartusII软件,按要求新建工程文件,在设计窗口输入indata分流模块的VHDL设计程序后,在Quartus上进行综合。综合过程就是把VHDL语言设计的HDL描述与硬件结构挂钩,实现了将软件转换为硬件电路的目的。综合就是根据给定的硬件结构组件和约束控制条件进行编译、优化、转换,最后将电路的高级语言转换成可与FPGA/CPLD基本机构相映射的网表文件。B3B4模块由encode3B4B1模块、encode3B4B2模块、mux2_3B4B模块构成。encode3B4B1模块和encode3B4B2模块实现输入3位码元,根据3B4B编码算法,应用查表法,编码输出4位码元。其中,encode3B4B1模块实现RD-的编码功能,encode3B4B2实现RD+编码。mux2_3B4B模块的功能是实现通过en的高低电频来选择相对应的4位码元输出。encode3B4B1模块、encode3B4B2模块、mux2_3B4B模块都采用VHDL设计方式。B5B5模块由encode5B6B1模块、encode5B6B2模块、mux2模块组成。encode5B6B1模块和encode5B6B2模块根据B5B6编码算法,采用查表法来实现输入5位码元,输出6位码元的功能。encode5B6B1模块、encode5B6B2模块、mux2模块都采用VHDL设计方式,设计思路与B3B4模块的设计相似。

(三)时序仿真验证

电路设计完成后,需要进行功能仿真和时序仿真,验证设计结果是否满足设计要求。通过实践证明,虽然输出有延迟和毛刺,但是结果与预测的8B10B编码输出相同。因此,本文的8B10B编码器基本满足8B10B的算法,能够正确输出相应的编码。

三、总结

本文基于Altera公司开发的Quartus II开发平台,利用EDA技术,采用VHDL程序设计输入和原理图设计输入混合设计的方式,提出一种简单实用的8B10B编码器的实现方法,完成了8B10B编码器模型的设计。该模型输入输出特性满足8B10B基本原理和核心算法,基本实现了设计要求。

【参考文献】

[1]杨军,周克峰.创新实验指导书[Z].云南大学信息学院电路实验室,2005.

[2]杨军,龙飞,徐炜.Quartus II实验指导书[Z].云南大学滇池学院现代教育技术中心,2006.

[3]李宗伯.VHDL设计表示和综合[M].北京:机械工业出版社,2002.

[4]朱正伟.EDA技术及应用[M].北京:清华大学出版社,2005.

[5]潘松,黄继业.EDA技术与VHDL[M].北京:清华大学出版社,2005.

上一篇:浅谈《驱动技能工作岛》一体化教学改革 下一篇:ZnO―Sm纳米复合物制备及可见光催化降解RhB