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

Mrc*_*cha 1 expression functional-programming scala vector 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)
}
Run Code Online (Sandbox Code Playgroud)

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

sep*_*p2k 6

既然你不能真正谷歌的符号字符#,你需要以##另一种方式找到该方法的文档.最简单的方法是将鼠标悬停##在IDE中,然后让它显示API文档.如果由于您的IDE没有这样做或者您没有下载API文档而无法做到这一点,您可以找到调用该方法的类的文档并在那里查找.

在这种情况下你打电话##din(1).既然din是一个矢量Bits,din(1)是一个Bits对象.因此,我们可以Bits在Chisel API文档中查找该类,并找到以下内容##:

def ##(other: Bits): UInt
Run Code Online (Sandbox Code Playgroud)

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

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