Как смоделировать чип RISCV Rocket
Согласно компилятору riscv-gcc мы генерируем двоичный файл. Эти двоичные данные файла поступают на чип ракеты через эти сигналы. io_host_in_valid, введите [15:0] io_host_in_bits
Здесь io_host_in_bits является 16-битным, поэтому мы запускаем 2 раза для каждой команды данных в режиме с прямым порядком байтов. Мы не получаем никакого ответа от ядра Rocket (HTIF). Как смоделировать ядро Ракеты и, если возможно, смоделировать в Xilinx Vivado 2014, а также отладить дизайн. Может ли кто-нибудь помочь мне об этом
С уважением, Сантош Кумар.
2 ответа
Для получения дополнительной информации об инфраструктуре Rocket Chip я рекомендую ознакомиться со слайдами и видео с первого загрузочного лагеря RISC-V.
Rocket Chip можно моделировать / отлаживать двумя различными способами: симулятор C и Verilog. Для получения информации об использовании этих режимов, пожалуйста, обратитесь к Rocket Chip README.
Ответ Yunsup в списке рассылки riscv-hw:
Я хотел бы взглянуть на http://riscv.org/tutorial-hpca2015/riscv-rocket-chip-generator-tutorial-hpca2015.pdf для обзора интерфейсов и настройки FPGA.
Вот ссылка на наш тестовый стенд, который мы используем для тестирования чипа ракеты: https://github.com/ucb-bar/rocket-chip/blob/master/vsrc/rocketTestHarness.v. Я хотел бы взглянуть на функцию htif_tick, где ее реализацию можно найти по адресу https://github.com/ucb-bar/rocket-chip/blob/master/csrc/vcs_main.cc, которая вызывает метод для htif_emulator_t. ( https://github.com/ucb-bar/rocket-chip/blob/master/csrc/htif_emulator.h), которая наследуется от htif_pthread_t ( https://github.com/riscv/riscv-fesvr/blob/master/fesvr/htif_pthread.cc). Вы также должны взглянуть на https://github.com/riscv/riscv-fesvr/blob/master/fesvr/htif.cc.
Интерфейс хоста (HostIO) напрямую не принимает инструкции, это порт для интерфейсного сервера ( https://github.com/riscv/riscv-fesvr/tree/master/fesvr) для доступа к целевой памяти и ядру. регистры управления и состояния (CSR).