(信息与通信工程专业论文)用vhdl语言设计基于fpga器件的高采样率fir滤波器.pdf_第1页
(信息与通信工程专业论文)用vhdl语言设计基于fpga器件的高采样率fir滤波器.pdf_第2页
(信息与通信工程专业论文)用vhdl语言设计基于fpga器件的高采样率fir滤波器.pdf_第3页
(信息与通信工程专业论文)用vhdl语言设计基于fpga器件的高采样率fir滤波器.pdf_第4页
(信息与通信工程专业论文)用vhdl语言设计基于fpga器件的高采样率fir滤波器.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(信息与通信工程专业论文)用vhdl语言设计基于fpga器件的高采样率fir滤波器.pdf.pdf 免费下载

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

文档简介

捅要fff 硬件描述语言( v h d l ) 是数字系统高层设计的核心,是实现数字系统设计新方法的关键技术之一。随着可编程逻辑器件在速度和集成度方面的飞速发展,越来越多的数字信号处理系统采用可编程逻辑器件来实现。f i r 数字滤波器在数字信号处理系统中应用非常普遍,常被用来对原始( 或输入) 样本数据进行消除高频、抑制噪 曼等处理以产生所需的输出。y本文旺肆围绕硬件描述语言在数字硬件系统设计中的应用来展开的。首先从传统的数字硬件系统设计方法与采用硬件描述语言的数字硬件系统设计方法的特点出发,介绍了e d a 发展的过程、v h d l 语言特点及a l t e r a 的f l e x l 0 k的结构特点。重点介绍了在数字算法设计和实现中基于a l t e r a 公司的f p g a器件四输入查找表结构的f i r 滤波器流水线设计技术,和结合先进的e d a 软件进行高效设计的方法和途径,给出了设计的仿真结果。该设计能满足高采样率的要求,设计效率高,对f p g a 硬件资源的利用高效合理。而且文中提到的基于流水线技术的算法分解方法可推广应用到其它需要高速数字算法实现的领域中,从而充分挖掘和利用f p g a 的高速特性。,各章内容安排如下:l臻一章:阐述课题的主要内容和设计方案。第二章:对传统的数字硬件系统设计方法和以采用硬件描述语言的数字硬件系统设计方法进行比较,指出采用硬件描述语言设计数字硬件系统的优势。第三章:将硬件描述语言的功能特点作了归纳,对硬件描述语言的基本构成和综合技术作了详细的阐述,以及说明了应用v h d l 的e d a 设计流程。第四章:在说明基于e d a 工具的c p l d f p g a 开发流程的基础上,对a l t e r a公司的f l e x l o k 系列的结构特点进行了详细的介绍。第五章:基于a l t e r a 公司f p g a 器件,利用硬件描述语言以自顶向下的方法,对有限脉冲响应( f i r ) 数字滤波器采用流水线技术进行了设计,满足了高采样率环境的需要。在快速乘法器中采用查找表的方法,以提高工作速度。在快速加法器中采用流水线技术,以提高采样率。着重叙述了利羽v h d l 设计f i r滤波器的详细过程,给出了各模块的具体程序和仿真图。y,关键词:v h d l 、可编程逻辑器件、流水线援术、查找表逆yvxi l里堕型兰垫垄丕堂翌塞生竖兰垡丝兰a b s t r a e tv h d li sc o n s i d e r e da sac o r eo fd i g i t a ls y s t e md e s i g na n dak e yt e c h n i q u eo fi m p l e m e n td i g i t a ls y s t e m sd e s i g n a l o n gw i t hav e r yf a s ts p e e dd e v e l o po fp l di ns p e e da n di n t e g r a t i o nd e g r e e ,i n c r e a s i n gd s pi m p l e m e n tw i t hp l d f i rd i g i t a lf i l t e ro f t e na p p l yt od i s p e lh i 曲f r e q u e n c ya n dr e s t r a i nn o i s e sf o ro r i g i n a l i t ys t y l e b o o kd a t ai nd s p r e q u i r eo fd s pi nr e a lt i m ea n df a s ts p e e di sa tah i g hp i t c h t h i sp a p e ri sa r r a n g e da r o u n dt h ea p p l yo fv h d li nd i g i t a ls y s t e md e s i g n w ea n a l y z et h ew a yo fd i g i t a ls y s t e md e s i g nt r a d i t i o n a r ya n du s i n gv h d l ,a n di n t r o d u c et h ed e v e l o p m e n to fe d a 、t h ec h a r a c t e r i s t i co fv h d la n df l e x l o k p i p e l i n i n gd e s i g no ff i rf i l t e r si nd i g i t a la l g o r i t h md e s i g na n di m p l e m e n t a t i o ni sd e s c r i b e db a s e do n4 - i n p u tl o o k - u pt a b l ea n dp i p e l i n i n gd e s i g ni nf p g a s t h ea l g o r i t h md e c o m p o s i n gb a s e do nt h ep i p e l i n i n gt e c h n i q u ei nt h ew o r kc a nb eu s e di no t h e rc i r c u m s t a n c e sw h e r eh i g hs p e e da l g o r i t h m sa r en e e d e d t h ed e t a i l e dc o n t e n t so f t h ep a p e ra r ea sf o l l o w i n g :i nc h a p t e r1 :t h ed e t a i l e dc o n t e n t so ft h ep a p e ra n dt h ed e s i g no fp r o j e c ta r ei n t r o d u c e d i nc h a p t e r2 :w ea n a l y z et h ew a yo fd i g i t a ls y s t e md e s i g nt r a d i t i o n a r ya n du s i n gv h d l ,a n di n t r o d u c et h ed e v e l o p m e n to fe d a i nc h a p t e r3 :w ei n t r o d u c et h ec h a r a c t e r i s t i co fv h d l ,a n de d ad e s i g nf l o ww i t hv h d l i nc h a p t e r4 :w ea n a l y z et h ea d v a n t a g eu s i n gp l di ns y s t e md e s i g na n dt h ec h a r a c t e r i s t i co ff l e x lo k i nc h a p t e r5 :i ti st h em a i ns e c t i o no ft h ep a p e r w i t ht h em e t h o do ft o p _ d o w n ,af i rf i l t e ra r c h i t e c t u r ei si m p l e m e n t e dw i t hp i p e l i n i n gd e s i g n t h ed e s i g ni se f f i c i e n ta n dc a r ls a t i s f yt h ed e m a n df o rh i g hs a m p l i n gr a t e l o o k - u pt a b l ea n dp i p e l i n i n gd e s i g na r eu s et oi m p r o v et h es p e e do ff i rf i l t e r s t h ep a r t i c u l a rp r o c e s so fi m p l e m e n t a t i o nd e p i c t i o n e d ,a n dg i v e do u tt h er e s u l to f s i m u l a t i o n k e y w o r d s :v h d l 、p l d 、p i p e l i n i n gd e s i g n 、l o o k - u pt a b l e s1 1 1国防科学技术火学研究生院学位论文第一章课题的主要内容和设计方案一、课题主要任务:使用硬件描述语言( v h 】) l ) 设计基于f p g a 器件的高采样率f i r 滤波器。二、课题内容:( 一) 对传统的数字硬件系统设计方法和以采用硬件描述语言的数字硬件系统设计方法进行比较,指出采用硬件描述语言设计数字硬件系统的优势。( 二) 使用e d a2 1 2 具并利用v h d l 硬件描述语言设计基于f p g a 器件的高采样率f i r 滤波器。其设计要求为:采样频率:f s = 1 2 5 m h z ;截止频率:f c = 2 0 m h z ;类型:低通;阶数:6 4 阶;输入数据宽度:8 位;输出数据宽度:8 位。( 三) 设计的电路要能用e d a 工具完成仿真验证工作。三、设计目的:试将硬件描述语言设计技术应用于数字处理技术当中,利用一块集成芯片设计一个数字滤波器,缩短设计周期,提高设计性能。探索一下使用v h d l 硬件描述语言设计基于f p g a 可编程逻辑器件高采样率f i r 数字滤波器的方法,以满足高采样率环境的需要。四、滤波器单元电路设计方案比较:( 一) 快速加法器通过各种途径均可实现加法器的功能,如串联型、并联型和流水线型等等,各种加法器特色不一,串联型加法器结构简单,但速度慢。并行加法器速度快,对于实现4 位以下的加法器较合适,增加位数在p l d 中受到资源限制。流水线加法器将每一步运算结果都用寄存器暂存,总的效果是每个加法运算平均耗费的时间等于锁存时钟周期,但其占用资源也较串联型大很多。由于设计的是高采样率滤波器,需要很快的速度,我们选用流水线技术实现快速加法器。( 二) 快速乘法器快速乘法器可以采用移位相加型、查找表型、加法器树型等。移位相加实现起来简单,但速度慢。查找表型速度快,但随着操作数精度的提高,查找表变得庞大。加法器树乘法器是由移位相加器和查找表组成,8 位乘法器需要1 5 个1 6位加法器和6 4 个与门。综合考虑,采用查找表型乘法器,以提高电路的速度。第1 页国防科学技术大学研究生院学位论文五、设计实现数字滤波器的实现,通常有两种方法。一是软件实现,利用计算机选择相应的算法,编制出高质量的正确程序。另一种方法是硬件实现,利用数字器件,例如:加法器、常数乘法器和延迟器等装配成专门设备,但硬件方案的确定一般通过编程,即在计算机上进行仿真。所以一个功能优良的硬件实现与软件实现有着密切的关系。而这次利用e d a 技术来设计低通数字滤波器,有着非常优越的软件条件。可以实现以少量集成片实现高质量滤波器的设计。而且在硬件实现前用软件方法仿真模拟,以此来缩短设计周期,减少工作量,提高设计成功率。具有以往设计方法所没有的优越性。而且它具有硬件调试方便的优点。按照最优方案进行设计。先进行软件编程,将系统分成若干层次,每层分成若干模块,分别编程实现。程序编译通过后,进行波形仿真,若干个模块都仿真成功,则可以进行模块连接,生成系统,再进行系统编译和仿真。系统仿真通过后,下载录入芯片。六、本文所作的工作硬件描述语言( v h d l ) 是数字系统高层设计的核心,是实现数字系统设计新方法的关键技术之一。当前,无论在军事还是民用方面,对于数字信号处理的实时性、快速性的要求越来越高。随着可编程逻辑器件在集成度和速度方面的飞速提高,并且日益复杂,越来越多的数字信号处理系统采用可编程逻辑器件来实现数字滤波,用其实现某种算法的专用集成电路( a s i c ) 在信号处理中应用非常广泛。有限脉冲响应( f i r ) 数字滤波器在数字信号处理系统中非常普遍,常被用来对原始( 或输入) 样本数据进行消除高频、抑制噪声等处理以产生所需的输出。f i r 滤波器在设计中可以采用多种方法加以实现。目前最为常用的方法有两种,一种是采用专用的d s p 芯片( 如t m s 3 2 0 c x x 系列) ,但当滤波器的抽头数增加或者字长增加时,会成倍增加计算时间,从而降低了最大有效数据采样率,加之d s p 芯片本身的时钟速度是有限的,所以这种方法往往应用于音频信号的处理较为合适,当数据采样率提高时,就不适用了。另一种方法就是采用市场上通用的f i r 滤波器集成电路,但是由于设计者的不同设计要求,有限的通用滤波器很难满足设计者的独特要求,而且,为了器件的通用性,该类滤波器电路工作的第2 页国防科学技农大学秘究生靛学控论文有效采用搴也不是很高,仍然无法满足高采样率环境的需要。a l t e r a 公司的f l e x 系列器传芯片密度大,适用频枣高,是目前大规模数字逻辑浚诗豹发展趋势,悬用户专躅数字滤波爨设计的理想载俸。本文作者基于a l t e r a 公司瓣f p g a 系爨,剃焉硬绺描述语害设计薅采样搴f i r 数字滤波爨。本文主要献蔽下死个方蟊被了深入鹃工佟;l 、时传统的数字硬件系统设计方法和戳采稻矮俘摇述语言的鼗字硬俘系绕设计方法进行比较,指出采用硬件描述语言设计数字硬件系统的优势。2 、将硬件描述语亩的功能特点作了归纳,对硬件描述语言的基本构成和综合技术作了详细的阐述,并说明了应用v h d l 的e d a 设计流程。3 、a l t e r a 公司作为世界上最大的可编程逻辑器件供应商之,其f l e x l o k器件是工数界第一个嵌入斌可缡稷器姊,熬于可重构的c m o ss r a m 单元,这种灵活逻辑单元簿( h e x i b l el o g i ce l e m e n tm a t r i x ) 具有般门黪列购所有优点。住者将f l e x l 0 k 系列静结构、功能特基进行了总缝。4 、莉精硬件描述语言驻螽顶向下的方法,对有限脉冲确应( f i r ) 数字滤波器采用流水线技术进行设计,以满足搿采样率环境的需要。在快速乘法器中采藤查找表的方法,以提高工作速度。在快速加法器中采用流水线技术,以提高采样率。着重叙述了利用v h d l 设计f i r 滤波器的详细过程,给出了器模块的具体程序和仿真图。耍是出于v h d l 语言的融现,现代数字系统设计技术从传统的逻辑概念设计方式( 系统槐思、电路图设诂与竣入、综会与仿真、系统实现、系统仿真) 进入蓟v h d l 行必概念设计方式( 系统构思、v h d l 设计与竣入、综合与仿真、系统实现、系统仿粪) 。随着大蕊模可编稷逻辑器件静在数字硬佟设诗系统中豹应用,用v h d l 语音设计数字系统,逻辑综合和仿真等e d a 技术将超着十分羹要豹作用。第3 页国防科学技术大学研究生院学位论文第二章数字硬件系统设计新方法随着计算机软件、硬件和集成电路制造技术的飞速发展,以及数字硬件设计复杂度快速增长和设计成果可继承性的需要,对数字硬件系统的设计方法产生了极大的影响,传统的以线路图为基础的数字硬件系统设计方法正逐步被以硬件描述语言为基础的设计方法所取代。2 1 传统的数字硬件系统设计方法特点数字硬件系统像其他电子系统一样,采用积木式的方法进行设计。由器件搭成电路板,由电路板搭成电子系统。数字系统最初的“积木块”是具有固定功能的标准集成电路,用户只能根据需要选择合适的器件,并按照器件推荐的电路搭成系统,在设计时,设计者没有灵活可言,搭成的系统需要的芯片种类多且数目大。以线路图为基础的数字硬件系统的设计方法一直为许多硬件开发工程师所沿用。这种设计方法有以下几个主要特点:l 、采用自底而上( b o t t o m u p ) 的设计方法自底而上的数字硬件电路设计方法的主要步骤是:根据系统对硬件的要求,详细编制技术规格书,并画出系统控制流图;然后根据技术规格书和系统控制流图,对系统的功能进行细化,合理地划分功能模块,并画出系统功能框图;接着进行各功能模块的细化和电路设计;各功能模块电路设计、调试完成后,将各功能模块的硬件电路连接起来再进行系统的调试,最后完成整个数字系统的硬件设计。从设计步骤可以看出,系统硬件的设计是从选择具体元器件开始的,并用这些元器件进行逻辑电路设计,即从最底层开始设计,完成系统各独立功能模块设计,然后再将各功能模块连接起来,直至到最高层,完成整个系统的硬件设计,这种设计方法称为自底而上的设计方法。2 、在数字系统硬件设计的后期进行仿真和调试由于进行仿真和调试的仪器一般为系统仿真器、逻辑分析仪和示波器等,所以在传统硬件电路设计中,仿真和调试只能在系统硬件设计完成后期进行,系统设计存在的问题也只能在后期出现,对系统设计人员有较高的要求。第4 页国防科学技术大学研究生院学位论文3 、采用符号和电原理图输入的设计描述方式通常由线信号和表示基本设计单元的符号连在一起组成线路图,符号取自设计者用于构造线路图的零件库。符号通过信号( 或网线) 连在一起,信号使符号互连并建立设计所需要的特定连接,这样从互连得出一种网表,设计实现之前网表建立验证设计的仿真模型,一旦设计已经被验证,为了由实际的设计网表向布线软件包提供所需的信息,布线软件将建立实际的连接数据,或者建立为p c b 板所需的连线信息,或者是建立为a s i c 所需的层信息。用上述设计方法设计的数字硬件系统最后形成的设计文件,主要是由若干张电原理图构成的文件。在电原理图中详细标注了各逻辑单元、器件的名称和相互之间的信号连接关系。对于小的系统,这种电原理图只要几十张或几百张就行了。但是,系统比较大,硬件比较复杂,那么这种电原理图可能需要更多张。这样多的电原理图给设计归档、阅读、修改和使用带来很大的不便。更主要的是传统设计过程过多地依赖设计者的知识与经验,只能定量地和有条件地实现电子产品的设计目标,很难预料在一个产品设计过程中有多少次工程返复的操作,又由于系统级综合能力的不足,使设计者很难优化设计目标并加大后续设计( 电气与物理级) 的难度。2 2 采用硬件描述语言( h d l ) 的数字硬件系统设计方法可编程逻辑器件在电子技术领域中的应用,为数字硬件电路系统的设计带来了极大的灵活性。由于可编程逻辑器件可以通过软件编程而对其硬件结构和工作方式进行重构,使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字硬件电路系统设计方法、设计过程、乃至设计观念。纵观可编程逻辑器件的发展史,它在结构原理、集成规模、下载方式、逻辑设计手段等方面的每一次进步都为现代电子设计技术的革命与发展提供了不可或缺的强大动力。随着可编程逻辑器件集成规模不断扩大,自身功能的不断完善和计算机辅助设计技术的提高,在现代电子系统设计领域中的电子设计自动化( e d a ) 便应运而生了,而电子设计自动化的关键技术之一就是采用硬件描述语言( h d l ) 来设计数字硬件系统。这样,传统的数字硬件电路设计模式,就将被人们慢慢地淘汰。第5 页国防科学技术大学研究生院学位论文2 2 1e d a 技术九十年代为e s d a 阶段,尽管c a d c a e 技术取得了巨大的成功,但并没有把人从繁重的设计工作中彻底解放出来。在整个设计过程中,自动化和智能化程度还不高,各种e d a 软件界面千差万别,学习使用困难,并且互不兼容,直接影响到设计环节间的衔接。基于以上不足,人们开始追求贯彻整个设计过程的自动化,这就是e s d a ,即电子系统设计自动化。设计层次+器岳:曰ll物理级设计f 冈illle d a 技术的每一次进步,都引起了设计层次的飞跃,如图2 1 所示,出上而下可分为系统级设计、电路级设计和物理实现级设计。物理级设计主要是指i c国防科学技术大学研究生院学位论文版图设计,一般由半导体厂家完成。e d a 的发展趋势是与工艺无关的系统设计,即高层设计,使设计与制作分开,这里只论述电路级设计和系统级设计。( i ) 电路级设计电路级设计主要指设计师根据设计任务,首先要查阅芯片和元器件手册,选择合适的器件来实现系统的功能,然后根据芯片和元器件的性能设计电路图,制作p c b 板,用示波器和信号源对系统进行调试。电路级e d a 设计流程如图2 2 。电路级e d a 技术向设计师提供了仿真,后分析以及后仿宾的功能,使设计师在微机或工作站上就可以进行逻辑功能的仿真以检验方案在功能设计方面的可行性。由此可见,电路e d a 技术可使设计师在系统还没有制作之前就可全面了解系统的功能及p c b 板的各种性能参数,比传统的设计方法大大提高了一步。甲匝j 巫卜吨囱l 墨堕堕塞 - 弓,f 石翮一篙幽丙热分析ii 可靠性分析jj 串行干扰分析lj 电磁兼容分i 型堡! 婴l业1 墨丝塞墨i图2 2e d a 电路设计工作流程( 2 ) 系统级设计系统级设计是设计人员无须通过门级原理图描述电路,而是针对设计目标进行功能描述,由于摆脱了电路细节的束缚,设计人员可以把精力集中于创造性的方案与概念构思上,一旦这些概念构思以高层次描述的形式输入计算机后,e d a系统就能够以规则驱动的方式自动完成整个设计,从而大大缩短了产品的研制周期。而且高层次设计只是定义系统的行为特性,可以不涉及实现工艺r 在厂家综合库的支持下,利用综合优化工具可以将高层次描述转换成针对某种工艺优化的第7 页国防科学技术人学研究生院学位论文网表,工艺转化变得轻松容易。系统级设计采用的是自顶向下的正向设计思想。设计人员按照“自顶向下”的设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片或几片专用集成电路( a s i c ) 实现,然后采用硬件描述语言( v h d l ) 完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件。其设计流程如图2 3 。囤赢vhd焉lf语言描述iv h d l 语言级功能仿真编译、综合、将语言转化为门电路全翌! 兰竺竺竺h 竺! 竺翌:!jf:一门级电路仿真l可测性分析和测试电路自动生成c p l d 实现i | a s l c 凄现1 墨竺耋璧l图2 3e d a 系统设计工作流程系统设计的关键技术之一是用形式化方法来描述数字系统的硬件电路,即采用硬件描述语言来描述硬件电路。所以硬件描述语言及相关的仿真、综合等技术的研究是当今电子设计自动化领域的一个重要课题。2 2 2 什么是硬件描述语言( h d l )硬件描述语言( h d l ) 是相对于一般的计算机软件语言如c 、p a s c a l 而言的。h d l 是用于设计硬件电路系统的计算机语言,它描述电子系统的逻辑功能、电路结构和连接方式。设计者可以利用h d l 程序来描述所希望的电路系统,规定其结构特征和电路的行为方式;然后利用综合器和适配器将此程序变成能控制c p l d 内部结构,并实现相应逻辑功能的门级或更底层的结构网表文件和下载文件。硬件描述语言的发展至今已有几十年的历史,并已成功地应用到系统的仿真、验证和设计综合等方面。到本世纪8 0 年代后期,已出现了上百种硬件描述第8 页国防科学技术大学研究生院学位论文语言,它们对硬件设计自动化起到了巨大的促进和推动作用。就c p l d 开发来说,比较常用的h d l 主要有a b e l h d l 、a h d l 和v h d l 等。a b e l - h d l 是一种支持各种不同输入方式的h d l ,其输入方式,即电路系统设计的表达方式,包括布尔方程、高级语言方程、状态图和真值表。由于其语言描述的独立性,以及上至系统、下至门级的宽口径描述功能,因而适合不同规模的可编程器件的设计。但它不是国际标准,缺乏延迟描述,几千门的小系统可用,大系统不便使用。a h d l 是a l t e r a 公司为其著名的m a x p l u s i ie d a 软件配置的一种硬件描述语言,只在m a x p l u s i i 中使用,适用面比较窄,其语言格式与a b e l h d l 相似。v h d l 是超高速集成电路硬件描述语言( v e r y h i g h s p e e di n t e g r a t e dc i r c u i th a r d w a r ed e s c r i p t i o nl a n g u a g e ) 的英文缩写。1 9 8 7 年1 2 月,i e e e公布了v h d l 的标准版本i e e es t d1 0 7 6 1 9 8 7 ( l r m 8 7 ) ,1 9 9 3 年,经过修改,新版本为i e e es t d1 0 7 6 1 9 9 3 ( l r m 9 3 ) 。这样,v h d l 被正式确定为硬件设计时采用的描述性语言,成为硬件设计师们从事硬件设计所必须掌握的工具语言。v h d l主要用于描述数字系统的结构、行为、功能和接口,与其它的h d l 相比,v h d l 具有更强的行为描述能力,从而决定了它成为系统设计领域最佳的硬件描述语言。2 2 3 利用h d l 语言设计数字硬件系统的特点利用h d l 语言设计数字硬件系统的特点,归纳起来有以下几个特点:1 、采用自顶向下( t o p d o w n ) 的设计方法自顶向下是指从系统总体要求出发,在顶层进行功能方框图的划分和结构设计。在方框图一级进行仿真、纠错,并用硬件描述语言对高层次的系统行为进行描述,在系统一级进行验证。然后用综合优化工具生成具体门电路的网表,其对应的物理实现级可以是印刷电路板或专用集成电路。由于设计的主要仿真和调试过程是在高层次上完成的,这一方面有利于早期发现结构设计上的错误,避免设计工作的浪费,同时也减少了逻辑功能仿真的工作量,提高了设计的一次成功率。2 、降低了硬件电路的设计难度在用h d l 语言设计硬件电路时,可以使设计者免除在传统硬件电路设计时编写逻辑表达式或真值表之苦。3 、主要设计文件是用h d l 语言编写的源程序第9 页国防科学技术大学研究生院学位论文在传统的硬件电路设计中,最后形成的主要文件是电原理图,而采用h d l语言设计系统硬件电路时主要的设计文件是h d l 编写的源程序。如果需要也可以转换成电原理图输出。用h d l 语言的源程序作为归档文件有很多好处:资料量小,便于保存;可寄存性好;阅读方便。4 、h d l 语言可以与工艺无关编程在用h d l 语言设计系统硬件时,没有嵌入与工艺有关的信息其编辑综合生成的是一种标准的电子设计互换格式文件,它独立于采用的实现工艺。有关工艺参数的描述可通过h d l 提供的属性包括进去,然后利用不同厂家的布局布线工具,将设计映射成不同工艺,在不同的芯片上实现。这使得工程师在功能设计、编辑、验证阶段,可以不必过多的考虑工艺实现的具体细节。5 、系统中可大量采用a s i c 芯片由于目前众多的制造a s i c 芯片的厂家,它们的工具软件都可以支持h d l 语言的编程,因此,硬件设计人员在设计硬件电路时,无须受只能使用通用元器件的限制,而可以根据硬件电路设计需要,设计自用的a s i c 芯片或可编程逻辑器件。随着设计方法学的更新和现代e d a 工具的发展,大大地增强了设计者对设计过程的分析和制造的可控制能力,因而在设计过程中能够预知设计的结果。国防科学技术大学研究生院学位论文第曼章磺件描述语言v h d lv h d l 作为i e e e 标准的硬件描述语言和e d a 的重要组成部分,缀过十几年的发展、应用和完善,以其强大的系统描述能力、规范的稷序设计结构、灵活的语句表达风格和多层次的仿真测试手段,深受业界的普遍认同和广泛地接受,从数十种豳际流行的硬件描述语豢中脱颖面出,成为现代e d a 领域酋选的硬l 牛设计计算枫语言,瑟盥星薅淀行的e d a 正县款传全郊支持v h d l 。显然,v h d l已成为璎传工程缚们豹共嗣语衰。3 1v h d l 的特点v h d l 是种全方位的硬件摇述语言,包括系统行为级、寄存器传输级和逻辑门级多个设计层次,支持结构、数据流、行为三种描述形式的混合描述,因此v h d l 几乎覆盏了以往各种硬件描述语畜的功能,憋个自顶向下或自底向上的电路设计过程都可以用v h d l 来完成。v h d l 主要用予描述数字系统蛇续槐、霉亍为、功能秘接口。其程黟结槐特点是将一壤设计实体分残步 鄂露肉都,即设计实体的沲部功戆帮算法完戏部分。在对令设计实体定义t ) f 部界瑟君,一整其内部开发完成螽,其它瀚设计靛可以直按调翊这个窭律。这种设计实体分咸内外部分的概念是v h d l 系统设计的基本点。应裙v h d l 设计硬件系统其有如下一些特点:1 、与其它的硬件描述语言相比,v h d l 具有更强的彳亍为摇述能力,从而决定了它成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的熏要保证。2 、v h d l 有丰富的仿真语句和疼函数,使譬导在任何大系缆的设计早期,就能套验设计系统鼓功能霹雩亍性,随慰可对设计避短仿真模拟。期奁运囊f l 级的亵层次上进行模搭,饺设计者黠整个工程设诗嚣续梅秘功能豹可行瞧俸窦决策。3 、v h d l 的语句描述和程序结构决定了它具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效、高速的完成必须由多入甚至多个开发组共同进行工作才能实现。v h d l 中设计实体的概念、稷序包的概念、设计库的概念为设计的分解和并行工作提供了有力的支持。4 、对于用v h d l 完成的一个确定的设计,可以利用e d a 工具进行逻辑综合第l i 蹑国防科学技术大学研究生院学位论文和优化,并自动地把v h d l 描述设计转变成门级网表。这种方式突破了门级设计的瓶颈,极大地减少了电路设计的时间和可能发生的错误,降低了开发成本。应川e d a 工具的逻辑优化功能,可以自动地把一个综合后的设计变成一个更小、更高速的电路系统。反过来,设计者还可以容易地从综合和优化后的电路获得设计信息,反过去更新修改v h d l 设计描述,使之更为完善。5 、v h d l 对设计描述具有相对独立性,设计者可以不懂硬件的结构,也不必管最终设计实现的目标器件是什么,而进行独立的设计。即v h d l 的硬件描述与具体的工艺技术和硬件结构无关。6 、由于v h d l 具有类属描述语句和子程序调用等功能,对于已完成的设计,在不改变源程序的条件下,只需改变类属参量或函数,就能轻易地改变设计的规模和结构。3 2v h d l 语言的基本构成v h d l 语言的语法比较严格,一段完整的v h d l 代码通常由实体语句、构造体语句、配置说明语句、以及库、包说明语句组成。其中库是用来存放已经编译过的实体、构造体、包和配置数据;包主要用于存放各设计模块都能共享的数据类型、常量和子程序;实体语句用于描述设计单元的外部接口信号;构造体语句用于描述设计单元内部的结构和行为。由于v h d l 代码完全由文字组成,而传统的设计往往是一张张原理图,这两者之间存在一定的对应关系,我们都知道传统的原理图总是由线和一些符号相互连接而构成,实体是与符号相对应的,因为它规定了一个设计单元对外的接口信号。构造体则是与某一层的原理图相对应,因为它总是与某个实体相关,并对该实体的结构和行为进行描述。配箕说明语句用于从库中选取不同的元件来构成设计单元的不同版本,是描述层与层之间的连接关系以及实体与结构体之间的连接关系。设计者可以利用这种配置说明语句来选择不同的结构体,使其与要设计的实体相对应。在仿真某一实体时,可以利用配置来选择不同的结构体,进行性能对比试验以得到性能最佳的结构体。配置说明语句的基本格式:c o n f i g u r a t i o n配置名o f实体名i s【说明语句】;第1 2 页国防科学技术大学研究生院学位论文e n d配置名第1 3 页一一一一一一一一一一一一龃一雅姘敝舭国防科学技术大学研究生院学位论文网表文件,配置进选定的f p g a c p l d 器件中。这时芯片就有了m u x 8 1 的8 选1的逻辑功能一口果对这片赋予了8 选1 逻辑功能的器件进行实际的测试,即为硬件仿真。m u x8 1i ! e i3 18 选1 多路选择器m u x 8 1从上例文件的描述层次上看,此选择器逻辑功能的v h d l 描述使用了三个层次:1 、库( l i b r a r y ) 和包的使用说明当前在v h d l 中的库大致有5 种:i e e e 库、s t d 库、a s i c 矢量库、用户定义和w o r k 库。包主要用来包含程序中用到的各种数据、常量、子程序等。在v h d l 语言中,库的声明和包的使用总是放在设计单元的最前面:l i b r a r yi e e e ;u s ei e e e s t d _ l o g i c _ 116 4 a l l :这里的i e e e 是库名,s t dl o g i c _ 1 1 6 4 是i e e e 库中的一个包,有了上面这两条库说明语句,下面的设计单元就可以使用s t dl o g i c 一1 1 6 4 包中定义的数据类型和各种函数了。2 、实体( e n t i t y ) 说明由语句e n t i t y 与e n dm u x s l 包含的部分称为程序的实体。实体的一般形式:e n l h y实体名g e n e r i c ( 接口表) :p o r t ( 接口表) ;e n d 实体名;实体是一个完整的、独立的语言模块,它描述了m u x 8 1 接口信息,定义了器件m u x 8 1 端口引脚d 0 d 7 、a 0 a 2 和q 的输入输出性质及其数据类型,并利用p o r t 语句说明了m u x 8 1 的外部引脚工作方式。p o r t 所描述的就相当于电路第1 4 页国防科学技术大学研究生院学位论文器件的外部引脚,关键词i n 对端口引脚d 0 d 7 作了信号流向的方向说明,它规定了信号必须由外部通过端口引脚d 0 d 7 流进所描述的器件内部;而o u t则规定了器件内部信号需通过端口引脚q 向外输出。实体同时指出了端口d o d 7 、a 0 a 2 和q 信号的数据类型是符合i e e e 标准的s t dl o g i c 一1 1 6 4 程序包中的标准位数据类型:s t d _ l o g i c ,这是一种v h d l 中定义的特定的数据类型。v h d l 的一个重要特点是,对各种数据和信号的定义和使用中,不必可少的一项说明就是设定所定义的数据的数据类型,并且要求此数据的作用对象也必须具有相同的数据类型。v h d l 要求设计实体中的每个常数、信号、变量、函数以及设定的各种参量都必须具有确定的数据类型,并且相同数据类型的量才能互相传递和作用。3 、结构体( a r c h i t e c t u r e ) 说明由a r c h i t e c t u r e 语句开始,到e n dr t l 结束。结构体的一般形式:a r c h i t e c t u r e 结构体名o f 实体名i s【定义语句】;b e g i n【并行处理语句】;e n d 结构体名;结构体层次用于描述m u x 8 1 内部的逻辑功能。在电路上相当于器件的内部电路结构。在m u x 8 1 中没有将选择器内部的逻辑门的连接方式表达出来,而是将此选择器看作个黑盒,以类似于计算机高级语言的表达方式描述了它的外部逻辑行为。符号“ = ”是信号赋值符,是信号传递的意思,“q 一d o ”表示将d o 获得的信号赋给q 输出端。一个可在实际器件中实现的v h d l 描述的最小和完整的逻辑描述中,i e e e标准库说明、实体和结构体是最基本的和不可缺少的三部分,其它结构可根据需要选用。3 2 2v h d l 的功能描述结构体对设计单元内部的功能描述有三种方式:结构描述、数据流描述和行为描述。下面在给出这三种描述具体解释的同时,针对同一个设计实体r s第1 5 页国防科学技术大学研究生院学位论文触发器,以此为例,分别写出它的三种不同的描述。l 、结构描述结构描述体现的是具体的硬件线路图结构,是根据子元件及其端i s l 连接来描述的。即说明一个电路由那些基本元件组成,以及这些基本元件的相互连接关系。在结构描述中,所描述对象的行为和功能无法从程序中直接得知。程序中采用元件例化语句。a r c h i t e c t u r es t r u c t u r eo fr s f fi sc o m p o n e n tn a n d 2p o r t ( abi nb i t ;yo u t b i t ) ;e n dc o m p o n e n t :b e g r nu l :n a n d 2p o r tm a p ( s e t ,q b a r ,q ) ;u 2 :n a n d 2p o r tm a p ( r e s e t ,q ,q b a r ) ;e n ds t r u c t u r e ;2 、行为描述行为描述实质上是对整个系统的数学模型描述。一般来说,对系统行为描述的目的是试图在系统设计的初始阶段,通过对系统描述的仿真,来发现设计中存在的问题。在行为描述阶段并不真正考虑其实际的操作和算法用什么方法来实现,考虑更多的是系统的结构及其工作过程是否能够达到系统设计书的要求。行为描述较为抽象,它根据输入输出函数关系来描述数据的转换,很少或几乎没有结构信息。通过过程( p r o c e s s ) 格式实现。多采用一些顺序执行的语句,例如,i f 、z h e n 、c a s e 、w h i l e 等语句,其程序方式与其他高级程序很接近。行为描述适用于描述抽象算法,主要应用于系统数学模型的仿真或者工作原理的仿真。a r c h i t e c t u r eb e h a v i o ro fr s f fi sb e g n qp r o c e s s ( s e t ,r e s e 0b e g i ni fs e t = l a n dr e s e t = 0 t h e nq = 0 a f t e r2 n s ;q b a r = 1 a f t e r2 n s ;e l s i fs e t = 0 a n dr e s e t = l t h e nq _ 1 a f t e r2 n s ;e l s i fs e t = 0 a n dr e s e t = 0 t h e nq _ 1 a f t e r2 n s ;q b a r _ 1 a f t e r2 n s ;e l s i fs e t = 1 a n dr e s e t = 1 t h e nq - q a f t e r2 n s ;第1 6 页国防科学技术大学研究生院学位论文q b a r ( = q a f t e r2 n se n d i f :e n dp r o c e s s ;e n db e h a v i o r :3 、数据流描述数据流描述稍微抽象一些,是由并发执行的寄存器传输级( r e g i s t e rt r a n s f e rl e v e r ,r t l ) 语句来描述数据的转换。并行是指程序中各语句的实际执行顺序不取决于程序字面上的顺序,程序中多采用并行信号赋值语句。a r c h i t e c t u r ed a t a f l o wo fr s f fi sb e g i nq ( = n o t ( q b a r a n ds e t ) a f t e r 2n s ;q b a r n l 及n o 时,州以) = 0 。这里我们仅以冲激响应对称,即 ( 行) = h ( n l 一”) ( n = o ,l ,2 ,n - 1 ) 时低通滤波器为例进行说明a低通滤波器的频率响应函数h ( e ”) 如式( 4 ) 所示。h ( w 。) = e - j 。( n - 1 ) 2 ,0 i 珊1 f - d 。( 4 )在脚。 p | ( 厅时为0 ,其中为对抽样频率归一化的频率,。为归一化截止频率。利用反傅立叶变换公式求出与式( 4 ) 对应的冲激响应 ( n ) 为( 9 ) 式:知( 一) =( 5 )第3 l 页国防科学技术大学研究生院学位论文三、几种窗函数及窗函数选择原则设计f i 辱滤波器常用的窗函数有:矩形窗函数、三角形( b a r t l e t t ) 窗函数、汉宁( h a n n i n g ) 窗函数、海明( h a m m i n g ) 窗函数、布拉克曼( b l a c k m a n ) 窗函数和凯塞( k a i s e r ) 窗函数。窗函数的选择原则是:( 1 ) 具有较低的旁瓣幅度,尤其是第一旁瓣幅度。( 2 ) 旁瓣幅度下降速度要大,以利增加阻带衰减。( 3 ) 主瓣的宽度要窄,以获得较陡的过渡带。通常上述几点很难同时满足。当选用主瓣宽度较窄时,虽然得到较陡的过渡带,但通带和阻带的波动明显增加;当选用最小的旁瓣幅度时,虽能得到匀滑的幅度响应和较小的阻带波动,但过渡带加宽。因此,实际选用的窗函数往往是它们的折衷。在保证主瓣宽度达到一定要求的条件下,适当牺牲主瓣宽度来换取旁瓣波动的减少。实际上设计的f i r 滤波器具有线性相位,h d ( n ) = h ( n ) w ( n )因此,除了要求 ) 满足线性相位条件夕 ,对w ( n ) 也要求长度n 有限,且以( n - 1 ) 2 为其对称中心,即w ( n ) = w ( n i 一”)四、数字滤波器的理想特性在加窗函数后的所受主要影响( 一) h 。( c o ) 在截止频率处的间断点变成连续曲线,使h ( ) 出现了一个过渡带。窗函数的主瓣越宽,过渡带越宽。( 二) 由于窗函数的旁瓣的作用,使幅频特性出现波动,波动幅度取决于旁瓣的相对幅度,旁瓣范围的面积越大,通带波动和阻带波动越大。( 三) 增加窗函数的长度n 只能减少w 。 ) 的主瓣宽度,而不能改变旁瓣与主瓣的相对值,该值主要取决于窗函数的形状。五、选择海明窗函数的主要原因主要由所要求的设计参数决定。根据各种窗函数的特性和设计要求,按照窗函数的选择原则选择海明窗函数:( 一

温馨提示

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

评论

0/150

提交评论