基于vhdl汉明码编译码器的设计与实现说明书内容摘要:
整个过程的计算机上自动处理完成。 现在对 EDA 的概念或范畴用得很宽。 包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有 EDA的应用。 目前 EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。 例如在 飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到 EDA 技术。 【 3】 Max+pluxII 简介 Max+plusⅡ是 Altera 公司提供的 FPGA/CPLD 开发集成环境, Altera 是世界上最大可编程逻辑器件的供应商之一。 Max+plusⅡ界面友好,使用便捷,被誉为业界最易用易学的 EDA 软件。 在 Max+plusⅡ 上可以完成设计输入、元件适配、时序仿真和功能仿真、编程下载整个流程,它提供了一种与结构无关的设计环境,是设计者能方便地进行设计输入、快速处理和器件编程。 【 5】 Max+plusⅡ开发系统的特点 开放的界面 Max+plusⅡ支持与 Cadence, Exemplarlogic, Mentor Graphics, Synplicty, Viewlogic 和其它公司所提供的 EDA 工具接口。 与结构无关 Max+plusⅡ系统的核心 Complier 支持 Altera 公司的 FLEX10K、 FLEX8000、 FLEX6000、 MAX9000、 MAX7000、 MAX5000 和 Classic 可编程逻辑器件,提供了世界上唯一真正与结构无关的可编程逻辑设计环境。 完全集成化 Max+plusⅡ的设计输入、处理与较验功能全部集成在统一的开发环境下,这 样可以加快动态调试、缩短开发周期。 丰富的设计库 Max+plusⅡ提供丰富的库单元供设计者调用,其中包括 74系列的全部器件 和多种特殊的逻辑功能( MacroFunction)以及新型的参数化的兆功能( MageFunction)。 模块化工具 设计人员可以从各种设计输入、处理和较验选项中进行选择从而使设计环境 用户化。 硬件描述语言( HDL) Max+plusⅡ软件支持各种 HDL 设计输入选项,包括 VHDL、 Verilog HDL 和 Altera 自己的硬件描述语言 AHDL。 Opencore 特征 Max+plusⅡ软件具有开放核的特点,允许设计人员添加自己认为有价值的宏 函数。 12 VHDL 语言 基本介绍 VHDL 的 英 文 全 名 是 VeryHighSpeed Integrated Circuit HardwareDescription Language,诞生于 1982 年。 1987 年底, VHDL 被 IEEE 和美国国防部确认为标准硬件描述语言。 自 IEEE 公布了 VHDL 的标准版本, IEEE1076(简称 87 版 )之后,各 EDA 公司相继推出了自己的 VHDL 设计环境,或宣布自己的设计工具可以和 VHDL 接口。 此后 VHDL 在电子设计领域得到了广泛的认可,并逐步取代了原有的非标准的硬件描述语言。 1993 年, IEEE 对 VHDL 进行了修订,从更高的抽象层次和系统描述能力上扩展 VHDL 的内容,公布了新版本的 VHDL,即 IEEE 标准的 10761993 版本,(简称 93 版)。 现在, VHDL 和 Verilog 作为 IEEE的工业标准硬件描述语言,又得到众多 EDA 公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。 有专 家认为,在新的世纪中, VHDL 与 Verilog语言将承担起大部分的数字系统设计任务。 【 6】 VHDL 语言是一种用于电路设计的高级语言。 它在 80 年代的后期出现。 最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言。 VHDL 的英文全写是: VHSIC( Very High Speed Integrated Circuit) Hardware。 因此它的应用主要是应用在数字电路的设计 中。 目前,它在中国的应用多数是用在FPGA/CPLD/EPLD 的设计中。 当然在一些实力较为雄厚的单位,它也被用来设计ASIC。 VHDL 主要用于描述数字系统的结构,行为,功能和接口。 除了含有许多具 有硬件特征的语句外, VHDL 的语言形式、描述风格以及语法是十分类似于一般的计算机高级语言。 VHDL 的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分 ,及端口 )和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。 在对一个设计实体定义了外部界面 后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。 这种将设计实体分成内外部分的概念是 VHDL 系统设计的基本点。 VHDL 语言设计的特点 与其他硬件描述语言相比, VHDL 具有以下特点: ( 1)功能强大、设计灵活 VHDL 具有功能强大的语言结构,可以用简洁明确的源代码来描述复杂的逻辑控制。 它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。 VHDL 支持同步电路、异步电路和随机电路的设计,这是其他硬件描述语言所不能比拟的。 VHDL 还支持各种设计方法,既支持自底向上的设计,又支持自 顶向 13 下的设计;既支持模块化设计,又支持层次化设计。 ( 2)支持广泛、易于修改 由于 VHDL 已经成为 IEEE 标准所规范的硬件描述语言,目前大多数 EDA 工具几乎都支持 VHDL,这为 VHDL 的进一步推广和广泛应用奠定了基础。 在硬件电路设计过程中,主要的设计文件是用 VHDL 编写的源代码,因为 VHDL 易读和结构化,所以易于修改设计。 ( 3)强大的系统硬件描述能力 VHDL 具有多层次的设计描述功能,既可以描述系统级电路,又可以描述门级电路。 而描述既可以采用行为描述、寄存器传输描述或结构描述,也可以采用三者混合的混合级描 述。 另外, VHDL 支持惯性延迟和传输延迟,还可以准确地建立硬件电路模型。 VHDL 支持预定义的和自定义的数据类型,给硬件描述带来较大的自由度,使设计人员能够方便地创建。 【 7】 ( 4)高层次的系统模型。 独立于器件的设计、与工艺无关设计人员用 VHDL 进行设计时,不需要首先考虑选择完成设计的器件,就可以集中精力进行设计的优化。 当设计描述完成后,可以用多种不同的器件结构来实现其功能。 ( 5)很强的移植能力 VHDL 是一种标准化的硬件描述语言,同一个设计描述可以被不同的工具所支持,使得设计描述的移植成为可能。 ( 6) 易于共享和复用 VHDL 采用基于库( Library)的设计方法,可以建立各种可再次利用的模块。 这些模块可以预先设计或使用以前设计中的存档模块,将这些模块存放到库中,就可以在以后的设计中进行复用,可以使设计成果在设计人员之间进行交流和共享,减少硬件电路设计。 VHDL 语言优势 ( 1)与其他的硬件描述语言相比, VHDL 具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。 强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。 ( 2) VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。 ( 3) VHDL 语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。 符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。 ( 4)对于用 VHDL 完成的一个确定的设计,可以利用 EDA 工具进行逻辑综合和优化,并自动的把 VHDL 描述设计转变成门级网表。 14 ( 5) VHDL 对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必 管理最终设计实现的目标器件是什么,而进行独立的设计。 【 8】 第四章 汉明码编译系统模块设计与实现 4. 1 汉明码编译原理设计 原理图如图 41所示: 图 41 原理图 该系统一共有四大模块: ( 1) 16 位序列产生与分组模块 ( 2)编码模块 ( 3)加错模块 ( 4)译码与分组串行 4. 2 系统模块设计 16 位比特序列产生与分组模块 管脚说明 CLK:输入的时钟, std_logic 数据类型,上升沿有效。 CLR:输入清零信号 ,高电平有效。 ZO:输出的序列, std_logic数据类型。 dataout16:每 4个 bit 输出一次, std_logic_vector(3 downto 0)数据类型。 功能 该序列可以固定的输出 0110 1111 0010 1101 16 位二进制数,并且能够每16 位循环一次。 ZO 输出管脚是直接输出的串行数据,并没有进行分组处理,而dataout16 管脚实现了分组功能,即每四位分为一组。 这样 16 位数据分成了四组。 【 9】 用 VHDL 语言实现 首先选择一个计数变量,每当计数一次就输出一个 bit。 15 IF(CLR=39。 139。 )THEN COUNT=0000。 ELSE IF(CLK=39。 139。 AND CLK39。 EVENT)THEN IF(COUNT=1111)THEN COUNT=0000。 ELSE COUNT=COUNT+39。 139。 END IF。 END IF。 END IF。 CASE COUNT IS WHEN 0000=Z=39。 039。 WHEN 0001=Z=39。 139。 WHEN 0010=Z=39。 139。 WHEN 0011=Z=39。 039。 WHEN 0100=Z=39。 139。 WHEN 0101=Z=39。 139。 WHEN 0110=Z=39。 139。 WHEN 0111=Z=39。 139。 WHEN 1000=Z=39。 039。 WHEN 1001=Z=39。 039。 WHEN 1010=Z=39。 139。 WHEN 1011=Z=39。 039。 WHEN 1100=Z=39。 139。 WHEN 1101=Z=39。 139。 WHEN 1110=Z=39。 039。 WHEN OTHERS=Z=39。 139。 END CASE。 然后将输出存入一个矢量数据 dataout16 中: if clr=39。 139。 then dataout16=0000。 elsif rising_edge(clk) then if temp14 then case temp is when 0=a(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=a(3)amp。 a(2)amp。 a(1)amp。 a(0)。 16 end case。 end if。 end if。 其中变量 temp1 是数组个数,按照每 16 分四个组则可分四个数组,所以其值是从 0 到 3 四个整数, temp 变量标志一个数组中的第几位,如果 temp=0,则是相应数据中的第一个比特。 编码模块 管脚说明 a: 输入要编码的数据,共有四位。 b: 输出已经编码的码, b6,b5,b4,b3,b2,b1,b0,前四位为信息位,后三位为监督位。 功能 将四位信息码,根据汉明码原理,加上 3 位监督位,输出六位二进制码。 用 VHDL 语言实现 b(6)=a(3)。 b(5)=a(2)。 b(4)=a(1)。 b(3)=a(0)。 b(2)=a(3) xor a(2) xor a(1)。 b(1)=a(3) xor a(2) xor a(0)。 b(0)=a(3) xor a(1) xor a(0)。 其中 xor 为异或运算符。 加错模块 管脚说明 datain:输入七位二进制,其为已编码数据 dataout:输出七位数据,含一位错 C:为控制位,如果 C为 001 则是数组中的最右边一位发生错误,如果 C为010 则为数组中从。基于vhdl汉明码编译码器的设计与实现说明书
相关推荐
、 B 信号的等效电路与 R 信号相同, 三路数字信号分压情况见下表: 0000 0 1111 1 0001 8/15 1110 7/15 0010 4/15 1101 11/15 0011 12/15 1100 3/15 0100 2/15 1011 13/15 0101 10/15 1010 5/15 0110 6/15 1001 9/15 0111 14/15 1000 1/15 表 4
大到小排列,应在摘要中出现。 目录 目录应独立成页,包括论文中全部章、节的标题及页码。 15 论文正文 论文正文包括绪论、论文主体及结论等部分。 绪论 绪论一般 作为论文的首篇。 绪论应说明选题的背景、目的和意义,国内外文献综述以及论文所要研究的主要内容。 文管类论文的绪论是毕业论文的开头部分,一般包括说明论文写作的目的与意义,对所研究问题的认识以及提出问题。 绪论只是文章的开头,不必写章号。
[PORT(端口表 ); ] END ENTITY 实体名; 结构体 结构体也叫构造体,结构体描述了基本设计单元 (实体 )的结构、行为、元件及内部连接关系,也就是说它定义了设计实体的功能,规定了设计实体的数据流程,制定了实体内部元件的连接关系。 结构体对其基本设计单元的输入和输出关系可用以下三种方式进行描述 ,即行为描述 (基本设计单元的数学模型描述 )、寄存器传输描述 (数据流描述
误,尤其是当我设计 day 模块时,对应不同年份,不同的月份,需要分多种情况,所以在这设计过程中用到了很多 if 语句,当编译时总会提示出有错误,后来经过不断编译不断修改提示错误后最终完成了 day 模块的设计。 刚开始时,我是先从比较熟练的 Quartus II 入手,当所有的设计模块都编译成功后再进一步运用 modelsim进行波形仿真,在开始编写 testbench 时,感到有些难度
号; recount:接收由交通灯信号控制电路产生的重新计数的使能控制信号; sign_state:接收由交通灯信号控制电路产生的状态信号。 系统输出信号: load:负责产生计数器所需要的计数数值。 图 35是计数秒数选择电路通过 Quartus II 软件仿真得到的仿真波形图。 2020届本科生毕业论文(设计) 10 图 35 计数秒数选择电路时序图 由计数描述选择电路的时序图 (见图
参考文献;致谢;附录。 正文章、节题目(理工类要求编写到第 3级标题,即□ .□ .□。 文科、管理类可视论文需要进行,编写到 2~3级标题。 ) 论文正文 章节及各章标题 论文正文分章、节撰写, 每章应另起一页。 各章标题要突出重点、简明扼要。 字数一般在 15字以内,不得使用标点符号。 标题中尽量不用英文缩写词,对必须采用者,应使用本行业的通用缩写词。 层次 层次以少为宜,根据实际需要选择。