chisel第一个实验

根据https://blog.csdn.net/leishangwen/article/details/46225587 中所说,做第一个实验步骤如下: 1:下载sbt-1.1.4.tgz解压到/media/sdb4/download/scala/sbt目录,只有三个子目录bin,conf,lib

2:在~/.bashrc文件中的最后增加 exportPATH=/home/riscv/riscv/sbt/bin/:$PATH

3:建立chisel工程

新建一个文件夹chisel_max,在其中新建文件max2.scala、build.sbt,其中build.sbt的内容如下(注意两行之间空一行,我实现时没有空一行,结果执行sbt命令时出现下面的提示中没有出现compiling 1 scala source .......等信息提示):

resolvers ++= Seq("scct-github-repository" at "http://mtkopone.github.com/scct/maven-repo" )
libraryDependencies += "edu.berkeley.cs" %% "chisel" % "latest.release"

max2.scala的内容如下,这是一个比较器,从两个8位的输入中,选择一个较大的数,作为输出,内容如下:

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:编译

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命令:

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> 

根据上面的错误提示,估计是我还没有安装chisel

5:安装chisel3 其实在https://github.com/freechipsproject/chisel3 网址上对如何安装chisel3有说明,我是因为安装到第5步(此步时)才发现这个安装说明的,只是我前面已经安装了sbt,所以网址中说的先要安装sbt我先不用安装它。

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部分删除,再重启命令终端。

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

说明成功了。

转载于:https://my.oschina.net/u/2963604/blog/1802101

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值