Chisel学习笔记(一)——环境搭建
最近很多开源软核和加速器都是用Chisel写的,导师也说Chisel以后会比较常见,最近想着开始入门,于是先把环境搭了。相关的文档有点零零散散的,看着其实也不是很清楚。
以下所有内容基于Deepin 20.7 GNU/Linux
1. 安装Coursier CLI
Coursier CLI是Scala一系列包的一个管理工具,能够自动管理版本以及配置环境变量
这个官网推荐直接下载预编译版本,在github仓库里面存有最新版本,直接下载即可
我的64bits linux系统选择的是x86_64_linux版本
因为直接下载单个文件无法访问,然后想导入gitee仓库又太大,我直接下载了master分支的压缩包:
然后用得到的可执行文件运行命令:
chmod +x ./cs*
./cs* install cs
然后会自动生成相关目录,写入环境变量
完成后需要重启或source一下.profile
2. 安装Scala
两种方法,第一种是使用命令:
cs setup
这个命令会一步到位,直接把scala相关的所有东西装好,包括下一步的sbt
第二种是使用
cs install xxx
手动一个个安装
3. sbt
如果采用第二种方法就是:
cs install sbt
安装好以后我们配一下镜像源。这个时候cs建立了~/.sbt文件夹,里面是sbt的相关配置。我们在.sbt文件夹下建立文件repositories,写入:
[repositories]
local
huaweicloud-maven: https://repo.huaweicloud.com/repository/maven/
maven-central: https://repo1.maven.org/maven2/
sbt-plugin-repo: https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
以使用我们自己的镜像源
然后在环境变量中加入:
export SBT_OPTS="-Dsbt.override.build.repos=true"
确保所有项目都使用全局的镜像源
然后source .profile
然后我们再确认一下上面的配置生效了,方法是:
- 命令行运行命令sbt
- sbt shell中运行命令:
show overrideBuildResolvers
show fullResolvers
第一句是检查我们环境变量中的配置也没有生效,如果打印true说明生效了
第二句是检查当前的镜像源,如果和上面写入repositories的一样就是成功了
4. 简单测试
配完之后还是来个Hello, World!测试一下:
object HelloScala extends App{
println("Hello Chisel World!")
}
然后运行命令:
compile
run
应该出现下列输出:
sbt:draft> compile
[info] compiling 1 Scala source to /home/charles/Documents/draft/target/scala-2.12/classes ...
[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.17. Compiling...
[info] Compilation completed in 10.202s.
[success] Total time: 14 s, completed 2022-12-8 9:22:08
sbt:draft> run
[info] running HelloScala
Hello Chisel World!
[success] Total time: 0 s, completed 2022-12-8 9:22:19