我一直在网上查找##在凿子中的含义,但无法在任何地方找到它。
例如,在此代码段中:
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语句中的行是什么? 谢谢!
答案 0 :(得分:6)
由于您无法真正使用#
这样的符号字符进行谷歌搜索,因此您需要以另一种方式查找##
方法的文档。最简单的方法是将鼠标悬停在IDE中的##
上,然后让它显示API文档。如果这是不可能的,因为您的IDE没有这样做,或者您还没有下载API文档,那么您可以找到调用该方法的任何类的文档并在那里查找。< / p>
在这种情况下,您需要在##
上致电din(1)
。由于din
是Bits
的向量,din(1)
是Bits
对象。因此,我们可以在Chisel API文档中查找Bits
类,并在##
上找到以下内容:
def ##(other: Bits): UInt
返回与
other
连接的此线,其中此线形成最重要的部分,other
构成最不重要的部分。输出的宽度是输入的总和。