MINI_FPGA (Cyclone IV) #13 Как создать ROM-таблицу поиска в Quartus с помощью IP-ядер Altera?
Автор: KONTAKT`S
Загружено: 2025-11-28
Просмотров: 23
Покупал MINI_FPGA тут https://megabonus.com/y/7lvya
===
В этом выпуске разбираем, как создать ROM-таблицу поиска (Lookup Table) в Quartus с помощью IP-ядер Altera, а данные для неё сгенерировать не в Matlab, а скриптом на Python (.mif-файл для ROM).
Пошагово проходим путь от генерации синусоидальной таблицы в Python до подключения ROM-IP к нашему проекту на FPGA Cyclone IV.
В видео разбираем:
как сгенерировать .mif-файл в Python (например, таблицу синуса);
структура .mif и на что обратить внимание (DEPTH, WIDTH, RADIX);
создание ROM через IP Catalog (Altera/Intel) в Quartus;
настройка разрядности и глубины памяти под нашу таблицу;
инициализация ROM нашим .mif-файлом;
генерация HDL-файла и пример использования в проекте MINI_FPGA (Cyclone IV).
🔧 Проект и исходники:
GitHub: https://github.com/AIDevelopersMonste...
Если видео было полезным — ставь лайк, подписывайся и пиши в комментариях, какие ещё IP-ядра и примеры на MINI_FPGA (Cyclone IV) разобрать в следующих частях.
#FPGA #Quartus #CycloneIV #MINI_FPGA #ROM #LookupTable #Verilog #VHDL #Python
Краткая инструкция (шпаргалка к ролику)
1. Генерация .mif в Python
Простейшая идея (пример для синуса 8 бит, 4096 точек):
в Python (NumPy) считаем значения sin() от 0 до 2π с нужным количеством точек (например, 4096);
нормируем к диапазону 0…255 и округляем до целых;
формируем .mif примерно такого вида:
WIDTH=8;
DEPTH=4096;
ADDRESS_RADIX=UNS;
DATA_RADIX=UNS;
CONTENT BEGIN
0 : 128;
1 : 130;
...
4095: 126;
END;
Скрипт кладём в папку проекта и запускаем — на выходе получаем sinrom.mif.
2. Создание ROM через IP-ядро в Quartus
Открыть Quartus и ваш проект MINI_FPGA.
Зайти в IP Catalog → выбрать On-Chip Memory → ROM: 1-PORT (или аналогичный ROM IP от Altera/Intel).
В настройках IP:
Data width (WIDTH): 8 бит (под наши данные);
Number of words (DEPTH): 4096 (как в .mif).
На шаге инициализации ROM:
указать Use this file for ROM initialization;
выбрать ваш sinrom.mif.
Оставить только нужный выход (обычно q), добавить регистры по желанию (синхронный ROM).
Нажать Finish и сгенерировать файлы:
файл IP (например, dds_sin_rom.v или sin_rom.v);
файл примерной инстанциации (можно скопировать интерфейс).
3. Подключение ROM в проект
Добавить сгенерированный .v/.vhd в проект (Assignments → Settings → Files или просто через Project → Add/Remove Files).
В вашем верхнеуровневом модуле:
объявить сигналы адреса (например, счётчик фазы DDS);
подключить выход ROM к дальнейшей логике (ЦАП, ШИМ, фильтры и т.п.).
Запустить Analysis & Synthesis → Compile и прошить плату MINI_FPGA (Cyclone IV).
Это полный базовый цикл создания проекта в Quartus для платы MINI_FPGA (Cyclone IV).
📥 *Исходники проекта, схемы, комментарии в коде и документация доступны здесь:*
👉 GitHub: https://github.com/AIDevelopersMonste...
Доступные форматы для скачивания:
Скачать видео mp4
-
Информация по загрузке: