Chisel的动力操作员

时间:2017-05-24 04:27:40

标签: scala chisel register-transfer-level

我试图在Chisel中找到相当于Verilog功率运算符**。我经历了Chisel Cheat sheettutorial,但我找不到我想要的东西。在完成Chisel编写的设计之后,我发现 log2xx 功能是流行的选择,而从不使用功率运算符。当然我总是可以使用移位运算符来获得2的幂,但我希望Chisel中有一般的幂运算符。我尝试使用scala的数学函数来完成工作,但是我遇到了编译错误。

1 个答案:

答案 0 :(得分:1)

由于您正在尝试计算在精化时间计算的位宽(即,当Scala正在详细说明硬件图时),我们可以使用Scala函数。 Scala只提供power function for Doubles,但这适用于这种情况。试试math.pow(base, exp).toInt,请注意baseexp都可以是Ints,Scala会自动将它们转换为双打以进行函数调用。您只需将生成的Double转换为Int即可用作位宽。