chisel第一个实验

根据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

说明成功了。

相关文章
相关标签/搜索