VHDL 不区分大小写
VHDL case insensitivity
我看到 VHDL 关键字的大写字母被使用,可能是编码风格的原因,例如 IF - THEN - ELEIF - ELSE - END IF;图书馆 IEEE;使用 numeric_std.ALL;但是,它说 VHDL "language is , for the most part, NOT case sensitive"。因此,我假设上面列出的所有关键词也可以用小写字母来写。
有没有人知道关键字需要(或必须)大写的少数例外情况?
据我所知,VHDL 中唯一区分大小写的是 文字 (代码中的固定值),类型为 character
和 string
.因此,例如,std_logic
类型是 枚举类型 的 character
类型。对于任何 character
,大写字母都不同于小写字母。因此,例如 'X'
和 'x'
是不同的字符。因此,例如,如果将 'X'
分配给 std_logic
类型的内容,则必须使用大写 'X'
而不是小写 'x'
,因为std_logic
类型就是这样定义的。例如:
my_signal <= 'X';
可以,但是
my_signal <= 'x';
不是,因为 'x'
不是有效的 std_logic
值。
所以,基本上,VHDL 不区分大小写。当您处理 character
s(和 string
s,它们只是 character
s 的数组时,看起来可能就是这样。任何无法区分大小写字母的语言都是一种奇怪的语言。
我看到 VHDL 关键字的大写字母被使用,可能是编码风格的原因,例如 IF - THEN - ELEIF - ELSE - END IF;图书馆 IEEE;使用 numeric_std.ALL;但是,它说 VHDL "language is , for the most part, NOT case sensitive"。因此,我假设上面列出的所有关键词也可以用小写字母来写。
有没有人知道关键字需要(或必须)大写的少数例外情况?
据我所知,VHDL 中唯一区分大小写的是 文字 (代码中的固定值),类型为 character
和 string
.因此,例如,std_logic
类型是 枚举类型 的 character
类型。对于任何 character
,大写字母都不同于小写字母。因此,例如 'X'
和 'x'
是不同的字符。因此,例如,如果将 'X'
分配给 std_logic
类型的内容,则必须使用大写 'X'
而不是小写 'x'
,因为std_logic
类型就是这样定义的。例如:
my_signal <= 'X';
可以,但是
my_signal <= 'x';
不是,因为 'x'
不是有效的 std_logic
值。
所以,基本上,VHDL 不区分大小写。当您处理 character
s(和 string
s,它们只是 character
s 的数组时,看起来可能就是这样。任何无法区分大小写字母的语言都是一种奇怪的语言。