Перейти к содержанию
    

MAX10_проблема

Приветствую всех.

Есть у меня проект, который собирается и работает на разных ФПГА (альтеровские циклоны и латтисовские 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.

Изменено пользователем dortonyan

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 05.01.2024 в 00:23, dortonyan сказал:

И такая опция есть только на МАХ10 плисинах с индексом SA.

Не совсем так.

Данная опция есть у всех MAX10 с удвоенным объемом флэша - это варианты F (Flash) и A (Analog). И это понятно почему - данные для инициализации ROM должны же где-то храниться...

И, кстати, именно поэтому у MAX10 в варианте С такой опции нет.

Что касается индексов S или D - то они тут не при делах. Они обозначают наличие либо отсутствие внутреннего LDO-регулятора напряжения питания ядра ПЛИС, ну или, другими словами, минимальное количество напряжений питания - одно (S, Single) или два (D, Double).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

StewartLittle, спасибо за пояснения.

Я просто выбирал между плисинами в корпусе QFP-144, а там только два типа: SA и SC.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...