|
Некорректное симулирование Nios II системы на Cyclone III. Нужна момощь |
|
|
|
Apr 8 2010, 08:48
|

Частый гость
 
Группа: Участник
Сообщений: 85
Регистрация: 8-04-10
Из: Нижний Новгород
Пользователь №: 56 498

|
Необходимо просимулировать Sopc систему в ModelSim. Документацию по этому на сайте Альтеры прочитал, AN351 выполнил - всё вроде хорошо было. Сейчас надо необходимо сделать тоже самое на cycloneIII embedded evaluation kit, который шел вместе с с платой. НА основе sopcinfo файла создаю BSP библиотеку (с пометкой "только дял симуляции", stdin stdout - через jtag_uart) и стандартое hello world приложение. ЗАпускаю проект на"ios II Modelsim", открывается окно - стандартно компилируется дизайн, запускаю. Процессор, память симмулируются, другие модули вроде тоже. ТОлько jtag_uart модуль БЕЗДЕЙСТВУЕТ, хотя должен по идеи выводить "Hello world". Использую в работе Quartus 9.1 и Nios II SBT, ModelSim 6.5b. Такое проведение связки printf и jtag_uart замечено только на kit'овой библиотеке от платы CycloneIII. Тоже самое делал на стандартнйо kit'овой библиотеке niosII_cycloneII_2c35, которую можно найти в папке nios2eds\examples - проблем никаких не наблюдал. jtag_uart выводил информацию
|
|
|
|
|
 |
Ответов
|
Nov 22 2010, 15:41
|

Частый гость
 
Группа: Участник
Сообщений: 85
Регистрация: 8-04-10
Из: Нижний Новгород
Пользователь №: 56 498

|
Никакой - тишина и спокойствие, чтоб его! Кстати, еще один вопрос. Столкунлся с еще одной проблемой. Как говориться если что-то не получается, а что-то работает, пока будем использовать работающее. Для Cyclone II создал систему структуры, схожей с той, что не запускалсь для Cyclone III. Jtag работает, программа тоже выполняется. Но есть косяк с адресацией. Расшифрую: драйвер моего компонента в этой системе работает следующим образом - тестова программа командой malloc выделяет область памяти, помещает туда данные и передает компоненту этот адрес. Компонент же с помощью интерфейса Avalon MM Master считывает по полученному адресу данные. Но при обращении компоненту по данному адресу readdata оказываетя равным 32'bx. Схема моей системы - в приложении. Цитата(Stewart Little @ Nov 22 2010, 17:04)  Это все делается автоматически, если в SOPC'е указана необходимость симуляции, и в NiosII SBT получен таргет для mem_init_install. Только что вот проверил (проект: niosII economy + onchip_ram + jtag_uart) - все симулируется как положено, в лог "Hello from Nios II!" выводится...
Еще вопросы - в SOPC Builder'е, в свойствах JTAG-UART какие сделаны установки симуляции? Макрос jtag_uart_log в какой момент запускается (до открытия окна wave или после)? Система создавалась для CycloneIII device family, jtag_uart запускаю после открытия окна wave (а есть разница до или после?)
Сообщение отредактировал Shevnnov - Nov 22 2010, 15:37
Эскизы прикрепленных изображений
|
|
|
|
|
Nov 22 2010, 15:56
|

Лентяй
     
Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843

|
Цитата(Shevnnov @ Nov 22 2010, 18:41)  Никакой - тишина и спокойствие, чтоб его! Ну так это означает, что память не проинициализирована dat-файлом. Проверяйте настройки SOPC Builder'а и настройки BSP в NiosII SBT. После компиляции и получения dat- и sym-файлов убедитесь, что они переносятся в моделсимовскую папку (сравните их по размеру и времени создания, например). Далее - как именно Вы запускаете ModelSim? В какой папке работаете? Исполняете ли сетаповский скрипт? Цитата(Shevnnov @ Nov 22 2010, 18:41)  ...Но есть косяк с адресацией. Первым делом проверьте Ваш ниосовский алгоритм и архитектуру Вашего периферийного устройства - нет ли косяков там. Также можете открыть в ModelSim'е Memory List, выбрать там нужную память, и проверить, в те ли адреса и те ли данные Ваша система в эту память пишет.
--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
|
|
|
|
|
Nov 22 2010, 17:42
|

