реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Некорректное симулирование Nios II системы на Cyclone III. Нужна момощь
Shevnnov
сообщение Apr 8 2010, 08:48
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 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 выводил информацию
Go to the top of the page
 
+Quote Post
Shevnnov
сообщение Nov 16 2010, 12:10
Сообщение #2


Частый гость
**

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



Народ, никто не сталкивался что ли с такой проблемой? Просто сейчас встала острая необходимость отсимулировать кокретный дизайн, т.к. при запуске на тестовой плате повоедение нестабильное. И хочется посмотреть вообще как и в какой последовательности там сигналы ходят.
Отладка надизайне от на Cyclone II из примеров к nios II ide не помогает, так как по другому собрана система и другие исп. компоненты (в частности DDR контроллер)
Go to the top of the page
 
+Quote Post
alexPec
сообщение Nov 19 2010, 20:02
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(Shevnnov @ Nov 16 2010, 15:10) *
Народ, никто не сталкивался что ли с такой проблемой? Просто сейчас встала острая необходимость отсимулировать кокретный дизайн, т.к. при запуске на тестовой плате повоедение нестабильное. И хочется посмотреть вообще как и в какой последовательности там сигналы ходят.
Отладка надизайне от на Cyclone II из примеров к nios II ide не помогает, так как по другому собрана система и другие исп. компоненты (в частности DDR контроллер)

Пробовал собирать ниос, но "только для симуляции" не ставил, как обычно собрал, инициализировав внутреннюю память своей программой (мне хватило внутренней памяти), сначала был jtag uart, я не знал как его симулировать, на выходе были иксы, естессно. Убрал jtagdebug вообще, поставил нормальный UART - все симулировалось отлично, что ожидал, то и получил на выходе уарта, в т.ч. на gate-level.
Go to the top of the page
 
+Quote Post
Shevnnov
сообщение Nov 22 2010, 09:47
Сообщение #4


Частый гость
**

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



Хм. Интересное решение. Надо попробовать. Отпишусь о результатах. Только не понятно почему кроме jtag_uart остальное не активное у меня в проекте. Пробовал просто собирать систему на nios II под Cyclone III, используя только CPU, ddr контроллер, jtag_uart, pll и мой компонент
Go to the top of the page
 
+Quote Post
Shevnnov
сообщение Nov 22 2010, 11:00
Сообщение #5


Частый гость
**

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



Попробовал заменить jtag_uart на uart просто - толку нет. Есть подозрение, что почему то в память не инициализируется программа. Хотя команда mem_init_install выполняется в Nio II SBT. Как можно наверняка проинициализировать память?
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Nov 22 2010, 11:53
Сообщение #6


Лентяй
******

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



Цитата(Shevnnov @ Nov 22 2010, 14:00) *
Попробовал заменить jtag_uart на uart просто - толку нет. Есть подозрение, что почему то в память не инициализируется программа. Хотя команда mem_init_install выполняется в Nio II SBT. Как можно наверняка проинициализировать память?

Так эта... А файл с содержимым памяти, сгенерированный в SBT, у Вас в папку симулятора (<имя_проекта>_sim) переносится???
И еще - 14ms - это, ИМХО, слишком маленький интервал для симуляции. Сколько времени занимает выполнение стартап-кода?


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
Shevnnov
сообщение Nov 22 2010, 11:59
Сообщение #7


Частый гость
**

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



Ну ddr_sdram.dat файл обновляется при запуске проекта. Как ойенить стартап вермея?
НЕ знаю много или мало это. Но к примеру симуляция на 42ms заняла у меня 12 часов
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Nov 22 2010, 12:10
Сообщение #8


Лентяй
******

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



Цитата(Shevnnov @ Nov 22 2010, 14:59) *
Ну ddr_sdram.dat файл обновляется при запуске проекта. Как ойенить стартап вермея?
НЕ знаю много или мало это. Но к примеру симуляция на 42ms заняла у меня 12 часов

Пока, для простоты, откажитесь от SDRAM, и сделайте проект только с On-Chip RAM.


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
alexPec
сообщение Nov 22 2010, 13:10
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(Stewart Little @ Nov 22 2010, 15:10) *
Пока, для простоты, откажитесь от SDRAM, и сделайте проект только с On-Chip RAM.


