Цитата(AVR @ Feb 4 2017, 18:57)

Про симуляцию системы на базе Nios2 в моделсим к огромному сожалению подсказать не смогу.
Однако вот в тестовой программе я совершенно не вижу настройки направления работы портов. Хоть какие-то порты могли быть при конфигурировании настроены как output-only, но один из них точно двунаправленный. Откуда системе знать в каком направлении надо данные качать? Правильно, нужно ей сказать direction. Этот регистр лежит в PIO_OUT_BASE или PIO_OUT_BASE + некое смещение, описанное в документации на PIO.
А тестбенч - это некое окружение вокруг системы, в данном случае оно будет замыкать выход Nios2 на его вход, а в добавок давать жизненно важный сигнал - тактовый. Прошу показать тестбенч, я на него посмотрю, проверю...
P.S.
Вижу картинку, подразумевается что это тестбенч - это верно. Однако где же формируется тактовый сигнал и где reset? Не берутся ли они в симуляции из космоса? Замкнуто выход на вход вижу (не перепутано?). Я бы это написал лучше на Verilog а не в схематике - так бы я смог подсказать и помочь. А как сформировать клоки и резеты в схематическом тестбенче - не знаю.
У меня есть подозрение что чтобы просимулировать такой графический тестбенч в моделсиме его надо переварить в Verilog всё равно, что лишь усложняет задачу новичку.
1. Однако вот в тестовой программе я совершенно не вижу настройки направления работы портов. Хоть какие-то порты могли быть при конфигурировании настроены как output-only, но один из них точно двунаправленный. Откуда системе знать в каком направлении надо данные качать? Правильно, нужно ей сказать direction. Этот регистр лежит в PIO_OUT_BASE или PIO_OUT_BASE + некое смещение, описанное в документации на PIO.
1. PIO_Out у меня output only
CODE
#define PIO_OUT_HAS_IN 0
#define PIO_OUT_HAS_OUT 1
#define PIO_OUT_HAS_TRI 0
Соответственно PIO_IN работает Input only
CODE
#define PIO_IN_HAS_IN 1
#define PIO_IN_HAS_OUT 0
#define PIO_IN_HAS_TRI 0
Смещения вроде как указаны после автоматического задания адресов, то есть однозначно понятно в каких адресах вход, в каких выход, из-за указания констант.
2. А тестбенч - это некое окружение вокруг системы, в данном случае оно будет замыкать выход Nios2 на его вход, а в добавок давать жизненно важный сигнал - тактовый.
Вот собственноручного тестбенча я не писал, и если его надо составлять вручную, то пока я не понимаю как. Я думал хватит замыкания на схеме, но, видимо, я ошибаюсь. По поводу тактового сигнала, я понимаю что без него никогда ничего не заработает, но я увидел, что в аппаратной части он стоит 50мгц. Я про сигнал clk, подозреваю что он и есть тактовый)
3. Вижу картинку, подразумевается что это тестбенч - это верно.
Картинка это схема же, разве она связана с тестбенчем?
4. Замкнуто выход на вход вижу (не перепутано?)
Разве можно перепутать? я думаю квартус в силах разобраться в этом самостоятельно
5. У меня есть подозрение что чтобы просимулировать такой графический тестбенч в моделсиме его надо переварить в Verilog всё равно, что лишь усложняет задачу новичку.
"Переваривание" организуется не так сложно, опять же квартусам переваривает файл в *.v или *.vhdl
Ваша мысль меня натолкнула на пару идей, как работает сама по себе model sim я тоже кстати более менее понял. я даже уже пытался моделировать некоторые конфигурации файлов, созданных квартусом для моделирования автоматически, но пока не работает, кстати возможно изза того, что не видит клокк.
Прикреплю папку simulation после сбора апп части, которую сделал квартус или qsys и папку simulation, которую квартус сделал после успешной компилляции (при создании самого проекта квартуса поставил галки для моделирования).