《VHDL语言的基本结构.docx》由会员分享,可在线阅读,更多相关《VHDL语言的基本结构.docx(7页珍藏版)》请在优知文库上搜索。
1、VHD1.语T的基本结构一、实体:说明主襄描述的是一个设计单元的外部转征,即对外的,入,出接口及一些用于结构体的分定义.规则一隹议将VIID1.的标识符或基本语句关键词,以人”方式表示:而又设计者添加的内容有小写字母表示.1、GENKRI(美属说明语句作用;是操作者很容易的改变,个设计实体或-个元件的内部电路的结何和规模。结构:引到一个类属卷琼表,在表中提供时间参数及总蛭宽度等内部信息。2、PORTje口说明常用的端11类别:IN(输入:仅允许数据流进入端口用于时钟输入、控制输入、单项数据输入,OUT(W)H1.):仅允许数据流流出端口用于终端计数-类的输出,不健用于反做BUFFER(缓冲):
2、主要用于内部的反馈INoUT(双向):也可以用于内部的反馈二、结构体用来描述设计的内部结构和逻辑功能。基本结构ARCHITECTURE结构体名OFvvfom实体名IS结构体说明部分1BEGINtbntface=1宋体并行处理语句ENDIARCHTECTuREVVfCntface=1,宋体结构体名;其中ARCHITECTURE.BEGIN.END等称为保留字结树体说明部分:用于对结构体需要使FI1.的信号、常数、数据类型和函数进行定义和说明,功能描述语句:描述r结构体的主要功能.三、u功能:把特定的结构体关岷到一个确定的实体,是为较大的系统设计提供管理和工程组织服务的。在仿真一个实体时UJ以利用
3、配置进行不同结构体的时比试验。基本结构:CoNFIGURATIoN配置名OF实体名ISFOR选配结构体名ENDFOR:ENDiftK:四、*定义:用于存放定义好的数据单元、子程序等设计单元的集合。1、VHD1.的5种麻IEEE库:STD库:ASICM?;WORK库:用于存放设计者描述的VHD1.语句。用户定义库:符自己使用的包集合和实体等汇集在一起,定义成的一个库.上述5种陈中,除了STD麻和WORK库外.其他库均属于费源除使用的时帔掷需要进行说明。说明的方法:1.IBRARY库名:一说明使用什么库USE包集合名:说明使用阵中哪一个包集合及包集合中的项目等.2、VHD1.SyFfi功能:主要用
4、来存放各个设计实体能共享的数据类型、子程序说明、属性说明和元件说明等部分.程序包有两个部分构成:程序包首;对数据类型、子程序、常心、元件、属性和属性指定等进行说明。程序包体:由包首指定的过程和函数的程序体组成,用来规定程序包的实际功能.使用这个程序包的所有定义,可用USE谱句访问此程序包1.IBRARYWORK;useWorkpac1.a1.1.访问程序包3、常用的顼定义的程序包VHD1.语f要素即编程语句的基本单元一、VHD1.语法规则这里主要介绍其特有的语法规则1、数学表示整数:榴是十进制的数5.678.0,156E2(=1560().45_234_287(=45234287)下划线只足为
5、了提而数字的可谀性,并没有其他影响,实数:都是上进制的数,但是必须有小数点。以数值基数表示的数k10#170#-(十进整数表示,等于170)2#111111(堵一(二进制数表示,等于254注:上面省略了以后一位,用于表示十进制数表示的指数郃分当为O时,可以进行省略注:实数一般不可媒合实现,勒班城(带有单位的)一般不可粽合实现2、字符串室文字字符放在单引号中字符串放在双引号中.3、数位字符申B1_1101_1110Om34mXIAB4、标识符用来定义整数、端口、变埴、信号、子程序、或参数的名字.规则通C语言.5、下标名即我示数组中的某一个数.二、VHD1.数据对象有三种r常量(constant)
6、,变相(VAR1B1.E)和信号(SIGNA1.)前两者对应传统的机擀谙.信号具有更多的硬件特征1、常量(CONSTANT)一股用来代表数字电路中的电源、地、恒等逻轼值等常数,常量的使用范根取决于它被定义的位置。即在程序包中定义Ur在整个程序包中使用,在实体中定义,有效范围为这个实体定义的所有结构体:定义在结构体中只能用于该结构体:定义在结构体中某一通元如一个进程则只能用在这个进程当中.2、常用在实现某的舞法的赋值语句当中,只是个局部变型,只能在进程和子程序中使用。Ji一种理想化的数据传幼,不存在任何的选时行为)3、信号表示,条硬件连接跳:如输入输出战门,描述硬件系统的基本数据对象,4、三者的
7、比较三、数据类型1、标注敷存类型(1.)xInteger(整形),取值范困23I-)(2)、Rea1.取值范ItM.OE+38+I.OE+38,媒合工具常常不支持(3)、Bit(位,只取()或1.描述信号取值、Bit-Vfector(位矢量,每位只取两个值(5)、Boo1.ean(布尔代),TRuE和FA1.SE(6)、Character(字符)(7)、String(8)、Time(9)、Natura1.(自然数RPositive(正整数(2a3I-I)(10)、Severity1.eve1.(错误等级):Note.Warning.ErrorFai1.ure)2、标准嵬*类型(1) STD_1
8、.OGIC类型iU_初始值,X-_不定态0强制0T强制IZ而阳志,W弱信号不定态U-明信号0H一疆信号1不可能情况(可忽略值)(2) STD_1.oGK1.VECTOR3、用户自定义数据类型(1)、枚举(Enumerated)TYPESTD-1.OGICISCU,X,0,.I,.,Z,W71.,H,J):(2)数如(ARRAY)TYPE数据类型名ISARRAY(范围)OF元素类型名:(3)子类型(SYBTYPE)用来定义含有限制条件的数据类型SYBTYPE类型名IS数据类型名【约束莅困】4、数据类型的转换三、操作符注意点:(I)、&并置操作符1后的数祖长度应该一致(2)、乘方左边可以是整数或浮
9、点数但右边一定是格数(3)、操作符能够产生逻辑电路,但就效率而吉使用常数或简单的一位数据类型能好产生较为紧凑的电路.序语句一、X值语句变量赋(ft变量名:=表达式伯号赋值信号名=信号变设友达式二、IF语句三、CASEM四、1.OOPI、FoR【QOP循环用于班定曳复次数的情况标5:FOR循环变TIN岗散范出1.OOP地序处理语句:END1.ooP标号:2、WHII.E1.OOP循环I标号:WHI1.E循环条件1.OoP顺序处理语句:END1.OOP标号;五、跳出警环语句NEXT循环标号)(WHEN条件;有条件或者无条件的结束当前循环开始下一次循环EXiT标号IWHEN条件:当条件为真时跳出I.
10、(X)P至程序标号处.如果后面什么都没有,则无条件的跳出,继续执行后继语句。六、RETRUNM只能用在函数和过程当中,用来结束当前最内层的函数或过程体的执行.RETURN表达式:一只能用在函数体中,必须返I可一个依RETURN;只能用在过程体中。七、NU1.1.眄常用在CASE语句中OTHERS的后面,即其他的情况什么都不做.并行语句特戊:在结构体中的执行时同步执行的。并发语句之间可以可以有信息往来,也可以是相互独立、互不相关、异步执行的如多时钟情况).一、并行信号X值谙句1、并发信号X值语句实际上是一个进程的缩写,当信号献值符号“=右边的信号发生任何变化时,该信号赋值语句就执行一次.q(参数
11、名1.参数名.:珀口帙式数据类型:参数名,多数名。):端口模式J数据类型;)定义过程首PROCEDUREVVfontface=末体”过ft,fi(参数名,参数名.1:端口模式数据类型:参数名,多数名|:【端口模式卜数据类型:0.0.0。)IS过程说明部分:JBEGIN过程语句部分;END(PROCEDURE1过程名:一一定义过程体二、Sft在程序包中定义一定要有函数首,在进程或结构体中定义不必定义函数苜FUCTION函数名输入参数表RETURN数据类型;一一函数首FUCTI0N函数Z输入参数表RETURN数据类型IS一一函数体I说明语句:BEGIN顺序语句:RETURN返回变盘名:一一南数返回
12、值ENDFUd1.ON函数名:注:函数参数的数则类型只能包.括常量和信号,参数渊”模式只能是IN,因此参数的端模式可以省略,VHD1.语自描述风格VHD1.的结构体具有描述整个设计实体的逻辑功能对于所想要实现的电路可以有不同的语句友达式,这种不同的描述方式或者说建模方法,成为描述风格一、行为描述只描述了所看望的硬件电路的功能.没有出接指明或者描述这些行为的电路结构.这种方法是VHDI.语吉的核心是区别于RTI.被硬件语言的Vcri1.og的根本区别.特点:大量使用算术运算、关系运饵、惯性廷时、传输延时等VHD1.语句。二、数据源描述也称为寄存零传ft(RT1.)描述方式.特点:主要使用ANDOR等.三、结构化描述描述建