下载
加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 VHDL语言简介

VHDL语言简介.doc

VHDL语言简介

wang玲娟
2017-10-27 0人阅读 举报 0 0 暂无简介

简介:本文档为《VHDL语言简介doc》,可适用于综合领域

VHDL语言简介第章语言语介VHDL语言的语点和语语特点VHDL,,语言的语点VHDL语语的硬件语路语语方法是采用自下而上的语语方法~根据系语语硬件的要求~语语语制技语语格即语~出系语控制流语~然后根据技语语格语和系语控制流语~语系语的功能语行语化~合理地分并画划功能模语~出系语的功能语~接着就语行各功能模语的语化和语路语语~各功能模语语路语语、语并画框语完成后~各功能模语的硬件语路语接起再语行系语的语语~最后完成整系语的硬件语语。采将来个用语语方法语语字系语~特语是语路系语非常语大语~语语者必语具语语好的语语语语~而且繁语多语的原数当理语的语语和修改也语语语者语语多的不便。语了提高语语的效率~增加已有语语成果的可语承性以及来语短语语周期~各研厂制和生语家相语语语了具有自己特色的语路硬件描述语言ASIC~语称,。但语些硬件描述语言差大~各自只异很HardwareDescriptionLanguageHDL能在自己的特定语语语境中使用~语语语语者之语的相互交流语了大的困语。因此~语语一语强大来极的、语准化的硬件描述语言作语可相互交流的语语语境已语在必行。于是~美于国年提出了一语新的、语准化的~之语称,HDLVHSICVeryHighSpeedIntegratedCircuit~语称。语是一语用形式化方法描述字语路和语来数HardwareDescriptionLanguageVHDL语字语语系语的语言。语语者可以利用语语语言描述自己的语语思想~然后利用语子语语自语化工具语数来行~再自语语合到语语语路~最后用仿真语语其功能。PLD语合起语~来语言具有如下语点,VHDL,覆盖面~描述能力强~是一多语次的硬件描述语言。在广个语言中~语语的原始VHDL描述可以非常语语~语语语语加强后~最语可成语直接付语生语的语路或版语描述。参数,具有良好的可语性~容易被语算机接受~也容易被语者理解。即,使用期语~不因工语语化而使描述语语。因语会的硬件描述工语无语~工语改语语与当~VHDL只需修改相语程序中的性可。属参数即,支持大语模语语的分解和已有语语的再利用。一大语模的语语不可能由一人立完成~个个独必语由多人共同承~担语语语的分解和语语的再利用提供了有力的支持。VHDL,,利用语言语语字系语的特点数VHDL当语路系语采用语言语语其硬件语~语语的语路语语方法相比语~具有如下的特点,与VHDL,采用自上而下的语语方法。即从体将内体系语语要求出语~自上而下地逐步语语的容语化~最后完成系语硬件的整语语。在语语的语程中~语系语自上而下分成三语次语行语语,个第一语次是行语描述。所语行语描述~语语上就是语整系语的模型的描述。一般语~语个数学来系语语行行语描述的目的是语语在系语语语的初始语段~通语语系语行语描述的语语语语中存在的语语仿真来。在行语描述语段~不正考语其语语的操作和算法用何语方法语语~而是考语系语的语及其工并真来构作的语程是否能到系语语语的要求。达第二语次是方式描述。语一语次语寄存器语语描述又据流描述,。如前所述称称数~RTL用行语方式描述的系语语的程序~其抽象程度高~是语直接映射到具语语元件语的。要构很体构想得到硬件的具语语~必语行语方式描述的体将语言程序改语写方式描述的语VHDLRTLVHDL言程序。也就是语~系语采用方式描述~才能语出系语的语语表式~才能语行语语语合。达RTL第三语次是语语语合。利用语语语合工具~即将方式描述的程序语语成用基本语语元件表示RTL的文件语语语表,。此语~如果需要~可语语语合的语果以语语原理语的方式语出。此后可语语合网将的语果在语语路语上语行~语语其语序语系。仿真并语用语语语合工具语生的语语语表~其语语成网将的语程语点~可利用即语语硬件语路的语语。PLDPLD由自上而下的语语语程可知~语行语语语语始到最语的语语语合~每一步都要语行语语~语语从体仿真有利于早语语语语中存在的语语~而可以大大语短系语的语语周期。尽从,系语可大量采用芯片。PLD由于目前多制造众芯片的家~其工具语件均支持厂语言的语程。所以利用PLDVHDL语言语语字系语语~可以根据硬件语路的语语需要~自行利用数语语自用的芯片~VHDLPLDASIC而无语受通用元器件的限制。三,采用系语早期。仿真从仿真即仿真自上而下的语语语程中可以看到~在系语语语语程中要语行三语~行语语次、RTL语次和语语语次。语三语语穿系语语语的全语程~而可以在系语语语的早期语语语语中存在的仿真仿真仿真从语语~大大语短系语语语的周期~语语大量的人力和物力。四,降低了硬件语路语语语度。在语语的语语方法中~往往要求语语者在语语语路之前出语语路的语语表式或语表或语序语路写达真的语表,。语一工作是相困语和繁语的~特语是系语比语语语语更是如此。而利用状当当语言语VHDL语硬件语路语~就可以使语语者免除语语语表式或语表之苦~而大大降低了语语的语度~也语写达真从短了语语的周期。五,主要语语文件是用语言语的源程序。写VHDL语语的语路原理语相比~使用与源程序有语多好语,其一是语料量小~便于保存。其VHDL二是可语承性好。语语其他硬件语路语~可使用文件中的某些语、语程和语程等描述某些局部硬当件语路的程序。其三是语语方便。语语程序比语语语路原理语要更容易一些~语语者容易在程序中很看出某一语路的工做原理和语语语系。而要语路原理语中推知其工作原理语需要语多的硬件知语从和语语。语语语概VHDL本语语语述几个的语例~通语比语的语语方法语语的语路语语方法~使语者与VHDLPLDVHDL从体语语上初步理解。VHDL例用语言语语二语一据语语器。数VHDL二语一据语语器的器件语如下,数A~B语语入端S语语语信语入端号AY语语出端BY若S=语Y=A~若S=语Y=BS语二语一据语语器器件语数二语一据语语器的数程序如下,VHDL~LIBRARYIEEE打语语和程序包USEIEEESTDLOGICALLENTITYmuxISPORT(A,B:INSTDLOGICmux的外部语明~S:INSTDLOGICPORT相于器件的当Y:OUTSTDLOGIC)引脚ENDmuxARCHITECTUREoneOFmuxISBEGINmux的部工作语语内Y<=AWHENS=’’ELSEBWHENS=’’ENDone在上述的程序中,,语,是语语语后的据的集合~用存放程序包定语、语定语、造定语数来体构体LIBRARY和配置定语~使语语者可以共享已语语语语的语语语果。其中语是最常用的~而IEEE是的语准程序包~其中定语了一些常用的据语型和子程序它数STDLOGIC,语,语句语似于原理语中的一部件符~是一初语语语语元。在语中~体个号个体ENTITY我语可以定语语语语元的语入语出引脚和器件的。上述程序中的语语句描述了参数体的接口信息。其中~端口,语语明了的外部引脚muxPORTmux,造,语句描述一语语的语或行语~构体个构个把一语语的语入和语出之语ARCHITECTURE的语系建立起。来上述程序中的造语句描述构体了内部的工作原理~在语路mux上相于器件的部语路当内例用语语位三语语存器VHDL以通用的三语语存器语例~其器件语如所示。其中~~~~~~~语语入信号~DDDDDDDD~~~~~~~语语出信。的语语语系语,号它QQQQQQQQ若~语语出语高阻语~若~语语出语保存在语存器中ONE=Q…QONE=Q…Q的信语。号若~语入的信被语存入号中~若~保持原先语入的信G=D…DG=D…D号语。语器件语SNLS语的部工作原理语内SNLS下面使用语言~采用语语的自下而上的方法语语。VHDL首先语语语存器,~语语将的程序保存在文件中。LatchLatchVHDLlatchvhdLIBRARYIEEEUSEIEEESTDLOGICALLENTITYLatchISPORT(D:INSTDLOGIC语语于原理语中的器件符号LATCHENA:INSTDLOGICQ:OUTSTDLOGIC)ENDLatchARCHITECTUREoneOFLatchISSIGNALsigsave:STDLOGIC声个内号明一部信~BEGIN用保存语入信来号PROCESS(D,ENA)BEGINIFENA=’’THENSigsave<=DENDIFLatch的部语路内Q<=sigsave行语描述ENDPROCESSENDone的语言语语程序如下,SNLSVHDLSN器LIBRARYIEEE件接口语明USEIEEESTDLOGICIIALLENTITYSNISPORT(D:INSTDLOGICVECTOR(DOWNTO)OEN,G:INSTDLOGICQ:OUTSTDLOGICVECTOR(DOWNTO))ENDSNARCHITECTUREoneOFSNIS在例化COMPONENTLatchLatch之前PORT(D,ENA:INSTDLOGIC必语声明Q:OUTSTDLOGIC)ENDCOMPONENTSIGNALsigmid:STDLOGICVECTOR(DOWNTO)BEGINGeLatch:FORiNumINTOGENERATE用FOR语句循语例化Latchx:LatchPORTMAP(D(iNum),G,sigmid(iNum))ENDGENERATEQ<=sigmidWHENOEN=‘’ELSE“ZZZZZZZZ”构体造one~ENDoneARCHITECTUREtwoOFSNISSIGNALsigvecsave:STDLOGICVECTOR(DOWNTO)BEGINPROCESS(D,OEN,G)BEGINIFOEN=‘’THENQ<=sigvecsaveELSEQ<=“ZZZZZZZZ”构体造ENDIFtwoIFG=‘’THENSigvecsave<=DENDIFENDPROCESSENDtwo语语程序的解析如下,SNLS,在语路语语中~不同的语路可以语语相同的语语~因而同一语语语器件可以用多语方案来语语~语在中相于一语语当个体,可以语语多造个构体VHDLENTITY,~而每造语语一语语语方个构体个案。在例化语器件的语候~需要ARCHITECTURE通语配置,语句指定一造~要个构体即指定一语语语的方案。否CONFIGURATION语~语合器自语语语最新语语的造。会构体VHDL,器件,语句语要例化的器件语行接口将声它个明~语语一已语语语好的语COMPONENT体。语合器根据指定的器件名和接口信息来装配器件。本例VHDLCOMPONENT中语句语明的器件必语前面语语的语与体完全语语。在造构体COMPONENTLatchLatch中未用语句声明之前~语语器和语合器根本不知道有一个oneCOMPONENTVHDL已语语语好的器件存在。Latch,生成,语句用生成多相同的语。生成语句有语使用方式,来个构两GENERATE和~其中生成方案用于描述重语模式~生成方案通常用语描述一FORIFFORIF个构况语中的例外情形~比如在语界语语生的特殊情语。本例中使用形式~其中FOR是语句的语~号是语量~从到共循语了次。GeLatchGENERATEiNumiNum,“,,~~,”是一条LatchxLatchPORTMAPDiNumGsigmid(iNum)例化语句。所语例化~在语路语语中相于当个号即取了一元件符放在语路原理语中~往语路中配元器件。本例中~装装号安后的元件语是~安装的器件的名字是Latchx~的引脚它语在信语号,上~引脚语在信语号上~引脚LatchDDiNumENAGQ语在信语号上。的语从到~借助于循sigmid(iNum)iNumFOR…GENERATE语生成语句~器件从从到共例化了次~即装安了个~语个LatchLatch分语语在信语号,,和上。LatchDDsigmid()sigmid(),构体造与构体造描述了相同的语语~只是描述的方式不同。在中~有twooneVHDL三语基本的建模方法~三语描述方式,行语描述、据流描述和语描述。行语描述即数构的语语就是语整系语的模型的描述~抽象度高~据流描述方式~也寄存器个数学很数称语语,描述方式~通语据流描述~可以语出系语的语语表式~而语行语语语合~语数达从RTL构来描述语是在多语次的语语中~高语次的语语模语语用低语次的语语模语~或者直接用语语路语元构个构体成一语语的语语语路的描述方法。造采用的是语描述方式和据流描述构数one方式也寄存器语语称,描述方式,~而造构体语采用了行语描述方式~它RTLtwo语用语程,语句~借助的行语理思想~描述了语入和语出信之语并号PROCESSVHDL语语的行语。,语程,语句是行语描述方式中最基本的语位~每行语句都可等条并个价语一PROCESS语程。一器件的行语是由一或多行行的语程语语的。本例中~语句个个个并运~~,中的~~,语称号即当敏感信表~PROCESSDOENGDOENG、和中的任何一信语生语化语~都引起本语程的语行。因此~如果一个号将DOENG个构体个没并号语中只有一语程也有其他行语句,语~语所有的语入信语通常都要列入敏感信表中~否语信可能被号号模语器所忽略。VHDL语者可把上例中的语构体与语的原理语描述语行语比~中可以到从找描述oneVHDL与语语语语方法的语系。,语言的基本语构VHDL一完整的个语言程序通常包含语体,、造构体,、配VHDLEntityArchitecture置,、程序包,和语,个部分。前个部分是可ConfigurationPackageLibrary分语语语的源语语语元。语用于描述所语语的系语的体号构体内构外接口信~造用于描述系语部的语和行语~程序包存放各语语语模语都能共享的据语型、常和子程序等~配置用于语中语数数从取所需语元语成系语语语的不同版本~语存放已语语语的语、造、程序包和配置。语可由用语生成或来体构体由芯片制造商提供~以便于在语语中语大家所共享。ASIC,,语体,ENTITY在中~语语似于原理语中的一部件符~可以体个号它个代表整系语、语语路板、VHDL一芯片或一语语路~是一初语语语语元。在语中~我语可以定语语语语元的语入语出引脚和器件个个个体的~其具的格式如下,参数体语体名ENTITYIS语语属参数明~端口语明~语体名~END语语属参数明)语语属参数体静来体明语语语语和其外部语境的语信息提供通道~特语是用语定端口的大小、语中子元件的目、语的定语特性等等。数体端口语明)端口语明语语语语和其体体与即外部语境的语语通信提供通道~是语基本语语语外部接口的描述~语外部引脚信的号称数名、据语型、和语入语出方向的描述。其一般格式如下,端口名,方向据语型~数PORT端口名,方向据语型,~数端口名是语予每个称来号外部引脚的名~端口方向用定语外部引脚的信方向是语入语是语出~据语型语数数明流语语端口的据语型。语准包中定语了以下常用的端口模式,IEEE语入~只可以语IN语出~只可以写OUT语出造部可再使用,构体内BUFFER双写向~可以语或INOUT,据语型数语言中的据语型有多语~但在字语路的语语中语常用到的只有语~数数两即和VHDLBIT分语等同于和,。端口被语当明语BITVECTORSTDLOGICSTDLOGICVECTOR语~语端口的信号数取语只能是二语制“和“~即数当位语语据语型~而端口被语明语BIT””语~语端口的信是一语二语制的号即数位语~多位二语制。BITVECTOR例语入端非语的语描述示例与体~LIBRARYIEEEUSEIEEESTDLOGICALLENTITYnandISPORT(a:INSTDLOGICb:INSTDLOGICc:OUTSTDLOGIC)ENDnand,,语构体,ARCHITECTURE语描述一语语的语或行语~构体个构个来个体把一语语的语入和语出之语的语系建立起。一语语语语可以有多语~每语语语着语不同的语语方个构体个构体体个构案~各语语的地位是同等的。语语其基本语语语元的语入语出语系可以用三语方式语行描述~行语描述、寄存器语语描构体即述和语描述。不同的描述方式~只是语在描述语句的不同上~而语的语是完全一语的构体构体构。语分语部分,语语构体两构构体明部分和语语句部分~其具的描述格式语,语构体名语体名ARCHITECTUREOFIS语明语句BEGIN并行语句语构体名~END,语明语句语明语句用于语语部使用的信、常、据语型和构体内号数数数函语行定语。例如,ARCHITECTUREbehavOFmuxIS,~SIGNALnelSTDLOGICBEGIN~ENDbehav信定语和端口语号号数它内号明一语~语有信名和据语型的语明。因是部语接用的信~故不需有方向的语明。例全加器的完整描述示例LIBRARYIEEEUSEIEEESTDLOGICALLENTITYadderIS语描述体PORT(cnp:INSTDLOGIC~ab:INSTDLOGICcn:OUTSTDLOGICs:OUTSTDLOGIC)ENDadderARCHITECTUREoneOFadderIS~~,SIGNALnnnSTDLOGICBEGINn<=aXORb语描述构体n<=aANDbn<=nANDcnpS<=cnpXORncn<=nORnENDone上述程序所语语的语路原理语如下,,,程序包、语及配置语和程序包是的语语共享语源~一些共用的、语语语语的模语放在程序包中~语语代语重VHDL用。一或多程序包可以语语语到一语中~使用起更语方便。个个个来,语,LIBRARY语是语语语后的据的集合~用存放程序包定语、语定语、语定语和配置定语~使语语数来体构体者可以共享已语语语语的语语语果。在语言中~语的语明语是放自在语语语元的最前面,VHDL语名~LIBRARY语语一~在语语语元的语句就可以使用语中的据。来内数语言允语存在多不同的语个~VHDL但各语之语是个独彼此立的~不能互相嵌套。常用的语如下,,语STD语语名语的语语所有语语语元语含定语~即“子句语含存在于任意语语语STDLIBRARYSTD”元之前~而无语语式出。写语包含语定语程序包与。STDSTANDARDTEXTIO,语WORK语语名语的语语所有语语语元语含定语~用语不必语示出写“。同WORKLIBRARYWORK”语语语者所描述的语句不语作任何语明~都存放在将语中。VHDLWORK,语IEEE最常用的语是。语中包含语准的程序包~包括IEEEIEEEIEEE、、以及其他一些程序包。其中STDLOGICNUMERICBITNUMERICSTD是最主要的程序包~大部分可用于可语程语语器件的程序包都以语程序个STDLOGIC包语基语。,用语定语语用语语自身语语需要所语语的共用程序包和语等~也可语集在一起定语成一语~语就是用语语体个~在使用语同语需要语明语名。,程序包,PACKAGE程序包语明象语言中的语句一语~用语来列语言中所要用到的常数CincludeVHDL定语、据语型、数数个构个函定语等~是一可语语的语语语元~也是语语中的一语次。要使用程序包语可用语句语明~例如,USE~USEIEEESTDLOGICALL程序包由语语和包部分语成~其语如下,体两构程序包名PACKAGEIS语语部分语明语句程序包名END程序包名PACKAGEBODYIS包部分体语明语句~ENDBODY语语是主语语语元~可以立语语入语语语中。包是次语语语语元~可以在其语语的语语语语它独并插体它并插独并插入语语语之后~再立语行语语也入语语语中。包不语是需要的。但在程序包中若包体并体况含有子程序语明语语必语用语语的包。语语情下~子程序不能出语在语语中~而必语放在包中。若程序包只包体体体含语型语明~语包是不需要的。常用的程序包如下,,程序包STANDARD程序包语先在语中语语~此程序包中定语了若干语型、子语型和函数。STANDARDSTD语准语定~在所有程序的语语语含有下面的语句,IEEEVHDL~LIBRARYWORKSTD~USESTDSTANDARDALL因此不需要在程序中使用上面的语句。,程序包STDLOGIC语先语语在语中~是的语准程序包~其中定语了一些常STDLOGICIEEEIEEE用的据和子程序。数此程序包定语的据语型数、以及一些语语算符都运STDLOGICSTDLOGICVECTOR是最常用的~语多厂它商的程序包都以语基语。EDA,程序包STDLOGICUNSIGNED程序包语先语语在语中~是公司的程序包。STDLOGICUNSIGNEDIEEESynopsys此程序包重语了可用于、和三语据语型数INTEGERSTDLOGICSTDLOGICVECTOR混合算的算符~定语了一由运运并个型到型的语语函数。STDLOGICVECTORINTEGER,程序包STDLOGICSIGNED程序包与程序包语似~只是STDLOGICSIGNEDSTDLOGICUNSIGNED中定语的算符考语到了符~是有符的算。运号号运STDLOGICSIGNED,,配置,CONFIGUARTION配置语句一般用描述语语之语的语接语系以及语语语之语的语接语系。在分语次的语语中来与体与构配置可以用来体把特定的语语语语语到元件语例,~或把特定的语构COMPONET,语语到一语。一语存在多语语语~可以通语配置语句语其个体当个体个构指定ARCHITECTURE一语语~若个构省略配置语句~语语语器自语语语语一最新语语的语。将体个构VHDL配置的语句格式如下,配置名语体名CONFIGURATIONOFIS语句语明配置名~END若用配置语句指定语~配置语句放在语之后语行语构体构体个体明。例如~某一语语~adder存在个构体语语语和与之语语~语用配置语句语行指定语可利用如下描述,onetwoconfigureTTofadderisforone~endfor~endconfigureTT,语言的据语型和算操作符数运VHDL语言的语象VHDL语言中可以语语的语象有语,信号,、语量,、常数VHDLSignalVariable,。在字语路语语中~语数语语象通常都具有一定的物理意语。例如~信语语地号Constant代表语路语语中的某一硬件语语~常语语地条数数当代表字语路中的语源和地等。然~语量语语语系不太直接~通常只代表语存某些语的语。体语语象的含语和语明语合如表所示。表语言语语象的含语和语明语合VHDL语象语语含语语明语合信号信语号明全局量Architecture,package,entity语量语量语明局部量Process,function,procedure常数常语数明全局量上面语语合下~均可存在两语言的据语型数VHDL,据语型的语语数在语言中~信、语量、常都是需要号数数指定据语型的~提供的据语型数VHDLVHDL可语语如下,整数语数语量语型枚语物理语合语型语数据语型语语数子语型文件语型在上述据语型中~有语准的~也有用语自己定语的。用语自己定语语~其具的格式如数当体下,语址语型数数据语型名据语型的定语~TYPE下面语常用的语语据语型作一些语几数明。,整型,INTEGER中的整型中的整形定语相似~可以使用加、、与数学减运数乘、除等算符。整VHDL的最小范语从到~即位有符的二语制。号数,语数,REAL语数即数写数数从浮点~有正有语~语语一定要有小点。语的最小范语到E。E,语语,RECORD语语是语合语型~也就是语~语语中的元异构素可以是不同的语型。语语语型的格式如下,语语名TYPEISRECORD语语中元素的语型语明~ENDRECORD一具的语例如下,个体TYPEmonthname(Jan,Feb,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec)TYPEdateISRECORDday:integerrangetomonth:monthnameyear:IntegerrangetoENDRECORD,数语,ARRAY数数个语用于定语同一语型语的集合。语可以是一语的有一下语,~也可以是多语的有多下语,。此个数数数数数外~语语可分语限定性语和非限定想语~限定性语下语的取语范语在语语语型定语语就被定~而非限定性语下语的确数随确体取语范语后才定。其具格式如下,数据语型名范语原据语型~数TYPEISARRAYOF语例如下,,~TYPEwordISARRAYTOOFSTDLOGIC“也于语~因在程序包属数它“中被STDLOGICVECTOR”STDLOGIC”定语成语。数,子语型所语子语型是用语语定语的据语型作一些数数范语限制而形成的一语新的据语型。子语型定语的一般格式语,子语型名数据语型名范语~SUBTYPEIS子语型可以是语其父语型施加限制件~也可以是语语地语其条个没父语型重新起名字~而有增加任何新的意语。,据语型的语语数在语言中~据语型的定语是相语格的~不同语型据是不能语行算和直接语语的数当数运。VHDL语了语语正的算和语语操作~必语据语行语型语语。据语型的语语是由语语确运将数数数函完成的~的语准程序包提供了一些常用的语语函数~如,VHDL,FUNCTIONTObit(s:stdulogiclxmap:BIT:=’’)RETURNBIT,FUNCTIONTObitvector(s:stdlogicvectorxmap:BIT:=’’)RETURNBITVECTOR等函数。语言的算操作符运VHDL如同语的程序语语语言一语~中的表式是由算符基本元达运将来素语接起的式子。VHDL的算符可分语运语,VHDL算算符、语系算符、语语算符和其他算符以及语的语数运运运运它先语语如下表所示,表的算符及语运先语语VHDL语先语语序算符语型运算符运功能与AND或OR低语与非NAND语或非NOR运异或XOR算异或非XNOR符等于=不等于=小于<大于>小于等于<=大于等于>=加―减语接正―语语乘*系除运求模MOD取余算REM指数**符取语语语ABS取反NOT高通常~在一表式中有以上的算符语~需要使用个达两个号将括语些操作分语。如果一串操作的算符相同~且是、、语三算符中的一语~语不需要使用个号括~如ANDORXOR果一串操作中的算符不同或有除语三语算符之外的算符~语必语使用括号。如,aANDbANDcANDd,aORbNANDc语系算符运、、、和的语语型必语相同~因语只有相同的据语型才两数==<<=>=能比语~其比语的语果语型。BOOLEAN正,语,和加的号减号与运运数意语一般算语算相同。语接算符用于一语语~“符号内个数数个将右语的容语接之后形成一新的语~也可以在语后面语接一新的元素~或”两个数语元素语接形成语。语接操作常用于字符串。乘除算符用于整形、运数与数浮点物理语型。取模、取余只能用于整语型。取语语语算用于运数运数数数任何语语型。乘方算的左语可以是整或浮点~但右语必语语整且只有在左语语浮点语~其右语才可以语语。数,,语言的主要描述语句VHDL在用语言描述系语的硬件行语语~按语句语行的语序可分语语序语句和行语句。语序语句并VHDL主要用语语模型的算法部分~而行语句语基本上用表示来并来黑盒的语接语系。黑盒中所包含的内容可以是算法描述或一些相互语接的黑盒。,语序语句提供了一系列富丰来数的语序语句~用定语语程、语程或函的行语。所语“语VHDL序”~意味着完全按照程序中出语的语序语行各语句~而且语条构意味着在语语次中前面语句的语行语果可能直接影响后面语句的语果。语序语句包括,,语句WAIT,语量语语语句,信语语语句号,语句IF,语句CASE,语句LOOP,语句NEXT,语句EXIT,语句RETURN,语句,语程语用语句,断言语句,语句REPORT下面逐介语其中常用的一些语句,个等待,语句WAIT语程在行中语是语于语语之一,语行或起。语语程语行到运两状挂当语句语~就被起将挂WAIT来并条~语置好再语行的件。语句可以语置四语不同的件,无限等条条待、语语到、件语足WAIT以及敏感信量语化。语语语件可以号几条混用。语句格式如下,,~WAIT,信~号WAITON,条达件表式~WAITUNTIL,语语表式~达WAITFOR第语格式语无限等待~通常不用~第语当号挂状指定的信语生语化语~语程语束起语~语语语行~第语件表式的语语当条达语~语程才被语~启TRUE第语等当挂状待的语语到语~语程语束起语。,言断,语句ASSERT语句主要用于程序、语语中的人仿真机语语~可以语出一它串文字作语警告和语语ASSERT信息。语句的格式如下,ASSERT 条件语出信息语语ASSERTREPORTSEVERITY当语行语句语~语件语行会条断条真条条判。如果件语“”~语语行下一语句~若语件ASSERT语“假”~语语出语语信息和语语语重程度的语语。,信语语语句号  信语语语句的格式如下,号  信量号信量表式号达<=如,a<=bAFTERns信语语语句号并指定延语语型~在后面指定延语语语。但语合器忽略延语特性。VHDL,语量语语语句在中~语量的语明和语语限定在语程、函数号和语程中。语量语语符语“,~同语~VHDL=”符号“,也可用语语量、信、常量和文件等语象语初语。其语格式语,来号写=”语量,表式~达=例如,,~a=,~d=de,语句IF语句的一般格式如下,IF条件IFTHEN语序语理语句~条件{ELSIFTHEN语序语理语句~条件ELSIFTHEN}语序语理语句~ELSE语序语理语句~~ENDIF花语的号内体况嵌套语句可有可无~语具情而定。在语句中~所语置的件语当条足语~语语IF行语件后面的语序语理语句~若所有的件均不语条条足语~语语行和之语的语序语理语ELSEENDIF句。例四语一语路的件描述语句,条,IFsel=“”THENy<=input()ELSIF(sel=””)THENy<=input()ELSIF(sel=””)THENy<=input()ELSEy<=input()ENDIF,语句CASE语句用描述语语或语语、语语的行语~语多不同语句的序来从列中语语其中之一语行。语然CASEIF语句也有语似的功能~但语句的可语性比语句要强得多~程序的语语者容易出件很找条CASEIF和语作的语语语系。语句的一般格式如下,CASE表式达CASEIS表式语达 ,, 语序语句~WHEN     ,, 语序语句~WHENOTHERS~ENDCASE当和之语的表式语达将跟足指定的语语~程序语行后面所的语序语句。例如,CASEIS,~TYPEenumISpicka,pickb,pickc,pickd,~SIGNALvalueenum,~SIGNALa,b,c,d,zBITCASEvalueISWHENpicka=>~z<=aWHENpickb=>~z<=bWHENpickc=>~z<=cWHENpickd=>~z<=d~ENDCASE语句LOOP语句其他高语语言中的与数循语语句一语~使程序能语行有语语的循语~循语的次受迭代LOOP算法的控制。一般格式有语两:,循语语量FOR语号,循语语量离散范语FORINLOOP语序语句~语号~ENDLOOP例如,~,~VARIABLEabBITVECTOR(TO)FORiINTOLOOP,~ai<=b(i)~ENDLOOP上面循语语句的等价语句如下,,~A<=B(),~A<=B(),~A<=B(),条件循语WHILE语语语句的语格式如下,写LOOP语号,条件WHILELOOP语序语句~语号~END当条真当条件语语~语语行循语~件语假语~语语束循语。语句NEXT在语句中~语句用来跳出本次循语。其语句格式语LOOPNEXT:语号条件NEXTWHEN当语句语行语将停止本次迭代~语入下一次新的迭代。后面的语表号明下次NEXTNEXT迭代的起始位置~而条件语表明语句语行的件。如果条后面无语既号WHENNEXTNEXT而无条即条从件语明~语语行到语语句接立无件地跳出本次循语~语句的起始位WHENLOOP置语入下次循语。例如:~~,SIGNALabcopyenableBITVECTOR(TO)a<=“”被语了一语~如个“b”FORiINTOLOOPNEXTWHENcopyenableE(i)=’’,ai<=b(i)ENDLOOP语句EXIT语句也是语句中使用的循语控制语句~与不同的是~语行语EXITLOOPNEXTEXIT句语将状从束循语语~而语束语句的正常语行。其格式如下LOOP:语号条件EXITWHEN若后面的语和号条条从件缺省~语程序语行到语语句语就无件语句EXITWHENLOOP中跳出~语束循语语。若状中的件语条“假”~语循语正常语语。WHEN例如,~,,~SIGNALabBITVECTORDOWNTO,SIGNALalessthanbBOOLEANalessthanb<=FALSEFORiINDOWNTOLOOPIF(a(i)=’’ANDb(i)=’’)THENalessthanb<=FALSEEXITELSIF(a(i)=’’ANDB(i)=’’)THENalessthanb<=TRUEEXITELSE语语比语~ENDIF~ENDLOOP,语句语句表示有语作语生。没语句一般用在语句中以便能语覆盖所有可能CASE的件。条,行语句并由于硬件语言所描述的语语系语~其语多操作是行的~所以在语系语语行语~系语中的元并仿真件语语是行工作的。行语句就是用描述语语行语的。行描述可以是语性的也可以是行语并并来并构性的。而且~行语句的语次序不并写并号并犹代表其语行的语序~信在行语句之语的语语~就如语语在语路原理语中元件之语的语接。主要的行语句有以下语,并几,语,语句BLOCK,语程,语句PROCESS,生成,语句GENERATE,器件,和器件例化,语句COMPONENTCOMPONENTINSTANT,语,语句BLOCK语,可以看作是语中的子模语。构体语句把语多行语句包在一起并装BLOCKBLOCK形成一子模语~常用于语的语化描述。语语句的格式如下,个构体构语,号BLOCK语语}语明部分{BEGIN}并行语句{语~号ENDBLOCK语语主要用于信的映射及的定语~通常通语号参数语句、语GENETICGENETICMAP句、和语句语语。来PORTPORTMAP语明部分语语语中的语与构体明是一语的~主要语语语所要用到的语象加以语明。,语程,语句PROCESS模型的最基本的表示方法是行语行的语程语句~定语了语一语在整模语期语语语并它独个VHDL语行的语序语句。一语程可以被看作一无限个个当个循语~在模语期语~语程的最后一语句语行完语之后~又语语程的第一语句语始语行。在语程中的语序语句语行期语~若从个号敏感信量未语化或未遇到语句~模语语语是不前语的。会WAIT在一语中的所有语程可以同语行语行~语之语通语信语或共享语量语行通信。语语表示个构并它号方法允语以高的抽象语语很并号建立模型~允语模型之语存在语语的信流。语程语句的格式如下,语程语,号敏感信表,号PROCESSIS语明区BEGIN语序语句语程语号~ENDPROCESS上述格式中~中语的容可有可无~语具号内内体况区数情而定。语程语句的语明中可以语明据语型、子程序和语量。在此语明区内内语明的语量~只有在此语程才可以语其语行存取。如果语程语句中含有敏感信表~语等号内个个价于语语程语句的最后一语句是一语含的WAIT语句~其形式如下,敏感信表~号WAITON一旦敏感信语生语化~就可以再次语语程。必语号启号注意的是~含有敏感信表的语程语句中不允语再语式出语语句。WAIT例由语序语语语路成的模构语器数ENTITYcounterIS,~PORTclearINBIT,~clockINBIT,,~countBUFFERINTEGERRANGETO~ENDcounterARCHITECTUREexampleOFcounterISBEGINPROCESSBEGIN~WAITUNTIL(clock’eventandclock=’’),IF(clear=‘’ORcount>=THENcount<=ELSEcount<=countENDIFENDPROCESSENDexample上面例子展示了语器用语序语语语程语语。在每一语将数来个的语语语沿~如果语clear‘或语语~被置语零~否语~增加。通常~语合器采用个触’countcountcountD语器及附加语路语语本例。来,生成,语句Generate生成语句语语语中的循语部分或件部分的条建立提供了一语方法。生成语句有如下量语格式,,语,号语量不语语语区FORINGENERATE行语理语句并语号~ENDGENERATE,语,号条件IFGENERATE行语理语句并语号~ENDGENERATE生成方案用于描述重语模式~生成方案通常用于描述一语语中的例个构外情形~FORIF例如在语界语语生的特殊情况。和的语句不同~在语句中所列语FORGENERATEFORLOOPFORGENERATE的是行语理语句。因此~部语句不是并内写并按语语序语行的~而是行语行的~语语的语句中就不能使用语句和语句。EXITNEXT语句在件语条真内并与“”语语行部的语句~语句同语是行语理的。语句IFGENERATEIF不同的是语语句有没语。ELSE语语句的典型语用语合是生成存语器语列和寄存器语列等~语可以用于地址状语语语机。例如,~,,~SIGNALabBITVECTORDOWNTO,,~SIGNALcBITVECTORDOWNTO,~SIGNALxBITGENLABEL:FORiINDOWNTOGENERATEc(*i)<=a(i)NORxc(*i)<=b(i)NORxENDGENERATEGENLABEL,元件,和元件例化,语句COMPONENTCOMPONENTINSTANT语句一般在、及的语明部分中COMPONENTARCHITECTUREPACKAGEBLOCK使用~主要用来构体哪个指定本语中所语用的元件是一语成的语语描述模语。语COMPONENT句的基本格式如下,元件名COMPONENT语明~参数语明GENERIC语明~端口语明PORT~ENDCOMPONENT在上述格式中~通常用于语元件的可语的参数代入或语语~语语明语元件GENTRICPORT的语入语出端口的信语定。号语句是语化描述中不可构它将缺少的基本语句~语成元件的端COMPONENTINSTANT口信映射成高语次语语语路中的信。号号语句的语格式语,写COMPONENTINSTANT语号名,元件名信~号…,PORTMAP语号构体号号名在语语的语明中语语是唯一的~下一语元件的端口信和语语信的语接通语PORT的映射语系语语。映射的方法有语,来两称位置映射和名映射。所语位置映射~是指在MAP下一语元件端口语明中的信语语语序号写位置和,中指定的语语信语语语序号写位PORTMAP置一一语语~所语名称将称号映射是已语存于语中的语成模语的各端口名~语予语语中模语的信名。例如,COMPONENTand~,~PORTabINBIT,,~cOUTBIT~ENDCOMPONENT~~,~SIGNALxyzBIT,~~~,,位置映射uandPORTMAP(xyz),~~~,,名称映射uandPORTMAP(a=>xc=>zb=>y),~~,,混合形式uandPORTMAP(xyc=>z)语言是一语比语语语的硬件语语语言~除了本章所述的有语容内它外~语包含语多语的语西~VHDL语于篇幅有限~在此不再一一语列~有语趣者可自行考有语参语言方面的语籍和语料。VHDL语语,判断确确下面的操作是否正~若不正~语修正,,和的据语型是数~是整~做数程序加法opopBITresultVHDL~result<=opop,模语的语出是无符~语号数体的语入是语~能否语语如下语相语数将两体,ab语语体体端口和有何不同,BUFFERINOUT一个语语程序是否必语有一语个构体构体个个,语的目的是什语,一语语可以有多语VHDL构体语,用语言出下面符的语写号体,描述。其中符的号左语是语入端~右语VHDLENTITY是语出端,,,下面是一语语的个描述~语出其语画体,所语语的原理语符和造号构体VHDLENTITY,所语语的语路原理语,ARCHITECTUREENTITYnandIS,~PORTaINSTDLOGIC,~bINSTDLOGIC,~cINSTDLOGIC,~qOUTSTDLOGIC,,~qOUTSTDLOGIC~ENDnandARCHITECTUREoneOFnandISBEGIN,~q<=NOTaANDb,~q<=NOTcANDb~ENDone,由下面的语路原理语~出相语的写语语程序部信内号名由自己定语,。VHDL,分析下面的程序~语明语路功能~语出语路原理语,并VHDLLIBRARYIEEEUSEIEEESTDLOGICALLENTITYcntbISPORT(clk:INSTDLOGICclr:INSTDLOGICdin:ININTEGERRANGETOload:INSTDLOGICdout:OUTINTEGERRANGETO)ENDcntbARCHITECTUREoneOFcntbISSIGNALqq:INTEGERRANGETOBEGINPROCESS(clk,clr,din,load)BEGINIF(clr=’’)THENqq<=ELSIF(clk’eventANDclk=’’)THENIF(load=’’)THENqq<=dinELSEqq<=qqENDIFENDIFdout<=qqENDPROCESSENDone,利用语言语语一语语示语语器语示语光管是共语的,。极VHDLBCD,一位移位寄存器的器件语如下~且在语语的上并来升沿到语,若信有效~语寄存器被语号清位零~clear,若有效~语寄存器右移一位~shiftright,若和均无效~语寄存器行加语语入的据并数~clearshiftrightdatedateclk位移位寄存器clear右移语入端dirshiftrightqout

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/43

VHDL语言简介

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利