1. Mac 安装 homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
homebrew的作用就是方便安装,卸载程序,只要一条指令就能完成这些。
2. 安装 Scala
brew install scala
在终端输入 scala -version。如果打印版本号代表安装成功
3. 安装sbt
brew install sbt
在终端输入sbt,进入sbt命令行,输入sbtVersion,可以打印版本号。sbt 的作用是进行项目管理,将项目中的文件放在特定的目录结构中。这个目录结构要自己通过mkdir生成(不知道sbt有没有命令可以生成,如果没有的话,自己可以写一个脚本)
├── src
│ ├── main
│ │ ├── java
│ │ ├── resources
│ │ └── scala
│ ├── test
│ │ ├── java
│ │ ├── resources
│ │ └── scala
├── build.sbt
├── project
│ ├── build.properties
│ ├── plugins.sbt
main 文件夹中主要放源代码,scala 代码放在Scala中,Java代码放在Java中,一些数据文件放在resources中。
test 文件夹中主要放测试代码,类似testbench之类的文件,按照文件类型分别放在不同的文件夹中。
build.sbt 是你这个项目的配置文件,例如:
name := "CombLogic"
version := "0.1"
scalaVersion := "2.12.10"
crossScalaVersions := Seq("2.12.10", "2.11.12")
resolvers ++= Seq(
Resolver.sonatypeRepo("snapshots"),
Resolver.sonatypeRepo("releases")
)
// Provide a managed dependency on X if -DXVersion="" is supplied on the command line.
libraryDependencies += "edu.berkeley.cs" %% "chisel3" % "3.2-SNAPSHOT"
libraryDependencies += "edu.berkeley.cs" %% "chisel-testers2" % "0.1-SNAPSHOT"
4. 测试环境
(1)新建一个项目self_learning
cd self_learning
mkdir src
mkdir src/main
mkdir src/test
mkdir src/main/scala
//由于只是测试用,没有把完整的sbt项目结构建好
(2)编写helloworld.scala,放在src/main/scala文件夹中
object HelloWorld {
def main(args: Array[String]) {
println("Hello world")
}
}
(3)在self_learning的根目录中,输入sbt, 进入sbt命令模式,输入run。项目中的helloworld.scala就会自动执行,并且会在self_learning 目录中生成project和target两个文件夹。
zhongyudeMacBook-Pro:self_learning yu$ sbt
[info] Loading project definition from /Users/yu/scala_project/self_learning/project
[info] Updating ProjectRef(uri("file:/Users/yu/scala_project/self_learning/project/"), "self_learning-build")...
[info] Done updating.
[info] Set current project to self_learning (in build file:/Users/yu/scala_project/self_learning/)
[info] sbt server started at local:///Users/yu/.sbt/1.0/server/3ecf151dd53beddfd07e/sock
sbt:self_learning> run
[info] Compiling 1 Scala source to /Users/yu/scala_project/self_learning/target/scala-2.12/classes ...
[info] Done compiling.
[info] Packaging /Users/yu/scala_project/self_learning/target/scala-2.12/self_learning_2.12-0.1.0-SNAPSHOT.jar ...
[info] Done packaging.
[info] Running HelloWorld
Hello world
5. 搭建chisel环境
(1)下载chisel3 repository
在本地library文件夹中,使用Git输入如下命令:
git clone https://github.com/freechipsproject/chisel3.git
下载完后 cd chisel3,首先编译chisel3 repository:
sbt compile
编译成功后,进行测试:
sbt test
最后将chisel3添加到.ivy2/local/edu.berkeley.cs/中,输入如下命令:
sbt pulishLocal
(2)下载firrtl repository
跟(1)下载chisel3采用相同的步骤
(3)修改build.sbt文件
使用https://github.com/freechipsproject/chisel-template/blob/release/build.sbt中的build.sbt文件:
这是官网上给的添加库依赖的代码,Scala版本得是2.11.+或者2.12.+,如果你用2.13,则sbt update不通过。