覆盖不同类型的val - Chisel

时间:2017-03-15 21:27:31

标签: scala variable-assignment chisel

我想使用变量cache连接到另一个名为NewCache的类,该类使用用于Cache类的扩展IO包。但是我收到以下错误:

[error]overriding lazy value cache in class Processor of type Mem.Cache;  
[error]lazy value cache has incompatible type.  
[error]override lazy val cache = Module(new NewCache(conf))

我假设我收到此错误,因为它只能将类NewProcessor中的值缓存覆盖为类型Cache。因此,我想知道在使用类cache时是否有任何可能的方法可以完全重新分配NewProcessor值。

class Processor(inputid: Int){
    val conf = new Conf(inputid)
    lazy val cache = Module(new Cache(conf))

    cache.io.cache_req <> io.cache.req
}

class NewProcessor(inputid: Int) extends Processor(inputid){
    override lazy val cache = Module(new NewCache(conf))

    cache.io.tag_cache_req <> io.tag_cache.req
}

0 个答案:

没有答案