精彩回顾|硬件敏捷开发与验证方法学研讨
8月27日,作为2022年第二届RISC-V中国峰会的同期活动,达坦科技成功举办硬件敏捷开发与验证方法学研讨。虽然是线上分享活动,但大家热情依旧,会后在“硬件敏捷开发和验证方法学讨论群”中积极互动提问。长达四小时的就新一代HDL在数字芯片设计方面的实践经验分享,究竟碰撞出了什么新的火花呢?下面我们一起来回顾研讨会的精彩内容。
1、芯片敏捷设计与验证之路
华南理工大学计算机科学与工程学院赖晓铮副教授首先分享了 “让硬件设计像软件设计一样简单”的愿景,即开发人员编写的代码只占工作量的10%,剩下90%由开源芯片生态系统提供。
他介绍了HDL语言的发展,强调Verilog语言多样性描述是把“双刃剑”,这就导致每个公司都有自己的Verilog模版的设计约束。此外,在这个Meta HDL的黄金时代,“万物皆可HDL”,那么Meta HDL的含义就显得尤为重要,它不仅“超越”硬件描述语言,更是“元”硬件描述语言。赖教授以Chisel 的FIRRTL IR为例,介绍了MLIR与CIRCT,这两个软硬协同的Multi- level IR- infrastructure其中涉及的问题。他还将PyChip这一开源硬件敏捷设计与框架与Chisel进行对比,并着重介绍了PyHCL IR语法结构与解析过程,并且进行代码示例。目前PyHCL的编译速度达到Chisel的100倍左右,在10万行代码规模中,二者时间可以齐平,因此,赖教授认为可以就此展望单芯片FPGA的openEmulator的发展。
2、香山处理器敏捷开发与验证实践
中科院计算机所的王凯帆博士分别就香山项目基本情况、香山处理器开发进展以及支撑香山研发的敏捷开发基础设施这三个方面进行了分享。
在支持香山研发的敏捷开发基础设施中,王博士主要从设计流程和验证流程两方面进行展示。设计流程中介绍了开源RISC-V核与敏捷设计方法,及两个重要的决策:选择Chisel和重视构建支持敏捷设计的流程与工具。在敏捷性能验证方法中,王博士主要介绍了基于Chisel的设计空间探索方法和基于仿真的敏捷性能验证方法,前者虽然解决了准确度和重复工作的问题,但也带来了另一个问题:即如何保证性能验证的效率。后者敏捷验证虽然使用了更低成本完成验证工作,然而传统的性能验证方式在高性能处理器场景下成本依旧很高。王凯帆讲到,要加快性能验证速度,可以通过RISC-Check point提高仿真并行度,并通过特征采样来进一步选出具有代表性的程序片段。
最后,王博士进行了demo演示,通过现场演示生成Verilog代码、仿真环境下验证香山和工具展示来进一步进行说明。
3、通过Chainsaw实现硬件算子敏捷开发
中山大学电子与信息工程学院的李天瑞博士分享了自己通过SpinalHDL进行硬件算子敏捷开发的经验。
他首先回顾上一代硬件算子开发框架Flopoco,说明了他们的成就和在设计入口上的不足。然后,他介绍了现代生成器语言在进行硬件算子敏捷开发时的优势,包括更清晰的语义,与并行语义高度契合的集合方法,丰富的面向对象建模能力和第三方库支持,以及更好的文档和注释系统。在此基础上,他介绍了目前正在进行的开源算子设计框架Chiansaw的一些进展,展示了Chainsaw中的设计模板对算子进行的抽象,以及与这种抽象相伴的一系列能力,包括自动测试,自动流水线,以及高度的可复用性。
最后,李博士说明了该项目的未来目标,包括完成一个面向FPGA开箱即用的硬件算子库,以及一套以模板设计为基础的online judge系统。
4、Scala 在IC开发中的应用
【精彩回顾|硬件敏捷开发与验证方法学研讨】小米SoC设计专家郭继经在分享中,分别介绍了Verilog中出现的问题、HDL发展的主要趋势以及DSL-HDL的机遇与挑战。
郭继经分别将DSL-HDL与CAD-scripts和Super-Verilog进行对比:第一组对比中DSL-HDL利用高级语言的抽象功能,可以进行更好的数据封装,而后者还需要自己写Parser以及处理海量的异常,其本质上还是在扁平化处理;与Super-Verilog的对比则更加明显,后者具有有限的关键字、没有扩展能力、宏能力有限等,而Scala相对于SpinalHDL是它的宏,可以随时对创造或加工电路对象,也赋予工程师灵活的手段去丰富电路对象。两组对比充分展现了DSL-HDL的优势性。
但他同时也强调,DSL-HDL的未来机遇与风险并存。在复杂性方面,Scala具有较大复杂性,其已有的第三方代码以及“能力越大责任越大”增加了对于复杂性的担忧;而同时我们又可以展望其在未来基于SpinalHDL的系统开发以及SpinalHDL作为底层开发辅助工具的难得机遇。层次化的Lib下,Spinal提供核心HDL描述功能,Scala提供参数化和元编程能力,使得其具有单平台质量闭环能力,也同样提供了高效的复用能力。
5、NaxRiscv CPU: Introduction and Extension Demonstration
Charles Papon是新一代硬件描述语言SpinalHDL的创始人,他基于SpinalHDL实现了高性能NaxRiscv处理器。
在研讨会上,Charles对NaxRiscv处理器详细介绍了其新特性以及扩展机制。他详细讲解了NaxRiscv的架构,并从仿真运行、扩展等方面依次进行了代码展示,步骤详尽介绍全面。Charles指出NaxRiscv已经支持运行Debian,并且在GitHub上开源。
6、结束语
软件的敏捷开发早已有之,在软件领域,从瀑布式开发到敏捷开发的转变,大大提高了迭代速度。因此,无论是学术界还是产业界都在积极探索硬件的开发怎么落地敏捷开发与验证。本次研讨会无疑为业界提供了一次深入探讨和交流的机会。
请点击如下链接:https://t.elecfans.com/live/2...收看本次研讨会的回放。
推荐阅读
- FPGA|基于SDSoC的软硬件协同设计
- 打破平台限制,小程序如何在硬件设备上运行()
- 阿里云(加大NoSQL数据库软硬件一体化技术自研)
- 我的物联网综合知识之创建硬件端
- 全面敏捷模式下的微前端方案——设计篇
- 硬件敏捷开发与验证方法学研讨
- 痞子衡嵌入式(浅析IAR下调试信息输出机制之硬件UART外设)
- 硬件|【PCB专题】从嘉立创免费打样PCB流程
- 硬件|【PCB专题】阻焊定义的焊盘(SMD)和非阻焊定义焊盘(NSMD)有什么差异()
- 企业级服务|敏捷迭代,解锁云上增长新路径