我正在尝试从Github设置Sodor Processor Collection(RISC-V)。 我的主要目标是在我自己的凿子项目中设置1阶段处理器,以便对其进行修改,并可能编写scala测试平台。
目前我正在执行以下操作:
将chisel template project克隆到我的本地计算机
在根文件夹中执行“sbt eclipse”(使用this tool)。为了能够在Eclipse中导入它
在Eclipse Luna中导入项目模板
从我的project-templates src /文件夹中的Sodor Projects src/ folder复制 common / 和 rv32_1stage / 文件夹。
然后看起来像这样:
但是,Eclipse显示72个错误:
not found: object Node configurations.scala /riscv-sodor-own/src/main/scala/common line 4 Scala Problem
not found: object Node consts.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 13 Scala Problem
not found: object Node core.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 21 Scala Problem
not found: object Node cpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 11 Scala Problem
not found: object Node csr.scala /riscv-sodor-own/src/main/scala/common line 13 Scala Problem
not found: object Node decode.scala /riscv-sodor-own/src/main/scala/common line 4 Scala Problem
not found: object Node dpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 12 Scala Problem
not found: object Node htif.scala /riscv-sodor-own/src/main/scala/common line 4 Scala Problem
not found: object Node instructions.scala /riscv-sodor-own/src/main/scala/common line 6 Scala Problem
not found: object Node memory.scala /riscv-sodor-own/src/main/scala/common line 21 Scala Problem
not found: object Node tile.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 10 Scala Problem
not found: object Node top.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 4 Scala Problem
not found: object Node util.scala /riscv-sodor-own/src/main/scala/common line 9 Scala Problem
not found: value Lit decode.scala /riscv-sodor-own/src/main/scala/common line 20 Scala Problem
not found: value Lit decode.scala /riscv-sodor-own/src/main/scala/common line 20 Scala Problem
not found: value Lit util.scala /riscv-sodor-own/src/main/scala/common line 131 Scala Problem
not found: value Literal decode.scala /riscv-sodor-own/src/main/scala/common line 11 Scala Problem
overloaded method value apply with alternatives: (x: String,radix: Int)scala.math.BigInt <and> (numbits: Int,rnd: scala.util.Random)scala.math.BigInt <and> (signum: Int,magnitude: Array[Byte])scala.math.BigInt cannot be applied to (Any, Int) decode.scala /riscv-sodor-own/src/main/scala/common line 12 Scala Problem
overloaded method value apply with alternatives: (x: String,radix: Int)scala.math.BigInt <and> (numbits: Int,rnd: scala.util.Random)scala.math.BigInt <and> (signum: Int,magnitude: Array[Byte])scala.math.BigInt cannot be applied to (Any, Int) decode.scala /riscv-sodor-own/src/main/scala/common line 12 Scala Problem
overloaded method value apply with alternatives: [T <: chisel3.core.Data](size: Int, t: T)chisel3.core.Mem[T] <and> [T <: chisel3.core.Data](t: T, size: Int)chisel3.core.Mem[T] cannot be applied to (chisel3.core.UInt, Int, seqRead: Boolean) memory.scala /riscv-sodor-own/src/main/scala/common line 86 Scala Problem
overloaded method value apply with alternatives: [T <: chisel3.core.Data](size: Int, t: T)chisel3.core.Mem[T] <and> [T <: chisel3.core.Data](t: T, size: Int)chisel3.core.Mem[T] cannot be applied to (chisel3.core.UInt, Int, seqRead: Boolean) memory.scala /riscv-sodor-own/src/main/scala/common line 87 Scala Problem
type mismatch; found : Any required: chisel3.core.Data cpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 139 Scala Problem
type mismatch; found : Any required: chisel3.core.Data cpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 140 Scala Problem
type mismatch; found : Any required: chisel3.core.Data cpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 141 Scala Problem
type mismatch; found : Any required: chisel3.core.Data cpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 142 Scala Problem
type mismatch; found : Any required: chisel3.core.Data cpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 158 Scala Problem
type mismatch; found : Any required: chisel3.core.Data cpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 159 Scala Problem
type mismatch; found : Any required: chisel3.core.Data cpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 181 Scala Problem
type mismatch; found : Array[(chisel3.core.UInt, List[chisel3.core.UInt])] required: Array[(chisel3.util.BitPat, List[?])] cpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 52 Scala Problem
type mismatch; found : chisel3.core.Bool required: Int dpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 104 Scala Problem
type mismatch; found : chisel3.core.Bool required: Int dpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 105 Scala Problem
type mismatch; found : chisel3.core.Bool required: Int dpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 106 Scala Problem
type mismatch; found : chisel3.core.Bool required: Int dpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 108 Scala Problem
type mismatch; found : chisel3.core.Bool required: Int dpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 227 Scala Problem
type mismatch; found : chisel3.core.SInt required: chisel3.core.UInt csr.scala /riscv-sodor-own/src/main/scala/common line 240 Scala Problem
type mismatch; found : chisel3.core.UInt required: Int dpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 101 Scala Problem
type mismatch; found : chisel3.core.UInt required: Int dpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 107 Scala Problem
type mismatch; found : Int(11) required: chisel3.UInt (which expands to) chisel3.core.UInt dpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 108 Scala Problem
type mismatch; found : Int(12) required: chisel3.UInt (which expands to) chisel3.core.UInt dpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 107 Scala Problem
type mismatch; found : Int(19) required: chisel3.UInt (which expands to) chisel3.core.UInt dpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 106 Scala Problem
type mismatch; found : Int(20) required: chisel3.UInt (which expands to) chisel3.core.UInt dpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 104 Scala Problem
type mismatch; found : Int(20) required: chisel3.UInt (which expands to) chisel3.core.UInt dpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 105 Scala Problem
type mismatch; found : Int(27) required: chisel3.UInt (which expands to) chisel3.core.UInt dpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 101 Scala Problem
type mismatch; found : Int(32) required: chisel3.UInt (which expands to) chisel3.core.UInt dpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 227 Scala Problem
value & is not a member of Chisel.Bits decode.scala /riscv-sodor-own/src/main/scala/common line 20 Scala Problem
value & is not a member of Chisel.Bits util.scala /riscv-sodor-own/src/main/scala/common line 31 Scala Problem
value & is not a member of Chisel.Bits util.scala /riscv-sodor-own/src/main/scala/common line 41 Scala Problem
value === is not a member of Any cpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 123 Scala Problem
value === is not a member of Any cpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 124 Scala Problem
value === is not a member of Any cpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 125 Scala Problem
value === is not a member of Any cpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 126 Scala Problem
value === is not a member of Any cpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 127 Scala Problem
value === is not a member of Any cpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 128 Scala Problem
value === is not a member of Any cpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 129 Scala Problem
value === is not a member of Any cpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 130 Scala Problem
value === is not a member of Any cpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 131 Scala Problem
value === is not a member of Any cpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 147 Scala Problem
value === is not a member of Any cpath.scala /riscv-sodor-own/src/main/scala/rv32_1stage line 147 Scala Problem
value === is not a member of Chisel.Bits decode.scala /riscv-sodor-own/src/main/scala/common line 20 Scala Problem
value === is not a member of Chisel.Bits memory.scala /riscv-sodor-own/src/main/scala/common line 182 Scala Problem
value === is not a member of Chisel.Bits memory.scala /riscv-sodor-own/src/main/scala/common line 182 Scala Problem
value === is not a member of Chisel.Bits memory.scala /riscv-sodor-own/src/main/scala/common line 183 Scala Problem
value === is not a member of Chisel.Bits memory.scala /riscv-sodor-own/src/main/scala/common line 183 Scala Problem
value === is not a member of Chisel.Bits memory.scala /riscv-sodor-own/src/main/scala/common line 184 Scala Problem
value === is not a member of Chisel.Bits memory.scala /riscv-sodor-own/src/main/scala/common line 184 Scala Problem
value === is not a member of Chisel.Bits memory.scala /riscv-sodor-own/src/main/scala/common line 211 Scala Problem
value === is not a member of Chisel.Bits memory.scala /riscv-sodor-own/src/main/scala/common line 212 Scala Problem
value === is not a member of Chisel.Bits memory.scala /riscv-sodor-own/src/main/scala/common line 213 Scala Problem
value === is not a member of Chisel.Bits memory.scala /riscv-sodor-own/src/main/scala/common line 214 Scala Problem
value litOf is not a member of Chisel.Bits decode.scala /riscv-sodor-own/src/main/scala/common line 9 Scala Problem
value litOf is not a member of Chisel.Bits decode.scala /riscv-sodor-own/src/main/scala/common line 38 Scala Problem
value litOf is not a member of Chisel.Bits decode.scala /riscv-sodor-own/src/main/scala/common line 38 Scala Problem
如果我将克隆的Sodor Processor Collection项目从github直接导入到eclipse,它会显示没有错误。但据我所知,我不能在那里写一个scala测试平台。
我非常想知道是否可能创建src / main / scala / test /文件夹并为Sodor处理器编写 scala testbench 收集,就像它总是在凿子教程中完成的(例如here)
我最好的猜测是,我必须正确配置build.sbt文件,但我不知道如何。 (请告诉我,如果我对此设置完全错误或错过了某些内容。)
简而言之
- Eclipse中的Sodor处理器集合?
- Sodor处理器集合的Scala测试平台?
- 如果是,则如何解决错误?
修改
经过一些研究后,我认为主要问题在于凿子版本兼容性。 我找到Chisel3 vs. Chisel 2并看到了这个:
the Node class and object no longer exist (the class should have been private in Chisel2)
通过删除所有不必要的导入节点._ 行,我消除了13个错误。但仍然有59人。