随着摩尔定律的逐渐失效,传统的追求通用功能的芯片开发策略已经难以持续。芯片领域的高门槛和商业限制也阻碍了进一步的创新和市场响应速度。因此,需要通过开源芯片、统一的生态系统和现代化的设计方法来激发芯片领域的创造力和生产效率。本文介绍了开源芯片的作用和发展历程,讨论了有望成为下一代芯片开发基础的RISC-V指令集架构的特点和影响,以及前端设计中的敏捷开发理念,并对芯片开发的新趋势与挑战进行了总结。
开源芯片;敏捷开发;计算机架构;指令集架构
本文探讨了开源芯片、RISC-V指令集架构和敏捷开发在芯片设计中的应用。通过开源芯片和RISC-V指令集,可以降低芯片设计和生产的门槛,促进创新。同时,敏捷开发方法可以提高芯片设计的灵活性和效率。本文总结了当前芯片开发的进展与不足。
芯片是信息社会的基石,支撑信息生活的软件必须运行在计算芯片上。软件需求多样,但芯片的选择却十分有限。这是因为芯片设计与生产的门槛非常高。芯片的功能开发、逻辑验证、物理实现都需要大量人力,相关工具和下游产品的授权费用也很高。过去,计算机芯片一方面保证通用计算能力,另一方面为多媒体等广泛应用提供专门的计算单元,以满足不同场景的需求。然而,随着摩尔定律失效,人工智能的兴起和移动平台及物联网对芯片功能的需求日益多样化,旧有的芯片开发模式面临巨大挑战。
开源芯片有助于降低成本和提高创新能力。开源芯片可以节省IP模块的费用,降低研发成本,并通过社区持续改进,提高整个行业的水平。此外,开源芯片可以带来更加灵活和开放的生态环境,促进EDA工具的使用和共享。
对于初创企业和科研团队来说,芯片设计的门槛很高,因为每一步都需要巨额成本。开源芯片可以节省IP模块的费用,降低研发成本。开源设计可以由社区持续改进,所有人都能享受到最新的优化成果,从而提高整体行业发展水平。开源工具链的出现,使EDA工具的授权费用得以节省,设计经验和代码资源的复用变得更加容易,进一步提升了开发效率。
开源芯片的发展得益于商业模式的创新和开源社区的努力。通过降低芯片设计的门槛和提供开源替代方案,开源芯片得到了一定的发展。例如,多项目晶圆(MPW)的出现和学术界在EDA工具方面的贡献,都推动了开源芯片的进步。此外,FPGA和开源EDA工具的结合,使得硬件设计更加便捷。
RISC-V是一种开源指令集架构,旨在解决软件生态和硬件平台的问题。RISC-V充分借鉴了已有精简指令集的经验教训,使其设计更加现代化。RISC-V的最大特点是模块化,可以适应从低功耗嵌入式设备到高性能计算的各种应用场景。RISC-V对向量指令的支持也为高能效计算提供了可能。
RISC-V由加州大学伯克利分校于2010年发布,其设计目标是成为一种没有历史负担和版权障碍的开源指令集。RISC-V充分吸收了已有精简指令集的经验教训,使其设计更加现代化。RISC-V的模块化设计使其可以根据具体需求灵活扩展,适合不同应用场景。
RISC-V已经成为芯片设计领域的重要指令集之一。许多公司和研究机构都在积极使用和推广RISC-V。UCB团队不仅发布了RISC-V的规范和参考实现,还准备了完善的软件工具和服务社区,如QEMU、Gem5等,以支持RISC-V程序的开发和测试。RISC-V社区提供了多种开源SoC项目,如Rocketchip和LowRISC,这些项目为开源芯片的发展提供了坚实的基础。
芯片敏捷开发的概念源自软件敏捷开发。敏捷开发注重快速迭代和灵活适应,适合快速变化的需求。在芯片设计中,敏捷开发可以通过新型硬件描述语言和设计框架来实现。例如,Chisel和Bluespec等高级硬件描述语言,可以帮助工程师更高效地编写和维护硬件代码。
新型硬件描述语言,如Chisel和Bluespec,可以提高硬件设计的效率和可维护性。Chisel利用Scala的高级语言特性,可以显著减少代码重复,提高代码密度和可读性。Bluespec则通过规则组合的方法,提供了一种全新的电路设计思想形式,使代码更加简洁。
硬件设计框架可以自动化和模块化硬件设计过程。Rocketchip项目提供了一套名为“外交”的机制,用于总线设备间的参数协商与转换。这些框架不仅可以提高设计效率,还可以优化功能模块的接口,使硬件设计更加灵活和高效。
本文介绍了芯片领域面临的问题,并通过对比互联网开源模式,阐明了开源芯片对芯片领域发展的重要性。同时,本文介绍了RISC-V指令集架构的优势及其在芯片设计中的应用。最后,本文讨论了伴随开源芯片发展涌现出的前端逻辑设计方法,这些方法通过高级编程语言的特性,提高了代码的复用性、可读性和可维护性。然而,要实现芯片设计的全面开源和创新,仍需进一步发展开源EDA工具链,并提高物理后端的效率。
王诲喆(1994- ),男,中国科学院计算技术研究所计算机体系结构国家重点实验室硕士生,主要研究方向为计算机系统的性能优化与实现。
唐丹(1976- ),男,博士,中国科学院计算技术研究所高级工程师,主要研究方向为计算机体系结构,长期从事高性能处理器I/O系统及超低功耗SoC芯片的研究与开发工作。
余子濠(1991- ),男,中国科学院计算技术研究所计算机体系结构国家重点实验室博士生,主要研究方向为计算机体系结构。
刘志刚(1995- ),男,中国科学院计算技术研究所计算机体系结构国家重点实验室硕士生,研究方向为计算机体系结构。
解壁伟(1987- ),男,博士,中国科学院计算技术研究所助理研究员,主要研究方向为计算机体系结构、EDA技术和高性能计算。
包云岗(1980- ),男,博士,中国科学院计算技术研究所研究员,计算机体系结构国家重点实验室教授,主要研究方向为计算机系统结构,主持研制多款达到国际先进水平的系统。