【IC设计】Windows下基于IDEA的Chisel环境安装教程(图文并茂)

Chisel环境安装教程

传统数字芯片的RTL设计采用Verilog语言为主,Chisel语言的全称是Constructing Harward in Scala Embeded Language,即在Scala语言中导入Chisel3库,即可使用Chisel语言。其特点是面向对象编程,可以方便地参数化定制硬件电路,加快设计流程。目前在RISC-V生态中应用较多,中科院计算所主持的培育下一代处理器设计人才的"一生一芯"项目也在极力推进该语言。

涉及到的所有安装包已经放入百度网盘,请全部下载,然后开始阅读这个教程。

链接:https://pan.baidu.com/s/1ZOkbCxoLxrpJQQqVQfa-3w?pwd=hduv

提取码:hduv

--来自百度网盘超级会员V5的分享

第一步 安装jdk,配置环境变量

如果电脑里还没有java环境,请先下载网盘链接中的jdk压缩包并解压,然后参照我的这篇文章配置环境。

第二步 安装sbt,不用配置环境变量

双击sbt-1.9.8.msi 下一步下一步安装就好了,环境变量会自动配置好,无需手动配置。

第三步 安装idea社区版

开发Chisel主要是基于Scala,我们这里只需要安装idea社区版即可,就是图中的ideaIC开头的压缩包,是免安装版,只需要解压即可。解压后进入bin目录,找到idea64并打开

第四步 离线安装scala的idea插件

打开idea64后点击plugins-设置齿轮按钮-install plugin from disk

离线安装我们的scala插件,选中网盘中提供的scala-intellij-bin-2023.3.19即可。

第五步 配置sbt换源

1.切换目录

在第二步中我们已经装好了sbt,但sbt默认的下载源在国外,下载速度非常慢,我们需要进行换源。

首先,我们进入【C盘】-【用户】,找到【当前登录的用户】,这里我是panych,如图所示:

2.创建repositories文件

创建目录【.sbt】并进入,然后创建文件【repositories】,无需扩展名,内容如下:

xml 复制代码
[repositories]
  local
  huaweicloud-ivy: https://repo.huaweicloud.com/repository/ivy/, [organization]/[module]/(scala[scalaVersion]/)(sbt[sbtVersion]/)[revision]/[type]s/artifact.[ext],allowInsecureProtocol
  huaweicloud-maven: https://repo.huaweicloud.com/repository/maven/,allowInsecureProtocol

3.配置sbtconfig.txt文件

在**<sbt安装目录>/conf/sbtconfig.txt**文件中添加如下内容:

bash 复制代码
-Dsbt.override.build.repos=true

第六步 使用chisel-tutorial工程运行AdderTests测试

1.打开chisel-tutorial项目

解压网盘中给出的chisel-tutorial工程,然后使用idea选中chisel-tutorial下的build.sbt打开。

2.配置项目的sbt和scala

在【File】-【Settings】中找到sbt并配置为本地sbt中的sbt-launch.jar ,按照图中进行配置,然后点【OK】

在【File】-【Project Structure】中选择【Global Libraries】,点击【+】,添加【Scala SDK】,

选择网盘中给出的Scala解压后的目录即可。

3.测试AdderTests.scala

打开AdderTests.scala,点击17行左侧的运行按钮,【Run 'AdderTests'】,得到测试通过的提示就ok了。

failed to create lock file 解决办法

如果遇到报错:【failed to create lock file】,请需要前往对应目录赋权,如图所示:

参考资料

1.华为开源镜像站-SBT

2.中科院计算所一生一芯人才培养项目

相关推荐
Bro_cat17 小时前
Scala&尾递归解决爆栈问题
开发语言·后端·scala·尾递归优化
看未来捏17 小时前
【数字集成电路与系统设计】Chisel/Scala简介与Verilog介绍
scala·verilog·chisel
lisacumt17 小时前
【java】scala ExecutorService停止线程池的简单案例
java·scala
Mephisto.java2 天前
【Scala入门学习】Scala的方法和函数
开发语言·学习·scala
汽水配辣条3 天前
windows10通过coursier安装scala
开发语言·后端·scala
武子康3 天前
大数据-132 - Flink SQL 基本介绍 与 HelloWorld案例
java·大数据·数据库·sql·flink·spark·scala
Mephisto.java3 天前
【Scala入门学习】基本数据类型和变量声明
大数据·hive·kafka·scala·涛思数据·scala3.1.2
码尔泰4 天前
CISC 和 RISC 架构的对比
架构·risc-v·cisc·risc
武子康4 天前
大数据-136 - ClickHouse 集群 表引擎详解1 - 日志、Log、Memory、Merge
java·大数据·clickhouse·flink·spark·scala
隔着天花板看星星6 天前
Spark-ShuffleWriter-UnsafeShuffleWriter
大数据·分布式·spark·scala