Да можно и с ддр, наверно, но чтоб программа в ончип памяти располагалась, ну по крайней мере тест какой-нибудь, который в короткое время сделает то что вы хотите посмотреть. Посмотрел в квартусе проект свой, в сопц билдере когда тыкаешь на on chip memory в вылетающем окошке написано Memory will be initialized from onchip_memory2_0.hex. Когда соберете сопц, там этот файл будет(он его сам создает), только пустой. А после делаем elf файл, конвертируем утилитой elf2hex (так вроде называется), этим хексом инициализируем память. Устанавливаем вектор сброса на ончип рам, собираем проект в квартусе (без jtag_debug и jtag_uart!), и после этого симулирем в моделсиме. Вроде так делал.
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Nov 22 2010, 14:04
Сообщение #10


Лентяй
******

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



Цитата(alexPec @ Nov 22 2010, 16:10) *
Да можно и с ддр, наверно, но чтоб программа в ончип памяти располагалась, ну по крайней мере тест какой-нибудь, который в короткое время сделает то что вы хотите посмотреть. Посмотрел в квартусе проект свой, в сопц билдере когда тыкаешь на on chip memory в вылетающем окошке написано Memory will be initialized from onchip_memory2_0.hex. Когда соберете сопц, там этот файл будет(он его сам создает), только пустой. А после делаем elf файл, конвертируем утилитой elf2hex (так вроде называется), этим хексом инициализируем память. Устанавливаем вектор сброса на ончип рам, собираем проект в квартусе (без jtag_debug и jtag_uart!), и после этого симулирем в моделсиме. Вроде так делал.

Это все делается автоматически, если в SOPC'е указана необходимость симуляции, и в NiosII SBT получен таргет для mem_init_install.
Только что вот проверил (проект: niosII economy + onchip_ram + jtag_uart) - все симулируется как положено, в лог "Hello from Nios II!" выводится...


Еще вопросы - в SOPC Builder'е, в свойствах JTAG-UART какие сделаны установки симуляции? Макрос jtag_uart_log в какой момент запускается (до открытия окна wave или после)?


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
Shevnnov
сообщение Nov 22 2010, 14:05
Сообщение #11


Частый гость
**

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



Зачем квартус? Я сейчас пытаюсь запустить на ModelSim через NiosII SBT. Пока квартус проект не трогаю, используя только SOPC Builder, Nios II SBT и ModelSim
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Nov 22 2010, 14:57
Сообщение #12


Лентяй
******

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



Цитата(Shevnnov @ Nov 22 2010, 17:05) *
Зачем квартус? Я сейчас пытаюсь запустить на ModelSim через NiosII SBT. Пока квартус проект не трогаю, используя только SOPC Builder, Nios II SBT и ModelSim

Еще вопрос - на временной диаграмме (в окне wave), на линии av_write_n (jtag_uart'а) какая-нибудь активность наблюдается?


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
Shevnnov
сообщение Nov 22 2010, 15:41
Сообщение #13


Частый гость
**

Группа: Участник
Сообщений: 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
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Nov 22 2010, 15:56
Сообщение #14


Лентяй
******

Группа: Свой
Сообщений: 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, выбрать там нужную память, и проверить, в те ли адреса и те ли данные Ваша система в эту память пишет.


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
Shevnnov
сообщение Nov 22 2010, 17:42
Сообщение #15


Частый гость
**

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
Shevnnov
сообщение Nov 23 2010, 11:00
Сообщение #16


Частый гость
**

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



Значит так. Прогресс есть, а именно какой:
Собрал систему под Cyclone III: cpu, onchip_mem(128Kb), jtag_uart. И где то на 3,7ms был получена ответ от jtag_uart (Запускалась тестовая программа Hello World). Это радует, но не синмает общей проблемы - а именно необходимости симуляции более сложной системы для проверки своего компонента.
Для этого я как понимаю нужно разобраться как заставить программу загружаться из памяти DDR. Для того проекта проверял - при выполнении mem_init_install файл ddr_sdram.dat обновляется. Но вот почему не работает при симуляции - остается загадкой.
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Nov 23 2010, 12:07
Сообщение #17


Лентяй
******

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



Еще раз проверил, уже с DDR-контроллером. Все работает (см. аттач)!
Скорее всего, Вы просто не дожидаетесь начала вывода в JTAG UART.

Цитата(Shevnnov @ Nov 22 2010, 20:42) *
Какие настройки нужно проверить? В BSP ставлю галку ...

Вопрос - какой размер кода у вас получается? Попробуйте его сократить до минимума. Вы какую версию драйверов используете - полную или сокращенную? Использование сокращенной версии позволяет сжать код раз в несколько.
Если Вы используете полную версию драйверов, то для себя еще раз попробуйте оценить, сколько времени будет выполняться startup-код - у Вас весьма изрядный объем памяти, в ней есть сегмент BSS, в стартапе он заполняется нулями - сколько это потребует времени??)

