根据https://blog.csdn.net/leishangwen/article/details/46225587 中所说,作第一个实验步骤以下: 1:下载sbt-1.1.4.tgz解压到/media/sdb4/download/scala/sbt目录,只有三个子目录bin,conf,libjava
2:在~/.bashrc文件中的最后增长 exportPATH=/home/riscv/riscv/sbt/bin/:$PATHgit
3:创建chisel工程github
新建一个文件夹chisel_max,在其中新建文件max2.scala、build.sbt,其中build.sbt的内容以下(注意两行之间空一行,我实现时没有空一行,结果执行sbt命令时出现下面的提示中没有出现compiling 1 scala source .......等信息提示):web
resolvers ++= Seq("scct-github-repository" at "http://mtkopone.github.com/scct/maven-repo" ) libraryDependencies += "edu.berkeley.cs" %% "chisel" % "latest.release"
max2.scala的内容以下,这是一个比较器,从两个8位的输入中,选择一个较大的数,做为输出,内容以下:shell
import Chisel._ class Max2 extends Module { val io = new Bundle { val in0 = UInt(INPUT, 8) val in1 = UInt(INPUT, 8) val out = UInt(OUTPUT, 8) } io.out := Mux(io.in0 > io.in1, io.in0, io.in1) } object Hellp { def main(args: Array[String]) : Unit={ val margs=Array("--backend","v","--compile") chiselMain(margs, () => Module(new Max2())) } }
4:编译bootstrap
joe@joe-Aspire-Z3730:/media/sdb4/download/scala/chiseltest/chisel_max$ sbt Getting org.scala-sbt sbt 1.1.4 (this may take some time)... downloading file:////home/joe/.sbt/preloaded/org.scala-sbt/sbt/1.1.4/jars/sbt.jar ... [SUCCESSFUL ] org.scala-sbt#sbt;1.1.4!sbt.jar (3ms) downloading file:////home/joe/.sbt/preloaded/org.scala-lang/scala-library/2.12.4/jars/scala-library.jar ... [SUCCESSFUL ] org.scala-lang#scala-library;2.12.4!scala-library.jar (41ms) downloading file:////home/joe/.sbt/preloaded/org.scala-sbt/main_2.12/1.1.4/jars/main_2.12.jar ... 。。。。。。 Getting Scala 2.12.4 (for sbt)... downloading file:////home/joe/.sbt/preloaded/jline/jline/2.14.5/jars/jline.jar ... [SUCCESSFUL ] jline#jline;2.14.5!jline.jar (4ms) :: retrieving :: org.scala-sbt#boot-scala confs: [default] 5 artifacts copied, 0 already retrieved (18986kB/29ms) [info] Updated file /media/46bb100d-2505-4025-8425-34ecf3129209/download/scala/chiseltest/chisel_max/project/build.properties: set sbt.version to 1.1.4 [info] Loading project definition from /media/46bb100d-2505-4025-8425-34ecf3129209/download/scala/chiseltest/chisel_max/project [info] Updating ProjectRef(uri("file:/media/46bb100d-2505-4025-8425-34ecf3129209/download/scala/chiseltest/chisel_max/project/"), "chisel_max-build")... [info] Done updating. [info] Loading settings from build.sbt ... [info] Set current project to chisel_max (in build file:/media/46bb100d-2505-4025-8425-34ecf3129209/download/scala/chiseltest/chisel_max/) [info] sbt server started at local:///home/joe/.sbt/1.0/server/6955b5c3b666021056e1/sock sbt:chisel_max>
上面最后一行是命令提示,输入exit以后退出sbt,而后将build.sbt中空一行出来,再编译并执行run命令:ubuntu
joe@joe-Aspire-Z3730:/media/sdb4/download/scala/chiseltest/chisel_max$ sbt [info] Loading project definition from /media/46bb100d-2505-4025-8425-34ecf3129209/download/scala/chiseltest/chisel_max/project [info] Loading settings from build.sbt ... [info] Set current project to chisel_max (in build file:/media/46bb100d-2505-4025-8425-34ecf3129209/download/scala/chiseltest/chisel_max/) [info] sbt server started at local:///home/joe/.sbt/1.0/server/6955b5c3b666021056e1/sock sbt:chisel_max> run [info] Updating ... [warn] module not found: edu.berkeley.cs#chisel_2.12;latest.release [warn] ==== local: tried [warn] /home/joe/.ivy2/local/edu.berkeley.cs/chisel_2.12/[revision]/ivys/ivy.xml [warn] ==== public: tried [warn] https://repo1.maven.org/maven2/edu/berkeley/cs/chisel_2.12/[revision]/chisel_2.12-[revision].pom [warn] ==== local-preloaded-ivy: tried [warn] /home/joe/.sbt/preloaded/edu.berkeley.cs/chisel_2.12/[revision]/ivys/ivy.xml [warn] ==== local-preloaded: tried [warn] file:////home/joe/.sbt/preloaded/edu/berkeley/cs/chisel_2.12/[revision]/chisel_2.12-[revision].pom [warn] ==== scct-github-repository: tried [warn] http://mtkopone.github.com/scct/maven-repo/edu/berkeley/cs/chisel_2.12/[revision]/chisel_2.12-[revision].pom [warn] :::::::::::::::::::::::::::::::::::::::::::::: [warn] :: UNRESOLVED DEPENDENCIES :: [warn] :::::::::::::::::::::::::::::::::::::::::::::: [warn] :: edu.berkeley.cs#chisel_2.12;latest.release: not found [warn] :::::::::::::::::::::::::::::::::::::::::::::: [warn] [warn] Note: Unresolved dependencies path: [warn] edu.berkeley.cs:chisel_2.12:latest.release (/media/46bb100d-2505-4025-8425-34ecf3129209/download/scala/chiseltest/chisel_max/build.sbt#L3-4) [warn] +- default:chisel_max_2.12:0.1.0-SNAPSHOT [error] sbt.librarymanagement.ResolveException: unresolved dependency: edu.berkeley.cs#chisel_2.12;latest.release: not found [error] at sbt.internal.librarymanagement.IvyActions$.resolveAndRetrieve(IvyActions.scala:334) [error] at sbt.internal.librarymanagement.IvyActions$.$anonfun$updateEither$1(IvyActions.scala:208) [error] at sbt.internal.librarymanagement.IvySbt$Module.$anonfun$withModule$1(Ivy.scala:243) [error] at sbt.internal.librarymanagement.IvySbt.$anonfun$withIvy$1(Ivy.scala:204) [error] at sbt.internal.librarymanagement.IvySbt.sbt$internal$librarymanagement$IvySbt$$action$1(Ivy.scala:70) [error] at sbt.internal.librarymanagement.IvySbt$$anon$3.call(Ivy.scala:77) [error] at xsbt.boot.Locks$GlobalLock.withChannel$1(Locks.scala:95) [error] at xsbt.boot.Locks$GlobalLock.xsbt$boot$Locks$GlobalLock$$withChannelRetries$1(Locks.scala:80) [error] at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock$1.apply(Locks.scala:99) [error] at xsbt.boot.Using$.withResource(Using.scala:10) [error] at xsbt.boot.Using$.apply(Using.scala:9) [error] at xsbt.boot.Locks$GlobalLock.ignoringDeadlockAvoided(Locks.scala:60) [error] at xsbt.boot.Locks$GlobalLock.withLock(Locks.scala:50) [error] at xsbt.boot.Locks$.apply0(Locks.scala:31) [error] at xsbt.boot.Locks$.apply(Locks.scala:28) [error] at sbt.internal.librarymanagement.IvySbt.withDefaultLogger(Ivy.scala:77) [error] at sbt.internal.librarymanagement.IvySbt.withIvy(Ivy.scala:199) [error] at sbt.internal.librarymanagement.IvySbt.withIvy(Ivy.scala:196) [error] at sbt.internal.librarymanagement.IvySbt$Module.withModule(Ivy.scala:242) [error] at sbt.internal.librarymanagement.IvyActions$.updateEither(IvyActions.scala:193) [error] at sbt.librarymanagement.ivy.IvyDependencyResolution.update(IvyDependencyResolution.scala:20) [error] at sbt.librarymanagement.DependencyResolution.update(DependencyResolution.scala:56) [error] at sbt.internal.LibraryManagement$.resolve$1(LibraryManagement.scala:46) [error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$12(LibraryManagement.scala:99) [error] at sbt.util.Tracked$.$anonfun$lastOutput$1(Tracked.scala:68) [error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$19(LibraryManagement.scala:112) [error] at scala.util.control.Exception$Catch.apply(Exception.scala:224) [error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11(LibraryManagement.scala:112) [error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11$adapted(LibraryManagement.scala:95) [error] at sbt.util.Tracked$.$anonfun$inputChanged$1(Tracked.scala:149) [error] at sbt.internal.LibraryManagement$.cachedUpdate(LibraryManagement.scala:126) [error] at sbt.Classpaths$.$anonfun$updateTask$5(Defaults.scala:2385) [error] at scala.Function1.$anonfun$compose$1(Function1.scala:44) [error] at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:39) [error] at sbt.std.Transform$$anon$4.work(System.scala:66) [error] at sbt.Execute.$anonfun$submit$2(Execute.scala:262) [error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:16) [error] at sbt.Execute.work(Execute.scala:271) [error] at sbt.Execute.$anonfun$submit$1(Execute.scala:262) [error] at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:174) [error] at sbt.CompletionService$$anon$2.call(CompletionService.scala:36) [error] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [error] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [error] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [error] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [error] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [error] at java.lang.Thread.run(Thread.java:748) [error] (update) sbt.librarymanagement.ResolveException: unresolved dependency: edu.berkeley.cs#chisel_2.12;latest.release: not found [error] Total time: 7 s, completed Apr 27, 2018 12:22:03 PM sbt:chisel_max>
根据上面的错误提示,估计是我尚未安装chiselbash
5:安装chisel3 其实在https://github.com/freechipsproject/chisel3 网址上对如何安装chisel3有说明,我是由于安装到第5步(此步时)才发现这个安装说明的,只是我前面已经安装了sbt,因此网址中说的先要安装sbt我先不用安装它。app
joe@joe-Aspire-Z3730:/media/sdb4/download$ mkdir Verilator joe@joe-Aspire-Z3730:/media/sdb4/download$ cd Verilator joe@joe-Aspire-Z3730:/media/sdb4/download/Verilator$ git clone http://git.veripool.org/git/verilator Cloning into 'verilator'... joe@joe-Aspire-Z3730:/media/sdb4/download/Verilator$ ls -a . .. verilator joe@joe-Aspire-Z3730:/media/sdb4/download/Verilator$ cd verilator/ joe@joe-Aspire-Z3730:/media/sdb4/download/Verilator/verilator$ ls Artistic COPYING.LESSER install-sh nodist verilator.pc.in bin doxygen.config internals.pod README.pod Changes doxygen-mainpage Makefile.in src configure.ac examples MANIFEST.SKIP test_regress COPYING include mkinstalldirs TODO joe@joe-Aspire-Z3730:/media/sdb4/download/Verilator/verilator$ git pull Already up-to-date. joe@joe-Aspire-Z3730:/media/sdb4/download/Verilator/verilator$ git checkout verilator_3_904 Note: checking out 'verilator_3_904'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by performing another checkout. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -b with the checkout command again. Example: git checkout -b new_branch_name HEAD is now at 0253017... Version bump joe@joe-Aspire-Z3730:/media/sdb4/download/Verilator/verilator$ unset VERILATOR_ROOT joe@joe-Aspire-Z3730:/media/sdb4/download/Verilator/verilator$ autoconf The program 'autoconf' can be found in the following packages: * autoconf * autoconf2.13 Try: sudo apt-get install <selected package> joe@joe-Aspire-Z3730:/media/sdb4/download/Verilator/verilator$ sudo apt-get install autoconf 我查了其它须要的依赖包flex,bison,g++等,都有安装,因此不须要安装其它包。 joe@joe-Aspire-Z3730:/media/sdb4/download/Verilator/verilator$ ls Artistic COPYING.LESSER internals.pod README.pod test_v bin doxygen.config Makefile.in src test_verilated Changes doxygen-mainpage MANIFEST.SKIP test_c TODO configure.ac include mkinstalldirs test_regress verilator.pc.in COPYING install-sh nodist test_sc joe@joe-Aspire-Z3730:/media/sdb4/download/Verilator/verilator$ autoconf joe@joe-Aspire-Z3730:/media/sdb4/download/Verilator/verilator$ ls Artistic COPYING.LESSER MANIFEST.SKIP test_sc autom4te.cache doxygen.config mkinstalldirs test_v bin doxygen-mainpage nodist test_verilated Changes include README.pod TODO configure install-sh src verilator.pc.in configure.ac internals.pod test_c COPYING Makefile.in test_regress joe@joe-Aspire-Z3730:/media/sdb4/download/Verilator/verilator$./configure joe@joe-Aspire-Z3730:/media/sdb4/download/Verilator/verilator$make joe@joe-Aspire-Z3730:/media/sdb4/download/Verilator/verilator$sudo make install
6:再次执行sbt和run命令,依然仍是有错误,猜测是由于我单独安装的sbt,而不是按照官网中说的经过apt-get安装sbt。我先将~/.bashrc中的PATH环境变量中的sbt部分删除,再重启命令终端。maven
7:apt-get 安装sbt
joe@joe-Aspire-Z3730:~$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 642AC823 joe@joe-Aspire-Z3730:~$sudo apt-get update joe@joe-Aspire-Z3730:~$sudo apt-get install sbt
8:从新进入工程目录,执行sbt和run命令,发现仍是一样的错误问题
。。。 [error] (update) sbt.librarymanagement.ResolveException: unresolved dependency: edu.berkeley.cs#chisel_2.12;latest.release: not found 。。。 我打开build.sbt文件,看到其中有 resolvers ++= Seq("scct-github-repository" at "http://mtkopone.github.com/scct/maven-repo") libraryDependencies += "edu.berkeley.cs" %% "chisel" % "latest.release" 这样一句,说明错误就出在这一句上,但我以为我下载的chisel是版本3,不会是chisel_2.12呀, 总以为是否是这儿有点问题或者说是否是由于build.sbt中第一句设置的仓库不正确的缘由呢?
9:从新安装、测试firrtl
joe@joe-Aspire-Z3730:/media/sdb4/download/firrtl$ git clone https://github.com/ucb-bar/firrtl.git && cd firrtl joe@joe-Aspire-Z3730:/media/sdb4/download/firrtl/firrtl$ sbt compile Getting org.scala-sbt sbt 1.1.1 (this may take some time)... downloading https://repo1.maven.org/maven2/org/scala-sbt/sbt/1.1.1/sbt-1.1.1.jar ... [SUCCESSFUL ] org.scala-sbt#sbt;1.1.1!sbt.jar (1276ms) downloading https://repo1.maven.org/maven2/org/scala-sbt/main_2.12/1.1.1/main_2.12-1.1.1.jar ... [SUCCESSFUL ] org.scala-sbt#main_2.12;1.1.1!main_2.12.jar (6286ms) downloading https://repo1.maven.org/maven2/org/scala-sbt/logic_2.12/1.1.1/logic_2.12-1.1.1.jar ... [SUCCESSFUL ] org.scala-sbt#logic_2.12;1.1.1!logic_2.12.jar (1002ms) downloading https://repo1.maven.org/maven2/org/scala-sbt/actions_2.12/1.1.1/actions_2.12-1.1.1.jar ... [SUCCESSFUL ] org.scala-sbt#actions_2.12;1.1.1!actions_2.12.jar (1615ms) downloading https://repo1.maven.org/maven2/org/scala-sbt/main-settings_2.12/1.1.1/main-settings_2.12-1.1.1.jar ... [SUCCESSFUL ] org.scala-sbt#main-settings_2.12;1.1.1!main-settings_2.12.jar (2663ms) downloading https://repo1.maven.org/maven2/org/scala-sbt/run_2.12/1.1.1/run_2.12-1.1.1.jar ... [SUCCESSFUL ] org.scala-sbt#run_2.12;1.1.1!run_2.12.jar (985ms) downloading https://repo1.maven.org/maven2/org/scala-sbt/command_2.12/1.1.1/command_2.12-1.1.1.jar ... 。。。。。。 [info] downloading https://repo1.maven.org/maven2/com/beust/jcommander/1.35/jcommander-1.35.jar ... [info] [SUCCESSFUL ] com.beust#jcommander;1.35!jcommander.jar (899ms) [info] downloading https://repo1.maven.org/maven2/com/lightbend/paradox/paradox_2.12/0.3.0/paradox_2.12-0.3.0.jar ... [info] [SUCCESSFUL ] com.lightbend.paradox#paradox_2.12;0.3.0!paradox_2.12.jar (1360ms) [info] downloading https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.typesafe.sbt/sbt-web/scala_2.12/sbt_1.0/1.4.2/jars/sbt-web.jar ... [info] [SUCCESSFUL ] com.typesafe.sbt#sbt-web;1.4.2!sbt-web.jar (3340ms) [info] downloading https://repo1.maven.org/maven2/org/pegdown/pegdown/1.6.0/pegdown-1.6.0.jar ... [info] [SUCCESSFUL ] org.pegdown#pegdown;1.6.0!pegdown.jar (952ms) [info] downloading https://repo1.maven.org/maven2/org/antlr/ST4/4.0.8/ST4-4.0.8.jar ... [info] [SUCCESSFUL ] org.antlr#ST4;4.0.8!ST4.jar (1080ms) [info] Done updating. [warn] Found version conflict(s) in library dependencies; some are suspected to be binary incompatible: [warn] * org.ow2.asm:asm-tree:6.0 is selected over 5.0.3 [warn] +- org.ow2.asm:asm-commons:6.0 (depends on 6.0) [warn] +- org.parboiled:parboiled-java:1.1.7 (depends on 5.0.3) [warn] +- org.ow2.asm:asm-util:5.0.3 (depends on 5.0.3) [warn] +- org.ow2.asm:asm-analysis:5.0.3 (depends on 5.0.3) [warn] * org.ow2.asm:asm:6.0 is selected over 5.0.3 [warn] +- org.pantsbuild:jarjar:1.6.5 (depends on 6.0) [warn] +- org.ow2.asm:asm-tree:6.0 (depends on 6.0) [warn] +- org.parboiled:parboiled-java:1.1.7 (depends on 5.0.3) [warn] +- org.ow2.asm:asm-tree:5.0.3 (depends on 5.0.3) [warn] Run 'evicted' to see detailed eviction warnings [info] Loading settings from build.sbt ... [info] Set current project to firrtl (in build file:/media/46bb100d-2505-4025-8425-34ecf3129209/download/firrtl/firrtl/) [info] Executing in batch mode. For better performance use sbt's shell [info] Updating ... 。。。。。。。 [warn] bootstrap class path not set in conjunction with -source 1.7 [info] Done compiling. [success] Total time: 224 s, completed Apr 27, 2018 5:15:27 PM joe@joe-Aspire-Z3730:/media/sdb4/download/firrtl/firrtl$ sbt test 。。。。。。 [info] Run completed in 45 seconds, 211 milliseconds. [info] Total number of tests run: 685 [info] Suites: completed 85, aborted 0 [info] Tests: succeeded 685, failed 0, canceled 0, ignored 6, pending 0 [info] All tests passed. [info] Passed: Total 685, Failed 0, Errors 0, Passed 685, Ignored 6 [success] Total time: 80 s, completed Apr 28, 2018 8:53:24 AM
可是我从新执行sbt和run命令,仍然出现:
[warn] Note: Unresolved dependencies path: [warn] edu.berkeley.cs:chisel_2.12:latest.release (/media/46bb100d-2505-4025-8425-34ecf3129209/download/scala/chiseltest/chisel_max/build.sbt#L3-4) [warn] +- default:chisel_max_2.12:0.1.0-SNAPSHOT [error] sbt.librarymanagement.ResolveException: unresolved dependency: edu.berkeley.cs#chisel_2.12;latest.release: not found [error] at sbt.internal.librarymanagement.IvyActions$.resolveAndRetrieve(IvyActions.scala:334) [error] at sbt.internal.librarymanagement.IvyActions$.$anonfun$updateEither$1(IvyActions.scala:208) [error] at sbt.internal.librarymanagement.IvySbt$Module.$anonfun$withModule$1(Ivy.scala:243) [error] at sbt.internal.librarymanagement.IvySbt.$anonfun$withIvy$1(Ivy.scala:204) [error] at sbt.internal.librarymanagement.IvySbt.sbt$internal$librarymanagement$IvySbt$$action$1(Ivy.scala:70) [error] at sbt.internal.librarymanagement.IvySbt$$anon$3.call(Ivy.scala:77) [error] at xsbt.boot.Locks$GlobalLock.withChannel$1(Locks.scala:95) [error] at xsbt.boot.Locks$GlobalLock.xsbt$boot$Locks$GlobalLock$$withChannelRetries$1(Locks.scala:80) [error] at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock$1.apply(Locks.scala:99) [error] at xsbt.boot.Using$.withResource(Using.scala:10) [error] at xsbt.boot.Using$.apply(Using.scala:9) [error] at xsbt.boot.Locks$GlobalLock.ignoringDeadlockAvoided(Locks.scala:60) [error] at xsbt.boot.Locks$GlobalLock.withLock(Locks.scala:50) [error] at xsbt.boot.Locks$.apply0(Locks.scala:31) [error] at xsbt.boot.Locks$.apply(Locks.scala:28) [error] at sbt.internal.librarymanagement.IvySbt.withDefaultLogger(Ivy.scala:77) [error] at sbt.internal.librarymanagement.IvySbt.withIvy(Ivy.scala:199) [error] at sbt.internal.librarymanagement.IvySbt.withIvy(Ivy.scala:196) [error] at sbt.internal.librarymanagement.IvySbt$Module.withModule(Ivy.scala:242) [error] at sbt.internal.librarymanagement.IvyActions$.updateEither(IvyActions.scala:193) [error] at sbt.librarymanagement.ivy.IvyDependencyResolution.update(IvyDependencyResolution.scala:20) [error] at sbt.librarymanagement.DependencyResolution.update(DependencyResolution.scala:56) [error] at sbt.internal.LibraryManagement$.resolve$1(LibraryManagement.scala:46) [error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$12(LibraryManagement.scala:99) [error] at sbt.util.Tracked$.$anonfun$lastOutput$1(Tracked.scala:68) [error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$19(LibraryManagement.scala:112) [error] at scala.util.control.Exception$Catch.apply(Exception.scala:224) [error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11(LibraryManagement.scala:112) [error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11$adapted(LibraryManagement.scala:95) [error] at sbt.util.Tracked$.$anonfun$inputChanged$1(Tracked.scala:149) [error] at sbt.internal.LibraryManagement$.cachedUpdate(LibraryManagement.scala:126) [error] at sbt.Classpaths$.$anonfun$updateTask$5(Defaults.scala:2385) [error] at scala.Function1.$anonfun$compose$1(Function1.scala:44) [error] at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:39) [error] at sbt.std.Transform$$anon$4.work(System.scala:66) [error] at sbt.Execute.$anonfun$submit$2(Execute.scala:262) [error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:16) [error] at sbt.Execute.work(Execute.scala:271) [error] at sbt.Execute.$anonfun$submit$1(Execute.scala:262) [error] at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:174) [error] at sbt.CompletionService$$anon$2.call(CompletionService.scala:36) [error] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [error] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [error] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [error] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [error] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [error] at java.lang.Thread.run(Thread.java:748) [error] (update) sbt.librarymanagement.ResolveException: unresolved dependency: edu.berkeley.cs#chisel_2.12;latest.release: not found [error] Total time: 7 s, completed Apr 28, 2018 8:57:14 AM
10:根据 https://github.com/freechipsproject/chisel3 从新修改build.sbt内容以下,
resolvers ++= Seq("scct-github-repository" at "http://mtkopone.github.com/scct/maven-repo") libraryDependencies += "edu.berkeley.cs" %% "chisel3" % "3.1-SNAPSHOT"
11:再执行sbt和run命令
[warn] Note: Unresolved dependencies path: [warn] edu.berkeley.cs:chisel3_2.12:3.1-SNAPSHOT (/media/46bb100d-2505-4025-8425-34ecf3129209/download/scala/chiseltest/chisel_max/build.sbt#L3-4) [warn] +- default:chisel_max_2.12:0.1.0-SNAPSHOT [error] sbt.librarymanagement.ResolveException: unresolved dependency: edu.berkeley.cs#chisel3_2.12;3.1-SNAPSHOT: not found [error] at sbt.internal.librarymanagement.IvyActions$.resolveAndRetrieve(IvyActions.scala:334)
12:再修改build.sbt,而后执行sbt 和run命令仍是错误
resolvers ++= Seq("scct-github-repository" at "http://mtkopone.github.com/scct/maven-repo") libraryDependencies += "edu.berkeley.cs" %% "chisel_max" % "0.1.0-SNAPSHOT"
13:去掉build.sbt的libraryDependencies这一行,再执行sbt和run命令
joe@joe-Aspire-Z3730:/media/sdb4/download/scala/chiseltest/chisel_max$ sbt[info] Loading project definition from /media/46bb100d-2505-4025-8425-34ecf3129209/download/scala/chiseltest/chisel_max/project [info] Loading settings from build.sbt ... [info] Set current project to chisel_max (in build file:/media/46bb100d-2505-4025-8425-34ecf3129209/download/scala/chiseltest/chisel_max/) [info] sbt server started at local:///home/joe/.sbt/1.0/server/6955b5c3b666021056e1/sock sbt:chisel_max> run [info] Updating ... [info] Done updating. [info] Compiling 1 Scala source to /media/46bb100d-2505-4025-8425-34ecf3129209/download/scala/chiseltest/chisel_max/target/scala-2.12/classes ... [info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.4. Compiling... [info] Compilation completed in 10.054s. [error] /media/46bb100d-2505-4025-8425-34ecf3129209/download/scala/chiseltest/chisel_max/max2.scala:1:8: not found: object Chisel [error] import Chisel._ [error] ^ [error] /media/46bb100d-2505-4025-8425-34ecf3129209/download/scala/chiseltest/chisel_max/max2.scala:2:20: not found: type Module [error] class Max2 extends Module { [error] ^ [error] /media/46bb100d-2505-4025-8425-34ecf3129209/download/scala/chiseltest/chisel_max/max2.scala:3:20: not found: type Bundle [error] val io = new Bundle { [error] ^ [error] /media/46bb100d-2505-4025-8425-34ecf3129209/download/scala/chiseltest/chisel_max/max2.scala:4:19: not found: value UInt [error] val in0 = UInt(INPUT, 8) [error] ^ [error] /media/46bb100d-2505-4025-8425-34ecf3129209/download/scala/chiseltest/chisel_max/max2.scala:4:24: not found: value INPUT [error] val in0 = UInt(INPUT, 8) [error] ^ [error] /media/46bb100d-2505-4025-8425-34ecf3129209/download/scala/chiseltest/chisel_max/max2.scala:5:19: not found: value UInt [error] val in1 = UInt(INPUT, 8) [error] ^ [error] /media/46bb100d-2505-4025-8425-34ecf3129209/download/scala/chiseltest/chisel_max/max2.scala:5:24: not found: value INPUT [error] val in1 = UInt(INPUT, 8) [error] ^ [error] /media/46bb100d-2505-4025-8425-34ecf3129209/download/scala/chiseltest/chisel_max/max2.scala:6:19: not found: value UInt [error] val out = UInt(OUTPUT, 8) [error] ^ [error] /media/46bb100d-2505-4025-8425-34ecf3129209/download/scala/chiseltest/chisel_max/max2.scala:6:24: not found: value OUTPUT [error] val out = UInt(OUTPUT, 8) [error] ^ [error] /media/46bb100d-2505-4025-8425-34ecf3129209/download/scala/chiseltest/chisel_max/max2.scala:13:11: not found: value chiselMain [error] chiselMain(margs, () => Module(new Max2())) [error] ^ [error] /media/46bb100d-2505-4025-8425-34ecf3129209/download/scala/chiseltest/chisel_max/max2.scala:13:35: not found: value Module [error] chiselMain(margs, () => Module(new Max2())) [error] ^ [error] 11 errors found [error] (Compile / compileIncremental) Compilation failed [error] Total time: 16 s, completed Apr 28, 2018 10:42:24 AM
14:apt-get remove sbt以后,再将我最开始下载的sbt1.1.4经过~/.bashrc中的最后一行中对PATH的设置打开
export PATH=/media/sdb4/download/scala/sbt/bin/:$PATH
而后再从新启动一个命令终端,再执行sbt和run命令,无论build.sbt中是以下内容:
resolvers ++= Seq("scct-github-repository" at "http://mtkopone.github.com/scct/maven-repo") libraryDependencies += "edu.berkeley.cs" %% "chisel" % "3.1-SNAPSHOT"
仍是以下内容
resolvers ++= Seq("scct-github-repository" at "http://mtkopone.github.com/scct/maven-repo") libraryDependencies += "edu.berkeley.cs" %% "chisel3" % "3.1-SNAPSHOT"
始终都是出现差很少的错误。如:
[error] (update) sbt.librarymanagement.ResolveException: unresolved dependency: edu.berkeley.cs#chisel_2.12;3.1-SNAPSHOT: not found
15:根据https://github.com/ucb-bar/chisel-tutorial 下载chisel-tutorial,执行sbt run命令则能成功,而后我将其目录下的build.sbt复制到个人实验目录下,再执行sbt run命令,出现的错误与原来作实验时不同了,错误提示在max2.scala中的main函数中,我再根据https://github.com/freechipsproject/chisel3/wiki/Chisel3-vs-Chisel2 中的说明,将main中代码修改成:
def main(args: Array[String]) : Unit={ val margs=Array("--backend","v","--compile") chisel3.Driver.execute(margs, () => Module(new Max2())) }
从新sbt run
joe@joe-Aspire-Z3730:/media/sdb4/download/scala/chiseltest/chisel_max$ sbt run [info] Loading project definition from /media/46bb100d-2505-4025-8425-34ecf3129209/download/scala/chiseltest/chisel_max/project [info] Loading settings from build.sbt ... [info] Set current project to chisel-tutorial (in build file:/media/46bb100d-2505-4025-8425-34ecf3129209/download/scala/chiseltest/chisel_max/) [info] Compiling 1 Scala source to /media/46bb100d-2505-4025-8425-34ecf3129209/download/scala/chiseltest/chisel_max/target/scala-2.11/classes ... [info] Done compiling. [info] Packaging /media/46bb100d-2505-4025-8425-34ecf3129209/download/scala/chiseltest/chisel_max/target/scala-2.11/chisel-tutorial_2.11-3.1.0.jar ... [info] Done packaging. [info] Running Hellp Error: Unknown option --backend Error: Unknown option --compile Try --help for more information. [success] Total time: 6 s, completed Apr 28, 2018 11:44:16 AM
说明成功了。