1 / 42
文档名称:

V第二章VHDL语言元素.ppt

格式:ppt   页数:42页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

V第二章VHDL语言元素.ppt

上传人:中国课件站 2011/8/29 文件大小:0 KB

下载得到文件列表

V第二章VHDL语言元素.ppt

文档介绍

文档介绍:第二章 VHDL语言元素
VHDL语言的客体
VHDL语言的数据类型
VHDL数据类型转换
VHDL词法规则与标识符
总目录
章目录
第一节
第二节
第三节
第四节
VHDL语言的客体
VHDL语言中,可以赋予一个质的对象就称为客体。客体主要包括以下三种:变量(VARIABLE)、常量(CONSTANT)、信号(SIGNAL)。
常量(CONSTANT)(常数)
定义一个常数主要是为了使设计实体中的某些量易于阅读和修改。常数说明就是对某一常数名赋予一个固定的值。通常在程序开始前进行赋值,该值的数据类型在说明语句中说明。
章目录
第一节
第二节
第三节
第四节
总目录
例如:
CONSTANT Vcc : REAL := ;
CONSTANT Fbus : BIT_VECTOR := “1011”;
CONSTANT Delay : TIME := 10ns;
注: 常量是一个恒定不变的值,一旦做了数据类型和赋值定义,它在程序中就不能再改变。
常数说明语句格式为:
CONSTANT 常数名:数据类型:= 表达式;
章目录
第一节
第二节
第三节
第四节
总目录
变量只能在进程和子程序中用,是一个局部量,不能将信息带出对它做出定义的当前设计单元。与信号不同,变量的赋值是理想化数据传输,其赋值是立即生效的,不存在任何的延时行为。
变量定义语句的格式为:
VARIABLE 变量名: 数据类型: 约束条件:= 初始值;
例如:
VARIABLE n: INTEGER RANGE 0 TO 15 := 2;
VARIABLE a: INTEGER;
变量(VARIABLE)
章目录
第一节
第二节
第三节
第四节
总目录
变量赋值语句的格式为:
目标变量名:= 表达式;
赋值语句“:=”右边的表达式必须与目标变量具有相同的数据类型,这个表达式可以是一个运算表达式也可以是一个数值。
变量赋值语句左边的目标变量可以是单值变量,也可以是变量的集合。
例如定义变量:
VARIABLE a,b := REAL;
VARIABLE x,y := BIT_VECTOR(0 TO 7);
章目录
第一节
第二节
第三节
第四节
总目录
信号是电子电路内部硬件连接的抽象。它可以作为设计实体中的并行语句模块间交流信息的通道。
信号及其相关的延时语句明显地体现了硬件系统的特征。
信号定义语句的格式为:
SIGNAL 信号名:数据类型:约束条件:= 表达式;
例如:
SIGNAL gnd :BIT := ‘0’;
SIGNAL data :STD_LOGIC_VECTOR (7 DOWNTO 0);
信号(SIGNAL)
章目录
第一节
第二节
第三节
第四节
总目录
信号赋值语句表达式为:
目标信号名<= 表达式;
符号“<=”表示赋值操作,即将数据信息传入。数据信息传入时可以设置延时过程,这与器件的实际传播延时十分接近。
因此信号值的代入采用“<=”代入符,而不是像变量赋值时那样用“:=”。
但信号定义时初始赋值符号“:=”,即仿真的时间坐标是从赋初始值开始的。
章目录
第一节
第二节
第三节
第四节
总目录
注意: 变量和信号都必须先定义,后赋值。注意赋值符“<=”和“:=”的差别。
信号赋值语句举例:
x <= y;
a <= ‘1’;
s1 <= s2 AFTER 10 ns;
信号与变量的区别:
信号和变量是VHDL中重要的客体,他们之间的主要区别有:
(1)信号赋值至少要有δ延时;而变量赋值没有。
章目录
第一节
第二节
第三节
第四节
总目录
(2) 信号除当前值外有许多相关的信息,如历史信息和投影波形;而变量只有当前值。
(3) 进程对信号敏感而不对变量敏感。
(4) 信号可以是多个进程的全局信号;而变量只在定义他们的顺序域可见(共享变量除外)。
(5) 信号是硬件中连线的抽象描述,他们的功能是保存变化的数据值和连接子元件,信号在元件的端口连接元件。
变量在硬件中没有类似的对应关系,他们用于硬件特性的高层次建模所需要的计算中。
章目录
第一节
第二节
第三节
第四节
总目录
VHDL语言的数据类型
在对VHDL的客体进行定义时,都要指定其数据类型。VHDL有多种标准的数据类型,并且允许用户自定义数据类型。
在VHDL语言语义约束中,对类型的要求反映在赋值语句的目标与源的一致,表达式中操作的一致,子类型中
约束与类型的一致等许多方面。
VHDL中预定义的数据类型(编程者可