第三章-硬件描述语言VHDL基础.ppt_第1页
第三章-硬件描述语言VHDL基础.ppt_第2页
第三章-硬件描述语言VHDL基础.ppt_第3页
第三章-硬件描述语言VHDL基础.ppt_第4页
第三章-硬件描述语言VHDL基础.ppt_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

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

文档简介

1、第1、3章硬件描述语言VHDL基础、3.1 VHDL语言程序的基本结构3.2 VHDL语言的数据类型和运算符3.3 VHDL语言的基本说明语句3.4 VHDL语言组件的说明方法、2、3.1 VHDL语言程序的基本结构实体(Entity)、构造函数(archh配置(Configuration)在筹码级别,表示特定芯片的针脚。实体说明ENTITY实体名称IS PORT(通信端口名称(,通信端口名称):方向数据类型名称;通信端口名称(,通信端口名称):方向数据类型名称);END实体名称;entity eq comp4is port (a,b 3360 in STD _ logic _ vector(

2、3 down to 0);equal : out STD _ logic);End eqcomp4,4,基本数据类型:BIT和BIT_VECTOR STD_LOGIC和STD_LOGIC_VECTOR通信端口模式,5,Out和Buffer之间的区别,entity test1 is port BEnd test1architecture a of test1 is begin b=not(a);c=b;-Error end a;entity test 2 is port(a : in STD _ logic;B : buffer std _ logicc : out STD _ logic);E

3、nd test2architecture a of test 2 is begin b=not(a);c=b;end a;结论:全部表示输出,但是BUFFER声明的信号可以反馈到实体内部,而OUT声明的信号则不是。6,核心描述设计单元的特定功能结构具有三种茄子描述方法行为描述(behavioral)数据流描述(dataflow)结构描述(structural)格式:ARCHITECTURE核心名称OF实体名称IS定义语句内部信号,常量顺序语句:在进程语句(PROCESS)内按写入顺序执行。示例:entity sample is port (a,b : in STD _ logicc : out

4、 STD _ logic);End samplearchitecture beha of sample is signal d : STD _ logic;begin d=a and b;c=not(d);End beha,8,3.1.2组件的子结构说明三种茄子形式的子结构说明:块说明(块说明)进程说明(进程说明)子节目说明(子说明)BLOCK语句说明格式:块标签:BLOCK BLOCK中语句的执行顺序:并行执行,9q : OUT BIT);END muxarchitecture connect of mux is signal TM P1、tmp2、tmp : bitbegin cale :

5、 block begin TM P1=D1和selTmp2=d0 AND(非sel);T MP3=tmp 1或tmp 2;Q=tmp3END BLOCK caleEND connect,10,进程描述格式:进程名称:PROCESS(信号1,信号2,)begin: endprocess进程名称;敏感度:PROCESS的输入信号,写在“PROCESS”后面的括号中。如果PROCESS具有的敏感度发生变化,则PROCESS中的语句将执行一次。语句执行顺序:按顺序执行。多进程关系:并行执行;11示例:电路entity mux1 is port (d0、D1、sel : in bitq : OUT BI

6、T);END mux1architecture connect of mux 1 is begin cale : process(d0、D1、sel) variable tmp 1、tmp 2、t MP3 3360 bit-会话中定义的变量BEGIN tmp1:=d0 AND sel-输入端口将tmp2:=d1 AND (NOT sel)值分配给变量。Tmp 3:=tmp 1或tmp 2;Q=tmp3END PROCESS caleEND connect,12,子程序说明了过程格式PROCEDURE过程名(参数1,参数2) IS定义变量语句BEGIN序列处理语句END过程名。参数:可以是输入或

