欢迎来到天天文库
浏览记录
ID:26954668
大小:383.32 KB
页数:16页
时间:2018-11-30
《《硬件描述语言》ppt课件2》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章硬件描述语言VHDL学习要点VHDL的主要构件数据类型和运算行为和结构描述2.1概述VHDL是一种标准化的硬件描述语言,它支持系统级、寄存器级和门级三个不同层次的设计。在数字系统从顶到底设计过程中,都可利用者同一硬件描述语言进行设计、模拟和存档。组合电路传统的设计方法的有逻辑命题、列真值表、化简逻辑函数到画逻辑电路图。若设计的数字系统比较复杂,以上每一步都时候繁琐的工作,设计者对所作设计是否正确不易了解,与其它人员互相交流也不方便。为了便于利用计算机进行数字系统辅助设计,便于交流和存档,已开发出了各种硬件描述语言。VHDL的主要优点是:(1)覆盖面广,描述能力强,是一个多层次的硬件描
2、述语言;(2)可读性好,既能构被计算机接受,也容易被人理解;(3)生命期长,它的硬件描述与工艺技术无关,不会因工艺变化而过时;(4)支持大规模设计的分解和已有设计在利用,有利于有多人或多项目组共同完成一个大规模设计;(5)已成为IEEE承认的一个工业标准,成为一种通用的硬件描述语言。2.2VHDL的主要构件1.实体实体(Entity)说明:描述设计实体的外部接口信号。实体的一般格式:ENTITY实体名IS[PORT(端口表);]实体说明部分;[BIGIN实体语句部分;]END[ENTITY]实体名;例2.1或门的实体ENTITYorgateISPROT(a,b:INBIT;z:OUTBIT
3、);ENTorgate实体部分的大写单词ENTITY、IS、OUT和END为关键字。VHDL本身不区分大小写,但为了程序清楚起见,本章都用大写表示。端口信息描述了信号的流向、最常用的是输入和输出类型。BIT表示信号的数据类型为位,除此之外,他们还可以是整数、实数、无符号数、物理以及数据类型组成的记录和数组集合等。2.结构体电路描述部分称之为结构体,它用于描述设计单元内部的行为、元件及连接关系。结构体定义出实体的功能,一个实体可以对应多个结构体,每个结构体代表该硬件的某一方面特性,例如行为特性或结构特性。每一特性的描述,又由于其层次、实现方法不同形成多个结构体。结构体的一般格式为:ARCHI
4、TECTURE结构体名OF实体名IS[定义语句];(内部信号,常数,数据类型,函数定义等)BEGIN[并行处理语句];END结构体名;例2.2或门的结构体ARTHITECTUREbehaveOForgateISBEGINor_fune:PROCESS(a,b)BEGINIF(a=‘1’orb=‘1’)THENZ<=‘1’;ELSEZ<=‘0’;ENDIFl;ENDPROCESSor_fune;ENDbehave;VHDL主要采取一下两种描述方式:(1)行为描述:描述该设计单元的功能。主要使用函数、过程和进程语句,以算法形式描述数据的交换和传送。(2)结构描述:描述该单元的硬件结构,即该电路
5、是如何构成的。主要使用配置指定语句及元件理化语句描述元件的类型及互连关系。3.程序包程序包(PACKAGE)是一种是包体中元件、子程序、公用数据类型和说明等其它设计单元可调用的设计单元。程序包包括程序包说明和程序包体。程序包说明为程序包定义接口,声明包中的类型、元件、子程序和说明,类似于实体ENTITY;程序包体规定程序的实际功能,存放元件和子程序等具体实现,类似于结构体ARCHITECTURE。4.库库(LIBRARY)是用来存放可编译的设计单元的地方。可以放置若干个程序包。VHDL语言库分为设计库和资源库。2.3数据类型和运算VHDL硬件描述语言中有三类对象:信号、变量和常量。一个信号
6、和变量可以被赋予一系列的值,但一个常量只能被赋予一次值。变量于信号不同,分配给信号的值必须经过一定的时间演示后才能成为当前值,而分配给变量的值立即成为当前值。信号与硬件中的“连线”相对应,而变量在硬件中无对应物。数据类型大体分为标量型和复合型。标量型只具有单一的值。这个无法在分解,标量类型的值可以按某一个尺度排序。标量型中主要有实数型、整数型、枚举型和物理型、复合型式有标量组成的数组或记录,其中含有多个值。1.标量数据类型标量数据类型是一种基本的数据类型,它包括有:字符、为、布尔量、实数、整数、物理单位和枚举等。类型说明的一般形式是:TYPE类型名IS类型定义一个字符放入但单引号中就定义了
7、一个字符:‘x’,字符可以是a~z中任一个字符、0~9中数字和特殊字符等等。例2.3枚举类型举例TYPEmy_stateIS(reset,rw_cycle,int_cycle);……SIGNALstate:my_state;……state<=reset;OKstate<=“00”;ERR2.复合数据类型复合类型的值可以分解为更细微的值。有两种复合类型:记录和数组。记录是异构复合类型,也就是说,记录的元素可以是不同的类型。
此文档下载收益归作者所有