Частый гость
 
Группа: Участник
Сообщений: 85
Регистрация: 8-04-10
Из: Нижний Новгород
Пользователь №: 56 498

|
Цитата Ну так это означает, что память не проинициализирована dat-файлом. Проверяйте настройки SOPC Builder'а и настройки BSP в NiosII SBT. После компиляции и получения dat- и sym-файлов убедитесь, что они переносятся в моделсимовскую папку (сравните их по размеру и времени создания, например). Далее - как именно Вы запускаете ModelSim? В какой папке работаете? Исполняете ли сетаповский скрипт? Какие настройки нужно проверить? В BSP ставлю галку напротив enable_sim_optimize, stdin,stdout и stderr направлены на jtag_uart. ModelSim запускаю из Nios II SBT нажимая на Run "ModelSim Configuration" (файл указан RUN_ON_HDL_SIMULATOR_ONLY_hello_test.elf). Соответственно рабочая папка у ModelSim'a <project_folder>/niosII_cycloneII_mac_sopc_sim . Симуляцию выполняю через скрипт соответсвующими ключами "s", "w", "jtag_uart_log" и run 1ms Цитата(Stewart Little @ Nov 22 2010, 18:56)  Первым делом проверьте Ваш ниосовский алгоритм и архитектуру Вашего периферийного устройства - нет ли косяков там. Также можете открыть в ModelSim'е Memory List, выбрать там нужную память, и проверить, в те ли адреса и те ли данные Ваша система в эту память пишет. С компонентом и архитектуры перефирийного устройства косяков не должно бы быть, так как работая в аналогичной системе, но без использвоания Clock-Crossing Bridge (такая система приведена в папке примеров для NiosII_cycloneII_2c35) работало всё корректно. В Memory List смотрел - адреса вроде те (ну во всяком случае из пула отведенного под ddr)
Сообщение отредактировал Shevnnov - Nov 22 2010, 17:58
|
|
|
|
Сообщений в этой теме
Shevnnov Некорректное симулирование Nios II системы на Cyclone III. Нужна момощь Apr 8 2010, 08:48 Shevnnov Народ, никто не сталкивался что ли с такой проблем... Nov 16 2010, 12:10 alexPec Цитата(Shevnnov @ Nov 16 2010, 15:10) Нар... Nov 19 2010, 20:02 Shevnnov Хм. Интересное решение. Надо попробовать. Отпишусь... Nov 22 2010, 09:47 Shevnnov Попробовал заменить jtag_uart на uart просто - тол... Nov 22 2010, 11:00 Stewart Little Цитата(Shevnnov @ Nov 22 2010, 14:00) Поп... Nov 22 2010, 11:53 Shevnnov Ну ddr_sdram.dat файл обновляется при запуске прое... Nov 22 2010, 11:59 Stewart Little Цитата(Shevnnov @ Nov 22 2010, 14:59) Ну ... Nov 22 2010, 12:10  alexPec Цитата(Stewart Little @ Nov 22 2010, 15:1... Nov 22 2010, 13:10   Stewart Little Цитата(alexPec @ Nov 22 2010, 16:10) Да м... Nov 22 2010, 14:04     Stewart Little Еще раз проверил, уже с DDR-контроллером. Все рабо... Nov 23 2010, 12:07      Shevnnov Цитата(Stewart Little @ Nov 23 2010, 15:0... Nov 23 2010, 13:37       Stewart Little Цитата(Shevnnov @ Nov 23 2010, 16:37) Раз... Nov 23 2010, 13:48 Shevnnov Значит так. Прогресс есть, а именно какой:
Собрал ... Nov 23 2010, 11:00 Kuzmi4 А никто не сталкивался с
Цитата...
# ** Warning: ... Nov 23 2010, 12:17 Shevnnov Урезал код путем использования укророченной версии... Nov 24 2010, 10:23 vadimuzzz Цитата(Shevnnov @ Nov 24 2010, 16:23) Но ... Nov 24 2010, 10:33 Stewart Little Цитата(Shevnnov @ Nov 24 2010, 13:23) Уре... Nov 24 2010, 11:58 Shevnnov Переместив в Linker'е код программы в onchip m... Nov 29 2010, 11:10
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|