Trace EVM. ЛР1. Потеем на виртуалке

Аватар автора
Onanists_club
Сделали лабораторную работу по RISC-V. Построили трассу выполнения программы по симуляции. Дополнительные материалы: 2) Создаём виртуалку Linux + меняем параметры сети: E86A64323BB0 3) Устройства -﹥ общий буфер обмена -﹥ двунаправленный вывод 4) chmod +x run.sh 5) Копировать файлы на рабочий стол виртуалки + переносить в папку проекта. Но можно и через vim 6) sh run.sh (запуск симуляции) Для работы скрипта необходим экспорт файла .vcd со строкой в блоке fetch: pc. Скрипт: ``` with open(&as f: data = f.read() with open(&as f: asm = f.read() print(data) print(asm) d = { "80000044": ("00000001", ""), "80000048": ("00000002", ""), "8000004c": ("00000003", ""), "80000050": ("00000004", "") } print('codes:') for s in asm.split('n'): if len(s) ﹥ 8 and s[8] == ':': addr, code, command = s[0:8], s[11:19], s[31:] print(addr, code, command) d[addr] = (code, command) print("pc:") for s in data.split('n'): if len(s) ﹥ 0 and s[-1] == '"': if s[1] != 'x': s = s[1:-2] h = hex(int(s, 2))[2:] print(h, &d[h][0], &d[h][1]) else: print(s[1:-2]) ``` Не забывайте ставить лайки, комментируйте и следуйте главному принципу Данилюка "Научился - помоги другому" P.S. Для идиотов: помоги другу - скинь это видео :-)

0/0


0/0

0/0

0/0