VHDL硬件描述语言(三)

您所在的位置:网站首页 数据对象包括哪几种 VHDL硬件描述语言(三)

VHDL硬件描述语言(三)

2024-02-17 09:04| 来源: 网络整理| 查看: 265

VHDL是一种强类型的语言,它不允许不同数据类型之间的相互赋值。如果想在不同数据类型之间进行赋值则需要调用函数来完成。

在VHDL语言里,基本数据对象有三种:常量,变量以及信号。

常量

常量就是常数,它的数值不能更改。它必须初始化。它的一般定义格式如下:

CONSTANT 常量名:数据类型 := 表达式; --表达式是用来初始化常量的 变量

变量的格式如下:

VARIABLE 变量名:数据类型 [:= 初值]; --初值可以不赋。

变量赋值的时候使用“:=”来赋值。变量的值可以更改。对于变量的赋值是没有延迟的。

变量只能在子程序和进程中使用,主要是用来简化运算。变量的定义和信号非常相似,但是二者在程序中出现的位置是大大不同的。

ARCHITECTURE ... OF ... IS SIGNAL 信号1:数据类型; --信号声明在这里,在ARCHITECTURE的BEGIN之前 BEGIN PROCESS(...) VARIABLE 变量1:数据类型; --变量声明在这里,在PROCESS的BEGIN之前。 BEGIN END PROCESS; END;

变量是一个抽象的值,它不对应任何实际的电路连线,它的赋值是立即生效的。

信号

信号的定义格式如下:

SIGNAL 信号名:数据类型 [:= 初值]; --初值可以不赋。初值仅在仿真的时候有用,在综合的时候会被忽略

对于信号而言,我们认为它对应于一个实际物理部分。它的赋值不是立即生效的,而是有延迟的。下面是定义一个信号的例子。

SIGNAL a : BIT_VECTOR(0 TO 2);

信号a是位矢量类型,它具有3个元素,而且它的最高位是0,最低位是2。如果希望2是最高位,0是最低位。那么如下。

SIGNAL a : BIT_VECTOR(2 DOWNTO 0);

 关键字TO表示从左到右是升序排列,而DOWNTO是从左向右降序排列。

信号与端口的不同

信号是用来描述电路内部的节点,而端口是描述电路外部的节点;信号没有方向,可以是输入,也可以是输出,但是端口是有方向的。可也将信号看作“实体内部不限定数据流动方向的端口”。除此之外,端口和信号并无其他区别。

信号的赋值 信号


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3