对于芯片开发来说,EDA是工程师吃饭的工具。不过与其他软件开发生态不同,加上IC设计本身的难度,半导体行业的EDA成了相对孤立的工具,催生了相对孤立的市场,开源生态想要在EDA领域插足,可以说是难上加难。
谁来降低设计成本
选择开源EDA的另一个原因就是成本。如果你有参与过开源EDA社区的互动,就会发现大部分是学生、教师、爱好者或独立开发者等等。对他们来说,选择开源EDA就是为了省钱。要知道,在大部分EDA厂商眼中,不仅是这些群体,哪怕是一些小的初创公司,也得一视同仁,交纳授权费用。
从Zero Asic的CEO Andreas Olofsson在2018年物理设计国际会议上公开的这张图来看,在晶体管数量几乎以线性速度提升的过程中,设计成本加验证成本构成的总硬件开发成本却是在指数级上涨。但不是每个人都在设计最先进工艺的芯片,有时候为了验证一些理论,实际流片远比追求最大性能更重要。因此,选择Icarus、GHDL、Yosys这些开源EDA软件的同时,就直接节省了开销。
PDK的缺失
商业EDA软件之所以仍是主流,自然有其原因,PDK正是其中重要一环。PDK是台积电、格芯和中芯国际这样的代工厂给到fabless设计公司的工具包,包含了设计规则、物理限制、第三方IP库、设计规则检查器等等。优秀而精确的PDK可以提高一次完成设计的成功率,而PDK和EDA是紧密联系在一起的,这也就是不少EDA厂商都是直接与代工厂合作的原因。
但开源EDA就不一样了,之所以不少开源EDA给人以half-baked的感觉,就是因为缺少了PDK。此处我们不能单从EDA软件开发商的角度来看问题,也要考虑代工厂,依他们的看法,与几个EDA公司合作花费的精力明显更少一点。更不用说对于台积电这样的厂商来说,PDK本身就是一个与开源不沾边的东西,比如3nm、5nm这样的工艺,其PDK只有重要的客户才能拿到,即便是成熟工艺,也有各种保密协议需要签署。
目前开源PDK这块在一些愿意烧钱的头部公司推动下,也算有了一些进展,比如Skywater Technologies就与谷歌合作,为他们的130nm节点推出了开源PDK,并提供了免费流片的机会。在一些EDA厂商的支持下,一些大学也开始推出自己的PDK,比如北卡大学的FreePDK(15nm和45nm),亚利桑那州立大学的ASAP7 PDK(7nm),也都是开源的,不过这两者都是用于学术研究的PDK,哪怕设计出来了也是没地方生产制造。
国内的开源EDA推进
我国在商业EDA软件上的市场占比上落后于国外大厂,在开源EDA上也落后于国外开源社区。但国内除了有一众优秀的商业EDA公司仍在推陈出新外,也开始推动开源EDA发展的想法。比如由华大九天、东南大学等单位共同发起成立的南京集成电路设计服务产业创新中心有限公司(简称“EDA创新中心”),就成立了名为OpenEDA的开源平台。
OpenEDA上的首个项目为OpenEDI这一数据基础构件,借助这一构件,用户可以访问开源开放、接口丰富且统一高效的数据库、算法库和计算架构,利用高效的内存与符号表管理功能。由此打造的EDA工具没有数据壁垒,方便设计者在不同设计工具之间切换,而无需担心数据的丢失。这对于开源EDA工具的开发者来说,是相当实用的基础构件。
不过,OpenEDA平台从2020年底成立至今,也仅仅只发布了OpenEDI一个项目而已,国内开源EDA工具的发展和创新还有很长的一段路要走,EDA创新中心迈出了正确的第一步,随后才会有人追随这一脚步。
语言也是EDA的一种
近日在回答网友疑问时,中科院计算技术研究所副所长,同时也是香山处理器的负责人包云岗表示,除了像仿真验证工具、逻辑综合等传统EDA工具以外,像香山处理器所用的Chisel这种编程语言,用于生成Verilog代码,降低前端开发和验证成本的辅助工具,也可以视为EDA工具的一种,毕竟RTL编程语言也是提升开发效率的一种方式。
但他也表示,开源EDA要做到全流程工具链,与Cadence、Synopsys和Mentor这些商业EDA相比难免在质量上有所欠缺。每个流程如果都有一定的质量欠缺,集合在一起,就会导致芯片PPA与商业EDA相去甚远,而这才是开源EDA工具首先要解决的挑战。
结语
总的来说,如果你追求的是商业可用性,那么开源EDA工具绝对不会是你的首选,这也不会是开源EDA工具开发者的目标。因为光靠开源社区的无私奉献,与耕耘了数十年商业市场的EDA厂商抗衡,无疑是愚蠢的。
这些厂商不介意开源EDA生态的发展,甚至愿意给予一定的帮助,也是因为开源EDA能够带来更广泛的应用,对整个开发生态的发展有益无害。我们不妨将开源EDA视为给到所有设计者一个小规模尝试的入口,让他们有机会打造更多开源硬件。
如若转载,请注明出处:https://www.daxuejiayuan.com/9720.html