




已阅读5页,还剩79页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 本科生毕业论文(设计)本科生毕业论文(设计) 中文题目中文题目 快速快速 IIR 数字滤波器的设计与实现数字滤波器的设计与实现 英文题目英文题目 Rapid IIR digital filter,design and implementation 学生姓名学生姓名 班级班级 学号学号 学学 院院 专专 业业 指导教师指导教师 职称职称 摘 要 1 摘摘 要要 关于数字滤波器,直到 60 年代中期,才开始形成关于数字滤波器的一整套完整的正 规理论。数字滤波器可分为两大类:有限冲激响应(FIR)和无限冲激响应(IIR) 。与 FIR 数字滤波器相比,IIR 数字滤波器可以用较低的阶数获得高选择性, 所要求的阶所用 存储单元少, 且成本低、信号延迟小, 同时还可以利用模拟滤波器设计成果, 设计工作 量相对较小,因此 IIR 数字滤波器在很多领域中有着更广阔的应用前景。此外,它还具 有以下特点:1. 系统函数易改,2. 不存在阻抗匹配问题,3. 不存在阻抗匹配问题,4. 便于大规模集成,5. 精度和稳定性高。 VHDL 是一种面向设计的多领域、多层次并得到普遍认同的标准硬件描述语言 (HDL:Hardware Discription Language) 。这是一项原由美国国防部 ( DoD, Department of Defense) 所支持的研究计画。为了将电子电路的设计意涵以文件方式保存下来,以便 其它人能轻易地了解电路的设计意义。 Quartus II 是一种 Altera 公司的 FPGA 开发软件,支持原理图、 VHDL、VerilogHDL 以及 AHDL(Altera Hardware Description Language)等多种设 计输入形式。 Quartus II 设计软件改进了性能、提升了功能性、解决了潜在的设计延迟 等,在工业领域率先提供 FPGA 与 mask-programmed devices 开发的统一工作流程 本文主要分析各种 IIR 滤波器的实现结构的基础上,研究快速 IIR 滤波器的实现设计 方法及其 FPGA 的设计与实现,在快速 IIR 实现方面,采用 VHDL 硬件描述语言编写相 应的硬件实现程序,设计滤波器我主要采用了二阶节级联的方法,实现滤波器的设计。 先利用 MATLAB 得出二阶节的相关系数,进而进行编程,在利用 QuartusII 软件进行仿 真,最后用 MATLAB 软件进行验证。其中本文一共设计了三个滤波器,采用了不同的方 法对滤波器惊醒了设计。 关键词 滤波器 VHDL IIR QUARTUS FPGA ABSTRACT ABSTRACT About digital filters, until the 1960s began to form, in the middle of a complete about digital filter, the formal theory.This digital filter can be divided into two categories: limited impulse response (FIR) and infinite impulse response (IIR). Compared with FIR digital filters, IIR digital filter can use lower order number required to obtain high selectivity, the order of less, and used storage unit cost is low, the signal delay, and still can use small design results, design simulation filter is relatively small, so work in many areas IIR digital filter has broad prospects. In addition, it also has the following features: 1. The system function easy change, 2. Does not exist impedance matching problem, 3. Does not exist impedance matching problem, 4. Facilitate large-scale integrated, 5. Precision and high stability. VHDL is oriented to the design of the multi-field, multi-level and universally accepted standards Hardware description Language (HDL: Hardware Discription Language). This is a reason the United States Department of Defense (DoD, supported by Defense) research projects. In order to design of electronic circuits implications in documents preserved, so other ways people can easily understand circuit design of significance. Quartus II is a kind of Altera company FPGA development software, support VerilogHDL principle chart, VHDL AHDL (Altera, Hardware and Description Language) and so on many kinds of design input form. Quartus II design software improved performance and upgrade the functional, solve the potential design delay of lead in the industrial fields provide FPGA and programmed redetect development goes - unified workflow This paper mainly analyzes the realization of various IIR filter based on the structure of IIR filter, the realization of research rapid design method and its FPGA design and implementation of the realization of IIR in fast, using VHDL hardware description language writing corresponding hardware realization process, design filter I mainly adopts second quarter, realize the cascade of the filter method of design. That second quarter to using MATLAB, and the correlation coefficient for programming, the use of QuartusII software simulation with MATLAB software, finally validated. Among them were designed three filter paper, using a different method to filter woke design. KeywordsKeywords filter VHDL IIR QUARTUS FPGA 目 录 目目 录录 第一章第一章 数字滤波器数字滤波器1 1.11.1 数字滤波器的定义数字滤波器的定义1 1.21.2 滤波器的分类滤波器的分类2 1.31.3 滤波器的传递函数滤波器的传递函数3 1.41.4 IIRIIR 的基本网络结构的基本网络结构.4 1.4.1 直接型4 1.4.2 级联型6 1.4.3 并联型7 1.4.4 转置型.8 1.4.5 全通滤波器结构.8 第二章第二章 VHDLVHDL 语言的基本设计结构语言的基本设计结构.10 2.12.1 VHDLVHDL 语言概述语言概述.10 2.22.2 VHDL 基本结构、词汇元素和句法基本结构、词汇元素和句法 .10 2.2.1 基本结构.10 2.2.2 词汇元素.12 2.2.3.VHDL 句法.13 2.32.3 VHDLVHDL 语言结构语言结构.14 2.3.1 设计实体14 2.3.2 构造体14 2.3.3 配置、包集合和库16 2.3.4 VHDL 常用语句.17 2.42.4 仿真设计仿真设计18 2.52.5 VHDLVHDL 特点特点.19 第三章第三章 仿真软件仿真软件 QUARTUSQUARTUS IIII 的介绍的介绍21 3.13.1 QuartusIIQuartusII 的原理的原理.21 3.23.2 QuartusIIQuartusII 的介绍及其功能的介绍及其功能.22 3.33.3 QuartusIIQuartusII 对设计进行仿真对设计进行仿真.23 第四章第四章 快速快速 IIRIIR 滤波器的设计及滤波器的设计及 VHDLVHDL 的实现和验证的实现和验证25 4.14.1 IIRIIR 设计的方法设计的方法.25 4.24.2 切比雪夫滤波器切比雪夫滤波器28 4.34.3 巴特沃斯滤波器巴特沃斯滤波器30 4.44.4 IIRIIR 数字滤波器的数字滤波器的 VHDLVHDL 的描述的描述.30 4.54.5 MATLABMATLAB 结合结合 QuartusQuartus IIII 验证验证36 结结 论论38 目 录 2 致致 谢谢39 参参 考考 文文 献献40 附附 录:代码录:代码41 第一章 数字滤波器 第一章第一章 数字滤波器数字滤波器 1.11.1 数字滤波器的定义数字滤波器的定义 数字滤波器,是指输入、输出均为数字信号,通过一定运算关系改变输 入信号所含成分的相对比例或者滤除某些频率成分的器件。数字滤波器通常都是应用于 修正或改变时域或频域中信号的属性。一个数字滤波器可以用系统函数表示为: (1.1) zX zY za1 zb zH N 1k k k M 0k k k 其中 ai 和 bi 是滤波器的系数。 数字滤波器作为数字信号处理的重要组成部分,是实现数字滤波的核心器件, 按类 型分为两大类: 无限冲激响应 IIR 和有限冲激响应 FIR 数字滤波器。IIR 数字滤波器在 很多领域中有着广阔的应用前景, 与 FIR 数字滤波器相比, 他可以用较低的阶数获得高 选择性, 所要求的阶用存储单元少, 且成本低、信号延迟小, 同时还可以利用模拟滤波 器设计成果, 设计工作量相对较小。它具有以下特点:1.精度和稳定性高,2.系统函数 易改,3.不存在阻抗匹配问题,4.便于大规模集成,5.可实现多维数字滤波器。数字滤 波器在数字信号处理的各种应用中发挥着十分重要的作用,它是通过对抽样数据进行数 学运算处理来达到频域滤波的目的。数学运算通常有两种形式,一种是频率法,即利用 FFT 快速算法对输入信号进行离散傅立叶变换,分析其频谱,然后根据所希望的频率特 性进行滤波,再利用傅立叶反变换快速算法绘复出时域信号,这种方法具有较好的频率 选择特性和灵活性,并且由于信号频率与所希望的频谱特性是简单的相乘关系,它比计 算等价的时域卷积要快的多。另一种方法是时域法,这种方法是对离散抽样数据做差分 数学运算来达到滤波目的。 一般用两种方法来实现数字滤波器:一是采用通用计算机,利用计算机的存储器、 运算器和控制器把滤波器所要完成的运算编成程序通过计算机来执行,也就是采用计算 机软件来实现;二是设计专用的数字处理硬件。 数字滤波器用硬件实现的基本部件包括延迟器、乘法器和加法器;用软件来实现时, 它只是一段线性卷积程序。软件实现的优点是系统函数具有可变性,仅依赖于算法结构, 并且易于获得较理想的滤波性能。所以软件滤波在滤波器的使用中起到了越来越重要的 作用。 第一章 数字滤波器 2 MATLAB 的信号处理工具箱的两个基本组成就是滤波器的设计与实现部分以及谱分 析部分。工具箱提供了丰富而简便的设计,实现 FIR 和 IIR 的方法,是原来繁琐的程序 设计简化成函数的调用。本文主要介绍了 IIR 的设计方法和相关的工具函数。 1.21.2 滤波器的分类滤波器的分类 滤波器的种类很多,有各种不同的分类方法。根据所处理信号的不同,滤波器可分 为模拟滤波器和数字滤波器两大类。 从滤波器的实现方法上分,可分为 IIR 滤波器和 FIR 滤波器两种。 IIR 滤波器,即无限长冲击响应滤波器,其特点归纳如下: (1)单位冲激响应 h(n)是无限长的。 (2)系统函数在有限平面上有极点存在; (3)结构上存在着输出到输入的反馈,也就是结构上是递归型的。 根据对不同频率信号的通、阻特性的不同,滤波器可分成低通、高通、带通、带阻、 全通五大类。 1.低通滤波器 理想低通滤波器的传输函数幅值为 (1.2) 0 0 0 0 1 )()(jHH 是通带, 是阻带。 0 0 0 2高通滤波器 理想高通滤波器的传输函数幅值为 (1.3) 0 0 1 00 )()(jHH 是阻带, 是通带。 0 00 3.带通滤波器 理想带通滤波器的传输函数幅值为 (1.4) h hl jHH 0 1 00 )()( 1 是通带,其他频率为阻带。叫带宽。是通带的几何 hl B lh hl 0 中心频率。 第一章 数字滤波器 3 4带阻滤波器 理想带阻滤波器的传输函数幅值为 (1.5) h hl l jHH 1 0 01 )()( 是阻带,其他频率是通带。 是阻带带宽, 是阻带的 hl lh hl 0 几何中心频率。 5全通滤波器 理想全通滤波器传输函数的幅值与频率无关,而相移是频率的函数。 1.31.3 滤波器的传递函数滤波器的传递函数 滤波器的传递函数可写成下面的有理多项式形式: (1.6) zX zY za1 zb zH N 1k k- k M 0k k k 其中 z 是复频率变量,N 是滤波器阶数。 上式中多项式和决定了滤波器的类型,也决定了同类滤波器的幅频, 10 aa, 10 bb 与相频特性曲线的形状。 常用的滤波器有巴特沃兹(Butterworth)滤波器、切比雪夫型(Chebychev)滤波器、 切比雪夫型(Chebychev)滤波器和椭圆滤波器又称考尔(Cauer)滤波器。 1.巴特沃兹滤波器的传递函数 巴特沃兹滤波器用全极点函数逼近理想低通特性,Butterworth 滤波器的特点是具有 通带内最平坦的幅度特性,而且随着频率升高呈单调递减。其中 N 为滤波器阶数 (1.7) N2 c 2 s 1 1 H 2切比雪夫滤波器的传递函数 切比雪夫低通函数也是全极点函数,与式 1.6 形式相同,只是极点位置和多项式系 数不同。切比雪夫低通函数的极点位于 Z 平面左半面的半椭圆上,椭圆的短轴在实轴上, 长轴在虚轴上。 第一章 数字滤波器 4 (1.8) c NC 22 2 s 1 1 jH 其中 N 为滤波器阶数。 3.椭圆滤波器的传递函数 与其他类型的滤波器相比,椭圆滤波器的过渡带窄,所用阶数低,耗费硬件资源少 等优点,它有着等波纹的通频带,等波纹的抑制频带和狭窄的过渡频带。 椭圆滤波器的传递函数为 (1.9) c N 22 2 U1 1 jH 其中为 N 阶雅可比椭圆函数。 XUN 1.41.4 IIRIIR 的基本网络结构的基本网络结构 IIR 网络结构的特点是信号流图中含有反馈支路,即含有环路,其单位脉冲响应是无限长的。基 本网络结构有以下几种: 1.4.1 直接型 一个因果 IIR 滤波器的系统函数为有理函数 (1.10) zX zY za1 zb zH N 1k k k M 0k k- k N 1k k k M 0k k- k zb1 1 zbzH 输入与输出的关系可以用差分方程表示为( )x n( )y n (1.11) M k k N k k knxbknyany 01 式中第二部分相当于 FIR 系统,表示将输入加以延时,组成 M 节的延时网络, M k knxb 0k 把每节延时抽头后,以系数进行加权,然后把结果相加,这就是上节讨论的一个横向 k b 结构网络。而第一部分表示将输出加以延时,组成 N 节的延时网络,将每节 N k k knya 1 延时抽头后,以系数进行加权,然后把结果相加,最后的输出就是这两部分相加 k a ny 而构成。由于该类系统中包含了输出的延时部分,故它是一个有反馈的网络,由 第一章 数字滤波器 5 (1.10)式右端的第一个和式构成。这种结构称为直接 I 型结构,其结构流图如图 1-1 实现 N 阶差分方程的直接 I 型结构所示,可以看出,整个网络是由上面讨论的两部分网 络级联组成,第一部分实现系统的零点,第二部分实现系统的极点。这种网络共需 (N+M+1)个乘法器和(N+M)个延时器。 X(n) b0 Y(n) Z-1 Z-1 Z-1 Z-1 Z-1 Z-1 Z-1 Z-1 b1 b2 bM bM-1 X(n-1) X(n-2) X(n-M+1) X(n-M) a1 a2 aN-1 aN Y(n-1) Y(n-2) Y(n-N+1) Y(n-N) 图 1-1 实现 N 阶差分方程的直接 I 型结构 一个线性时不变系统,如果交换其级联子系统的次序,系统函数不会改变,说明输 入输出关系不会改变。所以,可以交换的一部分和第二部分的次序,带到另一种如图 1- 2 直接 I 型的变型,两个子网络级联,第一个子网络实现系统函数的极点,第二个子网 络实现系统函数的零点。同时看出:两行串行延时支路由相同的输入,可以将它们合并, 则得到图 1-3 直接 II 型结构,称为直接 II 型结构,或典范结构。这种网络共需 (N+M+1)个乘法器、 (N+M)个加法器和 max(M,N)个延时器。与直接 I 型相比,所需 延时器减少了,是 IIR 网络结构中所需要延时器单元最少的。 a1 a2 aN-1 aN Z-1 Z-1 Z-1 Z-1 Y(n-1) Y(n-2) Y(n-N+1) Y(n-N) Z-1 Z-1 Z-1 Z-1 b1 b2 bM-1 bM X(n-1) X(n-2) X(n-M+1) X(n-M) 第一章 数字滤波器 6 图 1-2 直接 I 型的变型 (将图 1-2 网络的零点与极点的级联次序互换) X(n) a1 a2 b1 b2 bM-1 bM aN-1 Z-1 Z-1 Z-1 Z-1 Z-1 图 1-3 直接 II 型结构 1.4.2 级联型 级联结构是对的分子和分母多项式进行因式分解后得到的,即将式(1.11)的 zH 系统函数按零、极点进行因式分解,得 (1.12) 12 12 N 1k N 1k 1 k 1 k 1 k M 1k M 1k 1 - k 1 k 1 k N 1k k k M 0k k- k zd1zd1zc1 zq1zq1zp1 K za-1 zb zH 式中,。一阶因式表示实根,为实零点,为实极点。二 21 M2MM 21 N2NN k p k c 阶因式表示复共轭,、表示复共轭极点,当、为实系数情况下,上式就是最一 k q k q k a k b 般的零、极点分布表示法。把共轭因子组合成实系数的二阶因子,则有 (1.13) 12 12 N 1k N 1k 2- k2 1 k1 1 k M 1k M 1k 2 k2 1 1k 1 - k zaza1zc1 zz1zp1 KzH 将实系数一阶因子也变为二阶因子,即把全部分解成实系数的二阶因子,这样简化 zH 后的级联形式,有利于实现,适合时分多路复用,即 (1.14) kk 2 k2 1 k1 2 k2 1 1k zHK zaza1 zz1 KzH 第一章 数字滤波器 7 图 1-5 六阶 IIR 滤波器的级联结构是一个六阶系统的级联实现。一个系统用这样的 级联方式实现时具有相当大的灵活性。 X(n) a11 11 a21 21 Z-1 Z-1 a12 a22 Z-1 Z-1 Z-1 Z-1 12 22 a13 a23 13 23 Y(n) 图 1-5 六阶 IIR 滤波器的级联结构 1.4.3 并联型 分解的另一种方法是用部分分式法将展开,这样,就得到了并联型的 IIR zH zH 滤波器结构 (1.15) N-M 0k k k N 1k N 1k 1 k 1 k 1 kk 1 k k N 1k k k M 0k k k zG zd1zd1 zg1B zc1 A za1 zb zH 11 式中,一般地,系数、是实数,故、都为实数, 21 N2NN k a k b k A k B k g k c k G 是的共轭复数。当时,那么式(1.15)中不包含项,如果, k d k dNM N-M 0k k kz GNM 则会变成常数项。大多数情况下,IIR 滤波器皆满足的条件。式 N-M 0k k kz G 0 GNM (1.15)表示系统是由个一阶系统、个二阶系统和各延时器加权并联而构成。 1 N 2 N 为了便于实现,把具有共轭极点对的因子变换成二阶实系数多项式,同样也将两个 一阶实极点变换成二阶实系数多项式,若,则有NN (1.16) 2 1N 1k 2 k2 1 k1 1 k1k0 0 zaza1 z GzH 可表示成 (1.17) 2 1N 1k k0 zHGzH 第一章 数字滤波器 8 式中表示取的整数部分。 2 1N 2 1N 1.4.4 转置型 如果将原网络中所有支路方向加以倒转,把输入和输出相互交换,该系统 nx ny 函数仍不改变。这种由转置得到的类型称为转置型,利用转置方法,可将上面讨论 zH 的各种结构加以转置而得到各种新的网络结构。例如,对直接 II 型结构,转置后得到新 结构网络见图 1-7 转置型 II 型结构所示。 X(n)Y(n) b0 b1 b2 bM-1 bM Z-1 Z-1 Z-1 Z-1 a1 a2 aN-1 aN 图 1-7 转置型 II 型结构 一般地,无限长单位冲激响应滤波器有以下几个特点: (1)单位冲激响应是无限长的; nh (2)系统函数在有限平面()上有极点存在; zHz z0 (3)结构上存在着输出到输入的反馈,也就是结构上是递归型的。 1.4.5 全通滤波器结构 一个全通滤波器的频率响应的幅值为常数,即 1Hap j e 其系统函数一般为 (1.17) N 1k 1 - k k 1 ap za1 az zH 如果是实数,等式(1.17)的复数根将呈共轭对出现,合并共轭对便得到二阶因子 kh 形式,即 第一章 数字滤波器 9 (1.18) 1 N 1k 2 k 1 k 21 kk ap zaz1 zza H 图 1-8 用直接型 II 实现的全通滤波器的二阶基本节给出个一个直接 II 型实现的基本节。 由于每一个基本节仅有两个系数和,所以,少用两次乘法就可以实现这些基本节。 k a k x(n) Y(n) ak k -k -ak Z-1 Z-1 图 1-8 用直接型 II 实现的全通滤波器的二阶基本节 第二章 VHDL 语言的基本设计结构 第二章第二章 VHDLVHDL 语言语言的基本设计结构的基本设计结构 2.12.1 VHDLVHDL 语言概述语言概述 VHDL 的英文全名是 Very High Speed Integrated Circuit Hardware Descriptio Language,翻译成中文就是超高速集成电路硬件描述语言 ,诞生于 1982 年2。 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 语言将承担起大部分的数字系统设计任务。 VHDL 语言是一种用于电路设计的高级语言。它在80 年代的后期出现。最 初是 由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范 围较小的设计语言。 VHDL 主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件 特征的语句外,VHDL 的语言形式和描述风格与句法是十分类似于一般的计算机高级语 言。VHDL 的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个 电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分) , 既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其 内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分 的概念是 VHDL 系统设计的基础。 2.2 VHDL 基本结构、基本结构、词汇元素和句法词汇元素和句法 2.2.1 基本结构 VHDL 语言的基本建模结构包括:实体说明,构造体,配置,包集合和设计库等。 1.设计实体 这里所谓的设计实体就是指 VHDL 的一个设计单元,主要由实体说明(entity)和构 造体(architecture)两部分所组成。 第二章 VHDL 语言的基本设计结构 11 类型说明是实体说明中的可选项,放在端口说明之前。 类型说明和端口说明是实体说明的组成部分,用于说明设计实体和外部通信的通道。 利用外部通信通道,参数的类型说明为设计实体提供信息。参数的类型用来规定端口的大 小,I/O 引脚的指派,实体中元件的数目和实体的定时特性等信息。 端口名是赋于每个外部引脚的名称,名称的含义要准确,如 D 开头的端口名表示数据,A 开头的端口名表示地址等。端口名通常用几个英文字母或一个英文字母加数字表示。模式 用来说明数据、信号通过该端口的传输方向。端口模式有 in,out,buffer,inout 四种 类型。in 即输入,仅允许数据流入端口;out 即输出,仅允许数据从实体内部输出 2.结构体 结构体具体指明了该设计实体的行为,定义了该设计实体的功能,规定了该设计实体 的数据流程,指派了实体中内部元件的连接关系。用 VHDL 语言描述结构体有 4 种方法: (1)行为描述法 所谓结构体的行为描述(behavioral descriptions) ,即对设计实体按算法的路径来 描述。采用进程语句,顺序描述被称为设计实体的行为。 (2)数据流描述法 它描述了数据流程的运动路径、运动方向和运动结果。采用进程语句,顺序描述数据 流在控制作用下被加工、处理、存储的全过程。 (3)结构化描述法 结构化描述通常用于层次化设计,采用并行处理语句描述设计实体内的结构组织和元 件互连关系。 3.配置 在 VHDL 中,当使用元件说明和元件例示语句来描述一个设计实体的层次结构时, 总需要引用其他设计实体来为元件描述建立实际功能。 4.包集合 包集合又称程序包,是一种使包体中的元件、函数、类型说明对其他设计单元是“可 见” 、可调用的设计单元。程序包由两部分组成:程序包说明和程序包体。 程序包的说明部分要对程序包内所定义的所有内容进行说明,可以包括: (1)常量说明; (2)信号说明; (3)类型说明; 第二章 VHDL 语言的基本设计结构 12 (4)函数或过程说明; (5)部件说明等; 5. 库 设计库中的设计单元实体说明、结构体、配置说明、程序包说明和程序包体可以用作 其他 VHDL 描述的资源。设计库的使用方法是在每个设计项目开头声明选用的库名,用 USE 子句声明选中的逻辑单元。程序包含有函数、过程、元件等基础设计单元。 2.2.2 词汇元素 1.标识符 标识符是 VHDL 语言对各种数据对象的一种标识,就像一般编程语言给各种数据对象 起名字一样。实体名和端口名都是标识符,标识符必须以英文字母开头(不区分大小写) , 后面可以跟数字和下划线,在下划线的前后均要有英文字符。 2.VHDL 语言的目标及分类 在任何可以保持一个数值或返回一个数值的对象都称为目标(object).目标主要分 为信号(signal) ,变量(variale) ,常量(constant)和文件(file)等四种不同的类 型。 (1)信号 信号是一种全局变量,可用来表示实体间数据的动态变换。使用在结构体描述、集合 说明、实体说明中。用于声明内部信号,而非外部信号,其在组件之间起互联作用,类似 于连接线,可以赋值给外部信号。 (2)变量 变量是一个局部变量对变量进行赋值后立即生效,不产生赋值延时。使用在进程说明、 过程说明、函数调用说明中。变量的赋值用“:=”来表示,变量的赋值没有延迟,变量 句执行后立即起作用。 (3)常量 类似于其他的程序设计语言,VHDL 也可以由用户自定义代表常量的标识符。常量是一 种全局变量,通过这样的常量定义,可以改善程序的可读性和可维护性。使用在结构体描 述、实体说明、过程说明、函数调用说明中。 3.标量数据类型 整数型:包括正整数、负整数和零。 实数型:实数的范围从-1.0E+38 到+1.0E+38。 第二章 VHDL 语言的基本设计结构 13 二进制型:信号的值只能是逻辑0或1 。 字符型:使用 8 位编码的 ASCII 字符。 字符串:写程序时字符串要用双引号括起来,一般用于程序的提示和结果的说明。 时间类型:值的范围是整数所定义的范围:-(-1)到。 31 2 31 2 4用户自定义类型与子类型 包括枚举类型、数组类型、物理类型、子类型以及文件类型、记录类型等。本论文设 计中,用到了数组类型、枚举类型和子类型,下面予以介绍。 数组类型:数组定义的基本格式是: type 类型名 is array(范围) of 基类型; 定义中的“基类型”是已经定义过的类型,可以是系统定义的类型,也可以是用户自 定义的,甚至可以是已经定义过的数组类型。定义中的“范围”即表示数组的大小,也说 明用什么方式表示数组元素的下标。 子类型:是对已经定义的数据类型在范围上加以限制而得到的一种新的数据类型,基 本格式是: subtype 子类型名 is 已定义类型名范围; 5.表达式与运算符 用运算符将一些基本的元素连接在一起即组成了表达式。VHDL 表达式中可以使用变 量或信号。 2.2.3.VHDL 句法 1.顺序语句 IF 语句:可用于状态机等的设计,是 VHDL 语言中最基础最常用的语句,本论文中用 到二选一控制的 if 语句。 CASE 语句:常用来描述总线行为,可用于状态机的设计。 2.并行语句 变量赋值语句:是无延迟的数据传递语句,通常先进行变量定义然后再对变量赋值。 信号代入语句:将敏感信号量表达式代入给信号量。 进程语句:进程语句的进程结构内部的所有语句都是顺序执行的,多进程之间是并行 执行的,进程的启动是由进程标识符 process 后的信号敏感表所标明的信号来触发的,也 可以用 wait 语句等待一个触发条件的成立,各进程之间的通信是由信号来传递的。 wait 语句:在进程中起到与敏感信号一样重要的作用。 第二章 VHDL 语言的基本设计结构 14 元件调用语句(component):指示了本结构体中所调用的是哪一个模块,这些被调 用的模块放在元件库中。 2.32.3 VHDLVHDL 语言结构语言结构 一个完整的 VHDL 语言程序通常包含实体(Entity)、构造体(Architecture)、 配置、包集合(Package)和库(Library)五个部分,编译之后将它们放在制定的库中 共3。其中,实体用于描述设计的接口界面信号,它规定端口数目,端口方向和端口 类型与硬件电路设计中的符号相对应。而结构体指定设计的真实行为,性能和结构, 与硬电 路设计中的原理图相对应。 2.3.1 设计实体 实体的定义语法为: ENTITY 实体名 IS 端口说明; END 实体名; 端口说明书写格式如下: PORT(端口名,端口名:方向 数据类型名; 端口名,端口名:方向 数据类型名) ; 例如,一个二选一路数据选择器的设计实体可描述如下: ENTITY selection IS PORT(a, b, sel: IN BIT; C : OUT BIT ); END selection; 2.3.2 构造体 用于描述系统内部的结构和行为。构造体部分定义了设计单元的具体功能(行 第二章 VHDL 语言的基本设计结构 15 为) 。 构造体句法如下: ARCHITECTURE 构造体名 OF 实体名 IS 定义语句内部信号,常数,数据类型,函数等的定义; BEGIN 并行处理语句; END 构造体名; 例如:ARCHITECTURE dataflow OF selection IS BEGIN qRETURNIS 定义语句; BEGIN ; END 函数名称; 下面是一个比较器的例子: FUNCTION max(a, b: INTEGER) RETURN INTEGER ISBEGIN IF (a=b)THEN RETURN a; ELSE RETURN b; END IF; END max; 一个函数定义好后,可以在其它地方调用。 第二章 VHDL 语言的基本设计结构 16 过程(PROCEDURE)的定义形式如下: PROCEDURE IS BEGIN ; END 过程名称; 下面是一个比较器的例子: FUNCTION max(a, b, c: INTEGER) IS BEGIN IF (a=b)THEN c顺序处理语句; END CASE; 条件句中的“=”不是操作符,只相当于“THEN”作用。 2.42.4 仿真设计仿真设计 当用 VHDL 语言描述一个电子系统之后,需要验证其正确性,而仿真则是在电子系统 设计过程中用来对设计者的描述和设计结果进行查错、验证的一种方法。仿真是利用计算 第二章 VHDL 语言的基本设计结构 19 机硬件平台,EDA 工程设计环境搭建虚拟的设计系统,在计算机上进行波形分析、时序分 析、功能验证的过程。仿真过程与模拟过程不同,模拟过程是以硬件实验测试为基础,而 仿真过程是软件分析验证为基础,在 EDA 工程的设计流程里,仿真是重要过程之一。 现代电子设计方法和 EDA 工具的发展,已经不用经典的实验板法来仿真大规模复杂电 路。利用计算机进行仿真,在输入端加入数据,称为测试矢量,在输出端得到输出数据, 比较输出数据是否达到设计目标,就能完成仿真的目的,仿真系统构成如下图 2-1 所示: 硬件描述语言图形输入 数据库仿真数据 激励波形 控制命令 仿真器输出波形 图 2-1 仿真系统的构成 在硬件系统设计过程中,一般要进行 3 次仿真:行为仿真、RTL 仿真和门级仿真, 一般前两种为功能仿真,后一种为时序仿真 2.52.5 VHDLVHDL 特点特点 与其他硬件描述语言相比, VHDL 具有以下特点: (1)功能强大、设计灵活。 VHDL 具有功能强大的语言结构,可以用简洁明确的源 代码来描述复杂的逻辑控制。它具有多层次的设计描述功能,层层细化,最后可直 接生成电路级描述。 VHDL 支持同步电路、异步电路和随机电路的设计,这是其他硬 件描述语言虽不能比拟的。 VHDL 还支持各种设计方法,既支持自底向上的设计,又 支持自顶向下的设计;既支持模块化设计,又支持层次化设计。 (2)支持广泛、易于修改。由于 VHDL 已经成为 IEEE 标准所规范的硬件描述语 言,目前大多数 EDA 工具几乎都支持 VHDL,这为 VHDL 的进一步推广和广泛应用奠 定了基础。在硬件电路设计过程中,主要的设计文件是用VHDL 编写的源代码,因 为 VHDL 易读和结构化,所以易于修改设计。 (3)强大的系统硬件描述能力。 VHDL 具有多层次的设计描述功能,既可以描述系 统级电路,又可以描述门级电路。而描述既可以采用行为描述、寄存器传输描述或 第二章 VHDL 语言的基本设计结构 20 结构描述,也可以采用三者混合的混合级描述。另外,VHDL 支持惯性延迟和传输 延迟,还可以准确地建立硬件电路模型。 VHDL 支持预定义的和自定义的数据类 型,给硬件描述带来较大的自由度,使设计人员能够方便地创建高层次的系统模 型。 (4)独立于器件的设计、与工艺无关。设计人员用VHDL 进行设计时,不需要首先 考虑选择完成设计的器件,就可以集中精力进行设计的优化。当设计描述完成后,可 以用多种不同的器件结构来实现其功能。 (5)很强的移植能力。 VHDL 是一种标准化的硬件描述语言,同一个设计描述可以被 不同的工具所支持,使得设计描述的移植成为可能。 (6)易于共享和复用。VHDL 采用基于库(Library)的设计方法,可以建立各种可再次 利用的模块。这些模块可以预先设计或使用以前设计中的存档模块,将这些模块存放到 库中,就可以在以后的设计中进行复用,减少硬件电路设计。 第二章 VHDL 语言的基本设计结构 21 第三章 仿真软件 QUARTUSII 的介绍 第三章第三章 仿真软件仿真软件 QUARTUSQUARTUS IIII 的介绍的介绍 3.13.1 QuartusIIQuartusII 的原理的原理 Quartus是 Altera 公司提供的 FPGA/CPLD 开发集成环境,Altera 是世界上最大可编 程逻辑器件的供应商之一。Quartus界面友好,使用便捷,被誉为业界最易用易学的 EDA 软件。在 Quartus上可以完成设计输入、元件适配、时序仿真和功能仿真、编程下载整个 流程,它提供了一种与结构无关的设计环境,是设计者能方便地进行设计输入、快速处理 和器件编程。Quartus开发系统的特点: 一、开放的界面 Quartus支持与 Cadence,Exemplarlogic,Mentor Graphics,Synplicty,Viewlogic 和其它公司所提供的 EDA 工具接口。 二、与结构无关 Quartus系统的核心 Complier 支持 Altera 公司所有可编程逻辑器件, 提供了世界上唯一真正与结构无关的可编程逻辑设计环境。 三、完全集成化 Quartus的设计输入、处理与较验功能全部集成在统一的开发环境下, 这样可以加快动态调试、缩短开发周期。 四、丰富的设计库 Quartus提供丰富的库单元供设计者调用,其中包括 74 系列的全 部器件和多种特殊的逻辑功能(Macro-Function)以及新型的参数化的兆功能(Mage- Function) 。 五、模块化工具设计人员可以从各种设计输入、处理和较验选项中进行选择从而使设 计环境用户化。 六、硬件描述语言(HDL)Quartus软件支持各种HDL设计输入选项,包括VHDL、Verilog HDL 和Altera自己的硬件描述语言AHDL。QuartusII7.0是Altera公司最新的综合性PLD开发软件, 支持原理图、VHDL、Verilog HDL、AHDL等多种输入方式,内嵌自有的综合器,可以完成 从设计输入到硬件配置的完整PLD设计流程。此外,QuartusII通过和DSP Builder工具与 Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系 统(SOPC)开发,即集系统级设计、嵌入式开发、可编程逻辑设计于一体,是一种综合性 的开发平台,它集成了Altera的FPGA/CPLD开发流程所涉及的所有工具和第三方软件接口。 通过使用此综合开发工具,设计者可以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初三质量分析会班主任发言
- 电话销售礼仪培训
- 时政播报课件
- 2025版锅炉改造工程设计与施工合同
- 二零二五年瓷砖产品进出口贸易合同
- 2025版电商数据分析与营销托管合同范本
- 二零二五版家庭心理咨询与辅导服务合同书
- 2025版股权投资与资产管理合作协议书
- 二零二五版跨境贸易实务:磋商与订立合同操作指南及案例解析
- 2025版智能家电研发与市场推广合作合同
- 2025-2030全球水飞蓟素原料药行业调研及趋势分析报告
- 2025年江苏无锡宜兴市高塍镇招聘专职网格员36人历年高频重点提升(共500题)附带答案详解
- GB/T 44947-2024机器状态监测与诊断性能诊断方法
- 2025年军队文职考试《公共科目》试题与参考答案
- 【英语】人教版英语七年级英语下册完形填空
- 福州市公安局招聘警务辅助人员笔试真题2023
- 激励与奖惩机制
- 2024年考研英语核心词汇
- 术中获得性压力性损伤预防专家共识2023
- 劳务分包补充协议书
- 天津市和平区2024-2025学年八年级上学期11月期中道德与法治试题
评论
0/150
提交评论