私は、Sodorプロセッサ/ RocketコアのALUソースファイルをカスタマイズして別のプロジェクトで使用しようとしています。だから、aluソースファイルに追加されたパラメータを使うことを望む、configurations.scalaファイルを含む共通のフォルダをコピーしました。しかし、私はsbtを "テスト専用..."を実行するとき、私は今までの解決策を見つけることができなかった次のエラーを取得します。チゼルがパラメータの暗黙の値を見つけられない
[info] Compiling 1 Scala source to /home/isuru/fyp/ChiselProjects/RiscvIoT/target/scala-2.11/test-classes...
[error] /home/isuru/fyp/ChiselProjects/RiscvIoT/src/test/scala/core/aluTest.scala:42: could not find implicit value for parameter conf: Common.SodorConfiguration
[error] Driver(() => new ALU, backendName) {
[error] ^
[error] one error found
[error] (test:compileIncremental) Compilation failed
[error] Total time: 0 s, completed Dec 6, 2016 10:45:25 PM
これは、暗黙的なパラメータを含むソースファイルのセクションです。完全なテキストが非常に長いので、私はそのセクションだけを投稿しています。
class ALUIO(implicit conf: SodorConfiguration) extends Bundle {
val fn = Bits(INPUT, SZ_ALU_FN)
val in2 = UInt(INPUT, conf.xprlen)
val in1 = UInt(INPUT, conf.xprlen)
val out = UInt(OUTPUT, conf.xprlen)
val adder_out = UInt(OUTPUT, conf.xprlen)
}
class ALU(implicit conf: SodorConfiguration) extends Module
{
val io = new ALUIO
val msb = conf.xprlen-1
...
}
は、あなたのテスタークラスのスコープ内に 'SodorConfiguration'インスタンスを持っていますか? http://docs.scala-lang.org/tutorials/FAQ/finding-implicits.html – Kamyar
感謝のKamyar。これは私の問題を解決しました。あなたの言ったことを理解するまでには時間がかかりました。 – isuru