Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не могу просимулировать NIOS в Modelsim
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
Petrovich39
Всем доброго здравия !
Я тут в процессе прохождения практики столкнулся с такой проблемой.
САПР - Квартус 8.1
Собираю в SOPC Builder простенькую систему - NIOS II, onchip_ram, jtag_uart, sysid, pio.
Всё делаю по мануалам, в том числе по альтеровскому AN351.
Моделсим версии 6.5, не Altera Edition.
Генерируется проект для моделсима, запускается симуляция, НО:
1)NIOS II симулируется частично. Это видно и по темпу симуляции, и по прочим признакам.
2)JTAG UART симулируется и выводит в консоль сообщение типа Hello World, а остальное не работает.
3)PIO не работает в моделсиме.
По идее, мне надо получить нечто такое:
http://images.cnblogs.com/cnblogs_com/oomu...d2ee9631919.gif
Но у меня в окне пусто. Если вызвать скрипт w, то добавляются только разделители(типа onchip_mem), а ничего остального нет.
И в окне, где отображаются процессы, у меня пустовато... PIO там нет.
Извините, что так сумбурно объяснил, но, может, кто сталкивался с таким ?
Kuzmi4
2 Petrovich39
опишите как происходит сборка и симуляция в деталях.
Потому что сейчас складывается такое ощущение, что нужно выбрать хорошие помидоры по телефону laughing.gif

Собирал SoPC с ниосом и компанией в 8.1 и MS 6.х - полёт был нормальный wink.gif
Petrovich39
1) Создаю проект в квартусе
2) Запускаю SOPC Builder и делаю схему, состоящую из описанных выше компонентов
3) на вкладке system generation (или как-то так) ставлю галку "simulation. create project simulator files", предварительно в tools - options указав путь к моделсиму. Жму generate.
4) Запускаю NIOS II IDE, беру за основу проект Хэлло Ворлд и ставлю там запись в PIO
5) Компилирую и нажимаю Run Nios II Modelsim
Тут открывается моделсим, компилируется, запускается.
Запускаю команду s, потом w.
Запускается симуляция, но в wave пусто.
Как-то так.
Я думаю, тут три возможных варианта:
1)Может, нужно именно modelsim-altera ?
2)Может, кривая установка(из под другого пользователя, etc.)...
3)Может, с лицензиями проблема ? Сам квартус лицензионный, моделсим тоже, только вот сам ниос почему-то opencores plus evaluation или как-то так...
Kuzmi4
2 Petrovich39
У меня в действиях нет вот этого пункта
Цитата
...нажимаю Run Nios II Modelsim
и дальше laughing.gif
Я индусам не доверяю и потому делаю всё руками. Там, после того, как вы скомпилировали ваше приложение, появляется файлы для загрузки в RAM - это и будет ваша программа на исполнение, если не прошла нормальная загрузка этих init-файлов - NIOSII не будет шевелиться.
Модуль памяти называется как то так: cpu_memory
а в нём такие строчки:
Код
the_altsyncram.init_file =
`ifdef NO_PLI
"cpu_memory.dat"
`else
"../cpu_memory.hex"
`endif
Посмотрите содержание ячеек памяти в MS и сообщения в консоли - возможно у вас как раз не прошла инициализация и проц висит непонятно где. Лицуха у меня на NIOSII - plain-text.

Так же мне требовалось расположить в рабочей папке на время симуляции, если она не является корневой где все файлы герерируются, дополнительные init-файлы: cpu_0_ociram_default_contents.hex, cpu_0_rf_ram_a.hex, etc.
Petrovich39
Кузмич, спасибо за ответ.
Можешь чуть-чуть поподробнее рассказать ?
Я уже с этой фигней 2 недели бьюсь wacko.gif
warrior-2001
Цитата(Petrovich39 @ Jul 21 2012, 13:45) *
Запускается симуляция, но в wave пусто.


Глупый вопрос - а в окно wave уже кто-то добавил сигналы?
А то если процесс моделирования идет, а в окне пусто - думается мне, что нужно выбрать слева в окне требуемый блок и вывести его сигналы на wave.
Мануал на Modelsim вам в руки.
Petrovich39
2warrior-2001
во-первых, есть скрипт по команде "W", который, по идее, выводит основные сигналы. У меня же он их не может вывести, ибо их нет.
во-вторых, там, слева, сигналов нет, поэтому нечего добавлять
alexPec
Тоже поначалу собирал и симулировал простенькую систему в моделсиме, правда альтера эдишн. В программе просто "дергал ножкой". Все работало нормально. После компиляции программы использовал elf2hex, затем полученный hex подсовывал при компиляции для инициализации он-чип памяти (вектор сброса на нее должен указывать). Поищу сейчас свою тему, посмотрите, может найдете что-то полезное.

Вот она: тема

UPD: похоже сначала просто в квартусовом симуляторе симулировал, позже уже симулировал в моделсиме.
Kuzmi4
Цитата(Petrovich39 @ Jul 21 2012, 17:08) *
..Можешь чуть-чуть поподробнее рассказать ?..

Если вышеприведённая тема не поможет, выкладывайте "макетку" вашего дизайна со всеми логами и прочим, надо смотреть.
Потому что тут долго можно гадать smile3046.gif
Stewart Little
Цитата(Petrovich39 @ Jul 21 2012, 13:20) *
Моделсим версии 6.5, не Altera Edition.

Стесняюсь спросить - а альтеровскую библиотеку Вы под свой моделсим скомпилировали? Или она у Вас перед стартом симуляции компилируется?
Petrovich39
Всем спасибо, тему можно закрывать.
Получилось заставить работать, причем, почему-то, раньше он так не хотел симулировать.
Просто в полученном проекте в папке work нахожу test_bench, и ПКМ -> Simulate.
Kuzmi4
Цитата(Petrovich39 @ Jul 24 2012, 08:11) *
...Получилось заставить работать...

Это значит в скрипте нехватает приблизительно таких строчек:
Код
vsim .. work.test_bench
run -all

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