基于vhdl的iir数字滤波器的设计内容摘要:
机的使用,从而可以把设计人员从大量繁琐、重复的计算和绘图工作中解脱出来。 八十年代为 CAE 阶段。 这个阶段在集成电路与电子系统方法学,以及设计工具集成方面取得了众多成果,与 CAD 相比,除了纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计。 九十年代为 EDA 阶段,尽管 CAD/CAE 技术取得了巨大的成功,但在整个设计过程中,自动化和智能化程度还不高,各种 EDA 软件界面千差万别,学习实用困难直接影响到设计环节间的衔接。 基于以上不足,人们开始追求贯穿整个设计过程的自动化,即电子系统设计自动化。 可编程逻辑器件可编程阵列逻辑器件 PAL(Programmable Array Logic)和通用阵列逻辑器件GAL(Generic Array Logic)都属于简单 PLD。 随着技术的发展,简单 PLD 在集成度和性能方面的局限性也暴露出来。 其寄存器、I/O 引脚、时钟资源的数目有限,没有内部互连,因此包括复杂可编程逻辑器件 CPLD(Complex PLD)和现场可编程门阵列器件 FPGA(Field Programmable Gate Array)在内的复杂 PLD 迅速发展起来,并向着高密度、高速度、低功耗以及结构体系更灵活、适用范围更广阔的方向发展。 FPGA 具备阵列型 PLD 的特点,结构又类似掩膜可编程门阵列,因而具有更高的集成度和更强大的逻辑实现功能,使设计变得更加灵活和易实现。 相对于 CPLD,它还可以将配置数据存储在片外的 EPROM 或者计算机上,设计人员可以控制加载过程,在现场修改器件的逻辑功能,即所谓的现场可编程。 所以 FPGA 得到了更普遍的应用。 硬件描述语言 VHDL 及数字系统设计方法 硬件描述语言 VHDL 简介硬件描述语言(Very High Speed Integrated Circuit Hardware Description Language, VHDL)是一种用于设计硬件电子系统的计算机语言,包括系统行为级、寄存器传输级和逻辑门级多个设计层次,支持结构、数据流、行为三种描述形式的混合描述,淮阴师范学院毕业论文(设计)11因此 VHDL 几乎覆盖了以往各种硬件描述语言的功能。 它主要用于描述数字系统的结构、行为、功能和接口,非常适用于可编程逻辑芯片的应用设计。 与其它的 HDL 相比,VHDL具有更强大的行为描述能力,从而决定了它成为系统设计领域最佳的硬件描述语言。 利用 VHDL 设计数字系统利用 VHDL 语言设计数字系统硬件电路,与传统的设计方法相比,具有以下优点:(TOPDOWN)的设计方法。 自顶向下是指从系统总体要求出发,在顶层进行功能方框图的划分和结构设计。 由于设计的主要仿真和调试过程在高层次上完成,这一方面有利于提高了设计的效率。 在使用 VHDL 语言设计硬件电路时,可以免除编写逻辑表达式或真值表的过程,使得设计难度大大下降,从而也缩短了设计周期。 VHDL 语言编写的源程序。 在传统的硬件电路设计中,最后形成的主要文件是电路原理图,而采用 VHDL 语言设计系统硬件电路时主要的设计文件是 VHDL语言编写的源程序。 ASIC 移植。 VHDL 语言的效率之一,就是如果你的设计是被综合到一个 FPGA或 CPLD 的话,则可以使你设计的产品以最快的速度上市。 当产品的产量达到相当的数量时,采用 VHDL 进行的设计很容易转换成专用集成电路来实现。 所以本次设计采用利用 VHDL 语言的数字系统设计方法。 4. IIR 数字滤波器的设计与仿真结果分析 各模块的设计与仿真结果分析本课题在实现方案三的基础上,结合参考文献[46]将 IIR 滤波器的硬件系统分为四个模块:时序控制、延时、补码乘加和累加模块。 以下就各个模块的实现及仿真作简要的分析。 时序控制模块的设计与仿真结果分析时序控制模块主要用来产生对其它模块的时序控制信号。 模块的符号如图 31(a)所示,输入信号 CLK 是时钟信号,RES 是复位信号,CLK_REG 及 CLK_REGBT 是输出信号。 淮阴师范学院毕业论文(设计)12 图 31(a) 时序控制模块图图 31(b) 时序控制模块仿真图时序控制模块仿真如图 32(b)所示,其中 counter 为程序内部计数信号,在 clk 的上升延到来时,counter 以 6 个时钟为周期开始进行计数,clk_regbt 每隔 6 个时钟输出一个低电平,clk_reg 则每隔 6 个时钟后输出一个高电平。 输出的两个时钟信号正好控制延时模块、补码乘加模块和累加模块的模块的运行。 符合设计要求。 时序控制模块程序见附录 1。 延时模块的设计与仿真结果分析延时模块的符号如图 32(a)所示,其主要作用是在 clk 时钟作用下将差分方程的各x、y值延迟一个时钟,以实现一次延时运算,即当输入为 xn 和 yn 时,经过一次延时后其输出分别为 x(n1)和 y(n1).其中 yout 是反馈输入信号,xn 是输入信号。 程序见附录二。 淮阴师范学院毕业论文(设计)1332(b) 延时模块仿真图延时模块仿真图如图 32(b)所示,由图 34 可以看出当输入的 xn、yout 都为 时,在时钟信号上升沿的作用下产生延时,经第一个时钟后5,4321,0x0、xxy0、y1 的值分别为 10,0,1,0。 经第二个时钟后 x0、xxy0、y1 的值分别为 2,1,0,2,1。 经第三个时钟后 x0、xxy0、y1 的值分别为3,2,1,3,2。 经第四个时钟后. . . . . .由此可见该模块仿真值正确。 延时模块程序见附录 1。 补码乘加模块的设计与仿真结果分析补码乘加模块主要用来实现输入序列 、 与系数 、 分别相乘后再相加)(nX)(Yiaib的过程。 即实现 的算法。 为了避免过多地使用210210 nnn ybxaxay乘法器,本设计中乘加单元(MAC)的乘法器采用阵列乘法器,以提高运算速度。 由于QUARTUSⅡ的 LPM 库中乘法运算为无符号数的阵列乘法,所以使用时需要先将两个补码乘数转换为无符号数相乘后,再将乘积转换为补码乘积输出。 每个二阶节完成一次运算共需要 6 个时钟周期,而且需采用各自独立的 MAC 实现两级流水线结构,即每个数据经过两个二阶节输出只需要 6 个时钟周期。 模块的符号如图 33(a)所示。 淮阴师范学院毕业论文(设计)14图 33(a) 补码乘加模块图图 33(b) 补码乘加模块仿真图补码乘加模块仿真图如图35所示,clk_regbt及clk_reg为输入时钟,由时序控制模块提供。 、 为系数,x0、xxy0、y1为输入信号,yout为输出信号,图33(b)ia1jb中75为x0、xxy0、y1的值15和系数 、 相乘后再相加的结果,完成了补码乘加ia1jb的功能。 补码乘加模块程序见附录1。 累加模块的设计与仿真结果分析补码乘加模块所输出的信号送入累加器后,与寄存于累加器中的上一步计算的中间结果相加,最后将此步的计算结果经由输出引脚输出,所得信号即为最终结果。 即该模块主要实现 youtput=yout+youtput(n1)的算法,模块的符号如图 34(a)所示。 淮阴师范学院毕业论文(设计)15图 34(a) 累加模块图图 34(b) 累加模块仿真图累加模块仿真图如图34(b),其中res为复位信号,clk为时钟信号,yout为输入信号,由补码乘加模块的输出信号yout提供,由图中可以看出当输入信号为yout=,输出为youtput= ,实现了累加的功能。 符合设计要求。 累加模5,4321,015,063,块程序见附录1。 顶层模块设计顶层模块设计采用了原理图输入方法,原理图输入方式非常直观,便于信号观察和电路的调节。 图 35 顶层模块图本课题设计的顶层文件名为 ,设计生成的逻辑符号如图 35 所示。 顶层模块设计程序见附录 1。 淮阴师范学院毕业论文(设计)16 IIR 数字滤波器的仿真与结果分析 IIR 数字滤波器的系统设计IIR 数字滤波器顶层原理图如图 36 所示。 为了便于理解整个系统的设计,现将系统的运行过程进行说明: 图 36 IIR 数字滤波器顶层原理图系统先开始处于初始状态,当清零信号为“1”时,对整个系统进行清零。 在清零信号为“0”的前提,时序控制模块在时钟 clk 上升沿的作用下产生两个信号 CLK_REG 及CLK_REGBT,其中 CLK_REG 信号用来作为延时模块、补码乘加模块和累加模块的输入时钟,CLK_REGBT 每隔 6 个时钟产生一个高电平作为这三个模块的复位信号。 延时模块在接收到CLK_REG 高电平信号时清零输出端,接收到低电平时,在 CLK_R。基于vhdl的iir数字滤波器的设计
相关推荐
支持模块化、层次化的设计,模块化设计比较自由,它既符合于“自顶向下”的设计,又适合于“自底向 上”的设计。 底层模块可以反复被调 用,多个底层模块也可以同时由多个设计者同时进行同一系统的设计。 可以进行硬件的联合设计,消除了硬件和软件开发上的时间间隔。 在不同层次上都易于形成用于模拟和验证的设计描述。 本次通过数字钟动态扫描显示电路设计的例子展现了 VHDL 在灵活性,层次化设计方法的优点。
的绕转次数增多,链条伸曲次数和应力循环次数增多,因而加剧了链的磨损和疲劳。 同时,由于中心距小,链条在小链轮上的包角变小( i 不等于 1),每个轮齿所受的载荷增大,且易出现跳齿和脱链现象;中心距过大,松边垂度过大,传动时造成送边颤动。 因此在计及时,若中心距不受其他条件限制,一般可取 a=(3050)p ,最大取 amax=80p。 有张紧装置或托板时,amax可以大于 80p
化控制:电机、灯光、工业自动化、家庭自动化 …… 2. 网络仪表:远程分布式数据采集 …… 3. 网络家电:智能家电、 WWW 方式监控界面、在线更新 …… 4. 网络摄像机:在远程浏览器上可以进行视频监控; 5. 家庭网关:非 INTERNET 协议的轻量级设备联网的转换器; 智能灯光控制器 背景信息 随着人们生活质量的提高,灯具已不单纯是实现室内基本照明的工具,而且是建筑装饰的一种实用艺术品
s: // Tool versions: // Description: // // Dependencies: // // Revision: // Revision File Created // Additional Comments: // ///////////////////////////////////////////////////////////////////////////
,对大系统在设计的早期可在远离门级的高层次上进行模开关 RTL 门 门 开关 算法 图 混合设计层次建模 拟,以利于设计者确定整个设计的结构和功能的可行性。 VHDL 强大的行为描述能力和程序结构,使其具有支持大规模设计进行分解,以及对已有的设计进行再利用的功能,运用 VHDL 设计系统硬件具有相对独立性,设计时没有嵌入与工艺有关的信息,对硬件的描述与具体的工艺技术和硬件结构无关
dd()。 打开添加新提醒的窗体 新窗体中,获取年月日时分秒,以及提醒方式,提醒内容的信息,并存于闹钟结构体数组中。 值得说明的是,年月日时分秒都是 int型变量,提醒方式也根据项目序号,返回 int型变量,确定是哪一种方式。 完成后为闹钟编号 +1 当新窗口选择 OK,则将结构体数组中的数据,格式化处理,在主窗口的 ListControl中增加一行。 执行刷新函数。 其中的关键算法是 :