zoukankan      html  css  js  c++  java
  • VHDL硬件描述语言(三)——基本数据对象和数据类型

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

    常量

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

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

    变量

    变量的格式如下:

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

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

    信号

    信号的定义格式如下:

    SIGNAL 信号名:数据类型 := 初值;			--初值可以不赋。

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

    标准数据类型

    整数与数学意义上的一致。它可以作为对信号总线状态的一种抽象;

    位用来表示一个信号的状态,它有两种取值‘0’和‘1’。在实际应用中,位可以用来描述总线的值。

    位矢量,它是一组位的集合。每一位都可以取‘0’和‘1’。通常用于表示总线状态。

    布尔量,它是二值枚举。包括两种状态:“TRUE”和“FALES”。

    上面这些数据类型都是定义在STD中的,这是VHDL语言的标准。一般在VHDL语言设计中,我们还经常使用IEEE标准委员会制定的IEEE库的STD_LOGIC_1164程序包中的STD_LOGIC类型和STD_LOGIC_VECTOR类型。

    用户自定义数据类型

    用户自定义数据类型的格式如下:

    TYPE 数据类型名 IS 数据类型;

    常用的有数组类型,整数类型,枚举类型,时间类型。

    定义一个数组名为num的STD_LOGIC类型的数组,定义如下:

    TYPE num IS ARRAY(0 TO 3) OF STD_LOGIC;

    数据类型之间的转换

    VHDL是一门强数据类型语言。它的数据类型之间的转换有两种方式。

    强制类型转换

    这种方式和C语言的非常类似,例如可以如下:

    VARIABLE a:INTEGER;
    VARIABLE b:REAL;
    a:=INTEGER(y);

    函数转换法

  • 相关阅读:
    python的变量,对象的内存地址以及参数传递过程
    win10环境pycharm社区版创建django项目
    组合,菱形继承,子类重用父类2,深度广度查找
    类内的函数共享给对象使用
    模块与面向对象初解
    正则模块,sys模块
    包介绍,与日记模块
    模块运用,文件搜索
    递归,匿名函数
    生成器与简写
  • 原文地址:https://www.cnblogs.com/zy666/p/10504233.html
Copyright © 2011-2022 走看看