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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库