基于vhdl汉明码编译码器的设计与实现说明书.doc_第1页
基于vhdl汉明码编译码器的设计与实现说明书.doc_第2页
基于vhdl汉明码编译码器的设计与实现说明书.doc_第3页
基于vhdl汉明码编译码器的设计与实现说明书.doc_第4页
基于vhdl汉明码编译码器的设计与实现说明书.doc_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

基于基于 VHDLVHDL 汉明码编译码器的设计与实现汉明码编译码器的设计与实现 目 录 摘 要1 第一章第一章 绪论 .3 1.1 研究背景与选题意义 3 1.2 研究目标与主要工作 3 1.3 论文的内容安排 4 第二章 汉明码及汉明码编译原理.4 21 纠错编码的基本原理 .4 2.1.1 分组码基本原理4 2.1.2 分组码的码重和码距 5 2.2 汉明码编译原理 8 第三章 VHDL 语言与集成环境 .10 31 EDA 概念.10 3.2 MAX+PLUXII 简介11 3.3 VHDL 语言.12 3.3.1 基本介绍 .12 3.3.2 VHDL 语言设计的特点 12 3.3.3 VHDL 语言优势 13 第四章 汉明码编译系统模块设计与实现14 41 汉明码编译原理设计 .14 42 系统模块设计 .14 4.2.1 16 位比特序列产生与分组模块 14 4.2.2 编码模块.16 4.3.3 加错模块.16 4.3.4 译码与分组模块.17 第五章 系统仿真、调试和结果分析18 5.1 16 位序列产生与分组模块仿真.18 5.1.1 仿真图 .18 5.1.2 结果分析.19 5.2 编码模块仿真 19 5.2.1 仿真图 .19 5.2.2 结果分析.19 5.3 加错模块 .19 5.3.1 仿真图 .19 5.3.2 结果分析.20 5.4 译码与分组串行模块仿真 .20 5.4.2 结果分析.20 5.5 系统仿真 .20 5.5.1 顶层图.20 5.5.3 结果分析.25 第六章 总结25 参考文献.26 附录程序:.28 1 摘摘 要要 在通信系统中,要提高信息传输的有效性,我们将信源的输出经过信源 编码用较少的符号来表达信源消息,这些符号的冗余度很小,效率很高,但 对噪声干扰的抵抗能力很弱。为了提高信息传输的准确性,我们引进了差错 控制技术。而该技术采用可靠的,有效的信道编码方法来实现的。 纠错码是一种差错控制技术,目前已广泛应用于各种通信系统和计算 机系统中,纠错编码主要用于数字系统的差错控制,对于保证通信、存储、 媒体播放和信息转移等数字传递过程的质量有着重要意义,是通信、信息类 科知识结构中不可缺少的一部分。 本文章主要研究了基于 VHDL 语言的(7,4)汉明码的设计。整个设计 包括四个模块:16 位序列产生和分组模块, 编码模块, 加错模块, 译码模 块。其中加错模块是为了模拟信道干扰人为的给数据添加一位错误,然后通 过 MAX+plusII 10.2 软件进行仿真和调试,从而验证了(7,4)汉明码具有纠 正一位错码的能力。 关键词关键词: :编码 译码 MAX+plusII 2 ABSTRACT In the communications system, to enhance the effectiveness of information transmission, we will source the output after source coding with fewer symbols to express the source of the news letter, the redundancy of these symbols is very small, very efficient, but the noise weak resistance to interference. In order to improve the accuracy of information transmission, we introduce error control techniques. The technology uses a reliable and effective method of channel coding to achieve. Error- correcting code is an error control techniques have been widely used in various communications systems and computer systems, mainly used for error-correcting coding errors in digital control systems, to ensure communication, storage, media players and digital transmission of information transfer the quality of the process of great significance, is the communications, information-type knowledge structure of subjects an indispensable part. This article introduces a systematic error-correcting codes in digital systems in the use and development, as well as the basic principles of error-correcting codes and meaning of commonly used error-correcting codes and classified briefings, as well as Vc + +6.0, introduced the basic knowledge, and how Vc + + to achieve the application of hamming code encoder and decoder. This article mainly study the design of the (7, 4) Hamming Code based on the Very-High-Speed Integrated Circuit HardwareDescription Language . The design of hamming code consists of four modules: the 16 Sequence generation and grouping module, the encoding module, the adding one bit error module, and the decoding module. the design of the adding one bit error module is to simulate channels interference , affer testing and simulation ,thus proving that the (7, 4)Hanmming code has the ability to correct a wrong code. Key words: encode; decode; MAX+plusII 3 第一章第一章 绪论绪论 1.1 研究背景与选题意义 1、研究背景 移动通信的发展日新月异,其强大的魅力之所在就是它能为众提供了固话 所不及的灵活、机动、高效的通信方式,非常适合信息社会发展的需要,但同 时这也使移动通信系统的研究、开发和实现比有线通信系统更复杂、更困难。 实际上,移动无线信道是通信中最恶劣、最难预测的通信信道之一。于是促进 了信道编码技术的发展。目前信道编码已经成功地应用于各种通信系统中,并 且在计算机、磁记录与各种存储器中了得到日益广泛的应用。提高数据传输效 率,降低误码率是信道编码的任务。信道编码的本质是增加通信的可靠性。但 信道编码会使有用的信息数据传输减少,信道编码的过程是在源数据码流中加 插一些码元,从而达到在接收端进行判错和纠错的目的,这就是我们常常说的 开销。这就好象我们运送一批玻璃杯一样,为了保证运送途中不出现打烂玻璃 杯的情况,我们通常都用一些泡沫或海棉等物将玻璃杯包装起来,这种包装使 玻璃杯所占的容积变大,原来一部车能装 5000 各玻璃杯的,包装后就只能装 4000 个了,显然包装的代价使运送玻璃杯的有效个数减少了。同样,在带宽固 定的信道中,总的传送码率也是固定的,由于信道编码增加了数据量,其结果 只能是以降低传送有用信息码率为代价了。将有用比特数除以总比特数就等于 编码效率了,不同的编码方式,其编码效率有所不同。编码涉及到的内容也比 较广泛,前身纠错编码(FEC) 、线性分组码(汉明码、循环码) 、理德-所罗门 码(RS 码) 、FIRE 码、交织码、卷积码、TCM 编码、Turbo 码等都是差错控制编 码的研究范畴。 汉明码是由汉明于 1950 年提出的,具有纠正一位错误能力的线性分组码, 它的突出特点是:编译码电路简单,易于硬件实现;用软件实现编译码算法时, 软件效率高;而且性能比较好。 2、选题意义 汉明码的编码与译码是通信领域的一个重要的研究内容。与一般的编码相 比其具有比较高效率,同时其是分组码的典型代表,是深入研究其他分组码的 基础,也是研究其他非分组码(如循环码)的基础,本课题利用 EDA 来实现, 与实际联系很大,对将来从事实际工作和相关研究具有很大帮助。 1.2 研究目标与主要工作 1、研究目标 学习 EDA 集成开发工具(MAX+plus II)相关操作。包括学习 VHDL 编程语言、 方法和仿真结果的查看、处理等。研究学习汉明码编译的原理。 2、主要工作 4 查阅资料,认真学习 EDA 开发工具(MAX+plus II) ,熟练掌握 VHDL 语言的 编程思路与方法。对系统的结构设计有了初步的思路以后,大体绘出系统的结 构框图。对系统进行设计,完成程序的编写。在认真学习了汉明码编译的原理 后,编写程序实现算法。对程序进行调试,对系统进行计算机仿真。对已搭建 好的汉明码编译系统仿真研究,记录相应的仿真结果。 1.3 论文的内容安排 第二章将介绍汉明码及汉明码编译原理。 第三章将介绍 VHDL 语言,以及 EDA 集成开发环境 MAX+plusII。 第四章详细介绍了汉明码编译系统模块设计与实现。 第五章对系统仿真和调试以及最后对结果进行分析。 第六章对整个系统的设计进行总结与展望。 最后是致谢和参考文献。 第二章第二章 汉明码及汉明码编译原理汉明码及汉明码编译原理 21 纠错编码的基本原理 2.1.1 分组码基本原理 设有一种由 3 位二进制数字构成的码组,它共有 8 种不同的可能组合。若 将其全部用来表示天气,则可以表示 8 种不同天气, 例如:“000” (晴) , “001” (云) , “010” (阴) , “011” (雨) , “100” (雪) , “101” (霜) , “110” (雾) , “111” (雹) 。 其中任一码组在传输中若发生一个或多个错码,则将变成另一个信息码组。 这时,接收端将无法发现错误。 若在上述 8 种码组中只准许使用 4 种来传送天气,例如: “000”晴 “011”云 “101”阴 “110”雨 这时,虽然只能传送 4 种不同的天气,但是接收端却有可能发现码组中的 一个错码。例如,若“000” (晴)中错了一位,则接收码组将变成“100”或 “010”或“001” 。这 3 种码组都是不准使用的,称为禁用码组。接收端在收到 禁用码组时,就认为发现了错码。当发生 3 个错码时, “000”变成了“111” , 它也是禁用码组,故这种编码也能检测 3 个错码。但是这种码不能发现一个码 组中的两个错码,因为发生两个错码后产生的是许用码组【1】。 上面这种编码只能检测错码,不能纠正错码。例如,当接收码组为禁用码 组“100”时,接收端将无法判断是哪一位码发生了错误,因为晴、阴、雨三者 错了一位都可以变成“100” 。要能够纠正错误,还要增加多余度。例如,若规 5 定许用码组只有两个:“000” (晴) , “111” (雨) ,其他都是禁用码组,则能够 检测两个以下错码,或能够纠正一个错码。例如,当收到禁用码组“100”时, 若当作仅有一个错码,则可以判断此错码发生在“1”位,从而纠正为“000” (晴) 。因为“111” (雨)发生任何一位错码时都不会变成“100”这种形式。 但是,这时若假定错码数不超过两个,则存在两种可能性:“000”错一位和 “111”错两位都可能变成“100” ,因而只能检测出存在错码而无法纠正错码。 将信息码分组,为每组信息码附加若干监督码的编码称为分组码 。 在分组码中,监督码元仅监督本码组中的信息码元。信息位和监督位的关系举 例如表 2-1-1: 表 2-1-1 信息位与监督位的关系 信息位监督位 晴 000 云 011 阴 101 雨 110 分组码的一般结构如图 2-1-1: 图 2-1-1 分组的一般结构 分组码的符号:(n, k) N 码组的总位数,又称为码组的长度(码长) 。 k 码组中信息码元的数目。 n k r 码组中的监督码元数目,或称监督位数目。 2.1.2 分组码的码重和码距 码重:把码组中“1”的个数目称为码组的重量,简称码重。 码距:把两个码组中对应位上数字不同的位数称为码组的距离,简称码距。 码距又称汉明距离。例如, “000”晴, “011”云, “101”阴, “110” 雨,4 个码组之间,任意两个的距离均为 2。 最小码距:把某种编码中各个码组之间距离的最小值称为最小码距(d0)。 6 例如,上面的编码的最小码距d0 = 2。 图 2-1-2 三维空间 对于 3 位的编码组,可以在 3 维空间中说明码距的几何意义。 每个码组的 3 个码元的值(a1, a2, a3)就是此立方体各顶点的坐标。而上述码距概念在此图 中就对应于各顶点之间沿立方体各边行走的几何距离。由图 2-1-2 可以直观看 出,上例中 4 个准用码组之间的距离均为 2。 一种编码的最小码距 d0 的大小直接关系着这种编码的检错和纠错能力,为 检测e个错码,要求最小码距d0 e + 1。2 图 2-1-3 汉明距离 【证】设一个码组 A 位于 O 点,如图 2-1-3 所示。若码组 A 中发生一个错 码,则我们可以认为 A 的位置将移动至以 O 点为圆心,以 1 为半径的圆上某点, 但其位置不会超出此圆。若码组 A 中发生两位错码,则其位置不会超出以 O 点 为圆心,以 2 为半径的圆。因此,只要最小码距不小于 3,码组 A 发生两位以 下错码时,不可能变成另一个准用码组,因而能检测错码的位数等于 2。同理, 若一种编码的最小码距为d0,则将能检测(d0 - 1)个错码。反之,若要求检测 e 个错码,则最小码距d0至少应不小于( e + 1)。 为了纠正 t 个错码,要求最小码距d0 2t + 1。 7 图 2-1-4 汉明距离 【证】图 2-1-4 中画出码组 A 和 B 的距离为 5。码组 A 或 B 若发生不多于 两位错码,则其位置均不会超出半径为 2 以原位置为圆心的圆。这两个圆是不 重叠的。判决规则为:若接收码组落于以 A 为圆心的圆上就判决收到的是码组 A,若落于以 B 为圆心的圆上就判决为码组 B。这样,就能够纠正两位错码。若 这种编码中除码组 A 和 B 外,还有许多种不同码组,但任两码组之间的码距均 不小于 5,则以各码组的位置为中心以 2 为半径画出之圆都不会互相重叠。这 样,每种码组如果发生不超过两位错码都将能被纠正。因此,当最小码距 d05 时,能够纠正 2 个错码,且最多能纠正 2 个。若错码达到 3 个,就将落 入另一圆上,从而发生错判。故一般说来,为纠正 t 个错码,最小码距应不小 于(2t + 1)。 在解释此式之前,先来分析图 2.1.5 所示的例子。 图 2-1-5 汉明距离 图 2-1-5 中码组 A 和 B 之间距离为 5。按照检错能力公式,最多能检测 4 个错码,即 e = d0 1 = 5 1 = 4,按照纠错能力公式纠错时,能纠正 2 个错码。但是,不能同时作到两者,因为当错码位数超过纠错能力时,该码组 立即进入另一码组的圆内而被错误地“纠正”了。例如,码组 A 若错了 3 位, 就会被误认为码组 B 错了 2 位造成的结果,从而被错“纠”为 B。这就是说, 检错和纠错公式不能同时成立或同时运用。所以,为了在可以纠正 t 个错码的 同时,能够检测 e 个错码,就需要像图 2-1-6 所示: 8 图 2-1-6 汉明距离 使某一码组(譬如码组 A)发生 e 个错误之后所处的位置,与其他码组 (譬如码组 B)的纠错圆圈至少距离等于 1,不然将落在该纠错圆上从而发生错 误地“纠正” 。因此,由图 2-1-6 可以直观看出,要求最小码距这种纠错和检错 结合的工作方式简称纠检结合。 这种工作方式是自动在纠错和检错之间转换的。当错码数量少时,系统按 前向纠错方式工作,以节省重发时间,提高传输效率;当错码数量多时,系统 按反馈重发方式纠错,以降低系统的总误码率。所以,它适用于大多数时间中 错码数量很少,少数时间中错码数量多的情况。 2.2 汉明码编译原理 能够纠正 1 位错码且编码效率较高的一种线性分组码。 在偶数监督码中,由于使用了一位监督位a0,它和信息位an-1 a1一起 构成一个代数式: 在接收端解码时,实际上就是在计算 若 S = 0,就认为无错码;若 S = 1,就认为有错码。现将上式称为监督关系式, S 称为校正子。由于校正子 S 只有两种取值,故它只能代表有错和无错这两种 信息,而不能指出错码的位置。若监督位增加一位,即变成两位,则能增加一 个类似的监督关系式。由于两个校正子的可能值有 4 中组合: 00,01,10,11,故能表示 4 种不同的信息。若用其中 1 种组合表示无错,则 其余 3 种组合就有可能用来指示一个错码的 3 种不同位置。同理,r 个监督关 系式能指示 1 位错码的(2r 1)个可能位置。 一般来说,若码长为 n,信息位数为 k,则监督位数 rnk。如果希望用 r 个监督位构造出 r 个监督关系式来指示 1 位错码的 n 种可能位置,则要求 下面通过一个例子来说明如何具体构造这些监督关系式。 例:设分组码(n, k)中 k = 4,为了纠正 1 位错码,由上式可知,要求监 督位数 r 3。若取 r = 3,则 n = k + r = 7。我们用 a6 a5 a0 表示这 0 021 aaa nn 021 aaaS nn 1212rkn rr 或 9 7 个码元,用 S1、S2 和 S3 表示 3 个监督关系式中的校正子,则 S1、S2 和 S3 的值与错码位置的对应关系可以规定如表 2-1-2 所示: 表 2-1-2 校正子与错码位置的关系 S1 S2 S3 错码位置 S1 S2 S3 错码位置 0 0 1a01 0 1a4 0 1 0a11 1 0a5 1 0 0a21 1 1a6 0 1 1a30 0 0 无错码 由上表中规定可见,仅当一位错码的位置在 a3 、a4、a5 或 a6 时,校正子 S1 为 1;否则 S1 为零。这就意味着 a3 、a4、a5 和 a6 四个码元构成偶数监督 关系: 24561 aaaaS 同理, a1、a2、a5 和 a6 构成偶数监督关系: 13562 aaaaS 以及 a0、a2、a4 和 a6 构成偶数监督关系 03463 aaaaS 在发送端编码时,信息位 a6、a5、a4 和 a3 的值决定于输入信号,因此它 们是随机的。监督位 a2、a1 和 a0 应根据信息位的取值按监督关系来确定,即 监督位应使上三式中 S1、S2 和 S3 的值为 0(表示编成的码组中应无错码): 上式经过移项运算,解出监督位 给定信息位后,可以直接按上式算出监督位, 结果见表 2-1-3: 0 0 0 0346 1356 2456 aaaa aaaa aaaa 3460 3561 4562 aaaa aaaa aaaa 10 表 2-1-3 与信息位对应的监督位 信息位 a6 a5 a4 a3 监督位 a2 a1 a0信息位 a6 a5 a4 a3 监督位 a2 a1 a0 00000001000111 00010111001100 00101011010010 00111101011001 01001101100001 01011011101010 01100111110100 01110001111111 接收端收到每个码组后,先计算出 S1、S2 和 S3,再查表判断错码情况。 例如,若接收码组为 0000011,按上述公式计算可得:S1 = 0,S2 = 1,S3 = 1。由于 S1 S2 S3 等于 011,故查表可知在 a3 位有 1 错码。 按照上述方法构造的码称为汉明码。表中所列的(7, 4)汉明码的最小码距 d0 = 3。因此,这种码能够纠正 1 个错码或检测 2 个错码。由于码率 k/n = (n - r) /n =1 r/n,故当 n 很大和 r 很小时,码率接近 1。可见,汉明码是一 种高效码。 第三章第三章 VHDL 语言与集成环境语言与集成环境 31 EDA 概念 20 世纪 90 年代,国际上电子和计算机技术较先进的国家,一直在积极探 索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取 得了巨大成功。在电子技术设计领域,可编程逻辑器件(如 CPLD、FPGA)的应 用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这 些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件 的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统 设计方法、 设计过程和设计观念,促进了 EDA 技术的迅速发展。 【4】 EDA 技术就是以计算机为工具,设计者在 EDA 软件平台上,用硬件描述语 言 VHDL 完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、 优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编 程下载等工作。EDA 技术的出现,极大地提高了电路设计的效率和可操作性, 11 减轻了设计者的劳动强度。 利用 EDA 工具,电子设计师可以从概念、算法、协议等开始设计电子系统, 大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设 计出 IC 版图或 PCB 版图的整个过程的计算机上自动处理完成。 现在对 EDA 的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、 化工、矿产、生物、医学、军事等各个领域,都有 EDA 的应用。目前 EDA 技术 已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中, 从设计、性能测试及特性分析直到飞行模拟,都可能涉及到 EDA 技术。 【3】 3.2 Max+pluxII 简介 Max+plus是 Altera 公司提供的 FPGA/CPLD 开发集成环境,Altera 是世 界上最大可编程逻辑器件的供应商之一。Max+plus界面友好,使用便捷,被 誉为业界最易用易学的 EDA 软件。在 Max+plus上可以完成设计输入、元件适 配、时序仿真和功能仿真、编程下载整个流程,它提供了一种与结构无关的设 计环境,是设计者能方便地进行设计输入、快速处理和器件编程。 【5】 Max+plus开发系统的特点 1、开放的界面 Max+plus支持与 Cadence,Exemplarlogic,Mentor Graphics,Synplicty, Viewlogic 和其它公司所提供的 EDA 工具接口。 2、与结构无关 Max+plus系统的核心 Complier 支持 Altera 公司的 FLEX10K、FLEX8000、 FLEX6000、MAX9000、MAX7000、MAX5000 和 Classic 可编程逻辑器件,提供了 世界上唯一真正与结构无关的可编程逻辑设计环境。 3、完全集成化 Max+plus的设计输入、处理与较验功能全部集成在统一的开发环境下, 这 样可以加快动态调试、缩短开发周期。 4、丰富的设计库 Max+plus提供丰富的库单元供设计者调用,其中包括 74 系列的全部器件 和多种特殊的逻辑功能(Macro-Function)以及新型的参数化的兆功能(Mage- Function) 。 5、模块化工具 设计人员可以从各种设计输入、处理和较验选项中进行选择从而使设计环 境 12 用户化。 6、硬件描述语言(HDL) Max+plus软件支持各种 HDL 设计输入选项,包括 VHDL、Verilog HDL 和 Altera 自己的硬件描述语言 AHDL。 7、Opencore 特征 Max+plus软件具有开放核的特点,允许设计人员添加自己认为有价值的 宏 函数。 3.3 VHDL 语言 3.3.1 基本介绍 VHDL 的英文全名是 Very-High-Speed Integrated Circuit HardwareDescription Language,诞生于 1982 年。1987 年底,VHDL 被 IEEE 和 美国国防部确认为标准硬件描述语言。自 IEEE 公布了 VHDL 的标准版本,IEEE- 1076(简称 87 版)之后,各 EDA 公司相继推出了自己的 VHDL 设计环境,或宣布 自己的设计工具可以和 VHDL 接口。此后 VHDL 在电子设计领域得到了广泛的认 可,并逐步取代了原有的非标准的硬件描述语言。1993 年,IEEE 对 VHDL 进行 了修订,从更高的抽象层次和系统描述能力上扩展 VHDL 的内容,公布了新版本 的 VHDL,即 IEEE 标准的 1076-1993 版本, (简称 93 版) 。现在,VHDL 和 Verilog 作为 IEEE 的工业标准硬件描述语言,又得到众多 EDA 公司的支持,在 电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪 中,VHDL 与 Verilog 语言将承担起大部分的数字系统设计任务。 【6】 VHDL 语言是一种用于电路设计的高级语言。它在 80 年代的后期出现。最 初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一 种使用范围较小的设计语言 。 VHDL 的英文全写是:VHSIC(Very High Speed Integrated Circuit) Hardware DescriptionLanguage.翻译成中文就是超高速集成电路硬件描述语言。 因此它的应用主要是应用在数字电路的设计中。目前,它在中国的应用多数是 用在 FPGA/CPLD/EPLD 的设计中。当然在一些实力较为雄厚的单位,它也被用来 设计 ASIC。 VHDL 主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具 有硬件特征的语句外,VHDL 的语言形式、描述风格以及语法是十分类似于一般 的计算机高级语言。VHDL 的程序结构特点是将一项工程设计,或称设计实体 (可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端 口)和内部(或称不可视部分) ,既涉及实体的内部功能和算法完成部分。在对 一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以 13 直接调用这个实体。这种将设计实体分成内外部分的概念是 VHDL 系统设计的基 本点。 3.3.2 VHDL 语言设计的特点 与其他硬件描述语言相比,VHDL 具有以下特点: (1)功能强大、设计灵活 VHDL 具有功能强大的语言结构,可以用简洁明确的源代码来描述复杂的逻 辑控制。它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描 述。VHDL 支持同步电路、异步电路和随机电路的设计,这是其他硬件描述语言 所不能比拟的。VHDL 还支持各种设计方法,既支持自底向上的设计,又支持自 顶向下的设计;既支持模块化设计,又支持层次化设计。 (2)支持广泛、易于修改 由于 VHDL 已经成为 IEEE 标准所规范的硬件描述语言,目前大多数 EDA 工 具几乎都支持 VHDL,这为 VHDL 的进一步推广和广泛应用奠定了基础。在硬件 电路设计过程中,主要的设计文件是用 VHDL 编写的源代码,因为 VHDL 易读和 结构化,所以易于修改设计。 (3)强大的系统硬件描述能力 VHDL 具有多层次的设计描述功能,既可以描述系统级电路,又可以描述门级电 路。而描述既可以采用行为描述、寄存器传输描述或结构描述,也可以采用三 者混合的混合级描述。另外,VHDL 支持惯性延迟和传输延迟,还可以准确地建 立硬件电路模型。VHDL 支持预定义的和自定义的数据类型,给硬件描述带来较 大的自由度,使设计人员能够方便地创建。 【7】 (4)高层次的系统模型。 独立于器件的设计、与工艺无关设计人员用 VHDL 进行设计时,不需要首先 考虑选择完成设计的器件,就可以集中精力进行设计的优化。当设计描述完成 后,可以用多种不同的器件结构来实现其功能。 (5)很强的移植能力 VHDL 是一种标准化的硬件描述语言,同一个设计描述可以被不同的工具所 支持,使得设计描述的移植成为可能。 (6)易于共享和复用 VHDL 采用基于库(Library)的设计方法,可以建立各种可再次利用的模 块。这些模块可以预先设计或使用以前设计中的存档模块,将这些模块存放到 库中,就可以在以后的设计中进行复用,可以使设计成果在设计人员之间进行 交流和共享,减少硬件电路设计。 3.3.3 VHDL 语言优势 (1)与其他的硬件描述语言相比,VHDL 具有更强的行为描述能力,从而 14 决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开 具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。 (2)VHDL 丰富的仿真语句和库函数,使得在任何大系统的设计早期就能 查验设计系统的功能可行性,随时可对设计进行仿真模拟。 (3)VHDL 语句的行为描述能力和程序结构决定了他具有支持大规模设计 的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完 成必须有多人甚至多个代发组共同并行工作才能实现。 (4)对于用 VHDL 完成的一个确定的设计,可以利用 EDA 工具进行逻辑综 合和优化,并自动的把 VHDL 描述设计转变成门级网表。 (5)VHDL 对设计的描述具有相对独立性,设计者可以不懂硬件的结构, 也不必管理最终设计实现的目标器件是什么,而进行独立的设计。 【8】 第四章第四章 汉明码编译系统模块设计与实现汉明码编译系统模块设计与实现 41 汉明码编译原理设计 原理图如图 4-1 所示: 图 4-1 原理图 该系统一共有四大模块: (1)16 位序列产生与分组模块 (2)编码模块 (3)加错模块 (4)译码与分组串行 42 系统模块设计 4.2.1 16 位比特序列产生与分组模块 1、管脚说明 CLK:输入的时钟,std_logic 数据类型,上升沿有效。 CLR:输入清零信号,高电平有效。 15 ZO:输出的序列,std_logic 数据类型。 dataout16:每 4 个 bit 输出一次,std_logic_vector(3 downto 0)数据类 型。 2、功能 该序列可以固定的输出 0110 1111 0010 1101 16 位二进制数,并且能够 每 16 位循环一次。ZO 输出管脚是直接输出的串行数据,并没有进行分组处理, 而 dataout16 管脚实现了分组功能,即每四位分为一组。这样 16 位数据分成了 四组。 【9】 3、用 VHDL 语言实现 首先选择一个计数变量,每当计数一次就输出一个 bit。 IF(CLR=1)THEN COUNTZZZZZZZZZZZZZZZZa(3):=Z;temp:=1; when 1=a(2):=Z;temp:=2; when 2=a(1):=Z;temp:=3; when 3=a(0):=Z;temp:=0;temp1:=temp1+1; dataout16 S(0):=NOT DATAIN(0);DATAOUT S(1):=NOT DATAIN(1);DATAOUT S(2):=NOT DATAIN(2);DATAOUT S(3):=NOT DATAIN(3);DATAOUT S(4):=NOT DATAIN(4);DATAOUT S(5):=NOT DATAIN(5);DATAOUT S(6):=NOT DATAIN(6);DATAOUT dataoutbb(0):= not bb(0);nbb(1):= not bb(1);nbb(2):=not bb(2);nbb(3):=not bb(5);nbb(4):=not bb(4);nbb(5):=not bb(5);nbb(6):=not bb(6);n null;n“0000“) then if temp1s4s4s4s4ZZZZZZZZZZZZZZZZa(3):=Z;temp:=1; when 1=a(2):=Z;temp:=2; when 2=a(1):=Z;temp:=3; when 3=a(0):=Z;temp:=0;temp1:=temp1+1;dataout16 S(0):=NOT DATAIN(0);DATAOUT S(1):=NOT DATAIN(1);DATAOUT S(2):=NOT DATAIN(2);DATAOUT S(3):=NOT DATAIN(3);DATAOUT S(4):=NOT DATAIN(4);DATAOUT S(5):=NOT DATAIN(5);DATAOUT S(6):=NOT DATAIN(6);DATAOUT dataoutbb(0):= not bb(0);nbb(1):= not bb(1);nbb(2):=not bb(2);nbb(3):=not bb(5);nbb(4):=not bb(4);nbb(5):=not bb(5);nbb(6):=not bb(6);n null;n“0000“) then if temp1s4s4s4s4=bbb(0);temp:=0;m1=s4;temp1:=temp1+1; end case; end if; end if; end if; end process; end architecture; 14 大学本科生毕业设计(论文)撰写规范 本科生毕业设计(论文)是学生在毕业前提交的一份具有一定研究价值和实用 价值的学术资料。它既是本科学生开始从事工程设计、科学实验和科学研究的初步 尝试,也是学生在教师的指导下,对所进行研究的适当表述,还是学生毕业及学位 资格认定的重要依据。毕业论文撰写是本科生培养过程中的基本训练环节之一,应 符合国家及各专业部门制定的有关标准,符合汉语语法规范。指导教师应加强指导, 严格把关。 1、论文结构及要求 论文包括题目、中文摘要、外文摘要、目录、正文、参考文献、致谢和附录等 几部分。 1.1 题目 论文题目应恰当、准确地反映论文的主要研究内容。不应超过 25 字,原则上 不得使用标点符号,不设副标题。 1.2 摘要与关键词 1.2.1 摘要 本科生毕业设计(论文)的摘要均要求用中、英两种文字给出,中文在前。 摘要应扼要叙述论文的研究目的、研究方法、研究内容和主要结果或结论,文 字要精炼,具有一定的独立性和完整性,摘要一般应在 300 字左右。摘要中不宜使 用公式、图表,不标注引用文献编号,避免将摘要写成目录式的内容介绍。 1.2.2 关键词 关键词是供检索用的主题词条,应采用能覆盖论文主要内容的通用技术词条 (参照相应的技术术语标准) ,一般列 35 个,按词条的外延层次从大到小排列, 应在摘要中出现。 1.3 目录 15 目录应独立成页,包括论文中全部章、节的标题及页码。 1.4 论文正文 论文正文包括绪论、论文主体及结论等部分。 1.4.1 绪论 绪论一般作为论文的首篇。绪论应说明选题的背景、目的和意义,国内外文献 综述以及论文所要研究的主要内容。 文管类论文的绪论是毕业论文的开头部分,一般包括说明论文写作的目的与意 义,对所研究问题的认识以及提出问题。绪论只是文章的开头,不必写章号。 毕业设计(论文)绪论部分字数不多于全部论文字数的 1/4。 1.4.2 论文主体 论文主体是论文的主要部分,要求结构合理,层次清楚,重点突出,文字简练、 通顺。论文主体的内容要求参照大学本科生毕业设计(论文)的规定第五章。 论文主体各章后应有一节“本章小结” 。 1.4.3 结论 结论作为单独一章排列,但不加章号。 结论是对整个论文主要成果的归纳,要突出设计(论文)的创新点,以简练的 文字对论文的主要工作进行评价,一般为 4001 000 字。 1.5 参考文献 参考文献是论文不可缺少的组成部分,它反映了论文的取材来源和广博程度。 论文中要注重引用近期发表的与论文工作直接有关的学术期刊类文献。对理工类论 文,参考文献数量一般应在 15 篇以上,其中学术期刊类文献不少于 8 篇,外文文 献不少于 3 篇;对文科类、管理类论文,参考文献数量一般为 1020 篇,其中学 术期刊类文献不少于 8 篇,外文文献不少于 3 篇。 在论文正文中必须有参考文献的编号,参考文献的序号应按在正文中出现 的顺序排列。 产品说明书、各类标准、各种报纸上刊登的文章及未公开发表的研究报告(著 名的内部报告如 PB、AD 报告及著名大公司的企业技术报告等除外)不宜做为参考 文献引用。但对于工程设计类论文,各种标准、规范和手册可作为参考文献。 引用网上参考文献时,应注明该文献的准确网页地址,网上参考文献不包含在 16 上述规定的文献数量之内。 1.6 致谢 对导师和给予指导或协助完成论文工作的组织和个人表示感谢。内容应简洁明 了、实事求是,避免俗套。 1.7 附录 如开题报告、文献综述、外文译文及外文文献复印件、公式的推导、程序流程图、 图纸、数据表格等有些不宜放在正文中,但有参考价值的内容可编入论文的附录中。 山东轻工业学院 2011 届本科生毕业设计(论文) 1 2、论文书写规定 2.1 论文正文字数 理工类 论文正文字数不少于 20 000 字。 文管类 论文正文字数 12 00020 000 字。其中汉语言文学专业不少于 7 000 字。 外语类 论文正文字数 8 00010 000 个外文单词。 艺术类 论文正文字数 3 0005 000 字。 2.2 论文书写 本科生毕业论文用 B5 纸计算机排版、编辑与双面打印输出。 论文版面设置为:毕业论文 B5 纸、纵向、为横排、不分栏,上下页边距分别为 2.5cm 和 2cm,左右页边距分别为 2.4cm 和 2cm,对称页边距、左侧装订并装订线为 0cm、奇偶 页不同、无网格。论文正文满页为 29 行,每行 33 个字,字号为小四号宋体,每页版面字 数为 957 个,行间距为固定值 20 磅。 页眉。页眉应居中置于页面上部。单数页眉的文字为“章及标题” ;双数页眉的文字为 “大学本科生毕业设计(论文) ” 。页眉的文字用五号宋体,页眉文字下面为 2 条横线(两 条横线的长度与版芯尺寸相同,线粗 0.5 磅) 。页眉、页脚边距分别为 1.8cm 和 1.7cm。 页码。页码用小五号字,居中标于页面底部。摘要、目录等文前部分的页码用罗马数 字单独编排,正文以后的页码用阿拉伯数字编排。 2.3 摘要 中文摘要一般为 300 字左右,外文摘要应与中文摘要内容相同,在语法、用词和书写 上应正确无误,摘要页勿需写出论文题目。中、外文摘要应各占一页,编排装订时放置正 文前,并且中文在前,外文在后。 2.4 目录 目录应包括论文中全部章节的标题及页码,含中、外文摘要;正文章、节题目; 参考文献;致谢;附录。 正文章、节题目(理工类要求编写到第 3 级标题,即.。文科、管理类可视论 文需要进行,编写到 23 级标题。 ) 2.5 论文正文 2.5.1 章节及各章标题 论文正文分章、节撰写,每章应另起一页。 各章标题要突出重点、简明扼要。字数一般在 15 字以内,不得使用标点符号。标题中 尽量不用英文缩写词,对必须采用者,应使用本行业的通用缩写词。 2.5.2 层次 山东轻工业学院 2011 届本科生毕业设计(论文) 2 层次以少为宜,根据实际需要选择。层次代号格式见表 1 和表 2。 表 1 理工类论文层次代号及说明 层次名称示 例说 明 章第 1 章 章序及章名居中排,章 序用阿拉伯数字 节1.1 条 1.1.1 题序顶格书写,与标 题间空 1 字,下面阐 述内容另起一段 款 题序顶格书写,与标题 间空 1 字,下面阐述内 容在标题后空 1 字接排 项 (1) 题序空2 字书写,以下 内容接排,有标题者, 阐述内容在标题后空1 字 版心左边线 版心右边线 表 2 文管类论文层次代号及说明 章 节 条 款 项 一、 (一) 1. (1) 居中书写 空 2 字书写 空 2 字书写 空 2 字书写 空 2 字书写 版心左边线 版心右边线 各层次题序及标题不得置于页面的最后一行(孤行) 。 2.6 参考文献 正文中引用文献标示应置于所引内容最末句的右上角,用小五号字体。所引文献编号 用阿拉伯数字置于方括号“ ”中,如“二次铣削1” 。当提及的参考文献为文中直接说 明时,其序号应该与正文排齐,如“由文献8,1014可知” 。 经济、管理类论文引用文献,若引用的是原话,要加引号,一般写在段中;若引的不 是原文只是原意,文前只需用冒号或逗号,而不用引号。在参考文献之外,若有注释的话, 建议采用夹注,即紧接文句,用圆括号标明。 不得将引用文献标示置于各级标题处。 参考文献书写格式应符合 GB77141987文后参考文献著录规则 。常用参考文献编 写项目和顺序应按文中引用先后次序规定如下: 山东轻工业学院 2011 届本科生毕业设计(论文) 3 著作图书文献 序号作者书名(版次) 出版地:出版者,出版年:引用部分起止页 第一版应省略 翻译图书文献 序号作者书

温馨提示

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

评论

0/150

提交评论