Полная версия этой страницы:
Ниос на работает на 100МГц
карамболь
Oct 7 2010, 13:15
Квартус 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, 13:36
Цитата(карамболь @ Oct 7 2010, 20:15)

cpu_0.sdc и triple_speed_ethernet_0_constraints.sdc оба сгенерированы автоматически.
Помогите, пожалуйста, разобраться, что и куда писать. Спасибо.
изучите "таймквест для чайников":
http://embedders.org/blog/des00+выкладывайте отчет о компиляции, констрейны и картинку из SOPC-билдера.
карамболь
Oct 7 2010, 14:02
"таймквест для чайников" читал, но не понял где задавать клоки (в cpu_0.sdc или создать sdc для PLL ?) Пробовал по всякому, но не вышло.
отчет
vadimuzzz
Oct 7 2010, 14:51
создайте файл имя_проекта.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.
карамболь
Oct 7 2010, 15:13
спасибо, помогло ) У меня появилась пара вопросов, если не возражаете (для закрепления пройденного)
1. Почему, без этих изменений работало на 50 МГц (т.е. клоки формируются и без скриптов) ?
2. Почему Ниос не стартовал на 100 МГц, при этом на 50 работал и, что самое непонятно, работал передатчик TSE, который тактируется от того же PLL, с выходными клоками которого были проблемы ?
Большое спасибо.
vadimuzzz
Oct 7 2010, 22:46
трудно сказать, сообщение об ошибке в ниос-иде намекает на кривые тайминги памяти. м.б. по умолчанию таймквест их оптимизирует под какой-то клок, сильно отличающийся по частоте. насчет работы на 50МГц, до тех пор пока это не подтверждено отчетом таймквеста, я бы считал это случайностью, м.б. при дрейфе времянок на климате, например, были бы труднообъяснимые сбои. короче, это слишком сложная тема, освоить таймквест будет проще

upd: в аттаче пример sdc для проекта с eth
карамболь
Oct 8 2010, 04:29
спасибо
Спасибо, тоже пригодится.
P.S. Система с NIOS работает на 120 MHz.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.