我一直在阅读 Chisel 的外交模型。我对这背后的设计理念有疑问。据我所知,Scala 的惰性求值用于注册一些编译时信息,这些信息可以在 FIRRTL 生成之前的细化过程中强制求值,以进行参数协商等元操作。
我的问题是,这是唯一的方法吗?是否可以在 Scala 中创建一个代理对象来注册这些元属性并在调用特定函数时评估它们?然后可以在评估之前调用此函数来进行协商。
我问这个的原因是因为我正在逐步学习 Scala 和 Chisel,因此想了解如何尽可能渐进地构建抽象,而无需尽可能基本的原语。
我一直在阅读 Chisel 的外交模型。我对这背后的设计理念有疑问。据我所知,Scala 的惰性求值用于注册一些编译时信息,这些信息可以在 FIRRTL 生成之前的细化过程中强制求值,以进行参数协商等元操作。
我的问题是,这是唯一的方法吗?是否可以在 Scala 中创建一个代理对象来注册这些元属性并在调用特定函数时评估它们?然后可以在评估之前调用此函数来进行协商。
我问这个的原因是因为我正在逐步学习 Scala 和 Chisel,因此想了解如何尽可能渐进地构建抽象,而无需尽可能基本的原语。