我试图在Chisel中找到相当于Verilog功率运算符**。我经历了Chisel Cheat sheet和tutorial,但我找不到我想要的东西。在完成Chisel编写的设计之后,我发现 log2xx 功能是流行的选择,而从不使用功率运算符。当然我总是可以使用移位运算符来获得2的幂,但我希望Chisel中有一般的幂运算符。我尝试使用scala的数学函数来完成工作,但是我遇到了编译错误。
答案 0 :(得分:1)
由于您正在尝试计算在精化时间计算的位宽(即,当Scala正在详细说明硬件图时),我们可以使用Scala函数。 Scala只提供power function for Doubles,但这适用于这种情况。试试math.pow(base, exp).toInt
,请注意base
和exp
都可以是Ints,Scala会自动将它们转换为双打以进行函数调用。您只需将生成的Double转换为Int即可用作位宽。