龙蜥白皮书精选:面向芯片研发和验证的操作系统 SiliconFastOS
  enzabimKG0ee 2023年11月02日 48 0

文/RISC-V ARCH SIG

01

背景介绍 

随着 Arm 和 RISC-V 芯片研发的大爆发,越来越多的芯片设计、制造厂商甚至是云厂商都开始参与到芯片领域中来。面对芯片使用者尤其是处理器芯片与日俱增的需求,且芯片研发研发和流片成本高,芯片制造厂商必须要提高芯片质量,并缩短芯片研发周期,迅速对市场作出反应,实现产品的快速迭代。借着 Arm 和 RISC-V 架构更加开放的生态,业界陆续提出了了芯片敏捷开发方案。 

02

技术方案 

芯片验证时,软件运行在 FPGA 平台上。具有运行速度慢、硬件变化快且没有  ROM 等特点。造成了在基于 OS 的芯片验证过程中 OS 启动速度慢、命令行工具不够丰富、缺少芯片验证环境、灵活性差和使用成本高等困难。为了解决这些问题,龙蜥社区开发了芯片验证操作系统 SiliconFastOS。SiliconFastOS 具有 OS  启动加速、丰富的命令行工具、原生验证环境、灵活的配置手段和开箱即用等特点,可以帮助提高芯片验证效率,缩短芯片研发周期。

1. 最小化 rootfs,SiliconFastOS 尽可能去掉在开发过程中不会使用到的命令,从而减少内核解压 rootfs 和创建页表的时间。此外,SiliconFastOS 内建 build system,支持使用者选择单个软件包中的单个命令来构建最终的 rootfs,可以在尽可能减小 rootfs 大小的前提下,提供丰富的命令行工具,兼顾启动速度和 rootfs 镜像大小。 

2. 裁剪内核。SiliconFastOS 去掉了在芯片验证阶段不会使用的内核驱动,裁剪内核镜像的大小。SiliconFastOS 还使用了 PCIe delay 等方式进一步缩短 OS。

3. 原生芯片验证环境。SiliconFastOS 内部提供了轻量级内核异步单元测试框架 Munit,帮助开发,管理、运行大量的内核单元测试用例。还提供了芯片验证测试框架 Bee,可以和 Munit 搭配使用,同时管理内核和用户态的测试用例。此外,还包含了丰富的芯片验证工具集,帮助开发者快速定位和修复软硬件bug。 

4. 一键编译,开箱即用。SiliconFastOS 内部使用 Kbuild 搭建,和 Linux 内核一脉相承,开发者可以快速上手,利用 Kbuild 灵活配置 rootfs 软件包和内核,一键生成最终 OS 镜像。 

03

技术优势

基于 OS 的端到端芯片验证系统 传统的基于固件和硬件的芯片验证方案在芯片级仿真、调试、硬件固件交互方面有其特有的优势,但随着软硬件融合程度加深,需要更多的端到端验证方案来验证硬件设计对上层应用的影响。相比于固件和硬件方案,基于 OS 的芯片验证系统在灵活性、软硬件协同、对端到端真实场景的模拟、还有工具生态丰富度上面都有其得天独厚的优势。在此基础上,SiliconFastOS 还提供了 Bee + Munit 组成的原生芯片验证环境,帮助使用者开发,管理和运行大量的端到端测试用例。使用 SiliconFastOS + Bee + Munit 的组合方案,可以帮助芯片在流片前评估硬件设计对上层应用的影响,大大降低了各种软硬件协同设计、硬件加速器和异构硬件设计的流片风险。

04

应用场景 

SliconFastOS(开源链接:alibaba/SiliconFastOS (github.com)),在倚天 710 上得到了很好的应用,作为端到端的验证系统与硬件验证协同配合,从而进一步提高了倚天 710 的研发效率。SliconFastOS 作为通用的芯片验证系统解决方案,可以有效帮助提高芯片验证的研发效率,目前也支持了 RISC-V 架构,可以在不同的平台和架构的芯片验证平台(如:仿真,FPGA )中使用。


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
enzabimKG0ee