Комментарии 7
Из двух статей не очень понятно, какой именно risc поддерживает этот эмулятор, причем тут xtensa арм и fpga и зачем это вообще нужно. Кроме того в младших адресах обычно кладут вектор прерываний, а не IO. Так что ничего не понял.
По-порядку:
Simics это платформа симуляции.
Поддерживает любой процессор для которого создана соответствующая модель.
Xtensa имеет свой набор симулируемых процессоров - их можно подключить к Simics.
FPGA - Simics может использоваться в смешанных аппаратно-программных симуляциях. В частности совместно с FPGA
Куда и что ложить, дело хозяйское. Собственно статьи как раз о том, что смоделировать систему достаточно просто и без паяльника ;-)
Тема simics( а также risc, xtensa, fpga ) не раскрыта...
Что за risc ? Risc -v или другой? Xtensa - tensilica ? Или другая? Как склеить с fpga? Зачем это все? Отсутствует понятная цель у статьи. Почему именно simics? Если модель процессора внешняя, то все можно и на С написать.
Зачем писать стандартные вещи с нуля, проще взять готовую модель процессора и часть платформы, а кастомные части дописать самому или подцепить например через транзактор. Симикс хорош при проектировании и отладки софта когда железо ещё не готово или для обучающих целей, есть возможность детально посмотреть как железо исполняет код.
-
Спасибо за туториал!
Есть вопрос по последнему листингу
simics> controller.cpu_core->r0
0x2
simics> run 700
simics> controller.cpu_core->r0
0x4
Что за команда run 700
В гайде к симексу нет таковой. Остальные из скрипта (run-command-file к примеру имеется). Еще очень неочевидный аругмент у этой команды (700
)
Simics: кто не RISC-ует, тот не выигрывает