欢迎来到人人文库网! | 帮助中心 人人文档renrendoc.com美如初恋!
人人文库网
全部分类
  • 图纸下载>
  • 教育资料>
  • 专业文献>
  • 应用文书>
  • 行业资料>
  • 生活休闲>
  • 办公材料>
  • 毕业设计>
  • ImageVerifierCode 换一换
    首页 人人文库网 > 资源分类 > DOC文档下载  

    毕业设计]基于VHDL的3B4B线路编码解码实现.doc

    • 资源ID:138977       资源大小:193.50KB        全文页数:13页
    • 资源格式: DOC        下载积分:9积分
    扫码快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
    二维码
    微信扫一扫登录

    手机扫码下载

    请使用微信 或支付宝 扫码支付

    • 扫码支付后即可登录下载文档,同时代表您同意《人人文库网用户协议》

    • 扫码过程中请勿刷新、关闭本页面,否则会导致文档资源下载失败

    • 支付成功后,可再次使用当前微信或支付宝扫码免费下载本资源,无需再次付费

    账号:
    密码:
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源(1积分=1元)下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业设计]基于VHDL的3B4B线路编码解码实现.doc

    基于VHDL的3B4B线路编码/解码实现摘要:mBnB码是光纤通信系统中常用的码型之一,本次设计了一种简单实用的3B4B编码方法,并提出了用Altera开发系统的硬件描述语言VHDL实现全数字3B4B编译码电路的设计思想和方法,最后给出了波形仿真结果。本文给出了针对该编码方法的除数字锁相环之外的一种简单方便的VHDL语言设计方法。关键词:3B4B码;FPGA;VHDL语言;波形仿真编码部分(Encode3B4B):一、3B4B编码原理大多数mBnB码都采用两种模式编码,两种模式交替使码字中的不均值为零。这种编码电路多采用可编程只读存储器PROM查找表的方法实现。下面介绍一种3B4B码,可用更为简单的电路实现,其编码规则具体说明如下:先将输入的数字信号每3b为一码字,在同样长的时间间隔内变换成4b一组的输出码字。变换后4b的一个码字中,第1与第4比特位分别由变换前3b码字中的第1与第3比特位取反而得到;变换前的第1与第2比特位分别作为变换后的第2与第3比特位。其编码情况如表1所示。表13B4B编码表3B0000010100111001011101114B10011000101110100101010001110110二3B4B的编码电路设计3B4B编码电路的工作原理:为了实现3B4B编码,本设计是以随机码作为输入的数字信号。因此,完整的3B4B编码电路包括分频电路、串并转换电路、编码电路和并串转换电路组成,如图1所示。图11:分频模块:a三分频序列发生器的输入时钟脉冲三分频,从而可以实现每输入3BIT的串行信号就同步转换输出出三位的并行信号,实现时钟信号的同步。b四分频序列发生器的输入时钟脉冲四分频,从而可以实现每输入4BIT的并行信号就把转换给变量ifclk4eventandclk4=1thenREG<=Q;2:串并转换模块(用循环移位实现)Clk0来一次有效,Y接收串行的数据就向右移一位,当三分频的信号clk3有效时把Y输出。architectureoneofSER2PARissignalq:std_logic_vector(2downto0);beginp1:process(clk0)variablen:integer:=0;beginifclk0eventandclk0=1thenq<=shift_in&q(2downto1);endif;endprocessp1;p2:process(clk3)beginifclk3eventandclk3=1thenY<=q;endif;endprocessp2;3:编码根据自己的码表,确定3位码对应的4位码,利用类似查表的方法,把输入的三位数据当作rom中的地址,然后输出对应的4位码。线路码(4B)信号码(3B)模式2(负组)模式1(正组)WDS码子WDS码子-20010+211011117-21000+20111110601010010101015010010100110040011000110011300101001010102-20001+211100011-20100+210110000线路码()信号码()模式(负组)模式(正组)码子码子ARCHITECTUREONEOFPROMISSIGNALREG:STD_LOGIC_VECTOR(3DOWNTO0);BEGINP1:PROCESS(Y,F)BEGINifF=0thencaseYiswhen"000"=>REG<="1011";-11when"001"=>REG<="1110";-14when"010"=>REG<="0101";-5when"011"=>REG<="0110";-6when"100"=>REG<="1001";-9when"101"=>REG<="1010";-10when"110"=>REG<="0111";-7when"111"=>REG<="1101";-13WHENOTHERS=>REG<=NULL;endcase;endif;ifF=1thencaseYiswhen"000"=>REG<="0100";-4when"001"=>REG<="0001";-1when"010"=>REG<="0101";-5when"011"=>REG<="0110";-6when"100"=>REG<="1001";-9when"101"=>REG<="1010";-10when"110"=>REG<="1000";-8when"111"=>REG<="0010";-2WHENOTHERS=>REG<=NULL;endcase;endif;ENDPROCESSP1;P2:PROCESS(CLK3)BEGINIFCLK3EVENTANDCLK3=1THENQ<=REG;ENDIF;ENDPROCESSP2;4并串转换把编码实现的4位码,由并行转换为串行输出。architectureoneofPAR2SERissignalN:INTEGERRANGE0TO3;signalREG:std_logic_vector(3downto0);beginp1:process(clk4,Q)beginifclk4eventandclk4=1thenREG<=Q;endif;endprocessp1;PROCESS(CLK0,REG,N)BEGINIFCLK0EVENTANDCLK0=1THENIFN=3THENN<=0;ELSEN<=N+1;ENDIF;ENDIF;caseNiswhen0=>shift_out<=REG(0);when1=>shift_out<=REG(1);when2=>shift_out<=REG(2);when3=>shift_out<=REG(3);whenothers=>shift_out<=X;endcase;endprocess;三仿真效果:仿真时,在F引脚输1,选第二的码表,串口输入111,对应的编码输出为0010.解码部分(Encode3B4B):设计要求:1)资料查找,系统总体的设计思路2)方案比较(方案分析、比较、总结)3)总体方案的设计与任务细分(系统功能模块总图)4)各功能模块设计(模块的实现方案、算法比较、编程、功能和时序仿真)实验报告撰写(各自撰写自己完成的部分,具备总体设计方案、TOP系统图、各功能模块的设计思路、系统调试、仿真和课题总结)mBnB线路编解码简介:mBnB码是把输入的二进制原始码流进行分组,每组有m个二进制码,记为mB,称为一个码字,然后把一个码字变换为n个二进制码,记为nB,并在同一个时隙内输出。把输入的mB变换为nB输出;本次设计取m=3,n=m+1=4即为3B4B码。“码字数字和”(WDS)是用来来描述码字的均匀性,并以WDS的最佳选择来保证线路码的传输特性。用“-1”代表“0”码,用“+1”代表“”码,整个码字的代数和即为WDS。nB码的选择原则遵循尽可能选择|WDS|最小的码字,禁止使用|WDS|最大的码字。以3B4B为例,应选择WDS=0和WDS=±2的码字,禁止使用WDS=±4的码字。mBnB码是一种分组码,设计者可以根据传输特性的要求确定某种码表。如下下表为一种3B4B码的码表:线路码(4B)信号码(3B)模式2(负组)模式1(正组)WDS码子WDS码子-20010+211011117-21000+20111110601010010101015010010100110040011000110011300101001010102-20001+211100011-20100+210110000线路码()信号码()模式(负组)模式(正组)码子码子解码原理解码器与编码器基本相同,只是除去组别控制部分。译码时,把送来的已变换的4B信号码流,每4比特并联为一组,作为PROM的地址,然后读出3B码,再经过并-串变换还原为原来的信号码流。并串PROMB1B2B3B4b1b2b3串并组别变换ABC变前时钟已变换的输出4B码流变换时钟待变换输入信号码流解码器包括分频电路、分频电路、串并转换电路、解码电路和并串转换电路组成。TOP系统电路图如下:功能仿真波形图:设定输入为:00010001000100010001000100010001000100013B4B解码输出对应为:001001001001001001001001001001各元器件代码如下:三分频器:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityCNT3isport(clk3:instd_logic;newclk1:outstd_logic);end;architectureexamofCNT3issignalq:integerrange0to2;signaltemp:std_logic;beginprocess(clk3)beginifclk3eventandclk3=1thenifq=2thenq<=0;temp<=1;elseq<=q+1;temp<=0;endif;endif;endprocess;newclk1<=temp;endexam;三分频分频功能仿真波形图:四分频器:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityCNT4isport(clk4:instd_logic;cnter:outstd_logic);end;architectureexamofCNT4issignalq:std_logic_vector(1downto0);signaltemp:std_logic;beginprocess(clk4)beginifclk4eventandclk4=1thenifq="11"thenq<="00";temp<=1;elseq<=q+1;temp<=0;endif;endif;endprocess;cnter<=temp;endexam;四分频分频功能仿真波形图:

    注意事项

    本文(毕业设计]基于VHDL的3B4B线路编码解码实现.doc)为本站会员(上***)主动上传,人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知人人文库网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    网站客服QQ:2881952447     

    copyright@ 2020-2024  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

    备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!