##在Chisel中的含义是什么?

时间:2016-09-28 13:41:50

标签: scala vector functional-programming expression chisel

我一直在网上查找##在凿子中的含义,但无法在任何地方找到它。

例如,在此代码段中:

val ways = Module(new BRAM(log2Up(conf.lines), conf.ways * line_size))
val din = Vec.fill(conf.ways) { Bits(width=line_size) }
if(conf.ways == 2) {
   ways.io.din := din(1) ## din(0)
}

使用##表达式的if语句中的行是什么? 谢谢!

1 个答案:

答案 0 :(得分:6)

由于您无法真正使用#这样的符号字符进行谷歌搜索,因此您需要以另一种方式查找##方法的文档。最简单的方法是将鼠标悬停在IDE中的##上,然后让它显示API文档。如果这是不可能的,因为您的IDE没有这样做,或者您还没有下载API文档,那么您可以找到调用该方法的任何类的文档并在那里查找。< / p>

在这种情况下,您需要在##上致电din(1)。由于dinBits的向量,din(1)Bits对象。因此,我们可以在Chisel API文档中查找Bits类,并在##上找到以下内容:

def ##(other: Bits): UInt
     

返回与other连接的此线,其中此线形成最重要的部分,other构成最不重要的部分。

     

输出的宽度是输入的总和。