Оператор Truth Table используется для определения комбинационной логики или для определения поведения автоматов. В таблицах истинности, используемых в AHDL каждая строка таблицы состоит из комбинации входных значений и соответствующих этой комбинации выходных значений. Эти выходные значения могут использоваться как обратные связи для определения переходов автоматов из одного состояния в другое, а также его выходов.
Следующий пример демонстрирует использование оператора Truth Table:
TABLE
a0, f[4..1].q => f[4..1].d, control;
0, B"0000" => B"0001", 1;
0, B"0100" => B"0010", 0;
1, B"0XXX" => B"0100", 0;
X, B"1111" => B"0101", 1;
END TABLE;
Оператор Truth Table имеет следующие характеристики:
¨ Заголовок таблицы истинности состоит из ключевого слова TABLE, за которым следует разделенный запятыми список входов, символ (=>) и разделенный запятыми список выходов таблицы. Заголовок таблицы истинности заканчивается символом (;).
¨ Входы таблицы истинности являются булевскими выражениями; выходы являются переменными. В примере, показанном выше, входными сигналами являются a0 и f[4..1].q; выходными сигналами являются f[4..1] и control.
Тело таблицы истинности состоит из одного или более компонентов, каждый из которых представляет одну или более строку и заканчивается символом (;).
Каждый компонент состоит из разделенного запятыми списка входов и разделенного запятыми списка выходов. Входы и выходы разделены символом (=>).
Каждый сигнал имеет однозначное соответствие с значениями в каждом компоненте тела таблицы истинности. Таким образом, первый компонент в примере, показанном выше, определяет, что когда a0 имеет значение 0, а f[4..1].q имеет значение B”0000”, то f[4..1].d примет значение B”0001”,
а сигнал control примет значение 1.