我一直在研究Chisel以及各种Lavas(堪萨斯,Chalmers和Xilinx口味)和CLaSH的来源.我试图了解Chisel与其他产品的主要卖点是什么.我发现的主要是快速模拟.
我想知道深入研究的人是否可以指出其他优点,缺点和权衡取舍.
(对不起,如果讨论问题太多了.我试着向凿子用户发帖,但显然你需要被接受为会员才能这样做.)
小智 8
首先,免责声明我是一个沉重的Chisel用户,但只是熟悉你提到的基于Haskell的DSEL.
我认为Chisel针对多个后端(C++,Verilog等)的能力是一个显着的优势.生成的C++允许循环精确模拟,其速度是Verilog/VHDL模拟器的许多倍,因为它避免了这些语言固有的事件驱动模型.
这不是一个固有的限制,但Lava和CLaSH似乎主要针对FPGA实现,而Chisel已经用于FPGA和ASIC的工作.凿子也可能得到更好的支持; 代码,说明和示例都可以在GitHub上获得,并且语言仍在积极开发中.
Haskell和Scala(母语)之间也存在差异; 如果你在一个或另一个中更舒服,它可能会让你开始变得更容易.(我将把"语言大战"留给专家.)