Как использовать эмулятор Chisel C ++

Как использовать файлы C ++, созданные компилятором Chisel? в документации нет ясности по этому поводу, есть ли другой источник, который мог бы указать мне на это? Я действительно понятия не имею об этом, особенно, что я не знаю C ++.

Скажем, например, для простой схемы сумматора Adder.scala я получу следующие файлы, относящиеся к эмулятору: Adder.cpp, Adder.h, Adder-emulator.cpp, emul_api.h, emulator.h и sim_api.h. Для чего я могу скомпилировать, запустив

g++ Adder.cpp Adder-emulator.cpp 

Это генерирует результат a.out, запускающий это в терминале, генерирует еще три файла, о которых я понятия не имею, что это такое. 00003710.cmd, 00003710.in и 00003710.out.


person Ammar Kurd    schedule 28.08.2016    source источник


Ответы (1)


Код C ++ используется для имитации вашего дизайна. Вам также необходимо определить тестер, который будет управлять эмуляцией, используя poke() для установки значений сигналов и peek() или expect() для их чтения.

Вам не следует компилировать C ++ самостоятельно. Если вы передадите Chisel параметры --genHarness и --test, он скомпилирует код C ++, построит эмуляцию и запустит ваш тестер, чтобы запустить ее.

Взгляните на код chisel-tutorial, чтобы увидеть примеры этого процесса.

person Jim    schedule 29.08.2016
comment
Хорошо, я был сбит с толку, тестовая среда, написанная в коде Scala, сама по себе является эмулятором C ++? это оно? - person Ammar Kurd; 29.08.2016
comment
Я сделал это, я получил сообщение ПРОЙДЕН и Успех в терминале, это все? извините, что просил слишком многого, но я относительно новичок в зубилке. - person Ammar Kurd; 29.08.2016
comment
Тестовый стенд (написанный на Scala) взаимодействует (в настоящее время через разделяемую память) с эмуляцией, созданной из кода C ++. Если вы ссылаетесь на код учебного пособия, да, ПРОШЕЛ и Успех являются показателем того, что имитация проекта была построена и прошла тесты, написанные для нее. - person Jim; 30.08.2016