Общие сведения
Алфавит языка - набор символов, допустимый в описаниях: латинские буквы, цифры и специальные символы. Регистр имеет значение! Обычно используется нижний регистр.
Комментарий - пояснение, не влияющие на компиляцию, начинается с двух символов // (знак деления на клавиатуре), допускает русские буквы и любые символы. Фрагмент в скобках /* */ - также комментарий. Такие скобки можно использовать при отладке для временного исключения фрагментов из компиляции описания.
Имя модуля, или сигнала (идентификатор) должно начинаться с буквы, или символа подчеркивания, может содержать также цифры и знак доллара. В имени допустимы пробелы.
Сигналы
Сигналы представляют физический смысл всех переменных (аргументов и функций) языка Verilog.
Значения сигналов - 0, 1, z, x, где значение z соответствует отключенному состоянию выхода элемента с темя состояниями, а x означает, что сигнал не определен и может принимать любое значение 0 или 1.
Типы сигналов:
- wire - провод
- reg - регистр
Сигнал типа wire моделирует провод, к которому непрерывно прилагается воздействие от источника сигнала, который называют драйвер (driver). По умолчанию все сигналы в описаниях устанавливаются в тип wire. Выходные сигналы комбинационных схем имеют тип wite, для их формирования используют параллельные операторы, начинающиеся с ключевого слова assign - назначать.
Сигнал типа reg является выходным сигналом элемента памяти, этот тип необходимо указывать в описании. Сигналы типа reg формируют последовательные операторы с ключевым словом always - всегда.
Если в описании не указана разрядность сигнала, то по умолчанию она составляет 1 бит.