基础的Chisel教程系列,基于官方的Chisel-Bootcamp,结合了很多Scala的知识,中间补充自己在探索过程中的思考,还会补充一些其他Chisel相关内容。来源:https://blog.csdn.net/weixin_43681766/category_11629507.html
Scala是一种支持通用编程范式的编程语言。
本章会展示一个完整的Chisel模块和测试模块,用于了解相关要点,后续后给出更多充足的例子。
本节将会演示三种基本的Chisel类型(UInt,无符号整数;SInt,有符号整数;Bool,布尔值)可以如何连接和操作。
本节会在生成器软件和硬件中都引入控制流。如果重新连接到一个Chisel连线会怎么样呢?如何让一个多路选择器有两个以上的输入呢?本节会给出这两个问题的答案。
这一节会描述如何用Chisel表达一般的时序逻辑,到了本节的最后,你应该就具备用Chisel实现并测试一个移位寄存器的能力了。
这一节尝试用前面所学构建一个FIR(Finite Impulse Response,有限脉冲相应)滤波器模块。
这一节会介绍模块的参数化,涉及多种方法和Scala语言特性。
这一小节将会介绍Scala中的集合,并介绍如何用他们实现Chisel生成器。
本文将会介绍Chisel的Cheatsheet。
这一篇将会介绍高阶函数,让我们写生成器的时候更快。
本文会利用Scala中函数式编程的特性,用Chisel实现可配置激活函数的神经网络神经元。
这一节概括了Scala是如何实现面向对象编程范式的。
这是这个系列的最后一篇文章了,官方的Chisel-Bootcamp中后面还有FIRRTL相关的内容,但设计一个RISC-V CPU这样的目标,靠本系列文章讲述的内容已经足够了。