Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: C2H для Stratix II
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
Veg@
Возникла проблема с использованием компилятора C2H, пробразующего код на C в его аппаратную реализацию.

Выполнил все шаги из C2H User Guide (файл примера), но при запуске программы через Nios IDE в консоли выдается ошибка :
Код
Reading System ID at address 0x021208B8:
    ID value does not match: read 0x13166CD3; expected 0x527F43E6
    Timestamp value does not match: image on board is older than expected
    Read timestamp 10:05:44 2009/02/26; expected 20:18:34 2010/02/05
The software you are downloading may not run on the system which is currently
configured into the device.  Please download the correct SOF or recompile.
Пример в User Guide приведен для Cyclone II (сборка Nios - standard), я же использую Stratix II (DK-NIOS-2S60N) (сборка Nios - standard). Погуглив, нашел описание и решение (стр. 14-15) данной проблемы. Но файл Makefile я нашел только в папке проекта Debug и в нем не было указанных строк. Поэтому в Nios IDE отключил параметр "Validate Nios II system ID before software download".

В результате, программа загрузилась в ПЛИС, но результат ее выполнения был таков :
Код
Copy beginning
ERROR: Source and destination data do not match. Copy failed.
Total time: 0 ms
Без применения C2H все работало нормально. Попробовал залить упрощенную версию с ускоренной компилятором C2H функцией do_dma() (также без проверки system ID). Результат получился следующий (хотя без ускорения все работает как надо) :
Код
beginning
Total time: 0 ms  k: -1


Кто-нибудь сталкивался с данной проблемой? На каком железе? Есть ли варианты решения? Спасибо.
Sergey'F
В makefile Вы того, что искали, не нашли, так как описанная проблема относится к BSP маршруту проектирования, а Вы, судя по описанию, работаете с Nios II IDE. Это разные вещи.

А если после всего этого открыть вручную в Квартусе SOPC Builder и перегенерировать систему/перекомпилировать проект вручную, проверив назначения адресов и т.д. - проблема не уходит?

Я не пробовал CIIH, но все это странно. По моему, Вы не совсем там копаете. Компонент sysid - штука полезная. Это ведь просто по сути регистр, из которого читается значение (в Вашем случае оно прочитало 0x13166CD3, а ожидалось 0x527F43E6). Оно обновляется при каждой генерации системы и предназначено как раз для того, чтобы версии аппаратуры (прошивки ПЛИС) и софта не рассинхронизировались.

При создании программного проекта в Nios II IDE анализируется файл .ptf (в BSP маршруте используется файл с расширением .sopcinfo). Эти файлы описывают всю Вашу периферию - имена модулей, их базовые адреса и т.д.. Эти файлы генерируются при работе SOPC Builder одновременно с HDL исходниками для компиляции в Quartus.

И теперь еще раз в этом ключе прочитайте:
Timestamp value does not match: image on board is older than expected
Read timestamp 10:05:44 2009/02/26; expected 20:18:34 2010/02/05

Старая прошивка в ПЛИС, а для создания библиотеки использован новый .ptf. Или значение читается не оттуда (но это вряд ли - слишком нормальная дата определяется из считанного значения).

Есть предположение - так как CIIH требует отдельной лицензии, Quartus при компиляции создал файл прошивки с именем la-la_time_limited.sof и это и есть новая прошивка, а у Вас грузится la-la.sof, который был создан раньше.
Veg@
Цитата
А если после всего этого открыть вручную в Квартусе SOPC Builder и перегенерировать систему/перекомпилировать проект вручную, проверив назначения адресов и т.д. - проблема не уходит?
Нет, проблема остается.
Цитата
Компонент sysid - штука полезная.
Да, безусловно это вещь необходимая. Но, как я понял из Errata Sheet (ссылка на него в первом посте), описанная мною проблема относится именно к Stratix II 2S60 RoHS, которую я и использую.
Цитата
Есть предположение - так как CIIH требует отдельной лицензии, Quartus при компиляции создал файл прошивки с именем la-la_time_limited.sof и это и есть новая прошивка, а у Вас грузится la-la.sof, который был создан раньше.
Да, об этом упомянуто в C2H User Guide, но на деле имеется только один la-la.sof файл.

Проблема остается нерешенной. Может быть кто-нибудь, владеющий аналогичным железом, при наличии свободного времени попытается выполнить приведенные в User Guide шаги, чтобы опробовать C2H у себя и расскажет о полученных результатах? Буду крайне благодарен.
Serhiy_UA
Цитата(Veg@ @ Feb 6 2010, 22:17) *
...чтобы опробовать C2H у себя и расскажет о полученных результатах? Буду крайне благодарен.

Немного обсуждалось здесь http://electronix.ru/forum/index.php?showtopic=45479&hl=
и здесь 3. http://electronix.ru/forum/index.php?showtopic=46550&hl=
,и еще где-то.

Советую с С2Н не связываться, так как это очень не дешево, и надежно от нас таких-сяких защищено.
Нужно самому синтезировать что-то напоминающее вызов функции и ее реализацию, или аппаратно, или последовательно на FSM, а в крайнем случае, добавить еще один NiosII.
Ведь что такое С2Н - это подспорье для NiosII, для распараллеливания задач, а по сути еще один рекламно-коммерческий ход.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.