В принципе, я хотел бы начать взламывать внутренности Chisel / FIRRTL. Было бы полезно, если бы кто-то мог указать мне, куда я мог бы начать смотреть.
Я читал исходный код. Я до сих пор понимаю, что Chisel был реализован как библиотека Scala. Каждый объект Chisel имеет несколько методов для генерации FIRRTL. После запуска конкретной программы Scala объекты пересекаются и генерируется FIRRTL.
То, что я хотел знать, это то, смотрю ли я в правильном направлении. Я до сих пор не понял, где происходит формирование AST для модулей Chisel и вывод типа. В конце концов я доберусь туда, но было бы замечательно, если бы кто-то суммировал мне места, которые я должен посмотреть.
Конечно, это слишком много вопросов от разработчиков Chisel, но даже некоторая базовая информация поможет!