Chisel速成班教程

共14讲

基础的Chisel教程系列,基于官方的Chisel-Bootcamp,结合了很多Scala的知识,中间补充自己在探索过程中的思考,还会补充一些其他Chisel相关内容。来源:https://blog.csdn.net/weixin_43681766/category_11629507.html

01.Scala介绍

Scala是一种支持通用编程范式的编程语言。


02.Chisel环境配置和第一个Chisel模块的实现与测试

本章会展示一个完整的Chisel模块和测试模块,用于了解相关要点,后续后给出更多充足的例子。


03.Chisel中的组合逻辑

本节将会演示三种基本的Chisel类型(UInt,无符号整数;SInt,有符号整数;Bool,布尔值)可以如何连接和操作。


04.Chisel中的控制流

本节会在生成器软件和硬件中都引入控制流。如果重新连接到一个Chisel连线会怎么样呢?如何让一个多路选择器有两个以上的输入呢?本节会给出这两个问题的答案。


05.Chisel中的时序逻辑

这一节会描述如何用Chisel表达一般的时序逻辑,到了本节的最后,你应该就具备用Chisel实现并测试一个移位寄存器的能力了。


06.阶段性汇总:实现一个FIR滤波器

这一节尝试用前面所学构建一个FIR(Finite Impulse Response,有限脉冲相应)滤波器模块。



08.Chisel参数化生成器

这一节会介绍模块的参数化,涉及多种方法和Scala语言特性。


09.Scala和Chisel中的Collections

这一小节将会介绍Scala中的集合,并介绍如何用他们实现Chisel生成器。


10.Chisel标准库中的中间件整理

本文将会介绍Chisel的Cheatsheet。


11.用Scala的高阶函数让Chisel代码更优雅

这一篇将会介绍高阶函数,让我们写生成器的时候更快。


12.Scala中的函数式编程

本文会利用Scala中函数式编程的特性,用Chisel实现可配置激活函数的神经网络神经元。


13.Scala的面向对象编程特性和Chisel中的Module

这一节概括了Scala是如何实现面向对象编程范式的。


14.Scala和Chisel中的数据类型

这是这个系列的最后一篇文章了,官方的Chisel-Bootcamp中后面还有FIRRTL相关的内容,但设计一个RISC-V CPU这样的目标,靠本系列文章讲述的内容已经足够了。