fpga芯片写程序麻烦吗(做FPGA和芯片为什么要学Chisel)
fpga芯片写程序麻烦吗(做FPGA和芯片为什么要学Chisel)
在本文的开头,我们引用著名的《Chisel 3.0 Tutorial》的一段话来展开今天的话题。在数年的研究项目和硬件教学实践中一直和现有的硬件描述语言做斗争,我们非常有一种开发新的硬件语言的冲动。Verilog 和VHDL 在设计之初只是硬件模拟语言,仅仅在后来才成为硬件综合的基石。这些语言的很多语法都不适合硬件综合,实际上很多语法概念完全不是可综合的。另一些语法概念在如何映射到硬件实现方面是非常不直观的,或者一不小心就会导致非常低效的电路结构。使用这些语言的一个子集生成合意的结果未尝不可,然而它们表达的规范模型毕竟是杂乱和混淆的,在教学过程中这些现象尤其明显。 而且,我们开发新的硬件语言的强烈冲动来自于我们对改变现有的电子系统的设计方法的渴望。我们坚信,教会学生如何设计电路固然重要,更加重要的是教会他们如何设计电路生成器—能够根据一组高阶的设计参数和约束自动生成电路的程序。通过电路生成器,我们期望可以借用设计专家的才干提升每个工程师的设计抽象水平。为了表达灵活而可扩展的电路构造,电路生成器必须利用精致的编程技巧,在考虑如何更好的定制产生的电路的时候就可以做出更好的设计选择,以满足高阶的参数值和限制条件。虽然Verilog 和VHDL 也包括了一些构造原语可以实现电路的程序化生成,但还是缺少现代编程语言中的强大的设施,诸如面向对象的编程,类型推断,函数式编程和反省机制。 我们选择把硬件构造原语嵌入在一个现有的语言中,而不是从头构建一个新的硬件设计语言。我们选择Scala 不仅因为它包括了一些编程特性,我们认为对构造电路生成器非常重要,而且因为它是专门为成为领域专用语言的基础而开发的。注:西工大的一队和二队获得了2018年龙芯杯比赛的前两名,无论是从CPU架构和FPGA时序等优化方面,实力相当不俗。
最后感谢计算所的余子濠博士精彩的PPT,同时也非常感谢比特大陆的马立伟博士,为我们翻译了《Chisel 3.0 Tutorial》,中文版下载地址:https://chisel.eecs.berkeley.edu/chisel-getting-started-chinese.pdf
全文完。
内容来自于网络,如有侵权,请联系我删除。