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 中唯一区分大小写的是 文字 (代码中的固定值),类型为 characterstring.因此,例如,std_logic 类型是 枚举类型 character 类型。对于任何 character ,大写字母都不同于小写字母。因此,例如 'X''x' 是不同的字符。因此,例如,如果将 'X' 分配给 std_logic 类型的内容,则必须使用大写 'X' 而不是小写 'x',因为std_logic 类型就是这样定义的。例如:

my_signal <= 'X'; 

可以,但是

my_signal <= 'x';

不是,因为 'x' 不是有效的 std_logic 值。

所以,基本上,VHDL 不区分大小写。当您处理 characters(和 strings,它们只是 characters 的数组时,看起来可能就是这样。任何无法区分大小写字母的语言都是一种奇怪的语言。