本科毕业设计---基于fpga的汉明码译码器的设计.doc





《本科毕业设计---基于fpga的汉明码译码器的设计.doc》由会员分享,可在线阅读,更多相关《本科毕业设计---基于fpga的汉明码译码器的设计.doc(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、大连交通大学信息工程学院毕 业 设 计 (论 文)题 目 基于FPGA的汉明码译码器的设计 学生姓名 芦 斌 专业班级 信息工程09-2 指导教师 徐 佳 职 称 讲 师 所在单位 电气工程系信息工程教研室 教研室主任 石桂名 完成日期 2013年 6 月 28 日摘 要在数字通讯的系统中,数字信号在传输的过程中容易受到干扰,造成码元波形破坏,使得接收端接收到的信号发生错误的判决。为了提高信息传输的准确性,我们引进了差错控制技术。该项技术应采用了可靠而且有效的信道编码方法来实现。汉明码就是一种可以纠正差错的编码。汉明码编译码器是目前最为常用的数字通信内部器件之一,它被广泛地应用在网络传输、存储
2、器校验纠错以及数据安全中。本课题是基于FPGA的汉明码译码器的设计,使用Verilog语言来实现汉明码译码器的设计。通过理解汉明码译码原理的基础上,设计出了汉明码的译码器,并且写出了译码源程序,还通过QuartusII软件实现仿真。本次设计首先介绍了EDA的硬件描述语言Verilog和仿真调试软件QuartusII,然后介绍了FPGA的发展历程和产品特性,借此选出合适的FPGA的芯片,最后介绍了汉明码。通过了解汉明码的理论知识来掌握汉明码的译码原理,然后经过理解和分析设计出实现汉明码译码的算法,并且使用Verilog语言在QuartusII软件里完成了基于FPGA的汉明码译码器的编程和仿真实现
3、。同时根据需要,选择了合适的FPGA的芯片和外围元器件,设计出外围硬件的原理图,将理论和实践结合起来。关键词:汉明码 译码器 FPGA Verilog语言 QuartusII ABSTRACTIn digital communication systems, digital signal during transmission is easy to be disturbed, resulting in destruction of the symbol waveform, so that the receiver receives the signal error occurred judgm
4、ent. In order toimprove the accuracy of information, we introduce error controltechniques. Thetechnology usesareliable and effective methodof channel codingtoachieve. Hamming code is a kind of code which is able to correct errors. Hamming code codes is one kind of the most commonly used devices in d
5、igital communications, which is widely used in network transmission, memory parity error correction and data security. The design of Hamming code codec in this project, this passage realized decode of hamming with language of verilog. Based on the theory of introduction of decode of hamming, this pa
6、ssage designed decoder of hamming. The source program wad written by verilog language. The soft of QuartusII simulated and tested the program.It requires basic theoretical knowledge of hamming code, and learn how to use the simulation and debugging software QuartusII as well as the hardware descript
7、ion language Verilog, and understand the various features of Hamming codes to master the peinciple of coding and decoding, then to understand and analyze, design its algorithm implementation, and complete the Verilog language programming and simulation on FPGA-based software QuartusII; in the meanti
8、me, according to its requirement, select a FPGA chip and external components, finally create the hardware entity, combine the theory with practice.Key words:Hamming Decoder FPGA Verilog language QuartusII 目 录1 前 言11.1 选题背景11.2 本课题的研究意义21.3 本课题研究目标及主要任务21.4 本课题可行性分析32 EDA的基础知识与集成运行环境42.1 EDA概念42.2 Qu
9、artus的软件介绍52.3 Verilog的简介82.3.1 Verilog的主要功能102.3.2 Verilog的基础语法102.3.3 Verilog的语言优势133 FPGA的简介143.1 FPGA的发展历程143.2 FPGA的产品特性及发展现状143.3 FPGA的发展趋势153.4 FPGA的硬件介绍174 汉明码译码系统模块设计与实现194.1 汉明码的原理194.1.1 汉明码的定义194.1.2 汉明码的监督矩阵H214.1.3 汉明码的生成矩阵G224.1.4 汉明码的校正子(伴随式)S224.2 汉明码的译码器设计244.2.1 译码器的流程图设计254.2.2 译
10、码器的代码设计254.2.3 译码器的仿真,调试与分析274.3 基于FPGA的汉明码译码器硬件设计30结 论32谢 辞33参考文献34附 录35大连交通大学信息工程学院2013届本科生毕业设计(论文)1 前 言1.1 选题的背景随着现代通信技术的迅速发展,其应用的领域已渗入到社会生活的各个方面,用户对通信系统的质量和对通信系统数据传输的可靠性与有效性的要求也越来越高,通信系统需要具备更高的可靠性、高效率、低复杂性来适应发展的需求4。通信的根本任务是传递信息,其中准确地传输数字信号是数字通信的一个重要的环节。在实际应用中,传输数据的无线信道是非常复杂的。在传输数字信号时,由于信道的时变性、衰减
11、性、带宽资源有限性以及干扰大等特点,再有加性噪声的影响,这就导致接收端接收到的信息和发送端实际发送的信息之间存在一定的差错,势必会造成接收端接收到的信号存在一定的误差,造成一定程度的失真。这时就需求我们去寻找一种办法,能够在确保通信系统的可靠性与高效性的基础上来减少数据传输过程中的误比特率。信道编码就是减少数字信号误比特率的主要手段之一。信源发送设备传输媒介(信道)接收设备信宿干扰图1-1 通讯系统的组成在实际的应用中,衡量一个通信系统的优劣,其中的有效性和可靠性是两个最重要的指标,同时它们也是通信技术设计的重要组成部分。然而,从信息传输角度来考虑,既要提高通信系统的有效性(即传输速率),又要
12、提高通信系统的可靠性,这样往往是相互矛盾的。为了提高可靠性,可以在二进制信息序列中以受控的方式引入一些冗余码元(即监督码元),使他们满足一定的约束关系,以期达到检错和纠错的目的。但是,由于添加了冗余码元(监督码元),导致传输信息的速率下降;同时,为了提高效率,信号以简洁、快速的方式传输,这样在遭受到干扰和噪声时,其自我保护能力大大下降,从而降低了传输的可靠性。于是,在实际通信的应用中,采取比较折中的方式,可在确保可靠性指标达到系统要求的前提下,尽可能的提高传输速率1 ;抑或在满足一定有效性的指标下,尽量提高传输的可靠性。通信技术设计一直致力于提高信息传输的有效性和可靠性,其中保证通信的可靠性是
13、现代数字通信系统需要解决的首要问题。信道编码技术正是用来改善通信可靠性问题的主要技术手段之一。在实际应用中,一个通信系统一般包含信道编码和信道译码两个模块2 。 信道编码的主要目的是为了降低误比特率,提高数字通信的可靠性,其方法是在二进制信息序列中添加一些冗余码元(监督码元),与信息码元一起组成被传输的码字。这些冗余码元是以受控的方式引入,它们与信息码元之间有着相互制约的关系。在信道中传输该码字,如果错误了发生,信息码元和冗余码元之间相互制约的关系就将会被破坏 1。那么,在接收端对接收到的信息序列按照既定的规则校验码字各码元间的约束关系,从而达到检错、纠错的目的。通过信道编码这种方法,能够有效
14、的在接收端克服信号在无线信道中传输时受到噪声和干扰产生的影响。信道译码也就是信道编码的逆过程,即接收端将接收信息序列按照既定约束关系,同时去掉比特流在传播的过程中混入的噪声干扰和添加的冗余,恢复为比较完整、可靠的信息的过程。信道编码涉及到的内容也十分广泛,前身纠错编码(FEC)、线性分组码(汉明码、循环码)、理德-所罗门码(RS码)、FIRE码、交织码、卷积码、TCM编码、Turbo码等都是信道编码的研究范畴11。汉明码是信道编码比较好的选择。汉明码是汉明于1950年提出的,是具有纠正一位错误能力的线性分组码。汉明码是在原编码的基础上附加一部分代码,使其能满足纠错码的条件6。它的突出特点是:编
15、译码电路简单,易于硬件的实现;用软件实现编译码算法时,软件的效率高;而且性能也比较好。由于汉明码的抗干扰能力较强,至今仍是应用比较广泛的一类码。1.2 本课题的研究意义本次课程设计的任务就是基于FPGA,利用EDA的技术在Quartus II软件下用Verilog语言来实现汉明码译码器的设计和仿真。汉明码是一个在原有数据中插入若干校验码来进行错误检查和纠正的编码技术,在原编码的基础上附加了一部分代码,使其满足纠错码的条件。汉明码的编码与译码是通信领域的一个重要研究内容。与一般的编码相比汉明码具有比较高效率,同时也是分组码的典型代表,是深入研究其他分组码的基础,也是研究其他非分组码(如循环码)的
16、基础。EDA(Electronic Design Automation)技术是随着集成电路和计算机技术飞速发展而应运而生的一种高级、快速、有效的电子设计自动化工具17。EDA的主要特征是使用硬件描述语言Verilog来完成设计,这在电子设计领域里受到广泛的接受。EDA技术的发展和推广应用,对高校电子技术课程的教学思想、教学方法和教学目标产生了深远的影响,是电子、信息、通信、电气等电类相关专业的基础学科。本课题利用EDA来实现,与实际联系很大,对将来从事实际工作和相关研究具有很大帮助。同时,选择FPGA的芯片和外围元器件,设计出硬件的原理图,将理论和实践结合起来,对以后的实际工作提供很多的经验。
17、1.3 本课题研究目标及主要任务(1)研究目标:本论文是基于FPGA的汉明码译码器的设计。主要研究汉明码编、译码的原理和方法,基于FPGA使用EDA开发软件Quartus II上实现汉明码译码器的设计。通过对汉明码的学习,使用硬件描述语言Verilog设计出了汉明码的译码器,并且写出了源程序,最后通过Quartus II软件的仿真实现。满足电路简单,成本低,开发周期短,执行速度高,升级方便等特点。(2)主要任务:本次设计要求学会使用仿真调试软件Quartus II和硬件描述语言Verilog,还要求学习汉明码的理论知识,了解汉明码的各种特点,掌握汉明码的译码原理。通过分析设计出实现译码的算法,
18、并且使用Verilog语言在Quartus II软件里完成了基于FPGA的汉明码译码器的编程和仿真实现。同时根据需要,选择合适的FPGA的芯片和外围元器件,设计外围硬件的原理图,将理论和实践结合起来。1.4 本课题可行性的分析本课题以理论研究和实验分析相结合的方式进行。课题首先在理论上是可行的,汉明码是1950年由汉明首先构造的,目前汉明码在中小型计算机中普遍采用,其技术已经成熟。汉明码接收码组汉明码译码器系统正确的汉明码信息码图1-2 译码流程图在实际操作方面,我们可以借鉴科学工作者已得出的结论,另外其跨专业的技术不多,所以也很少给设计带来不便。在实际设计方面,我们可以利用学校的图书资料和网
19、上资源,利用EDA开发软件Quartus II,使用硬件描述语言Verilog来对汉明码译码器进行设计,观察其可行性,并对结果进行分析。2 EDA的基础知识与集成运行环境2.1 EDA概念EDA(Electronic Design Automation)即电子设计自动化,是以微电子技术为物理层面,现代电子设计为灵魂,计算机软件技术为手段,最终形成集成电子系统或专用集成电路芯片ASIC(Application Specific Integrated Circuit)为目的的一门新兴技术17。在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机
20、辅助工程(CAE)的概念发展而来的。现在对EDA的概念或范围用得很宽,包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用1。利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量的工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程都在计算机上自动处理完成。目前EDA技术已在各大公司、企事业单位和科研教学部门中广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。本次毕业设计实现的核心技术即为EDA相关技术。本文所指的EDA技术,主要针对电子电路设计
21、、PCB设计和IC设计。EDA技术是现代电子设计技术的核心。EDA技术就是依靠功能强大的电子计算机,在EDA工具软件平台上,对以硬件描述语言(如Verilog)为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、化简、分割、综合、优化和仿真,直至下载到可编程逻辑器件CPLD/FPGA或专用集成电路ASIC芯片中,进行特定芯片的适配编译、逻辑映射和编程下载等工作,实现既定的电子电路设计功能。EDA代表了当今电子设计技术的最新发展方向,它的基本设计方法是:设计人员按照“自顶向下”的设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片或几片专用集成电路(ASIC)实现,然后采用硬件描述
22、语言(HDL)完成系统行为级的设计,最后通过综合器和适配器来生成最终的目标器件,这样的设计方法被称为高层次的电子设计方法7。EDA技术的优势15:(1)采用硬件描述语言,便于复杂的系统设计(2)拥有强大的系统建模和电路仿真功能(3)拥有自主知识产权(4)开发技术的标准化和规范化(5)全方位地利用计算机的自动设计、仿真和测试(6)对设计者的硬件知识和经验要求低。EDA设计的实现目标:(1)印刷电路板设计;(2)集成电路(IC或ASIC)设计;(3)可编程逻辑器件(FPGA/CPLD)设计;(4)混合电路设计。EDA设计的常用软件和设计工具层出不穷,目前进入我国并具有广泛影响的EDA软件有:mul
23、tiSIM7(原EWB的最新版本)、PSPICE、OrCAD、PCAD、Protel、Viewlogic、Mentor、Graphics、Synopsys、LSIIogic、Cadence、MicroSim,ISE等等。这些工具都有较强的功能,一般可用于几个方面,例如很多软件都可以进行电路设计与仿真,同进还可以进行PCB自动布局布线,还可以输出多种网表文件,与第三方软件接口。EDA工具在EDA技术应用中占据极其重要的位置,EDA的核心是利用计算机完成电子设计全过程自动化,因此,基于计算机环境的EDA软件的支持是必不可少的。EDA工具大致可以分为以下5个模块:设计输入编辑器;HDL综合器;仿真器
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科 毕业设计 基于 fpga 汉明码 译码器 设计

限制150内