【问题标题】:Question regarding lazy evaluation for Diplomacy (rocket-chip)?关于外交(火箭芯片)懒惰评估的问题?
【发布时间】:2019-10-28 20:47:40
【问题描述】:

我一直在阅读 Chisel 的外交模型。我对这背后的设计理念有疑问。据我了解,Scala 的惰性求值用于注册一些编译时信息,这些信息可以在 FIRRTL 生成之前的细化过程中强制求值,以进行参数协商等元操作。

我的问题是,这是唯一的方法吗?是否可以在 Scala 中创建一个代理对象来注册这些元属性并在调用特定函数时评估它们?然后可以在评估之前调用此函数来进行协商。

我问这个的原因是因为我正在逐步学习 Scala 和 Chisel,因此想了解如何尽可能逐步地构建抽象,而无需尽可能基本的原语。

【问题讨论】:

    标签: chisel rocket-chip


    【解决方案1】:

    我怀疑外交是解决这个问题的唯一可能方法。它随着时间的推移而发展,以满足基于发电机的适应性方法的需求。关键特性之一是能够在模块评估参数时从模块获取信息。某些代理系统可能会完成相同的功能,但我认为存在与假定代理对象关联的元属性代码与参数评估逻辑分离的风险。

    【讨论】:

      猜你喜欢
      • 2018-03-31
      • 1970-01-01
      • 2019-01-07
      • 2010-11-17
      • 1970-01-01
      • 1970-01-01
      • 2015-09-06
      • 2016-12-14
      • 2021-12-25
      相关资源
      最近更新 更多