dortonyan 1 4 января Опубликовано 4 января (изменено) · Жалоба Приветствую всех. Есть у меня проект, который собирается и работает на разных ФПГА (альтеровские циклоны и латтисовские FPGA). А теперь попробовал собрать этот же проект под MAX10 и вылезла проблема инициализации ROM. Квартус скачал версии prime 21.1.0. Плисину для проекта задал 10М08. Модуль памяти описан как массив с портами для чтения и записи, а так же с начальной инициализацией стандартной верилоговской ф-ей $readmemh с загрузкой данных из файла. Сначала при компиляции квартус выдал ошибку: Error (276003): Cannot convert all sets of registers into RAM megafunctions when creating nodes. The resulting number of registers remaining in design exceeds the number of registers in the device or the number specified by the assignment max_number_of_registers_from_uninferred_rams. This can cause longer compilation time or result in insufficient memory to complete Analysis and Synthesis Вроде как не хватает ячеек, хотя для моего проекта там ресурсов с избытком (в разы). Попробовал убрать функционал для записи в память, оставил только чтение и начальную инициализацию. И стало понятно почему не хватало ресурсов: проект собрался, но ROM почему-то синтезируется ячейками, не подключаются блоки M9K памяти (для RAM подключаются, для ROM - нет). Настройки синтеза не трогал, все по умолчанию. Но на всякий случай перепроверил опцию синтеза ROM из ячеек, опция включена. Кто-нибудь работал с MAX10 плисинами, что за фигня? P.S. Поторопился с созданием топика. Пока писал, нашел проблему. ) Надо просто в опциях девайса выбрать тип конфигурации с начальной инициализацией памяти: https://russianblogs.com/article/25521715884/ И такая опция есть только на МАХ10 плисинах с индексом SA. Изменено 4 января пользователем dortonyan Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
StewartLittle 45 6 января Опубликовано 6 января · Жалоба В 05.01.2024 в 00:23, dortonyan сказал: И такая опция есть только на МАХ10 плисинах с индексом SA. Не совсем так. Данная опция есть у всех MAX10 с удвоенным объемом флэша - это варианты F (Flash) и A (Analog). И это понятно почему - данные для инициализации ROM должны же где-то храниться... И, кстати, именно поэтому у MAX10 в варианте С такой опции нет. Что касается индексов S или D - то они тут не при делах. Они обозначают наличие либо отсутствие внутреннего LDO-регулятора напряжения питания ядра ПЛИС, ну или, другими словами, минимальное количество напряжений питания - одно (S, Single) или два (D, Double). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dortonyan 1 15 января Опубликовано 15 января · Жалоба StewartLittle, спасибо за пояснения. Я просто выбирал между плисинами в корпусе QFP-144, а там только два типа: SA и SC. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться