Вопрос по поводу ленивых оценок для Diplomacy (ракета-чип)? - PullRequest
2 голосов
/ 28 октября 2019

Я читал модель "Дипломатия" для долота. У меня был вопрос относительно философии дизайна, стоящей за этим. Как я понимаю, ленивая оценка Scala используется для регистрации некоторой информации времени компиляции, которую можно принудительно оценить во время разработки перед генерацией FIRRTL для выполнения мета-операций, таких как согласование параметров.

Мой вопрос: это единственный подход? Возможно ли создать прокси-объект в Scala, который регистрирует эти мета-свойства и оценивает их при вызове определенной функции? Затем эту функцию можно вызвать перед оценкой, чтобы выполнить согласование.

Причина, по которой я спрашиваю об этом, заключается в том, что я постепенно изучаю Scala и Chisel, поэтому хотел бы понять, как строить абстракции как можно более постепенно, без как можно более простых примитивов.

1 Ответ

1 голос
/ 29 октября 2019

Я сомневаюсь, что дипломатия - единственный возможный подход к этой проблеме. Со временем он эволюционировал для удовлетворения потребностей в адаптивном подходе на основе генератора. Одной из ключевых особенностей является возможность получения информации от модулей, когда они оценивают свои параметры. Возможно, что некоторые прокси-системы могут выполнять те же функции, но я думаю, что существует риск, что код мета-свойства, связанный с предполагаемыми прокси-объектами, будет отделен от логики оценки параметров.

...