为什么迁移到SpinalHDL
- verilog的学习曲线过于陡峭,而且verilog自身演进太慢,即使systemverilog也有很多不如人意的地方。本身水平太菜,至今未成为一个资深的verilog 开发人员,对于自己来说,要么继续啃Verilog,要么拥抱新工具。
- 与HLS不同的是,SpinalHDL本身仍然是一种硬件描述语言,据称是“The overhead (of SpinalHDL generated RTL compared to human written VHDL/Verilog) is null”。HLS适合快速开发验证,但一个熟练的HLS写手和刚入门级的差别也是很大的,而且上限就在HDL。依据自己的学习经验来说,相比verilog,HLS自由度太差,这样的灰盒开发老是让自己有种“心有余而力不足”的感觉。从成熟度来讲,Jason Cong的组一直有关于HLS的文章在发表,也从侧面说明了HLS本身还存在许多待优化完善的地方。HLS有其自己的优势使用场景,在这点上,我更愿将其与python的myhdl包相比较,myhdl在写tb时也有优势。总之,我并不想固守于某一工具,“君子生非异也,善假于物也”,拥抱新的工具,优势互补,乃吾之愿也。世界那么大,我想去看看(:dog
- SpinalHDL本身是基于Scala的一个库,像python的numpy一样。既然python能够在软件领域大放异彩,scala也很令人期待。
- 与chipsel相比,可能更像tensorflow和pytorch之争吧
几个需要越过的gap
Scala自身语法层面
- 数