MAC配置 chisel3环境运行FIRRTL
1. Mac 安装 homebrew
参考:Mac os 解决brew找不到问题_简单同学的博客-CSDN博客
2. 安装 Scala
可以从 Scala 官网地址 Install | The Scala Programming Language 下载 Scala 二进制包,本教程我们将下载 2.13.0版本,如下图所示:

然后将下载的安装包解压,放到/usr/local目录下,打开.bash_profile,添加如下变量:

source .bash_profile 后输入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两个文件夹。

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不通过。