《硬件描述语言 》PPT课件.ppt
第二章 硬件描述语言VHDL,学习要点,VHDL的主要构件数据类型和运算行为和结构描述,2.1概述,VHDL是一种标准化的硬件描述语言,它支持系统级、寄存器级和门级三个不同层次的设计。在数字系统从顶到底设计过程中,都可利用者同一硬件描述语言进行设计、模拟和存档。,组合电路传统的设计方法的有逻辑命题、列真值表、化简逻辑函数到画逻辑电路图。若设计的数字系统比较复杂,以上每一步都时候繁琐的工作,设计者对所作设计是否正确不易了解,与其它人员互相交流也不方便。为了便于利用计算机进行数字系统辅助设计,便于交流和存档,已开发出了各种硬件描述语言。,VHDL的主要优点是:,(1)覆盖面广,描述能力强,是一个多层次的硬件描述语言;(2)可读性好,既能构被计算机接受,也容易被人理解;(3)生命期长,它的硬件描述与工艺技术无关,不会因工艺变化而过时;(4)支持大规模设计的分解和已有设计在利用,有利于有多人或多项目组共同完成一个大规模设计;(5)已成为IEEE承认的一个工业标准,成为一种通用的硬件描述语言。,2.2VHDL的主要构件,1.实体实体(Entity)说明:描述设计实体的外部接口信号。实体的一般格式:ENTITY 实体名 ISPORT(端口表);实体说明部分;BIGIN实体语句部分;ENDENTITY实体名;,例2.1 或门的实体,ENTITY orgate IS PROT(a,b:IN BIT;z:OUT BIT);ENT orgate 实体部分的大写单词ENTITY、IS、OUT和END为关键字。VHDL本身不区分大小写,但为了程序清楚起见,本章都用大写表示。端口信息描述了信号的流向、最常用的是输入和输出类型。BIT表示信号的数据类型为位,除此之外,他们还可以是整数、实数、无符号数、物理以及数据类型组成的记录和数组集合等。,2.结构体,电路描述部分称之为结构体,它用于 描述设计单元内部的行为、元件及连接关系。结构体定义出实体的功能,一个实体可以对应多个结构体,每个结构体代表该硬件的某一方面特性,例如行为特性或结构特性。每一特性的描述,又由于其层次、实现方法不同形成多个结构体。结构体的一般格式为:ARCHITECTURE 结构体名OF实体名 IS 定义语句;(内部信号,常数,数据类型,函数定义等)BEGIN 并行处理语句;END 结构体名;,例2.2 或门的结构体,ARTHITECTURE behave OF orgate ISBEGIN or_fune:PROCESS(a,b)BEGIN IF(a=1or b=1)THEN Z=1;ELSE Z=0;END IF l;END PROCESS or_fune;END behave;,VHDL主要采取一下两种描述方式:,(1)行为描述:描述该设计单元的功能。主要使用函数、过程和进程语句,以算法形式描述数据的交换和传送。(2)结构描述:描述该单元的硬件结构,即该电路是如何构成的。主要使用配置指定语句及元件理化语句描述元件的类型及互连关系。,3.程序包,程序包(PACKAGE)是一种是包体中元件、子程序、公用数据类型和说明等其它设计单元可调用的设计单元。程序包包括程序包说明和程序包体。程序包说明为程序包定义接口,声明包中的类型、元件、子程序和说明,类似于实体ENTITY;程序包体规定程序的实际功能,存放元件和子程序等具体实现,类似于结构体ARCHITECTURE。,4.库,库(LIBRARY)是用来存放可编译的设计单元的地方。可以放置若干个程序包。VHDL语言库分为设计库和资源库。,2.3数据类型和运算,VHDL硬件描述语言中有三类对象:信号、变量和常量。一个信号和变量可以被赋予一系列的值,但一个常量只能被赋予一次值。变量于信号不同,分配给信号的值必须经过一定的时间演示后才能成为当前值,而分配给变量的值立即成为当前值。信号与硬件中的“连线”相对应,而变量在硬件中无对应物。数据类型大体分为标量型和复合型。标量型只具有单一的值。这个无法在分解,标量类型的值可以按某一个尺度排序。标量型中主要有实数型、整数型、枚举型和物理型、复合型式有标量组成的数组或记录,其中含有多个值。,1.标量数据类型,标量数据类型是一种基本的数据类型,它包括有:字符、为、布尔量、实数、整数、物理单位和枚举等。类型说明的一般形式是:TYPE类型名IS类型定义 一个字符放入但单引号中就定义了一个字符:x,字符可以是az中任一个字符、09中数字和特殊字符等等。例2.3 枚举类型举例 TYPE my_state IS(reset,rw_ cycle,int_cycle);SIGNAL state:my_state;state=reset;OK state=“00”;ERR,2.复合数据类型,复合类型的值可以分解为更细微的值。有两种复合类型:记录和数组。记录是异构复合类型,也就是说,记录的元素可以是不同的类型。一个记录类型的定义规定了一个或多个元素,每个元素具有不同的名字,并且可任意具有不同类型。例2.4 复合类型举例 TYPE Instruction IS RECORD Opcode_field;Opcode;Opcode_1:address;Opcode_2:address;END RECORD;,2.4 行为和结构描述,要描述数字系统的行为,必然要涉及并行关系和顺序关系,VHDL通过进程(PROCESS)来解决这个矛盾。VHDL在两个层次上定义了数字系统是行为;顺序(Sequential)和并发层。顺序层就是在每一个进程中用顺序语句规定它一步一步的行为;并发层就是定义这些进程互相的关系,特别是它们之间的信息传递问题。进程就是VHDL中最主要的并发语句,是联系时序层和并发层的一种纽带,并发曾是VHDL可以在同一模拟时间运行许多不同的进程。,1.进程,进程(PROCESS)作为行为描述构造体中的一部分,它用时序语句,描述了硬件的行为。进程本身作为一并发语句,用来定义本进程的作用范围,描述了进程被激活后要执行的行为。进程每部可以使用变量。进程句法的一般形式为:进程名PROCESS敏感信号表 变量说明语句;BEGIN 顺序说明语句;END PROCESS进程名;,2.并发行为,用硬件描述语言VHDL所设计的电子系统实际工作时是并行操作,所以系统中的元件在模拟时间上应该是同时运行。并发语句就是用来表示这种并发行为的。VHDL语言中电路描述部分(ARCHITECTURE)中的语句都是并行的,在字面上的顺序并不代表他们的执行顺序。,3.VHDL的行为描述,为描述是一种抽象的描述,它不具体对应电路的实现,是用算法来对单元的功能进行描述。,本章小结,1.VHDL程序包含的各个部分2.VHDL的硬件的描述语言,