FPGA供应商Lattice承认开源社区的价值

2020-06-30 20:59:22

许多开源项目的目标是现有的商用硬件,而没有硬件供应商的官方支持。一些最著名的例子包括LINUX和GCC编译器,它们都是从第三方项目开始的。

如今,这两个项目都得到了大型硬件公司的大力支持,并被用作许多广泛销售产品的官方工具。现在,这两家公司都看到硬件供应商做出了重大的第一方贡献。

在过去的三年中,我一直是为现场可编程门阵列(FPGA)开发开源工具的社区的一员。这些可编程逻辑芯片具有巨大的“后摩尔定律”可重构计算的潜力,具有从消费设备到数据中心的许多有前途的应用。

一般来说,FPGA公司没有公布设备的低级细节-与CPU不同,CPU的指令集几乎总是公开的。期望每个人都能使用提供的特定于供应商的封闭源代码工具链。

因此,要为大多数FPGA开发从设计到器件编程的完整开源流程,必须通过使用供应商提供的工具创建大量设计并检查输出来记录低级“位流”细节。克莱尔·沃尔夫(Claire Wolf)五年前在冰暴计划(Project IceStorm)中为Lattice iCE40 FPGA做了这件事。随后,我为他们较大的ECP5FPGA创建了开源文档。

在这两种情况下,再加上这些Lattice部件的低成本和简单性,这些项目都为这两种设备带来了流行的开源流程。由此涌现出许多开源开发板,如myStorm BlackIce、破冰器和ULX3S。

在下载新发布的Lattice SDK时,我发现许可协议中有一个新的条款禁止这个比特流文档。幸运的是,此SDK不会直接影响任何当前支持的设备,但如果它们的所有工具将来都使用此许可证,则会出现问题:

e.被许可方不得出于任何目的分发、复制、转让、出借、合并、修改、使用或再许可本软件或任何模块,除非本协议明确规定或相关法律另有允许,或事先由Lattice以书面形式提供。具体地说,在本协议…项下不授予任何权利。或(3)用于对任何晶格半导体公司可编程逻辑器件的比特流格式或其它信令协议进行反向工程。

多亏了社区的游说,很高兴看到Lattice表现出了对开源的承诺,在被联系后立即删除了这一条款,甚至在Twitter上发布了一条感谢开源社区的消息:

感谢您在Lattice Propel许可证中指出新的比特流使用限制。我们并不打算阻碍开源工具。请参阅https://bit.ly/3eUM3OD Re a Update License。我们对开源社区的FPGA成就及其潜力感到兴奋。

https://twitter.com/latticesemi/status/1269115302140231682。

这是Lattice已经承担的风险,但它在开源工具链开发人员中引起了很好的共鸣,并有望在未来为他们带来良好的结果。它也展示了强大的开源社区的力量,可以从公司获得良好的结果,以及对开源日益增长的认识。

我希望随着时间的推移,我们会看到FPGA供应商对开源工具的更多支持,甚至可能达到与现有开源软件工具类似的程度。

David Shah是一名自由职业者,从事nextpnr(开源FPGA布局布线工具)的开发工作。他之前的工作还包括Project Trellis,这是Lattice ECP5FPGA的开源位流文档。