Chisel:Linux下Java、Scala和Chisel的配置
本文首发于bilibili专栏:https://www.bilibili.com/read/cv7589941
当初为了解决十几个人无法应对繁杂的RISCV从HDL编写到流片的繁杂任务,Chisel诞生了,目前成为了一种快速硬件开发的工具。虽然不能完全替代Verilog,但是其便捷性以及面向对象的软件友好性还是值得一试。
Win和Linux均支持(但是因为Chisel本身只支持Linux,因此我们选择Linux),下面介绍Ubuntu上如何进行环境配置(因为Ubuntu配置便捷些)。本人的环境是Ubuntu18.04.
1 检查Java版本
首先你的Linux机器上需要安装Java,终端输入java -version,如果已经安装则会提示:
openjdk version "11.0.8" 2020-07-14
如果没有安装,则根据出现的提示命令安装即可。
此外,为了后续sbt的安装,我们还需要执行命令:
sudo apt-get -y install default-jdk build-essential perl sbt
等待安装结束;至此,Java环境的准备工作完成。
2 下载安装Scala
官网下载Scala的安装包,截止文章写作日期的下载地址是:https://www.scala-lang.org/download/
我们找到对应的Linux版本,下载:
然后在Linux中解包安装即可:
sudo dpkg -i deb文件名
安装完成后,终端输入:scala,出现下面的提示,则安装完毕:
3 安装sbt
执行下面的几行命令:
echo "deb https://dl.bintray.com/sbt/debian /" | sudo tee -a /etc/apt/sources.list.d/sbt.list
curl -sL "https://keyserver.ubuntu.com/pks/lookup ?op=get&search=0x2EE0EA64E40A89B84B2DF73499E82A75642AC823" | sudo apt-key add
sudo apt-get update
sudo apt-get install sbt
命令执行结束后,打开终端,输入sbt(确保网络通畅,耐心等待)。一段时间后,出现如下界面:
4 Chisel工具链的克隆与使用
克隆chisel工具:
git clone https://github.com/freechipsproject/chisel-template
现在编写一个简单的电路:在chisel-template/src/main/scala文件夹里创建一个文件,命名为AND.scala,输入以下内容并保存:
在chisel-template/src/test/scala文件夹里创建一个文件,命名为ANDtest.scala,输入以下内容并保存:
在chisel-template文件夹下(与文件build.sbt同一路径)打开终端,执行命令:
sbt "test:runMain test.testMain --target-dir generated/and"
当最后输出success时,就会在当前路径生成一个generated文件夹,里面有一个and文件夹。and文件夹里包含了三个最终输出的文件,打开其中的AND.v文件,可以看到一个与门的Verilog代码:
参考链接
https://blog.csdn.net/qq_34291505/article/details/86743966
https://www.scala-sbt.org/release/docs/Installing-sbt-on-Linux.html
https://ibug.io/cn/2018/12/chisel-101/#setup-linux.org/release/docs/Installing-sbt-on-Linux.html
https://ibug.io/cn/2018/12/chisel-101/#setup-linux