VHDL:比较无符号和整数是否正确?

VHDL:比较无符号和整数是否正确?,vhdl,Vhdl,比较(或使用)无符号(来自ieee.numeric_std)和整数是否正确(即,标准操作,所有工具都能正确识别) 例如 ——示例1 如果无符号(a_向量)=6,则 ---例2 a_向量IEEE Std 1076-2008 5.2.3 Integer types“Integer literals是本标准中称为universal_Integer的匿名预定义类型的文字。其他整数类型没有文字。但是,对于每种整数类型,都存在将universal_Integer类型的值转换为相应值的隐式转换(如果有)的整数

比较(或使用)无符号(来自ieee.numeric_std)和整数是否正确(即,标准操作,所有工具都能正确识别)

例如

——示例1
如果无符号(a_向量)=6,则
---例2

a_向量IEEE Std 1076-2008 5.2.3 Integer types“Integer literals是本标准中称为universal_Integer的匿名预定义类型的文字。其他整数类型没有文字。但是,对于每种整数类型,都存在将universal_Integer类型的值转换为相应值的隐式转换(如果有)的整数类型(见9.3.6)。”。这两个运算符的重载由包numeric_std(-2008)中的函数提供:
function“=”(L:UNRESOLVED_UNSIGNED;R:NATURAL)返回布尔值;
function“+”(L:UNRESOLVED_UNSIGNED;R:NATURAL)返回UNRESOLVED_UNSIGNED;
。NATURAL是INTEGER的子类型。literal 6是UNIVERSAL_INTEGER类型的值,并隐式转换为INTEGER类型。16.3包标准
subtype NATURAL的整数范围为0到INTEGER'HIGH;
此处的隐式转换满足子类型NATURAL的约束。在-2008中,类型UNSIGNED是在1996年发布的数字_标准(IEEE标准1076.3-1997)中,类型为UNRESOLVED_UNSIGNED的已解析子类型功能声明中的类型将为无符号类型。-2008更改了解析与子类型关联的方式。IEEE std 1076-2008中包含了软件包数字_std。在所有版本中,不允许实施者从软件包中删除功能。不保证符合IEEE std 1076-1987的工具支持软件包numeric_std。所有符合-1993或更新版本支持包numeric_std的供应商实现。更好的问题可能是:numeric_std是否定义了进行此类比较的运算符?确实定义了,而且它们工作正常,合成也很好。因此,请继续。更好:如果
A_vector
表示无符号数,请将其声明为
unsigned
首先,失去类型转换的丑陋性。IEEE Std 1076-2008 5.2.3整数类型“整数文字是本标准中称为universal_Integer的匿名预定义类型的文字。其他整数类型没有文字。但是,对于每个整数类型,都存在一个隐式转换,将universal_Integer类型的值转换为整数类型的相应值(如果有)(请参阅9.3.6)。“。这两个运算符的重载由包numeric_std(-2008)中的函数提供:
function”=“(L:UNRESOLVED_UNSIGNED;R:NATURAL)返回布尔值;
function”+“(L:UNRESOLVED_UNSIGNED;R:NATURAL)返回UNRESOLVED_UNSIGNED;
。NATURAL是INTEGER的子类型。literal 6是UNIVERSAL_INTEGER类型的值,并隐式转换为INTEGER类型。16.3包标准
subtype NATURAL的整数范围为0到INTEGER'HIGH;
此处的隐式转换满足子类型NATURAL的约束。在-2008中,类型UNSIGNED是在1996年发布的数字_标准(IEEE标准1076.3-1997)中,类型为UNRESOLVED_UNSIGNED的已解析子类型功能声明中的类型将为无符号类型。-2008更改了解析与子类型关联的方式。IEEE std 1076-2008中包含了软件包数字_std。在所有版本中,不允许实施者从软件包中删除功能。不保证符合IEEE std 1076-1987的工具支持软件包numeric_std。所有符合-1993或更新版本支持包numeric_std的供应商实现。更好的问题可能是:numeric_std是否定义了进行此类比较的运算符?确实定义了,而且它们工作正常,合成也很好。因此,请继续。更好:如果
A_vector
表示无符号数,请将其声明为
unsigned
首先,失去了类型转换的丑陋。