创建火箭芯片配置时,(site, here, up) 参数是什么意思?

What do the (site, here, up) arguments mean when creating rocket-chip configurations?

在创建新的 "Config" 时,我们定义了一个函数,该函数接受三个 "View"(site、here、up)作为参数。这三个View是什么意思?

class Blah extends Config ((site, here, up)) {..}

为参数元组,允许偏函数应用。这允许部分配置 Rocket 核心并设置默认参数,保持弹性和类型正确性。

你可以检查它的实现here

作为纯粹的历史参考,请看一下 Chisel2 Advanced Parameterization Manual(注意不要过于字面意思,因为它已经过时了)。但是,我相信 sitehereup 的动机和讨论在第 2.6、2.7、2.8 和 3.6 节中仍然有效。

粗略地说,sitehereup 有助于处理和解决对其他参数的依赖性。

site 允许您根据定义的位置消除可能具有相同名称的不同参数的歧义,例如 Widthhere 允许参数查询同一组中定义的其他参数。 up 允许您访问父配置的参数对象,其预期目的是在修改参数时复制它。