Ошибка после запуска sbt test в Chisel 3

Пытаюсь использовать долото 3.

Я попытался протестировать файл GCD.scala в репозитории шаблона проекта chisel, используя команды sbt test и sbt «test-only example.GCD» после ответа на предыдущий вопрос. Но это дает ошибку (ы), причину которых я не могу найти. Я не вносил никаких изменений в файл build.sbt или макет репо. Я отправляю только последнюю часть сообщения об ошибке, так как оно очень длинное и повторяющееся.

[info] Loading project definition from /home/isuru/fyp/ChiselProjects/TrialProject/project
[info] Set current project to chisel-module-template (in build file:/home/isuru/fyp/ChiselProjects/TrialProject/)
[info] Compiling 1 Scala source to /home/isuru/fyp/ChiselProjects/TrialProject/target/scala-2.11/classes...
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:5: not found: object Chisel3
[error] import Chisel3._
[error]        ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:7: not found: type Module
[error] class GCD extends Module {
[error]                   ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:8: not found: type Bundle
[error]   val io = new Bundle {
[error]                ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:9: not found: value UInt
[error]     val a  = UInt(INPUT,  16)
[error]              ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:9: not found: value INPUT
[error]     val a  = UInt(INPUT,  16)
[error]                   ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:10: not found: value UInt
[error]     val b  = UInt(INPUT,  16)
[error]              ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:10: not found: value INPUT
[error]     val b  = UInt(INPUT,  16)
[error]                   ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:11: not found: value Bool
[error]     val e  = Bool(INPUT)
[error]              ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:11: not found: value INPUT
[error]     val e  = Bool(INPUT)
[error]                   ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:12: not found: value UInt
[error]     val z  = UInt(OUTPUT, 16)
[error]              ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:12: not found: value OUTPUT
[error]     val z  = UInt(OUTPUT, 16)
[error]                   ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:13: not found: value Bool
[error]     val v  = Bool(OUTPUT)
[error]              ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:13: not found: value OUTPUT
[error]     val v  = Bool(OUTPUT)
[error]                   ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:15: not found: value Reg
[error]   val x  = Reg(UInt())
[error]            ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:15: not found: value UInt
[error]   val x  = Reg(UInt())
[error]                ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:16: not found: value Reg
[error]   val y  = Reg(UInt())
[error]            ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:16: not found: value UInt
[error]   val y  = Reg(UInt())
[error]                ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:17: not found: value when
[error]   when   (x > y) { x := x - y }
[error]   ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:18: not found: value unless
[error]   unless (x > y) { y := y - x }
[error]   ^
[error] /home/isuru/fyp/ChiselProjects/TrialProject/src/main/scala/example/GCD.scala:19: not found: value when
[error]   when (io.e) { x := io.a; y := io.b }
[error]   ^
[error] 20 errors found
[error] (compile:compileIncremental) Compilation failed
[error] Total time: 2 s, completed Dec 1, 2016 8:26:25 PM

person isururathnayaka    schedule 01.12.2016    source источник


Ответы (2)


Ошибки, которые вы показали, предполагают, что sbt почему-то не находит Chisel, не могли бы вы случайно показать полный список ошибок (особенно на ранних этапах)? С помощью следующей последовательности команд я не могу воспроизвести наблюдаемые вами ошибки:

git clone [email protected]:ucb-bar/chisel-template.git    
cd chisel-template    
sbt test

Это не причина этой проблемы, но для запуска теста в chisel-template вы должны запустить sbt "test-only examples.test.GCDTester". example.GCD - это верхняя часть дизайна, но для запуска теста вам нужно обратиться к классу Tester в src/test/scala/examples/test/GCDUnitTest.scala.

person Jack Koenig    schedule 01.12.2016
comment
Спасибо jkoenig за быстрый ответ. Я отредактировал вопрос, чтобы включить полное сообщение об ошибке. Однако теперь я снова клонировал шаблон и запустил sbt test и test-only для GCDTester в этом новом каталоге. Оба работают нормально. Итак, ошибка как-то связана с проблемой с моим предыдущим клоном шаблона? Еще раз спасибо за советы. - person isururathnayaka; 02.12.2016
comment
Без проблем! Итак, в вашем исходном примере проблема - import Chisel3._. Имя пакета на самом деле chisel3, а пакеты в Scala чувствительны к регистру! Рад, что чистый клон работает! Я предполагаю, что раньше это была просто опечатка. - person Jack Koenig; 02.12.2016
comment
Еще раз спасибо. Я понятия не имел, что случилось. В противном случае я бы опубликовал все сообщения об ошибках в исходном вопросе. Извини за это. - person isururathnayaka; 03.12.2016
comment
Совершенно не беспокойтесь! У меня были похожие проблемы, когда я изучал Chisel, там много нового! - person Jack Koenig; 03.12.2016

Я только что столкнулся с той же проблемой при создании собственного проекта долота. Однако дело не в том, что импортное chisel3._ было неправильным. Проблема заключалась в том, что в моем каталоге не было файла build.sbt.

Я нашел здесь свое решение. https://chisel.eecs.berkeley.edu/2.0.6/getting-started.html

person Donato Kava    schedule 05.08.2018
comment
Хотя эта ссылка может дать ответ на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными, если ссылка на страницу изменится. - Из отзыва - person Nico Haase; 05.08.2018
comment
Решение состоит в том, чтобы убедиться, что файл build.sbt находится в том же каталоге, что и проект, который выдает эту ошибку. Ссылка упоминает это требование в разделе 6.1, в котором говорится, что для создания ваших собственных проектов с нуля вам потребуется создать каталог, исходный файл Chisel и файл конфигурации build.sbt. - person Donato Kava; 27.08.2018