创建火箭芯片配置时,(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(注意不要过于字面意思,因为它已经过时了)。但是,我相信 site
、here
和 up
的动机和讨论在第 2.6、2.7、2.8 和 3.6 节中仍然有效。
粗略地说,site
、here
和 up
有助于处理和解决对其他参数的依赖性。
site
允许您根据定义的位置消除可能具有相同名称的不同参数的歧义,例如 Width
。 here
允许参数查询同一组中定义的其他参数。 up
允许您访问父配置的参数对象,其预期目的是在修改参数时复制它。
在创建新的 "Config" 时,我们定义了一个函数,该函数接受三个 "View"(site、here、up)作为参数。这三个View是什么意思?
class Blah extends Config ((site, here, up)) {..}
为参数元组,允许偏函数应用。这允许部分配置 Rocket 核心并设置默认参数,保持弹性和类型正确性。
你可以检查它的实现here
作为纯粹的历史参考,请看一下 Chisel2 Advanced Parameterization Manual(注意不要过于字面意思,因为它已经过时了)。但是,我相信 site
、here
和 up
的动机和讨论在第 2.6、2.7、2.8 和 3.6 节中仍然有效。
粗略地说,site
、here
和 up
有助于处理和解决对其他参数的依赖性。
site
允许您根据定义的位置消除可能具有相同名称的不同参数的歧义,例如 Width
。 here
允许参数查询同一组中定义的其他参数。 up
允许您访问父配置的参数对象,其预期目的是在修改参数时复制它。