首发于观芯志

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

声明:本文是我一个很优秀的学生总结的,放出来供广大chisel语言爱好者参考。

Chisel(Constructing Hardware In a Scala Embedded Language)是UC Berkeley开发的一种开源硬件构造语言。它是建构在Scala语言之上的领域专用语言(DSL),支持高度参数化的硬件生成器。
引用自:chiselchina.com/

据DARPA调研给出的数据,过去的几十年间,以年为时间度量单位的芯片开发周期已经成为阻碍芯片设计行业创业的重要阻力。尽管VerilogHDL曾经极大地推动了工程师设计能力的以指数级提升,但是在当下,随着芯片规模尤其是AI芯片规模的急剧增大,VerilogHDL低效的描述方式已经被广为诟病。U.C. Berkeley在设计RISC-V的时候引入Chisel语言,其高抽象程度的描述方式让沉闷已久的芯片设计领域为之震动。未来是否属于chisel,还尚未可知,但是我们可以先睹为快。


1.Chisel3源码开源地址:github.com/freechipspro

Chisel目前已经出到3.2.2版本,我们通常说的Chisel基本上指Chisel3 github主页上有个wiki可以作为了解Chisel轮廓的材料,介绍了各个模块的使用,包括组合逻辑、寄存器调用、BlackBox、多时钟域等。



2.Bootcamp: github.com/freechipspro

Chisel官方维护的一个教程,可在线运行也可clone到本地运行,给出了Chisel的多个完整开发例程,也介绍了Scala和firrtl(Chisel后端,Chisel先翻译为firrtl,在由firrtl翻译成verilog、VHDL),入门首选

3.Chisel-book: github.com/schoeberl/ch

官方推出的一本Chisel教程的电子书,可从github主页release中下载pdf。书中也附带了代码,详情可参考github主页。

4.博客blog.csdn.net/qq_342915

西安交大一位研究生写的可以说是国内目前唯一的较为完整Chisel教程,从Scala到Chisel,已经一些高级功能的介绍。

5.项目模板:github.com/freechipspro

chisel项目模板,当想从头开发自己的Chisel模块的时候,github主页上由完整的使用教程,介绍了如何从这个模板开始自己的Chisel模块开发流程。

6.关于Chisel环境的搭建,只需要安装sbt(scala build tool,scala构建工具,scala-sbt.org/1.x/docs/ ),之后参考该github主页,所有的依赖都写在了build.sbt文件中,所以第一次在项目目录下运行sbt的时候会下载大量依赖,速度较慢,完成后环境就搭建好了,非常简单。

7.关于开发工具,vscode或者idea,强烈推荐idea,idea目前是世界上最好的java类语言的ide,其具有完善的语义补全、跳转机制,由社区免费版可以使用。

8.Scala教程:互联网 《快学Scala第二版》《Scala编程第三版》



因为Chisel依托于Scala,就像Numpy依托于python,Chisel中可以使用任何Scala的数据结构,因此要想用好Chisel,Scala编程需要过关,Scala比Python难一个数量级,但其内置的各种高级语法,会使编写的时候很舒服,但review的时候很痛苦,因此Scala程序要养成很好的写注释习惯。

编辑于 2019-12-22 20:34