Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ниос на работает на 100МГц
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
карамболь
Квартус 9.1.
Тактирую Ниос из PLL, при тактовом 50 МГц софтина в контроллер грузится, при попытке увеличить тактовый до 100МГц получаю сообщение

Verifying 00100000 ( 0%)
Verify failed between address 0x100000 and 0x101CBB
Leaving target processor paused

Попытка задать констрейны закончилась неудачно (или ошибки при компиляции или тоже самое Leaving target processor paused).
Столкнулся с констрайнами в первый раз, синтаксис привел в уныние.
В моем прокте 2 файла SDC:
cpu_0.sdc и triple_speed_ethernet_0_constraints.sdc оба сгенерированы автоматически.
Помогите, пожалуйста, разобраться, что и куда писать. Спасибо.

пысы. Кусок файла верхнего уровня прилагается
vadimuzzz
Цитата(карамболь @ Oct 7 2010, 20:15) *
cpu_0.sdc и triple_speed_ethernet_0_constraints.sdc оба сгенерированы автоматически.
Помогите, пожалуйста, разобраться, что и куда писать. Спасибо.

изучите "таймквест для чайников":
http://embedders.org/blog/des00
+выкладывайте отчет о компиляции, констрейны и картинку из SOPC-билдера.
карамболь
"таймквест для чайников" читал, но не понял где задавать клоки (в cpu_0.sdc или создать sdc для PLL ?) Пробовал по всякому, но не вышло.

отчет
vadimuzzz
создайте файл имя_проекта.sdc, остальные можно пока закомментировать (символ #), потом то, что нужно перенести в основной файл

create_clock -name {altera_reserved_tck} -period 10MHz [get_ports {altera_reserved_tck}] #JTAG
create_clock -name {sys_clk} -period 50MHz [get_ports {sys_clk}] #опорный клок для PLL, подставьте свое имя порта
#повторить предыдущий шаг для PLL, которая генерит клок для eth

derive_pll_clocks -create_base_clocks #создаются все выходные клоки PLL
derive_clock_uncertainty #вычисляется джиттер

все, клоки готовы, теперь надо обконстрейнить I/O, но если память у процессора вся on-chip, то уже должно работать, хотя таймквест будет возникать (главным образом из-за eth и jtag). завтра выложу пример с eth.
карамболь
спасибо, помогло ) У меня появилась пара вопросов, если не возражаете (для закрепления пройденного)
1. Почему, без этих изменений работало на 50 МГц (т.е. клоки формируются и без скриптов) ?
2. Почему Ниос не стартовал на 100 МГц, при этом на 50 работал и, что самое непонятно, работал передатчик TSE, который тактируется от того же PLL, с выходными клоками которого были проблемы ?
Большое спасибо.
vadimuzzz
трудно сказать, сообщение об ошибке в ниос-иде намекает на кривые тайминги памяти. м.б. по умолчанию таймквест их оптимизирует под какой-то клок, сильно отличающийся по частоте. насчет работы на 50МГц, до тех пор пока это не подтверждено отчетом таймквеста, я бы считал это случайностью, м.б. при дрейфе времянок на климате, например, были бы труднообъяснимые сбои. короче, это слишком сложная тема, освоить таймквест будет проще smile.gif

upd: в аттаче пример sdc для проекта с eth
карамболь
спасибо
COMA
Спасибо, тоже пригодится.

P.S. Система с NIOS работает на 120 MHz.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.