Нечувствительность к регистру VHDL - PullRequest
1 голос
/ 27 мая 2020

Я видел, что в ключевых словах VHDL используются заглавные буквы, вероятно, по причине стиля кодирования, например IF - THEN - ELEIF - ELSE - END IF; БИБЛИОТЕКА IEEE; ИСПОЛЬЗУЙТЕ numeric_std.ALL; Тем не менее, в нем говорится, что VHDL «язык по большей части НЕ чувствителен к регистру». Поэтому я предполагаю, что все ключевые слова, перечисленные выше, могут быть написаны и строчными буквами.

Кто-нибудь хорошо осведомлен о тех немногих исключениях, что ключевые слова должны быть (или должны быть) заглавными буквами?

1 Ответ

3 голосов
/ 27 мая 2020

Насколько мне известно, в VHDL учитывается регистр только литералы (фиксированные значения в вашем коде) типа character и string. Так, например, тип std_logic - это тип перечисления из character s. В любом 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). Любой язык, на котором guish нельзя различать строчные и прописные буквы, будет действительно странным.

...