戚正伟
基于Scala的FPGA DSL语言-ScalaHDL
2019-8-9 10:20
阅读:5315
标签:ScalaHDL, Scala, RISC-V, DSL

最近,包云岗老师总结了一份很好的材料:“远景研讨会纪要:面向下一代计算的开源芯片与敏捷开发” ,链接见:

http://blog.sciencenet.cn/home.php?mod=space&uid=414166&do=blog&id=1192579

 

里面提到了高层建模语言: Chisel, 作为RISC-V的开发和调试语言。 作为一种FPGA开发的新概念,生成器语言,“近年来非常火的RISC-V最早开源实现Rocket Chip实现就是一个基于Chisel的生成器”,而且根据SiFive的说法,他们接下来也会使用Chisel来做开发,有人说intel也打算用Chisel来开发Xeon。 类似于汇编->C->C++->Java/Scala->Rust/Dart 这样的语言发展,采用高层的语言来开发,虽然在性能上可能有损失(Rust 号称零抽象开销),但开发效率大为提高(软件人才的成本高),而从FPGA来看,采用基于Scala的开发,远比底层的verilog/systemc开发要快,可以利用高层语言的诸多特性,“Berkeley的 Borivoje Nikolić 教授的核心观点是生成器(generator)将是芯片敏捷开发的核心”。

 

我们基于Scala也尝试开发了一个FPGA开发框架ScalaHDL (基于摩根斯坦利的合作项目需求),能够在Scala层进行调试和测试,论文见 https://doi.org/10.1016/j.sysarc.2019.08.001 ,开源在: https://github.com/VeriScala/VeriScala  。一个简易MIPS CPU 的例子见: https://github.com/VeriScala/VeriScala/tree/master/examples/src/main/scala/Mips 

 

如果有什么建议或问题,欢迎和我们联系。


转载本文请联系原作者获取授权,同时请注明本文来自戚正伟科学网博客。

链接地址:https://wap.sciencenet.cn/blog-279072-1192992.html?mobile=1

收藏

分享到:

当前推荐数:0
推荐到博客首页
网友评论0 条评论
确定删除指定的回复吗?
确定删除本博文吗?