在硬件中格式化串行数据流
作者利用 Haskell 的 Clash 框架在 FPGA 上构建 Sudoku 求解器,重点解决了如何将串行数据流格式化为易读的网格输出。文章深入探讨了状态机设计,从简单的定制状态类型演进到使用类型级组合子(Type-level Combinators)实现声明式格式化。通过定义 Forward、Concatenation 和 Repetition 等类型类实例,作者展示了一种在硬件描述中复用软件设计模式的方法,最终实现了紧凑且高效的 Verilog 生成代码。这对熟悉函数式编程和硬件描述的工程师具有很高的参考价值。