前言
大家好,这里是xddcore,好久不见(实际上前段时间才见过)
由于verilog效率比较低下,重复劳动太多了QAQ
所以打算用近两年比较火的chisel进行开发。
于是先装一波环境,踩了一早上的坑。
一些官方资源
chisel的一个训练营:https://github.com/freechipsproject/chisel-bootcamp
chisel的一个在线编译网站(Jupyter):https://mybinder.org/v2/gh/freechipsproject/chisel-bootcamp/master
chisel3的仓库:https://github.com/freechipsproject/chisel3
chisel3官方文档:https://www.chisel-lang.org/chisel3/
开始部署环境
首先去安装Intellig IDEA 2020.2,社区版本的就够用了。
然后考虑到大家没有高速线路,装插件可能会比较慢。大家可以按照如下方式进行本地安装:
(scala插件 FOR INTELLING IDEA 2020.2.23:https://download.csdn.net/download/qq_36229876/12792381
然后选择刚刚下载的scala插件安装就行
然后新建项目此处选择sbt,不是IDEA:
然后选择scala 2.12.10(目前chisel最新是支持到2.12.12了,来源:https://www.chisel-lang.org/chisel3/upgrading-from-scala-2-11.html)
然后编辑build.sbt文件为如下内容:
name := "untitled8"
version := "0.1"
scalaVersion := "2.12.10"
libraryDependencies += "edu.berkeley.cs" %% "chisel3" % "3.1.2"
libraryDependencies += "edu.berkeley.cs" %% "chisel-iotesters" % "1.2.3"
然后点击右上角锤子build下
然后就会把chisel相关的依赖导入到项目下面(假如要是可以根据import的packet自动导入sbt依赖就好了)
编辑hello.scala文件为下图:
import chisel3._
import chisel3.experimental._
class AND extends RawModule {
val io = IO(new Bundle {
val a = Input(UInt(1.W))
val b = Input(UInt(1.W))
val c = Output(UInt(1.W))
})
io.c := io.a & io.b
}
object hello extends App{
println("hello")
Driver.execute(args, () => new AND)
}
然后run一下这个代码,之后便会在工程根目录下生成AND.v文件