第4章 VHDL语言构造体的描述方式ppt课件_第1页
第4章 VHDL语言构造体的描述方式ppt课件_第2页
第4章 VHDL语言构造体的描述方式ppt课件_第3页
第4章 VHDL语言构造体的描述方式ppt课件_第4页
第4章 VHDL语言构造体的描述方式ppt课件_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

第4章VHDL语言构造体的描述方式,4.1构造体的行为描述方式4.2构造体的寄存器传输(RTL)描述方式4.3构造体的结构描述方式习题,VHDL的结构体具体描述整个设计实体的逻辑功能,对于所希望的电路功能行为,可以在结构体中用不同的语句类型和描述方式来表达,即对于相同的逻辑行为,可以有不同的语句表达方式。对硬件系统进行描述,可以采用3种描述方式,即行为描述方式、寄存器传输(或数据流)描述方式和结构化的描述方式。这3种描述方式从不同的角度对硬件系统进行行为和功能的描述。在当前情况下,采用后两种描述方式的VHDL语言程序可以进行逻辑综合,而采用行为描述的VHDL语言程序,大部分只用于系统仿真,少数的也可以进行逻辑综合。在实际应用中,为了能兼顾整个设计的功能、资源、性能几方面的因素,通常混合使用这三种描述方式。,.,4.1构造体的行为描述方式,所谓行为描述可以有两个含义从VHDL仿真的角度看,凡是可以在VHDL仿真器上进行仿真测试的,且可含有任何不可综合语句的系统描述模型都可以称为行为描述模型。从具体的描述方法上看,VHDL的结构体只描述了所希望电路的功能或者说电路行为,而没有直接指明或涉及实现这些行为的硬件结构,包括硬件特征、连线方式、逻辑行为方式,则称为行为风格的描述或行为描述模型。,.,4.1构造体的行为描述方式,行为描述方式是对系统数学模型的描述,其抽象程度比寄存器传输描述方式和结构化描述方式的更高。在行为描述方式的程序中大量采用算术运算、关系运算、惯性延时、传输延时等难于进行逻辑综合和不能进行逻辑综合的VHDL语句。采用行为描述方式的VHDL语言程序主要用于系统数学模型的仿真或者系统工作原理的仿真。,.,4.1.1代人语句,代入语句是VHDL语言中进行行为描述的最基本的语句。格式为:信号量=敏感信号量表达式;例如:a=b;z=aNOR(bNANDc);,.,具有延时时间的代入语句如下所示:a=bAFTER5ns;该语句表示,当b发生新的变化5ns以后才被代入到信号a。门电路都存在固有延时,既当输入端发生变化以后,门电路的输出端的新的输出总要比输入端的变化延时若干时间,例如延时5ns。门电路的这种输出特性就可以用具有延时时间的代入语句来描述。,.,例41ENTITYand21SPORT(a,b:INBIT;c:OUTBIT);ENDand2;ARCHITECTUREand2_behavOFand21SBEGINC=aANDbAFTER5ns;ENDand2_behav;,.,例42,LIBRARYIEEE;USEIEEESTD_LOGIC_1164ALL;USEIEEESTD_LOGIC_UNSIGNEDALL;ENTITYmux41SPORT(i0,i1,i2,i3,a,b:INSTD_LOGIC;q:OUTSTDLOGIC);ENDmux4;ARCHITECTUREbehavOFmux41SSIGNALsel:INTEGER;BEGINWITHselSELECTqi0AFTER10nsWHEN0,i1AFTER10nsWHEN1,i2AFTER10nsWHEN2,i3AFTER10nsWHEN3,XAFTER10nsWHENOTHERS;sel0WHENa0ANDb0ELSE1WHENa1ANDb0ELSE2WHENa0ANDb1ELSE3WHENa1ANDb1ELSE4;ENDbehav;,.,4.1.2延时语句,VHDL语言中存在两种延时类型:惯性延时传输延时这两种延时常用于VHDL语言的行为描述方式。,.,4.1.2延时语句,1惯性延时在VHDL语言中,惯性延时是缺省的,即在语句中如果不作特别说明,产生的延时一定是惯性延时。这是因为大多数器件在行为仿真时都会呈现这种惯性延时。,惯性延时有一个重要的特点,即当一个系统或器件,它的输入信号变化周期小于系统或器件的惯性(或惯性延时)时,其输出将保持不变。,几乎所有器件都存在惯性延时,因此,硬件电路的设计人员为了逼真地仿真硬件电路的实际工作情况,在代入语句中总要加上惯性延时时间的说明。例如:baAFTER10ns;惯性延时说明只在行为仿真时有意义,逻辑综合时将被忽略,或者在逻辑综合前必须去掉延时说明。,.,4.1.2延时语句,2传输延时在VHDL语言中,传输延时必须在语句中明确说明。“TRANSPORT”是专门用于说明传输延时的前置词。传输延时用于描述总线延时、连接线的延时及ASIC芯片中的路径延时。具有传输延时的代入语句如下所示:b=TRANSPORTaAFTER20ns;,.,第一个图分析:当一个系统或器件,它的输入信号变化周期小于系统或器件的惯性(或惯性延时)时,其输出将保持不变。第二个图分析:当有10ns的脉冲波形输入时,经20ns传输延时以后,在输出端产生10ns的脉冲波形。也就是说,输出端的信号除延时规定时间外,将完全复现输入端的输入波形,而不管输入波形的形状和宽窄如何。,.,4.2构造体的寄存器传输(RTL)描述方式,采用行为描述方式的VHDL语言程序,在一般情况下只能用于行为层次的仿真,而不能进行逻辑综合。对于用行为描述方式的VHDL语言程序只有改写为RTL描述方式才能进行逻辑综合,也就是说RTL描述方式才是真正可以进行逻辑综合的描述方式。RTL描述方式也称为数据流描述方式。,.,4.2.1RTL描述方式的特点,RTL描述方式,是一种明确规定寄存器描述的方法。由于受逻辑综合的限制,在采用RTL描述方式时,所使用的VHDL语言的语句有一定限制,其限制情况如附录A所示。在RTL描述方式中要么采用寄存器硬件的一一对应的直接描述,要么采用寄存器之间的功能描述。,.,.,例4-7LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGEND.ALL;ENTITYmux2ISPORT(input:INSTD_LOGIC_VECTOR(1DOWNTO0);sel:INSTD_LOGIC;y:OUTSTD_LOGIC);ENDmux2;ARCHITECTURErtlOFmux2ISBEGINy=input(0)WHENsel1ELSEinput(1);ENDrtl;,.,.,例4-8LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGEND.ALL;ENTITYmux2ISPORT(d0,dl,sel:INSTD_LOGIC;q:OUTSTD_LOGIC);ENDmux2;ARCHITECTURErtlOFmux2ISSIGNALaa,ab:STD_LOGIC;BEGINaa=d0ANDsel;ab=d1AND(NOTsel);y=aaORab;ENDrtl;,.,对于例47,是将二选一电路看成一个黑框,编程者无需了解二选一内部的细节,只要知道外部特性和功能就可以进行正确的描述。而对于48,编程者就必须了解二选一电路是怎样构成的,内部采用了哪些门电路。所以从编程效率及编程难度来看,应该选择47这样的编程方法,来编写RTL描述方式的程序。,.,4.2.2使用RTL描述方式应注意的几个问题,1“X”状态的传递在目前的RTL设计中要对所设计的程序进行仿真检验,而且在逻辑电路综合以后还有必要对综合的结果进行仿真。之所以要进行二次仿真,这是因为在仿真过程中存在“X”传递的影响。它可以使得RTL仿真和门级电路仿真产生不一致的结果。,.,所谓“X”状态的传递,实质上是不确定信号状态的传递,它将使逻辑电路产生不确定的结果,不确定“状态”在RTL仿真时是允许出现的,但是在逻辑综合后的门级电路仿真中是不允许出现的。例49PROCESS(sel)BEGINIF(sel=1)THENy=0;ELSEy=1;ENDIF;ENDPROCESS;,.,例410PROCESS(sel)BEGINIF(sel0)THENy=1;ELSEy=0;ENDIF;ENDPROCESS;,.,PROCESS(sel)BEGINIF(sel=1)THENy=0;ELSIF(sel=0)THENy=1;ELSEy=X;ENDIF;ENDPROCESS;,.,在上例中ELSE项以前,将sel所有的可能取值都作了明确的约束,当selX时,其输出y也将变为“X”,就不会出现不合理的结果。在逻辑综合时,ELSE项是被忽略的,这样RTL仿真结果就和逻辑综合的仿真结果是一样的。,.,2寄存器RTL描述的限制,由RTL描述所生成的逻辑电路中,一般来说寄存器的个数和位置与RTL描述的情况是一致的。但是,寄存器RTL描述不是任意的,而是有一定限制的。,.,1)禁止在一个进程中存在两个寄存器描述,例4-11PROCESS(clk1,clk2)BEGINIF(clk1EVENTANDclk11)THENy=a;ENDIF;IF(clk2EVENTANDclk21)THENz=b;ENDIF;ENDPROCESS;,.,2)禁止使用IF语句中的ELSE项,例4-12PROCESS(clk)BEGINIF(clkEVENTANDclk=1)THENy=a;ELSE禁止使用y=b;ENDIF;ENDPROCESS;,.,3)寄存器描述中必须代入信号值,例4-13PROCESS(clk)VARIABLEtmp:STD_LOGIC;BEGINIF(clkEVENTANDclk1)THENtmp:=a;ENDIF;y=tmp;ENDPROCESS;,.,3关联性强的信号应放在一个进程中,在设计“与”及“或”这样部件时,如果在原理图上是并行放置的,那么通常进程和部件是一一对应的。但是,在许多较复杂的电路中,它有多个输入和输出,有些信号互相的关联度很高,而有些信号互相的关联度就很低,在这种情况下,为了在逻辑综合以后,使其电路的面积和速度指标更高,通常将关联度高的信号放在一个进程中,将电路分成几个进程来描述。,.,.,例4-14LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYexlISPORT(a,b,c,zin,yin:INSTD_LOGIC;dout,eout,fout,gout:OUTSTD_LOGIC);ENDexl;ARCHITECTURErtlOFexlISBEGINPROCESS(a,b,c,zin,yin)BEGINIF(a1ANDb0)THENdout=1;eout=zin;fout=0;gout=0;ELSIF(a=0ANDb=0)THEN,.,dout=0;eout=yin;fout=0;gout=0;ELSIF(a=0ANDb1)THENdout=0;eout=yin;fout=1;gout=0;ELSIF(c=1)THENdout=1;eout=zin;fout=1;gout=1;ELSE,dout=1;eout=zin;out=1;gout=0;ENDIF;ENDPROCESS;ENDrtl;,.,例4-15LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYex2ISPORT(a,b,c,zin,yin:INSTD_LOGIC;dout,eout,fout,gout:OUTSTD_LOGIC);ENDex2;ARCHITECTURErtlOFex2ISBEGINPR0CESS(a,zin,yin)BEGINIF(a1)THENdout=1;eout=zin;ELSEdout=0;,.,eout=yin;ENDIF;ENDPROCESS;PROCESS(b)BEGINIF(b1)THENfout=1;ELSEfout=0;ENDIF;ENDPROCESS,PROCESS(a,b,c)BEGINIF(a=1ANDb=1ANDc=1)THENgout2)PORTMAP(a(1)=nsel,a(0)=d1,b=ab);,.,4.3.2构造体结构描述的基本框架,例4-16ENTITYmux2ISPORT(d0,d1,sel:INBIT;q:OUTBIT);ENDmux2;ARCHITECTUREstructOFmux2ISCOMPONENTand2PORT(a,b:INBIT;c:OUTBIT);ENDCOMPONENT;,COMPONENTor2PORT(a,b:INBIT;c:OUTBIT);ENDCOMPONENT;COMPONENTinvPORT(a:INBIT;c:OUTBIT);ENDCOMPONENT;SIGNALaa,ab,nsel:BIT;BEGINu1:invPORTMAP(sel,nsel);u2:and2PORTMAP(nsel,dl,ab);u3:and2PORTMAP(d0,sel,aa);u4:or2PORTMAP(aa,ab,q);ENDstruct;,这种结构描述方式,较方便地能进行多层次的结构设计。例如,某系统由若干块插件板组成,每个插件块又由若干块专用的ASIC电路组成,各专用的ASIC电路又由若干个已生成的基本单元电路组成。这样3个层次构成的系统可以用3个层次的结构来描述。1.ASIC级结构描述假设该系统中的ASIC电路的基本结构是由与、或和非门3种基本逻辑电路构成的。那ASIC级的结构描述如例4-17所示。,例4-17asicl:BLOCKPORT();COMPONENTand2.ENDCOMPONENT;COMPONENTor2.ENDCOMPONENT;COMPONENTinv.ENDCOMPONENT;,SIGNAL.;FORul:and2USEENTITYWORK.and2;FORu2:or2USEENTITYWORK.or2;BEGINu1:and2PORTMAP();u2:or2PORTMAP();:ENDBLOCKasicl;:,在例4-17中对,ASIC芯片的结构作了描述,不同的ASIC芯片是由不同个数和连接关系的与门、或门和非门构成的。对这些ASIC芯片进行逻辑综合就可以得到现成的ASIC芯片。如在其它的逻辑电路中要使用这些ASIC芯片,即可在库中调用。2插件板级结构描述每种插件板是由若干块不同的ASIC芯片构成的,如要描述插件板的逻辑电路,则仍可采用结构描述方式来进行描述,如例4-18所示。,例418ENTITYprinted_board1ISPORT(.);ARCHITECTUREboard1OFprinted_board1ISsignal.;BEGINasic1:BLOCK:ENDBLOCKasic1;:asic5:BLOCK:ENDBLOCKasic5;,:ENDboard1;:ENTITYprinted_boardmISPORT();ENDprinted_boardmAR

温馨提示

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

评论

0/150

提交评论