Задача
Реализовать ПЗУ, возвращающее квадрат числа по адресу 0…15.
Тип схемы и среда
Комбинационная схема. Оператор TABLE задаёт неизменяемое отображение адрес→данные.
Алгоритм работы
TABLE addr[] => data[] перечисляет 16 предвычисленных значений. Компилятор синтезирует это в комбинационную логику или таблицу переходов.
Код на AHDL
% Проект 22: ПЗУ-таблица (квадраты 0..15) % SUBDESIGN ahdl_22_pzu_tablitsa ( addr[3..0] : INPUT; data[7..0] : OUTPUT; ) BEGIN TABLE addr[] => data[]; 0 => 0; 1 => 1; 2 => 4; 3 => 9; 4 => 16; 5 => 25; 6 => 36; 7 => 49; 8 => 64; 9 => 81; 10 => 100; 11 => 121; 12 => 144; 13 => 169; 14 => 196; 15 => 225; END TABLE; END;
Пояснения
TABLE удобен для таблиц функций (синус, гамма-коррекция, перекодировки). Для больших ПЗУ применяют LPM_ROM с файлом инициализации .mif.
Инструменты и справочники по теме
📦 help-user.ru — скупка и ремонт компьютерной техники. Продать ноутбук, ПК, комплектующие — help-user.ru.
Что дальше
Скачайте ahdl_22_pzu_tablitsa.tdf, создайте проект в MAX+PLUS II или Quartus,
назначьте выводы под свою плату и скомпилируйте. Остальные 49 разработок — в
разделе проектов на AHDL.