VHDL自定义类型

时间:2023-03-10作者:佚名

在VHDL中,用户自定义库的类型有几种类型:枚举类型、整数和实数类型、数组类型、记录类型、子类型。

VHDL自定义类型定义语句TYPE和子类型定义语句SUBTYPE实现用户自定义数据类型。

VHDL自定义类型(1)枚举类型

枚举该类型的所有可能的值。格式:

如:type std_logic is('U','X','0','1','Z','W','L','H','-)

type 类型名称 is (枚举文字{,枚举文字});

枚举类型的编码:

综合器自动实现枚举类型元素的编码,一般将第一个枚举量(最左边)编码为0,以后的依次加1。

编码用位矢量表示,位矢量的长度将取所需表达的所有枚举元素的最小值。

(2)整数类型

用户定义的整数类型是标准包中整数类型的子范围。格式:

例:type my_integer is integer range 0 to 9;

(3)数组类型

数组:同类型元素的集合。VHDL支持多维数组。

多维数组的声明:

type byte is array(7 downto 0) of bit;

type vector is array(3 downto 0) of byte;

限定数组、非限定数组、属性:

type 类型名称 is range 整数范围;

限定数组:

其索引范围有一定的限制。

type 数组名 is array(数组范围) of 数据类型;

非限定数组:数组索引范围被定义成一个类型范围。

type 数组名 is array(类型名称 range <>) of 数据类型;

属性:VHDL自定义类型VHDL为多种类型定义了属性。

(4)记录类型

记录是不同类型的名称域的集合。

格式如下:

访问记录体元素的方式:记录体名.元素名

type 记录类型名is record

元素名:数据类型名;

元素名:数据类型名;

(5)子类型

子类型是已定义的类型或子类型的一个子集。

格式:

bit_vector 类型定义如下:

type bit_vector is array (natural range <>) of bit;

如设计中只用16bit;可定义子类型如下:

subtype my_vector is bit_vector(0 to 15);

注:子类型与基(父)类型具有相同的操作符和子程序。可以直接进行赋值操作。

热销商品

12V星空顶筒灯嵌入式阳台卧室客厅氛围迷你呼吸小射灯满天星天花

12V星空顶筒灯是一款专为营造浪漫氛围而设计的迷你嵌入式射灯,适用于阳台、卧室、客厅等空间。采用低功耗LED光源,安全节能,光线柔和均匀,支持呼吸模式与满天星效果,可...
¥ 7.65

公牛官方旗舰店开关插座空调16A插座五孔10A面板暗装多孔G12白灰

公牛官方旗舰店提供一系列高质量的开关插座和空调配件。这款16A插座五孔面板采用暗装设计,适用于多种安装环境,如墙面、天花板等。它具有10A的电流容量,可以满足家庭...
¥ 5.55

电位器旋钮电流调节螺帽直流逆变电焊机二保焊送丝机通用旋钮B102

电位器旋钮电流调节螺帽适用于直流逆变电焊机和二保焊送丝机,是一款通用的旋钮B102。该旋钮采用优质材料制造,具有耐磨损、耐高温、耐腐蚀等特点,能够长时间稳定运行...
¥ 0.7

喜美诺排插插座面板多孔排插家用宿舍接线板插排国标线板延长线

喜美诺排插,一款精心设计的多孔插座面板,专为家庭和宿舍环境而造。它不仅提供便捷的接线体验,更符合国标安全标准,确保使用过程中的安全与稳定。这款排插采用高质量材...
¥ 11.9

O型圈氟橡胶圆条丁腈胶硅胶垫片防水O三元乙丙EPDM密封件骨架油封

O型圈、氟橡胶圆条、丁腈胶、硅胶垫片、三元乙丙(EPDM)密封件及骨架油封是广泛应用于机械、汽车、航空航天及建筑等领域的关键密封元件。氟橡胶耐高温、耐腐蚀,适用...
¥ 1

网站栏目