【IC设计】Chisel开发环境搭建

  1. 首先安装一个Ubuntu的虚拟机

  2. 然后给Ubuntu换个镜像,方便下载

    注意换源后使用apt-get update更新下

  3. 安装vim(可以不做)

    这里安装Vim是我感觉Ubuntu自带的vi编辑器似乎有问题,因为我按i进入【插入模式】并没有提示,所以安装vim进行替代。

    只关心Chisel安装的可以跳过这一步。

bash 复制代码
apt install vim
sudo vim /etc/vim/vimrc
#在vimrc文件结尾处添加
#显示行数
set number
#自动缩进
set autoindent
#光标高亮
set cursorline
set ruler
#Tab默认4格
set tabstop=4
  1. 安装JDK
bash 复制代码
sudo apt-get install default-jdk

安装完成后使用java -version测试结果为:

  1. 安装sbt构建工具
    sbt是Scala的构建工具,类似C的Make和Java的Maven,都是依赖管理工具。
bash 复制代码
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依赖libcurl4
apt-get purge libcurl4
apt-get install curl
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 --version查看版本:

  1. 修改sbt源
    默认sbt是使用maven官方库解决依赖,这里修改它的源。
    sbt解决依赖时会自动加载~/.sbt目录下的repositories文件。
bash 复制代码
#进入用户目录
cd  ~
#下面有一个.sbt目录
cd  .sbt

在.sbt目录下创建一个名为repositories的文件,不用后缀

bash 复制代码
[repositories]
local
aliyun: https://maven.aliyun.com/repository/central/
sbt-plugin-repo: https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]

然后在/usr/share/sbt/conf/sbtopts

文件的最后添加-Dsbt.override.build.repos=true

  1. 安装VS Code并配置插件

    首先在软件商店中安装VS Code,打开VS Code,在View->extensions中安装Scala(Syntax)和Scala(Metals)

  2. Scala的HelloWorld测试

    新建HelloScala.scala

    输入:

java 复制代码
object HelloScala{
    def main(args:Array[String]):Unit={
        println("helloscala")
    }
}

使用sbt run进行构建,会输出helloworld

  1. 安装make
bash 复制代码
apt install make
  1. 测试Chisel
bash 复制代码
git clone https://github.com/schoeberl/chisel-examples.git
cd chisel-examples/hello-world
make
sbt test

测试成功:

相关推荐
FPGA小迷弟13 小时前
FPGA 时序约束基础:从时钟定义到输入输出延迟的完整设置
前端·学习·fpga开发·verilog·fpga
daxi15018 小时前
Verilog入门实战——第3讲:流程控制语句(if-else / case / 循环结构)
fpga开发·fpga
FPGA小迷弟2 天前
高频时钟设计:FPGA 多时钟域同步与时序收敛实战方案
前端·学习·fpga开发·verilog·fpga
FPGA-ADDA3 天前
第三篇:Xilinx Zynq SoC系列——从Zynq-7000到RFSoC
5g·信号处理·fpga·通信系统·rfsoc
dMing`3 天前
基于FPGA的简易数据采集系统
fpga开发·fpga·adc·dac
迎风打盹儿4 天前
FPGA中if-else和case的理解:综合出来的电路真的会有优先级吗?
fpga·优先级·综合·case·if-else
FPGA-ADDA4 天前
第二篇:Xilinx 7系列FPGA详解——从Spartan到Virtex
fpga开发·fpga·sdr·rfsoc
inquisiter6 天前
plic中断级联设计和使用
fpga开发·riscv
daxi1507 天前
Verilog入门实战——第2讲:核心语法基础(数据类型+赋值语句)
fpga开发·fpga
Eloudy7 天前
NetFPGA 快速入门指南
量子计算·fpga·nvqlink