Также проверьте "железную" сторону :
- какая опция симуляции установлена для JTAG_UART? - у меня выдача ASCII
- какая опция калибровки для режима симуляции установлена для контроллера DDR? - у меня Skip Calibration
- на какой тактовой частоте работает ниос? - у меня 100 МГц, ядро Standard.
В моем примере выдача в JTAG_UART начинается примерно на сорок шестой микросекунде от начала моделирования.

Цитата(Shevnnov @ Nov 22 2010, 20:42) *
С компонентом и архитектуры перефирийного устройства косяков не должно бы быть, так как работая в аналогичной системе, но без использвоания Clock-Crossing Bridge ...

ModelSim никакой отсебятины в проект не вносит - что Вы ему подсовываете, то он и показывает.
Так что косяк я бы искал или в Вашем аппаратном проекте, или в Вашем ниосовском коде.
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Nov 23 2010, 12:17
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



А никто не сталкивался с
Цитата
...
# ** Warning: (vsim-8598) Non-positive replication multiplier inside concat. Replication will be ignored
...

Что собственно с ним делать ?

До этого работал с 8.1сп1 - проблем не было вообсче, сейчас переполз на 10.0сп1 в симуляции сопц выскакивает такой варнинг.. На альтерафоруме нашёл упоминание такого варнинга, привязанное к timescale, но у меня она везьде 1ns/1ps..
Go to the top of the page
 
+Quote Post
Shevnnov
сообщение Nov 23 2010, 13:37
Сообщение #19


Частый гость
**

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



Цитата(Stewart Little @ Nov 23 2010, 15:07) *
Вопрос - какой размер кода у вас получается? Попробуйте его сократить до минимума. Вы какую версию драйверов используете - полную или сокращенную? Использование сокращенной версии позволяет сжать код раз в несколько.
Если Вы используете полную версию драйверов, то для себя еще раз попробуйте оценить, сколько времени будет выполняться startup-код - у Вас весьма изрядный объем памяти, в ней есть сегмент BSS, в стартапе он заполняется нулями - сколько это потребует времени??)


Размер кода, если оценивать по размеру файла памяти - 234 Kбайта (это е код hello_world, а тестовая программа для перефирийного компонента). Версия драйверов - полная. Поддержка C++ отключена. По поводу аремени оценки - не знаю как оценить, был бы признателен на ссылку на соответствующую литературу.

Цитата
Также проверьте "железную" сторону :
- какая опция симуляции установлена для JTAG_UART? - у меня выдача ASCII
- какая опция калибровки для режима симуляции установлена для контроллера DDR? - у меня Skip Calibration
- на какой тактовой частоте работает ниос? - у меня 100 МГц, ядро Standard.
В моем примере выдача в JTAG_UART начинается примерно на сорок шестой микросекунде от начала моделирования.


JTAG_UARY - так же выдача в ASCII.
Частота процессора - 100Мгц.
У DDR стояла калиброка - Quick Calibration.
По поводу времени выдачи - вечра ставил сумуляцию на 30 милесекунд - вывода через jtag не было. Сейчас
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Nov 23 2010, 13:48
Сообщение #20


Лентяй
******

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



Цитата(Shevnnov @ Nov 23 2010, 16:37) *
Размер кода, если оценивать по размеру файла памяти - 234 Kбайта

Это же можно опупеть от ожидания, пока 234 килобайта кода отсимулируются! Причем львиная доля этого кода, я подозреваю, это стартап.

