Chisel环境搭建教程(Ubuntu)

0 前言

  • chisel的依赖很多,而且很容易出现版本不兼容的情况,这里每一步我都会提供自己的安装版本
  • OS版本:Ubuntu 21.04 64bit
  • 相关参考资料见底

1 安装java

  • 版本:11.0.13

Chisel是基于scala开发的,而scala是基于java的,因此我们先安装java再安装scala。

  1. java
    sudo apt install openjdk-11-jre-headless

  2. javac
    sudo apt install openjdk-11-jdk-headless

  3. 完成后查看版本以检查是否成功安装:java --version javac --version
    出现这样的版本号就说明java已经安装成功。

openjdk 11.0.13 2021-10-19
OpenJDK Runtime Environment (build 11.0.13+8-Ubuntu-0ubuntu1.21.04)
OpenJDK 64-Bit Server VM (build 11.0.13+8-Ubuntu-0ubuntu1.21.04, mixed mode)
javac 11.0.13

2 安装scala

  • 版本2.12.12
  1. 这个网址下载合适版本的scala,不建议使用scala3, 推荐2.12.x

  2. 下载.tgz文件,将其解压后移动到/usr/local/share目录下

  3. 添加环境变量,在家目录下.bashrc文件的最后添加:
    export PATH="$PATH:/usr/local/share/scala-2.12.12/bin"

    这句的含义是在PATH变量中加上你刚刚安装的scala内bin文件夹的目录,其中的scala-2.12.12取决于你下载的scala版本

  4. 最后source一下使其更新生效:
    source ~/.bashrc

  5. 在任意目录下输入scala,若出现如下的prompt,则说明scala安装成功。

Welcome to Scala 2.12.12 (OpenJDK 64-Bit Server VM, Java 11.0.13).
Type in expressions for evaluation. Or try :help.

scala> 
scala> 1+1
res0: Int = 2

3 安装sbt

  • 版本 sbt 1.6.2
  • 如果像我一样是第一次接触sbt,可能不太理解这个工具,并且觉得很复杂。sbt是一个构建工具,其实可以简单地理解为一个编译、管理chisel工程的工具,一个针对scala的make。
  1. 对于sbt的下载,有很多教程直接sudo apt install sbt,有的还在之前先update一下,但这个方法至少对我来说一直没有用。最保险的方法是上官网下载,可以试试官网提供的命令行下载方法(没亲测过):
echo "deb https://repo.scala-sbt.org/scalasbt/debian all main" | sudo tee /etc/apt/sources.list.d/sbt.list
echo "deb https://repo.scala-sbt.org/scalasbt/debian /" | sudo tee /etc/apt/sources.list.d/sbt_old.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
  1. 也可以直接下载.tgz,解压后同安装scala,vim ~/.bashrc在最后添加:
export SBT_HOME="安装路径/sbt"
export PATH="$SBT_HOME:$PATH"
  1. 最后source ~/.bashrc更新。
  2. 测试sbt,在任意文件夹下输入sbt sbtVersion,若出现版本号说明安装成功。
  3. 可以对sbt换源,进入~/.sbt,创建文件repositories,内容为
[repositories]
local
huaweicloud-maven: https://repo.huaweicloud.com/repository/maven/
maven-central: https://repo1.maven.org/maven2/
huaweicloud-ivy: https://repo.huaweicloud.com/repository/ivy/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
  1. 现在,我们找一个现成的chisel工程测试一下所有工具是否安装到位。

4 A Chisel template

  1. git clone https://github.com/schoeberl/chisel-empty.git
  2. cd 进文件夹,可以看到有以下几个文件(文件夹):
	build.sbt  
	Makefile 
	README.md  
	src/ 
	quartus/

build.sbt 规定了scala版本,导入的包等:

scalaVersion := "2.12.12"

scalacOptions ++= Seq(
  "-feature",
  "-language:reflectiveCalls",
)

resolvers ++= Seq(
  Resolver.sonatypeRepo("releases")
)

