




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
合 肥 学 院课 程 设 计 报 告题 目:_ 5B6B编码的仿真与实现 _系 别:_ 电子信息与电气工程系 _专 业:_ 通信工程_ _班 级:_ _10通信2班_ _学 号:_1005072040_1005072032 1005072033_姓 名:_ 徐杰 曹小虎 张新文_ _导 师:_ 张倩_ _ _成 绩:_ _2013年 12月 07日现代通信技术课程设计论文题目5B6B编码的仿真与实现设计类型工程应用导师姓名张倩主要内容及目标仿真与实现5B6B的编码,要求:1、了解5B6B编码原理;2、对5B6B编码进行仿真模型设计;3、运用MATLAB软件或硬件描述语言对5B6B编码进行设计,并对各模块进行分析、仿真与验证;4、要求有系统框图,电路原理图,软件流程图,模拟仿真结果图。具有的设计条件计算机MATLAB软件 Quartus II软件计划学生数及任务计划需要3人:1人主要进行5B6B编码仿真模型设计;1人用MATLAB仿真实现。1人分析5B6B编码用硬件描述语言的实现方案计划设计进程第12周 查资料了解5B6B编码原理,设计实现方案,并进行仿真第13周 仿真实现5B6B编码,同时完成课程设计报告参考文献1李勇权, 刘永强, 何云状, 樊建明.一种基于FPGA的5B6B编译码的实现J. 微计算机信息 , 2007,(14)2 张少锋, 杨章顺, 戴琦, 齐恒, 冉立新. 光纤数字通信系统5B6B编译码的FPGA实现J. 光通信技术 , 2004,(12)3 刘增基,周洋溢,胡辽林,周绮丽. 光纤通信 (第二版) M. 西安:西安电子科技大学出版社,2008.12目录一、软件硬件开发平台简介21.1 Quartus2软件简述31.2 FPGA系统开发流程简介41.2.1 电路设计41.2.2 设计输入41.2.3 功能仿真51.2.4 综合优化51.2.5 综合后仿真61.2.6 实现与布局布线6二、5B6B编码仿真及其设计步骤62.1 5B6B编码原理62.1.1 5B6B编码原理72.1.2 5B6B码表设计72.2 5B6B编码模块设计82.2.1 编码器的工作原理82.2.2 编码电路的电路模块划分92.3 5B6B编码器在FPGA中的实现92.4 整体电路的仿真实现112.4.1 整体电路的顶层图112.4.2 整体电路的仿真11三、结束语11参考文献115B6B码编码的仿真与实现摘要:在数字通信系统中,数字光纤通信由于其本身的优点得到越来越广泛的应用。数字光纤通信系统中,从电端机传输过来的电信号均要结合数字光纤通信传输的特点经过线路码型的转换。通过线路码型的转变平衡数字码流中的“0”和“1”码字,从而避免码流中出现长“0”或者长“1”的现象。在数字光纤通信系统中比较常用的线路码型就是mBnB码型,mBnB线路码型的最大优点就是最大相同码元连码和少、定时信息丰富、并且有简单成熟的误码监测与码组同步的方法。关键词:5B6B编码; VHDL语言; FPGA ; Quartus2 ;仿真;正文:一、软件硬件开发平台简介由于5B6B码编码的设计与仿真是要软件做支持和要硬件做平台。所以在设计之前,先介绍一下常用软件Quartus2的使用,接着在介绍一下FPGA系统开发过程。方便下面的说明。1.1 Quartus2软件简述图1 Quartus2软件界面Quartus II 是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。Quartus II支持Altera的IP核,含LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三放EQuartus II 是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDLDA工具。此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。Maxplus II 作为Altera的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用。目前Altera已经停止了对Maxplus II 的更新支持,Quartus II 与之相比不仅仅是支持器件类型的丰富和图形界面的改变。Altera在Quartus II 中包含了许多诸如SignalTap II、Chip Editor和RTL Viewer的设计辅助工具,集成了SOPC和HardCopy设计流程,并且继承了Maxplus II 友好的图形界面及简便的使用方法。Altera Quartus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。Altera的Quartus II可编程逻辑软件属于第四代PLD开发平台。该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。Quartus平台与Cadence、ExemplarLogic、 MentorGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。改进了软件的LogicLock模块设计功能,增添 了FastFit编译选项,推进了网络编辑性能,而且提升了调试。支持 MAX7000/MAX3000等乘积项器件Quartus软件包是MAX+plus的升级版本,Altera公司的第四代开发软件。其提供了一个完整高效的设计环境,非常适应具体的设计需要。Quartus提供了方便的设计输入方式、快速的编译和直接易懂的器件编程。能够支持逻辑门数在百万门以上的逻辑器件的开发,并且为第三方工具提供了无缝接口。Quartus支持的器件有:Stratix 、Stratix GX、Stratix、Mercury、MAX3000A、MAX 7000B、MAX 7000S、MAX 7000AE、MAX 、FLEX6000、FLEX10K、FLEX10KA、FLEX10KE、Cyclone、Cyclone 、APEX 、APEX20KC、APEX20KE和ACEX1K系列。Quartus软件包的编程器是系统的核心,提供功能强大的设计处理,设计者可以添加特定的约束条件来提高芯片的利用率。在设计流程的每一步,Quartus软件能够引导设计者将注意力放在设计上,而不是软件的使用上。同时,自动的错误定位、完备的错误和警告信息,使设计修改变得简单容易。另外,Quartus可与MATLAB的Simulink和DSP Builder结合,是开发DSP硬件系统的关键EDA工具,Quartus与SOPC Builder结合,能够开发SOPC(System On a Programmable Chip)系统,是一款很有发展前途的EDA软件。Altera公司的Quartus4.1软件可以在代理商处获得光盘,也可以到Altera公司的网站上下载,其安装与授权文件的获得可以参考MAX+plus的操作过程。1.2 FPGA系统开发流程简介由于5B6B码译码的设计与FPGA系统的设计有相似之处,所以在这里对FPGA系统的开发流程做简要介绍。1.2.1 电路设计在系统设计之前,首先要进行的是方案论证、系统设计和FPGA芯片选择等准备工作。系统工程师根据任务要求,如系统的指标和复杂度,对工作速度和芯片本身的各种资源、成本等方面进行权衡,选择合理的设计方案和合适的器件类型。一般都采用自顶向下的设计方法,把系统分成若干个基本单元,然后再把每个基本单元划分为下一层次的基本单元,一直这样做下去,直到可以直接使用EDA元件库为止。 1.2.2 设计输入 设计输入是将所设计的系统或电路以开发软件要求的某种形式表示出来,并输入给EDA工具的过程。常用的方法有硬件描述语言(HDL)和原理图输入方法等。原理图输入方式是一种最直接的描述方式,在可编程芯片发展的早期应用比较广泛,它将所需的器件从元件库中调出来,画出原理图。这种方法虽然直观并易于仿真,但效率很低,且不易维护,不利于模块构造和重用。更主要的缺点是可移植性差,当芯片升级后,所有的原理图都需要作一定的改动。目前,在实际开发中应用最广的就是HDL语言输入法,利用文本描述设计,可以分为普通HDL和行为HDL。普通HDL有ABEL、CUR等,支持逻辑方程、真值表和状态机等表达方式,主要用于简单的小型设计。而在中大型工程中,主要使用行为HDL,其主流语言是Verilog HDL和VHDL。这两种语言都是美国电气与电子工程师协会(IEEE)的标准,其共同的突出特点有:语言与芯片工艺无关,利于自顶向下设计,便于模块的划分与移植,可移植性好,具有很强的逻辑描述和仿真功能,而且输入效率很高。 1.2.3 功能仿真 功能仿真,也称为前仿真,是在编译之前对用户所设计的电路进行逻辑功能验证,此时的仿真没有延迟信息,仅对初步的功能进行检测。仿真前,要先利用波形编辑器和HDL等建立波形文件和测试向量(即将所关心的输入信号组合成序列),仿真结果将会生成报告文件和输出信号波形,从中便可以观察各个节点信号的变化。如果发现错误,则返回设计修改逻辑设计。常用的工具有Model Tech公司的ModelSim、Sysnopsys公司的VCS和Cadence公司的NC-Verilog以及NC-VHDL等软件。 1.2.4 综合优化 所谓综合就是将较高级抽象层次的描述转化成较低层次的描述。综合优化根据目标与要求优化所生成的逻辑连接,使层次设计平面化,供FPGA布局布线软件进行实现。就目前的层次来看,综合优化(Synthesis)是指将设计输入编译成由与门、或门、非门、RAM、触发器等基本逻辑单元组成的逻辑连接网表,而并非真实的门级电路。真实具体的门级电路需要利用FPGA制造商的布局布线功能,根据综合后生成的标准门级结构网表来产生。为了能转换成标准的门级结构网表,HDL程序的编写必须符合特定综合器所要求的风格。由于门级结构、RTL级的HDL程序的综合是很成熟的技术,所有的综合器都可以支持到这一级别的综合。常用的综合工具有Synplicity公司的Synplify/Synplify Pro软件以及各个FPGA厂家自己推出的综合开发工具。 1.2.5 综合后仿真 综合后仿真检查综合结果是否和原设计一致。在仿真时,把综合生成的标准延时文件反标注到综合仿真模型中去,可估计门延时带来的影响。但这一步骤不能估计线延时,因此和布线后的实际情况还有一定的差距,并不十分准确。目前的综合工具较为成熟,对于一般的设计可以省略这一步,但如果在布局布线后发现电路结构和设计意图不符,则需要回溯到综合后仿真来确认问题之所在。在功能仿真中介绍的软件工具一般都支持综合后仿真。 1.2.6 实现与布局布线 实现是将综合生成的逻辑网表配置到具体的FPGA芯片上,布局布线是其中最重要的过程。布局将逻辑网表中的硬件原语和底层单元合理地配置到芯片内部的固有硬件结构上,并且往往需要在速度最优和面积最优之间作出选择。布线根据布局的拓扑结构,利用芯片内部的各种连线资源,合理正确地连接各个元件。目前,FPGA的结构非常复杂,特别是在有时序约束条件时,需要利用时序驱动的引擎进行布局布线。布线结束后,软件工具会自动生成报告,提供有关设计中各部分资源的使用情况。由于只有FPGA芯片生产商对芯片结构最为了解,所以布局布线必须选择芯片开发商提供的工具。 二、5B6B编码仿真及其设计步骤在电力系统通信中,数字光纤通信由于其本身的优点得到越来越广泛的应用。数字光纤通信系统中,从电端机传输过来的电信号均要结合数字光纤通信传输的特点经过线路码型的转换。通过线路码型的转变平衡数字码流中的“0”和“1”码字,从而避免码流中出现长“0”或者长“1”的现象。在数字光纤通信系统中比较常用的线路码型就是mBnB码型,mBnB线路码型的最大优点就是最大相同码元连码和少、定时信息丰富、并且有简单成熟的误码监测与码组同步的方法。2.1 5B6B编码原理5B6B编码,简单的讲就是将5B的数据怎样变成是6B的数据。5B6B编码的实现方案主要有两种:用MATLAB软件或硬件描述语言实现。这里选择用FPGA实现。2.1.1 5B6B编码原理mBnB码的构成方法就是:首先将要编码的二进制码流每m个码元分成一组,然后在每个码组的时隙内按一定编码规则选择一个相应的n位码组代替原m位码组。大多数的mBnB码都采用两种编码模式,以便更换其中数字和d较大的码组。5B6B码型有很多种组成方法,按照CCITT的建议,本文采用是码表5B6B-5,这个码表取数字和d=0的码组20个,而d2码组各取13个。这样在5B6B码流中相同数字码元连码和小于5,数字连码和变差小于3。2.1.2 5B6B码表设计码表设计的原则是: “0”码和“1”码出现的概率相等 减小最大同符号连续数的数目 选取游程差值D值小的码组为了达到以上设计目标,引入模式概念。6B码有模式1和模式2。定义模式1为正,模式2为负;模式1和模式2交替出现。设计的码表为:序号输入二元码组(5bit)输出二元码组(6bit) 5B6B1 (00) 5B6B2 (01)模式1模式2模式1模式20000000001110001110101111010001000010111000111001001110110002000101100011100010110111001003000111010011010010001110001114001000110100110101010110101005001010100110100110010110010116001101011001011000011010011017001111110010001100011100011108010001001101001101100110011009010010101010101010100110100111001010010111101000010101010101110101110011101100001011001011012011001010110101000110010110011301101011110100001011010011010140111010111001000101110001110015011111101001101001011010100101610000001011001011011101100010171000101110110001010001110001118100100110111001001001011001011910011110101001010100110100110201010011011000100110100110100121101011110100001011010101010102210110101010101010101100101100231011101100101100111010100101024110001011010100101100011100012511001001101001101110010110010261101011001011001011010011010027110110101100101101110010001102811100100101100101111000111000291110110001110001110111001000130111100011100011101101100010013111111111000111000111010000101表1 5B6B码表2.2 5B6B编码模块设计2.2.1 编码器的工作原理5B6B码型的编码电路包括串/并变换电路、缓存电路、编码电路、并/串变换、变频器等部分,如下图所示:图2 编码原理图编码电路的工作原理是本地晶振产生一个标准的时钟,用变频器产生供译码电路和输出电路工作的时钟,他们之间的关系是 。缓存器把输入的五位码元保存起来作为编码器的输入,在编码器电路中,按照议定的5B6B-5码表来产生相应的六位码元。这六位码元在6B时钟脉冲的驱动下通过并/串变换电路来输出。2.2.2 编码电路的电路模块划分在实际设计中,应结合实际和VHDL语言的描述特性,可把编码电路划分为以下模块。它们分别是:串并变换模块、编码模块、并串变换模块、序列生成模块和其他相关模块(缓冲电路设计等配套模块)。以下重点介绍前四模块的设计思路,后几个模块会给出程序。(1) 序列产生模块 该模块首先通过按键cout控制,当cout为0时清零,cout为2时输出序列一个24位的序列,由于在设计时采用了循环技术,又避免了信号的重叠和覆盖 ,所以将产生所需要的6B序列。可以通过按键的值来控制输出的序列值。(2)串并变换模块7的主要功能是将串行输入的码流并行输出。对于6B码流来说,在进行查表之前必须要先将其转换成6BITS每组的并行码流,然后把并行的6B码组收集起来,进行查表操作。对于5B码流,即为转换成5BITS每组的并行码流。(3)编码模块主要负责输入的并行码组的编码。 (4)并串变换模块的主要功能是将并行的码流串行输出,具体功能和实现方法与串并变换模块的功能相近,在此不再说明了。2.3 5B6B编码器在FPGA中的实现在quartus2里面用VHDL语言来设计5B6B码的编码器,采用了由顶向下的设计方法(参见图3中的b5b6_code元件图),在这个5B6B编码器中,data_in表示码流的输入,clk_5b、clk_6b分别是作为5b、6b码时钟脉冲的输入信号,reset信号是系统的复位信号,data_out是编码后码流的输出。用VHDL语言描述的时候,里面的模块又可分成几个进程(process):第一个process处理输入码流的移位以及主要的复位功能,相当于编码原理中的串/并变换电路以及缓存电路;第二个process进程处理码流的编码功能,相当于原理中的编码电路,在这个process中由于存在模式的转换的问题,所以定义了一个模式标志位(model_state),无论在模式1还是在模式2下,当码组的数字和d0时,model_state不会改变,如果码组的数字和d2的时候,那么就改变model_state的值,从而实现数字和2的相互更替,这样就保证了码字“0”和码字“1”的平衡;第三个process处理码组的输出,相当于原理中的并/串变换电路。图3 b5b6_code元件图quartus2下编码器的仿真波形图如下所示:图4 编码器的仿真波形图 仿真的时候采取了100MHz的clk时钟信号,用altpll来产生用于编码器的5B信号的时钟clk_5b和用于输出六位码流的时钟clk_6b,其中产生了55ns的延时,信号的输入是在80ns才输入的,那么就产生了怎么样来判断什么时刻是数据传输的开始,为了方便仿真,本设计采用了第一输入11111,这样只要输入的数据中有一个不是0,那么就开始数据的传输和处理。从图中可以得出编码器的输出波形bianma_out符合编码的要求。2.4 整体电路的仿真实现2.4.1 整体电路的顶层图图5 整体电路的顶层图2.4.2 整体电路的仿真仿真结果如下图所示:图6 整体电路的仿真波形图三、结束语本文介绍一种简单的5B6B编码方法,并利用VHDL 语言实现了5B6B编码译码的全数字设计,具有了编码译码的最基本的功能,今后的改进就是在此基础上改进同步信号的提取以及误码的监测,让这个设计更加完善。第一次采用FPGA对5B6B码型来编码,全部由 Verilog编程实现,整个设计已通过Quartus2的功能仿真和时序仿真的验证。本次的课程设计是第一次进行一个大的系统进行设计,对于我们来说,还是颇有难度的。在最开始选择是用matlab还是vhdl语言进行设计时,我们选择使用VHDL语言进行这次课程设计,硬件描述语言自顶向下的设计方式优势很多。在实验中也遇到了一些小的问题,最终和同伴、老师探讨,疑问得以解决,在此感谢热心的同伴们和不厌其烦的老师对我们的帮助!参考文献1李勇权, 刘永强, 何云状, 樊建明.一种基于FPGA的5B6B编译码的实现J. 微计算机信息 , 2007,(14)2 张少锋, 杨章顺, 戴琦, 齐恒, 冉立新. 光纤数字通信系统5B6B编译码的FPGA实现J. 光通信技术 , 2004,(12)3 刘增基,周洋溢,胡辽林,周绮丽. 光纤通信 (第二版) M. 西安:西安电子科技大学出版社,2008.12 4 刘绍汉,刘新民,林杜生. VHDL芯片设计M. 北京:清华大学出版社,2004.5 南利平,李光华,张晨燕,王亚飞. 通信原理简明教程:第二版 M. 北京:清华大学出版社,2007.8.6 杨祥林. 光纤通信系统M. 北京:国防工业出版社,2000.1.附录:程序代码五分频器五分频:序列发生器的输入时钟脉冲五分频从而可以实现每输入5BIT的串行信号就同步转换输出出五位的并行信号实现时钟信号的同步。 具体程序如下:library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity cnt5 is port(clk5:in std_logic; newclk1:out std_logic); end; architecture exam of CNT5 is signal q:integer range 0 to 4; signal temp: std_logic; begin process(clk5) begin if clk5event and clk5=1 then -表示检测clock的上升沿 if q=4 then q=0; temp=1; else q=q+1;temp=0; end if; end if; end process; newclk1=temp; -newclk1是用于五串变五并模块和编码部分的控制时钟 end exam; 串并转换:5位串变并用循环移位实现Clk0来一次有效,Y接收串行的数据就向右移一位当五分频的信号clk5有效时把Y输出。编码部分五串变五并程序: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity SER2PAR5to5 is port(clk5:in std_logic; shift_in:in std_logic; A:out std_logic_vector(4 downto 0); end ; architecture one of SER2PAR5to5 is signal q: std_logic_vector(4 downto 0); begin p1:process(clk5) begin if clk5event and clk5=1 then q=shift_in & q(4 downto 1); end if; end process p1; AREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREGREG=NULL; end case; end if; END PROCESS P1; P2:PROCESS(CLK6) BEG
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 购物收据设计方案(3篇)
- 管理项目编制方案(3篇)
- 器械科设备讲解
- 厨房翻新外墙拆除方案(3篇)
- 小儿气管炎讲解
- 线索通报机制方案(3篇)
- 透过率计算原理与方法
- 数学新教材整体解读
- 道路日常养护维修方案(3篇)
- 糖尿病药物治疗专题课程大纲
- 智慧水利与水资源管理作业指导书
- 人教版高一英语必修一单词表(带音标) mp3跟读朗读听力下载
- 中国移动家集客考试题库(浓缩700题)
- 医疗器械产品生命周期管理-洞察分析
- T∕CFA 0308052-2019 铸造绿色工艺规划要求和评估 导则
- 中国古代文学史明代文学
- 《薄冰英语语法详解》
- 律师事务所数据安全应急预案
- 生涯规划讲座模板
- 男生形体课课件
- 餐厅转包合同范本
评论
0/150
提交评论