Цитата(Shevnnov @ Nov 23 2010, 16:37) *
По поводу аремени оценки - не знаю как оценить, был бы признателен на ссылку на соответствующую литературу.

Какую, нахрен, литературу!
Смотрите размер области BSS, смотрите, сколько времени нужно за запись одного слова в DDR SDRAM, умножайте первое на второе, и получите время заливки BSS нулями.

Цитата(Shevnnov @ Nov 23 2010, 16:37) *
DDR стояла калиброка - Quick Calibration.

Это еще плюс десяток миллисекунд.


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
Shevnnov
сообщение Nov 24 2010, 10:23
Сообщение #21


Частый гость
**

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



Урезал код путем использования укророченной версии драйверов, newC lib, отключение C++ до 54Кб. Так же отключил калибровку DDR. Но всё равно через 55ms ответа от jtag_uart не последовало (часов 10 продолжалась симуляция).
Ответ на 45us мне кажется чем-то нереальным.
Еще вопрос - посмотрел дизайн на Cyclone II на котором симулировалось всё. Там размер файла ddr.dat - 257Кб. Но выполнение тестовой программы начиналось на 410us.
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Nov 24 2010, 10:33
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(Shevnnov @ Nov 24 2010, 16:23) *
Но всё равно через 55ms ответа от jtag_uart не последовало (часов 10 продолжалась симуляция).

немного оффтопа, если позволите. а в чем выигрыш от такой симуляции? за 10 часов можно уйму тестов прогнать в сигналтапе на железе. я понимаю симуляцию на rtl-уровне, да и то, по большей части она имеет смысл для отдельных компонентов на предмет соответствия шинным спецификациям, например. а многочасовая симуляция нетлиста, да еще от стороннего производителя? не понимаю, зачем это.
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Nov 24 2010, 11:58
Сообщение #23


Лентяй
******

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



Цитата(Shevnnov @ Nov 24 2010, 13:23) *
Урезал код путем использования укророченной версии драйверов, newC lib, отключение C++ до 54Кб. Так же отключил калибровку DDR. Но всё равно через 55ms ответа от jtag_uart не последовало (часов 10 продолжалась симуляция).
Ответ на 45us мне кажется чем-то нереальным.

54 кб - это тоже не мало. У меня объем кода 528 байт. А весь код состоит из
Код
#include "sys/alt_stdio.h"

int main()
{ alt_putstr("Hello from Nios II!\n");
   while (1);

   return 0;
}



Цитата(Shevnnov @ Nov 24 2010, 13:23) *
Еще вопрос - посмотрел дизайн на Cyclone II на котором симулировалось всё. Там размер файла ddr.dat - 257Кб. Но выполнение тестовой программы начиналось на 410us.

Так весь вопрос в том и есть, а что эта программа делает???

Цитата(vadimuzzz @ Nov 24 2010, 13:33) *
а в чем выигрыш от такой симуляции?
а многочасовая симуляция нетлиста, да еще от стороннего производителя? не понимаю, зачем это.

+100 !!!


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
Shevnnov
сообщение Nov 29 2010, 11:10
Сообщение #24


Частый гость
**

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



Переместив в Linker'е код программы в onchip memory и используя скоращенные версии библиотек и драйверов удалось добиться начала работы тестовой программы на 49us. Но если в Linker'е указать всё класть в память ddr (в предыдущем случае в ddr лежал только heap - в драйвере периферийного устройства используется динамическое выделение памяти), то время реакции много увеличивается, и повторяется пролема обсуждаемая выше. Это вероятно связано с большим временем доступа к ddr контроллеру в режиме симуляции.
По поводу выигрыга от такой симуляции - посмотреть как ведет себя компонент во взаимодействии со всей системой, потому что когда я пытаюсь запустить на тестовой плате, на часть тестов я получаю муру, а не результаты.

Цитата
Так весь вопрос в том и есть, а что эта программа делает???

Абсолютно то же самое, что и тестовая программа, которую я запускаю на Cyclone III дизайне
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 08:13
Рейтинг@Mail.ru


Страница сгенерированна за 0.01608 секунд с 7
ELECTRONIX ©2004-2016