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);

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

相关阅读

热销商品

304不锈钢连胶条喉箍R型固定夹管夹U型电缆电线连胶条卡箍橡胶减

304不锈钢连胶条喉箍R型固定夹管夹U型电缆电线连胶条卡箍橡胶减震,是一种高效、耐用的管路连接解决方案。该产品采用高品质304不锈钢材料,具有优异的耐腐蚀性和强度...
0.29

丁晴橡胶条实心扁条耐油方形胶条减震缓冲胶皮耐磨耐压防撞密封条

丁晴橡胶条(NBR)是一种高性能合成橡胶密封材料,具有优异的耐油性、耐磨性和耐压性,广泛应用于机械、汽车、液压设备及建筑密封领域。其实心扁条与方形截面设计,结构稳...
1.35

硅胶发泡圆条硅胶发泡条耐高温密封条海绵条 1mm/2/3/4/5/8/10/12

硅胶发泡圆条(又称硅胶发泡条、耐高温密封条、海绵条)是一种高性能密封材料,采用优质硅胶发泡工艺制成,具有优异的耐高温、耐老化、阻燃及弹性恢复性能。常见规格包括...
1.41

内六角扳手 拐杖T型球头平头6棱方螺丝刀工具2 2.5 3 4 5 6 8mm

内六角扳手拐杖是一款集多功能于一体的便携工具,采用T型人体工学设计,握感舒适,操作省力。其头部配有球头与平头双模式,兼容多种内六角螺丝,适用于家具组装、自行车维...
2.79

民宿服装店克鲁宁灯罩创意客厅餐厅卧室书房纸灯北欧装饰云朵吊灯

克鲁宁灯罩创意纸灯,以北欧简约美学为灵感,融合云朵般柔和造型,为民宿、服装店及家居空间注入温馨氛围。采用环保纸质材料,轻盈透光,营造温暖柔和的漫射光效,适用于客厅...
38.15

网站栏目