// Chisel 3.5
addCompilerPlugin("edu.berkeley.cs" % "chisel3-plugin" % "3.5.0" cross CrossVersion.full)
libraryDependencies += "edu.berkeley.cs" %% "chisel3" % "3.5.0"
libraryDependencies += "edu.berkeley.cs" %% "chiseltest" % "0.5.0"
  • 重点第一行的scala版本一定要匹配(也有说sbt会自动下载合适版本的scala,但没亲测过)。
  • 最后两行libraryDependencies相当于安装这个工程所需的包,可能需要联网下载。
  • 版本兼容问题,详见这里,例如我想知道chiseltest的版本应该多少才和我的scala版本兼容:

chiseltestVersion1chiseltestVersion2
Makefile 并不是必须的,里面实际上是sbt的命令,对sbt命令的进一步了解可以参考这篇博客

quartus/ 与目前的关系不大,可以暂时不管。

src 用来存放代码。该模板中自带一个简单加法器的chisel实现,存放在src下。文件结构如下,这也是一般sbt工程文件的规范:

src/
  main/
    scala/
       <main Scala sources>
  test/
    scala/
       <test Scala sources>
  1. 在chisel-empty文件夹下(就是有build.sbt的一级)输入命令make或者实际上是sbt run
  2. 最终出现如下信息,即说明以上所有部分完全安装正确,可以开始搭建自己的chisel工程了。
[info] Updated file /home/ckq/Documents/codes/CHISEL/chisel_proj/chisel-empty/project/build.properties: set sbt.version to 1.6.2
[info] welcome to sbt 1.6.2 (Ubuntu Java 11.0.13)
[info] loading project definition from /home/ckq/Documents/codes/CHISEL/chisel_proj/chisel-empty/project
[info] loading settings for project chisel-empty from build.sbt ...
[info] set current project to chisel-empty (in build file:/home/ckq/Documents/codes/CHISEL/chisel_proj/chisel-empty/)
[info] compiling 1 Scala source to /home/ckq/Documents/codes/CHISEL/chisel_proj/chisel-empty/target/scala-2.12/classes ..
[info] running empty.AddMain 
Generating the adder hardware
[success] Total time: 7 s, completed May 2, 2022, 5:00:07 PM

也可以输入sbt test跑一下test中的测试代码:

[info] AddTester:
[info] Add
[info] - should work
[info] Run completed in 2 seconds, 540 milliseconds.
[info] Total number of tests run: 1
[info] Suites: completed 1, aborted 0
[info] Tests: succeeded 1, failed 0, canceled 0, ignored 0, pending 0
[info] All tests passed.
[success] Total time: 7 s, completed May 2, 2022, 5:02:39 PM

5 Chisel教程

最后推荐一些入门chisel的学习资源:

  1. 首推Chisel-book,可以免费下载,建议看英文版,虽然有中文版本的,但是机翻极其难受。
  2. 如果英文恐惧的话,可以看chisel-getting-started-chinese,主要介绍语言本身。
  3. 对sbt的进一步了解,查看官方手册
  4. 其他建议。可以在vscode上编写chisel代码,安装插件:Chisel Syntax;另外,还可以查看波形(vcd文件),这样即使没有其他EDA软件和FPGA板,我们至少也能进行逻辑上的仿真。安装插件:WaveTrace。

参考资料

本人也是小白一枚,难免整理不周,如有疑问可以进一步参考以下博客/专栏:

初学Chisel语言,看这篇就够了:最方便简洁的入门资料整理

详细介绍如何在linux中配置chisel环境

Ubuntu18安装Scala

SBT简介

sbt的安装及其配置

