VHDL同名声明

VHDL同名声明,vhdl,Vhdl,我是一个VHDL新手,我有一些简单的问题 VHDL位向量的“宽度”是多少 例如,x“1101”:宽度=4 我能给信号和变量取相同的名字吗 比如说, signal SameNAME : std_logic; variable SameNAME : std_logic; signal SameName : std_logic_vector; 这合法吗 多谢各位 VHDL位向量的“宽度”是多少 例如,x“1101”:宽度=4 表达式的正确术语是位字符串文字 一种位字符串文字,通过将基16位扩展为其

我是一个VHDL新手,我有一些简单的问题

VHDL位向量的“宽度”是多少

例如,x“1101”:宽度=4

我能给信号和变量取相同的名字吗

比如说,

signal SameNAME : std_logic;
variable SameNAME : std_logic; 
signal SameName : std_logic_vector;
这合法吗

多谢各位

VHDL位向量的“宽度”是多少

例如,x“1101”:宽度=4

表达式的正确术语是位字符串文字

一种位字符串文字,通过将基16位扩展为其等效值,具有等效字符串文字值。参见IEEE Std 1076-2008,15.8位字符串文字,第6段中的表格和第5段:

位字符串文字的值为字符串文字。字符串文字是由位值构成的,首先获得一个简化的位值,包括删除下划线字符的位值,然后获得一个扩展的位值。最后,如果需要,可以通过调整扩展位值来获得字符串文字值

如果基本说明符是B、UB或SB,则扩展位值是简化位值本身。如果基本说明符为O、UO或SO(分别为X、UX或SX),则扩展位值是通过将简化位值的每个字符替换为三个(分别为四个)字符的序列而获得的字符串。对于解释为扩展数字的简化位值中的字符,替换顺序如下:

对于简化值中未解释为扩展数字的字符,替换序列中的每个字符与替换的字符相同

如果将位字符串文字展开为等效字符串值,其长度将为16,可通过计算“长度”属性(例如
someone'length
)找到,结果字符串值将为
“0001000010000001”

我能给信号和变量取相同的名字吗

比如说,

signal SameNAME : std_logic;
variable SameNAME : std_logic; 
signal SameName : std_logic_vector;
这合法吗

15.4.2基本标识符,第3段:

基本标识符的所有字符都是有效的,包括插入字母或数字与相邻字母或数字之间的任何下划线字符。仅在使用相应的大写和小写字母方面不同的基本标识符被视为相同


否。仅在相同情况下不同的基本标识被视为相同。如果要区分大小写,请使用扩展标识符。

VHDL不区分大小写。
x“1101”
有16位,因为您使用的是十六进制文字。