Я новичок в работе с зубилом. Я буду использовать его в своем проекте в ближайшие дни, и я пытаюсь познакомиться с библиотекой.
После работы с учебными пособиями по Chisel я лучше понял, как все работает в chisel . В обучающих программах все организовано таким образом, чтобы упростить работу для начинающих (я полагаю, что это цель обучающих программ!).
Теперь я хочу перейти к следующей части, где я хотел бы разработать свои собственные небольшие проекты и немного больше погрузиться в то, как работает chisel (создание verilog, cpp, vcd), скажем, из простого файла Mux4.scala
в chisel. (Я беру правильную версию кода модуля Mux4 и тестера из здесь) . Я просто добавил следующие строки в конец Mux4.scala
object Mux4Driver extends App {
chisel3.Driver.execute(args, () => new Mux4(32))
}
чтобы получить код Verilog напрямую.
Я поместил файл scala в src/main/scala/
, а тестер в src/test/scala/
.
Вот где у меня проблемы. Как указал jkoenig, я могу запустить свой код, используя команду sbt "run-main Mux4Driver"
в корневом каталоге. При этом я получаю три файла _7 _, _ 8_, Mux4.anno
.
Но как я могу получить различные файлы (снимок экрана ниже), которые я получил с помощью
TESTER_BACKENDS=verilator ./run-examples.sh GCD
когда я реализую свой собственный модуль (я понимаю, что могу передать файл verilog через верилятор, чтобы получить файлы cpp, но есть ли какой-нибудь изящный способ получить все файлы сразу, как в учебниках [Должен быть способ, но я просто не мог разобраться])
(Я использую шаблон chisel для своего проекта).
- Я понимаю, что после написания модулей кажется, что для успешного запуска вашего кода и создания необходимых файлов требуется знание sbt. Я хотел бы понять, как я могу использовать sbt для организации своих проектов, как в учебных пособиях по chisel, и запускать их с помощью одной команды (например,
./run-examples.sh mymodule
).
Со своей стороны я провел исследование по вышеуказанным вопросам, но не смог получить ясности. Буду признателен, если вы сможете составить для новых пользователей, таких как я, несколько шагов о том, как работать со своими собственными проектами.
Изменить:
При тестировании команд, упомянутых в ответе ниже, я получил следующие ошибки:
И когда я попробую --help
, мои варианты отличаются от тех, что вы предложили. При сопоставлении моего --help
вывода с выводом здесь Я обнаружил, что в моем выводе нет параметров тестера.
Это проблема с версией Chisel (использующей Chisel3) или sbt, которую я использую?