SBT无痛入门指南

  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Chisel是一种用于硬件描述语言(HDL)的工具,可用于设计和验证硬件电路。要安装Chisel,首先需要在计算机上安装Scala编程语言和SBT构建工具。 首先,我们需要安装Scala。打开终端或命令提示符,并输入以下命令: ``` sudo apt-get update sudo apt-get install scala ``` 这将更新软件包列表并安装Scala。 接下来,我们需要安装SBT。继续在终端或命令提示符中输入以下命令: ``` echo "deb https://repo.scala-sbt.org/scalasbt/debian all main" | sudo tee /etc/apt/sources.list.d/sbt.list echo "deb https://repo.scala-sbt.org/scalasbt/debian /" | sudo tee /etc/apt/sources.list.d/sbt_old.list sudo apt-get update sudo apt-get install sbt ``` 这将添加SBT存储库并安装SBT。 一旦Scala和SBT安装完成,我们就可以开始安装Chisel了。打开终端或命令提示符,进入您希望安装Chisel的目录,并输入以下命令: ``` sbt new freechipsproject/chisel-template.g8 ``` 这将从Github下载Chisel模板。下载完成后,进入新创建的目录,并输入以下命令: ``` sbt run ``` 这将编译并运行Chisel项目。现在您已成功安装Chisel并可以开始使用它来设计和验证硬件电路了。 总结起来,安装Chisel需要先安装Scala和SBT,然后使用SBT下载Chisel模板并编译运行项目。 ### 回答2: Chisel是一种用于硬件描述语言(HDL)的开源工具,它允许我们使用高级别语言编写硬件电路并生成相应的Verilog代码。安装Chisel可以帮助我们更方便地进行硬件设计和开发。 首先,我们需要确保我们的计算机上已经安装了几个必要的软件和工具。这些包括Java Development Kit(JDK)、Scala和sbt(一个构建工具)。 然后,我们可以从Chisel的官方GitHub存储库中下载代码。我们可以通过克隆存储库或直接下载ZIP文件来获取它。 接下来,我们需要设置环境变量来引用下载的Chisel代码。我们可以通过在终端中执行以下命令来设置环境变量: export CHISEL_HOME=/path/to/chisel 确保将"/path/to/chisel"替换为实际存储Chisel代码的文件夹的路径。 然后,我们需要进入Chisel代码文件夹并构建工具链。我们可以在终端中执行以下命令: cd $CHISEL_HOME sbt compile 这将编译Chisel并生成运行所需的工具。 最后,我们可以通过运行一个示例项目来验证Chisel是否成功安装。我们可以在终端中执行以下命令: sbt "runMain edu.chisel.example.<ExampleClassName>" 确保将"<ExampleClassName>"替换为实际示例项目的类名。 如果一切顺利,我们将在终端中看到示例项目的输出。 总结来说,Chisel的安装过程涉及下载代码、设置环境变量、构建工具链,并验证安装是否成功。这样,我们就可以开始使用Chisel进行硬件设计和开发了。 ### 回答3: Chisel 安装指的是在计算机上安装并配置 Chisel 编程语言的过程。以下是关于 Chisel 安装的一些说明。 首先,要安装 Chisel,你需要确保你的计算机上已经安装了 Java Development Kit(JDK),因为 Chisel 是基于 Java 开发的。你可以从 Oracle 官方网站下载并安装最新版本的 JDK。 一旦你完成了 JDK 的安装,你可以开始安装 Chisel。Chisel 最简单的安装方法是通过 sbt(Simple Build Tool)进行。sbt 是用于构建和管理 Scala 项目的工具。你可以从 sbt 的官方网站下载并安装最新版本的 sbt。 当你完成了 sbt 的安装后,你可以创建一个 Chisel 项目。首先,你需要使用 sbt 命令行工具进入项目保存的目录。然后,你可以使用 "sbt new freechipsproject/chisel-template.g8" 命令来创建一个新的 Chisel 项目。 一旦项目创建成功,你可以进入项目文件夹并编辑 src/main/scala 目录下的 .scala 文件来编写 Chisel 代码。Chisel 提供了许多工具和库来帮助你创建硬件描述。 编写完代码后,你可以使用 sbt 命令来编译和运行你的 Chisel 项目。你可以使用 "sbt compile" 命令来编译项目,使用 "sbt run" 命令来运行项目。 总结来说,Chisel 的安装过程包括安装 JDK、安装 sbt、创建 Chisel 项目、编写 Chisel 代码以及使用 sbt 编译和运行项目。安装完成后,你就可以开始使用 Chisel 编程语言来创建硬件描述和进行硬件设计了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值