《Retrocomputing with Clash---Haskell for FPGA 硬件设计(Retrocomputing with Clash Haskell for FPGA Hardware Design)》

作者:

日期:2021-11-27

出版:

  • 599
  • 0
  • 0

作品总结

《Retrocomputing with Clash---Haskell for FPGA 硬件设计(Retrocomputing with Clash Haskell for FPGA Hardware Design)》


《Retrocomputing with Clash---Haskell for FPGA 硬件设计》

你可以访问 https://retrocla.sh/ 获取示例章节、印刷版本和代码库链接。
Haskell 已成为许多开发人员首选的函数式编程语言,因为它具有出色的抽象工具和原则性程序设计。开源 Clash 硬件描述语言也为 FPGA 设计解锁了这些功能。

Retrocompuing with Clash 带领经验丰富的 Haskell 程序员踏上使用 Clash 进入硬件设计世界的旅程。我们的方法基于最大限度地使用 Haskell,在构建可重用组件库时使用像 monad 和镜头这样的抽象。

但这不会给函数式编程带来乐趣!因此,我们将这些组件很好地用于实现各种逆向计算设备:

一个桌面计算器
乒乓
使用 Brainfuck 作为机器码的简单但图灵完备的计算机
CHIP-8 虚拟计算机规范的实现
一个英特尔 8080 CPU
太空入侵者街机
Compucolor II,1977 年的家用电脑,配有键盘、彩色视频和软盘驱动器

“我非常喜欢这本书中的 Haskell 电路设计方法,而不是我自己写的 Verilog-in-Haskell 风格。它以一种非常自然的方式利用 Haskell 的类型系统来防止我们作为电路设计师经常陷入的许多陷阱。
这本书清楚地展示了使用现代编程语言进行电路设计的好处,它以比我习惯的传统硬件描述语言更精细的粒度构建可重用的功能和组件。
另一件绝对很棒的事情是本书使用 SDL2 多媒体库来模拟显示器等外围设备,这使您能够与将要构建的计算机和游戏完全交互,而无需经历有时漫长而痛苦的 FPGA 编程过程.”
– Christiaan Baaij,Clash 首席开发人员,QBayLogic 联合创始人

“这是一本面向希望进入 FPGA 和数字逻辑设计的功能程序员的书。学习 Clash,“我不敢相信它不是 Haskell!”硬件描述语言,同时沉迷于 1980 年代的怀旧情绪。体验各种动手项目,包括 Pong、Space Invaders 和基于 Intel 8080 的个人计算机 Compucolor II。推荐本书。”
– Miëtek Bak

0条评论