Что означают аргументы (сайт, здесь, вверх) при создании конфигураций ракеты-чипа?
При создании нового "Config" мы определяем функцию, которая принимает три "View" (сайт, здесь, вверх) в качестве аргументов. В чем смысл этих трех взглядов?
2 ответа
В качестве чисто исторической справки, взгляните на Руководство по расширенным параметрам Chisel2 (с огромным предостережением, чтобы не воспринимать это слишком буквально, поскольку оно старое). Тем не менее, я считаю, что мотивация и обсуждение site
, here
, а также up
сохраняется в разделах 2.6, 2.7, 2.8 и 3.6.
Грубо говоря, site
, here
, а также up
помочь с обработкой и разрешением зависимостей от других параметров.
site
позволяет устранить неоднозначность различных параметров, которые могут иметь одинаковое имя, например, Width
на основе определенного местоположения. here
позволяет параметрам запрашивать другие параметры, определенные в той же группе. up
позволяет вам получить доступ к объекту параметра родительской конфигурации с намерением, если вы хотите скопировать его при изменении параметров.
class Blah extends Config ((site, here, up)) {..}
является параметром кортежа, который позволяет частичное применение функции. Это позволяет частично настроить ядро ракеты и установить параметры по умолчанию, сохраняя эластичность и корректность типа.
Вы можете проверить его реализацию здесь