Antti Nurmi, Antti Rautakoura, Henri Lunnikivi, Timo D. Hämäläinen
{"title":"A Resilient System Design to Boot a RISC-V MPSoC","authors":"Antti Nurmi, Antti Rautakoura, Henri Lunnikivi, Timo D. Hämäläinen","doi":"10.1109/DSD57027.2022.00039","DOIUrl":null,"url":null,"abstract":"This paper presents a highly resilient boot process design for Ballast, a new RISC- V based multiprocessor system-on-chip (SoC). An open source RISC- V SoC was adapted as a bootstrap processor and customized to meet our requirement for guaranteed chip wake-up. We outline the characteristic challenges of implementing a large program into a read-only memory (ROM) used for booting and propose generally applica-ble workflows to verify the boot process for application specific integrated circuit (ASIC) synthesis. We implemented four distinct boot modes. Two modes that load a software bootloader autonomously from an SD card are implemented for a secure digital input output (SDIO) interface and for a serial peripheral interface (SPI), respectively. Another SDIO based mode allows for direct program execution from external memory, while the last mode is based on usage of a RISC- V debug module. The boot process was verified with instruction set simulation, register transfer level simulation, gate-level simulation and field-programmable gate array prototyping. We received the fabricated ASIC samples and were able to successfully boot the chip via all boot modes on our custom circuit board.","PeriodicalId":211723,"journal":{"name":"2022 25th Euromicro Conference on Digital System Design (DSD)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2022 25th Euromicro Conference on Digital System Design (DSD)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/DSD57027.2022.00039","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
This paper presents a highly resilient boot process design for Ballast, a new RISC- V based multiprocessor system-on-chip (SoC). An open source RISC- V SoC was adapted as a bootstrap processor and customized to meet our requirement for guaranteed chip wake-up. We outline the characteristic challenges of implementing a large program into a read-only memory (ROM) used for booting and propose generally applica-ble workflows to verify the boot process for application specific integrated circuit (ASIC) synthesis. We implemented four distinct boot modes. Two modes that load a software bootloader autonomously from an SD card are implemented for a secure digital input output (SDIO) interface and for a serial peripheral interface (SPI), respectively. Another SDIO based mode allows for direct program execution from external memory, while the last mode is based on usage of a RISC- V debug module. The boot process was verified with instruction set simulation, register transfer level simulation, gate-level simulation and field-programmable gate array prototyping. We received the fabricated ASIC samples and were able to successfully boot the chip via all boot modes on our custom circuit board.
本文提出了一种基于RISC- V的多处理器片上系统(SoC)的高弹性启动过程设计。一个开源的RISC- V SoC被改编为一个引导处理器,并定制以满足我们对保证芯片唤醒的要求。我们概述了将大型程序实现到用于启动的只读存储器(ROM)中的特征挑战,并提出了一般适用的工作流程来验证特定应用集成电路(ASIC)合成的启动过程。我们实现了四种不同的引导模式。分别为安全数字输入输出(SDIO)接口和串行外设接口(SPI)实现了从SD卡自动加载软件引导程序的两种模式。另一种基于SDIO的模式允许从外部存储器直接执行程序,而最后一种模式是基于使用RISC- V调试模块。通过指令集仿真、寄存器传输级仿真、门级仿真和现场可编程门阵列原型验证了启动过程。我们收到了制造的ASIC样品,并能够通过我们定制电路板上的所有启动模式成功启动芯片。