7、输出语句的执行方式。调用方在调用过程之前将初始值传递给过程的输入参数值,然后过程语句开始,过程结构中的语句从上到下执行,执行结束后,输出值将复制到调用方的“OUT”和“INOUT”定义的变量或信号中。,13例:查找最大电路库IEEEuse IEEE . STD _ logic _ 1164 . all;Entity con pro isport (da,db 3360 in STD _ logic _ vector(7 down to 0);o 1: out STD _ logic _ vector(7 down to 0);End conpro,14,architecture beha of

8、 con prois,procedure max(a : in STD _ logic _ vector;B:in std _ logic _ vectorq : out STD _ logic _ vector)is begin if(ab)then q :=a;else q :=b;End ifEnd max,beginprocess (da,db)variable temp 3360 STD _ logic _ vector(7 down to 0);Begin max(da、db、temp);O1=tempEnd processEnd beha,15,函数格式FUNCTION函数名称(

9、参数1,参数2)。)RETURN数据类型名称IS定义变量语句BEGIN顺序处理语句RETURN返回变量名称。END函数名称;参数:输入参数的数量没有限制,在函数名称后的括号中声明,在return语句后仅声明其中一个输出参数。可以忽略所有I/o参数属性。语句执行方法:按顺序执行。16示例:最大电路architecture beha of con pack is,function max(a : STD _ logic _ vector;b : STD _ logic _ vector)return STD _ logic _ vector is variable temp 3360 STD _

10、logic _ vector(7 down to bectorelse temp 3360=b:End if;Return tempEnd max,begin o1=max(da,db);End beha,17,3.1.3软件包集合,库和配置库:存储编译后数据集合库的族IEEE库:std_logic STD库:standard,textio WORK库:ASIC库:用户定义库:Use library ,18例:LIBRARY IEEE;USE IEEE。STD_LOGIC_1164。ALL示例:LIBRARY STD;USE STD。TEXTIO . ALL库的范围:从实体说明开始,到该库所属

11、的结构,再到配置。如果在一个源程序中出现两个或多个实体的使用说明语句,则必须在每个实体说明语句之前重复写入。示例:19,Library IEEEuse IEEE . STD _ logic _ 1164 . all;Entity and1 is End and1architecture beha 1 of and 1 is begin end beha 1;Library IEEEuse IEEE . STD _ logic _ 1164 . all;Entity and1 is End and1architecture beha 2 of and 1 is begin end beha 2;

12、20,包集合:在库结构中编译为分层格式PACKAGE包集合名称IS说明语句END包集合名称。PACKAGE BODY包名称IS说明语句END包集合名称;使用use library _ name . package _ name . item _ name(例如,使用在软件包集合bpac中定义的max函数)。21,library IEEEuse IEEE . STD _ logic _ 1164 . all;package bpac is function max(a : STD _ logic _ vector;b : STD _ logic _ vector)return STD _ log

13、ic _ vector;End bpac,package body bpac is function max(a : STD _ logic _ vector;b : STD _ logic _ vector)return STD _ logic _ vector is variable temp 3360 STD _ logic _ vector(7 down to bectorelse temp 3360=b:End if;Return tempEnd maxEnd bpac,22,library IEEEuse IEEE . STD _ logic _ 1164 . all;Librar

14、y workuse work . bpac . all;Entity conpack isport (da,db 3360 in STD _ logic _ vector(7 down to 0);o 1: out STD _ logic _ vector(7 down to 0);End conpackarchitecture beha of con pack is begin O1=max(da,db);End beha,当前工作库可以省略,23,配置角色:描述层和层之间的连接以及实体和结构之间的连接,以便于调试和设计。格式:CONFIGURATION配置名称OF实体名称IS说明语句END

15、配置名称;示例:使用两种不同结构的配置实施RS触发器Entity RS is port (set,reset : in bit);q,QB : BUFFER BIT);END RS,24,architecture rsf f1 of RS is component NAND 2 port(a,b : in bitc : OUT BIT);END COMPONENTbegin u 13360 NAND 2 port map(a=set,b=QB,c=q)u 23360 NAND 2 port map(a=reset,b=q,c=)architecture rsf F2 of RS is begi

16、n q=not(QB and set);Qb=not (q和reset);END rsff2选择CONFIGRATION rscon OF RS IS-rsf f1 FOR rsf f1 END FOR rsf f1 END。END rscon、25,32 VHDL语言的数据类型和运算符321 VHDL语言的对象(数据对象)对象:在VHDL语言中,可以指定值的所有对象称为对象。信号分类:表示物理设计中的硬件连接线。变量:表示存放特定值的托架。常数:表示数字电路中的电源和地线。26、常数语义:将固定值赋给常数名称。整合后连接电源和地面。格式:常数常数名称:资料类型:=表示式;例如:CONSTANT Vcc: REAL:=5.0变量格式:变量名:数据类型约束:=表达式;例如:variable count 3360 integer range 0 to 2553360=10;特征:临时

温馨提示

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

评论

0/150

提交评论