EDA编码器译码器设计_第1页
EDA编码器译码器设计_第2页
EDA编码器译码器设计_第3页
EDA编码器译码器设计_第4页
EDA编码器译码器设计_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VHDL语言的编码器1.设计原理1.1编码器的设计VHDL是一种行为描述语言,其编程结构类似于计算机中的C语言,在描述复杂逻辑设计时,非常简洁,具有很强的逻辑描述和仿真能力,是未来硬件设计语言的主流。在本设计中,应用VHDL语言,在Altera公司的QuartusII7.2软件环境下,按照自顶而下的(n,k)值选定生成多项式设计方法,对编译码器进行设计仿真。根据给定的g(x),即从xn+1的因子中选一个(n-k)次多项式作为,假设给定信息码组为m(x)=(mk-1,mk-2...m0),其次数小于(x),得到余式k,则xn-km(x)的次数必定小于g(x)的次数,即小于n。用g(x)除xn-kmr(x),r(x)的次数必定小于(n-k)。将此余式r(x)加(n-k)个“0”。(模于信息位之后作为监督位,即r(x)和xn-km(x)相加,得到多项式必定是一个码组多项g(x)整除,且商的次数不大于(k-1)。式。因为它必定能被根据以上原理,循环码的编码步骤可以归纳如下:(1)用xn-k乘信息码(2)用g(x)除xn-km(x,)得到商m(x),这一运算实际上是在信息码后附加上Q(X),(3)编出的码组由此可见,编码的核心是如何确定余式位附加到信息位之后,完成编码。编码电路可采用T(x)=xn-km(x)+r(x)。r(x),找到r(x)后,可直接将其所代表的编码(n-k)级反馈移位寄存器和异或门2加)组成的除法电路实现。2.设计步骤2.1VHDL设计流程循环码编译系统的结构循环码编译系统结构图如图所示。由定时控制单元信码发生器、编码器单元、模拟错码发生器、错码位置计算单元、纠错单元组成。其中错码位置计算单元和纠错单元合在一起构成译码器。2.2程序流程分析开始初始化并且输入四位信息码datain编码dataoutNrout判断检错纠错Ydin译码tout输出7位信息码结束该程序流程主要通过输入一组四位信息码组,然后根据编码后的余数输出对编码进行检错判断,若输出余数为000则无错码。2.3程序设计根据程序流程图编写程序,源程序如下所示:编码器设计:LIBRARYieee;USEieee.std_logic_1164.all;ENTITYcycle_74ISPORT(datain:INSTD_LOGIC;clk,clr:INSTD_LOGIC;tout:outstd_logic_vector(6downto0));ENDcycle_74;ARCHITECTUREarc_cycleOFcycle_74ISSIGNALd0,d1,d2:STD_LOGIC;signaldataout:std_logic;signaldin:std_logic_vector(6downto0);--signaldin:std_logic_vector(6downto0):="0000000";BEGINu1:process(clk)variableg:std_logic;variablem:integerrange1to8;beginif(clk'eventandclk='1')thenifclr='1'theng:='0';m:=1;dataout<='0';elseifm<=8thenifm<=4thendataout<=datain;casemiswhen1=>din(6)<=dataout;when2=>din(6)<=dataout;when3=>din(5)<=dataout;when4=>din(4)<=dataout;when5=>din(3)<=dataout;when6=>din(2)<=dataout;when7=>din(1)<=dataout;when8=>din(0)<=dataout;endcase;g:=datainXORd2;elsedataout<=d2;

casemiswhen1=>din(6)<=dataout;when2=>din(6)<=dataout;when3=>din(5)<=dataout;when4=>din(4)<=dataout;when5=>din(3)<=dataout;when6=>din(2)<=dataout;when7=>din(1)<=dataout;when8=>din(0)<=dataout;endcase;g:='0';endif;d2<=d1;d1<=gXORd0;d0<=g;m:=m+1;endif;tout<=din;endif;endif;endprocessu1;endarc_cycle;2.4系统仿真编码器仿真由上图可知输入为1101时输出为1101001。上图有两组输入。仿真图clk为时钟信号,clr,clr2为初始状态,enable1,enable2是用来控制开始纠错的,datain为输入信号;din为编码输出;rout为纠错后的余数,判断纠错情况,tout为纠错后的输出;judge为判断是否误码。2.5结果分析对照上述所述附表可知,如果输入1101,则编码输出为1101001.(7,4)循环码能检错一个码或纠错一个码,当输入误码0110010,检查到错码,并纠错到正码0111010.从仿真图得知设计与实际一样,达到所需求的设计目的。结论本次设计经过仿真与板级的验证,可以正常工作,达到了设计的任务书要求。但是由于设计内容较为简单,实用性稍差,无法在试验箱上实现数据的转化。但是通过这次设计又一次熟悉跟运用了ModelSim进行功能仿真、QuartusII进行逻辑综合和适配下载。这次EDA课程设计的知识,历时十天,学到很多很多的东西。同时不仅可以巩固以前所学过而且学到了很多在书本上所没有学到过的知识。通过这次设计,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。特别是当每一个子

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论