
1.芯片功能及用途介绍
通信中密码算法实现分为软件和硬件两种方式。软件实现受处理器性能限制,尤其在嵌入式和工业物联网设备上表现不佳。通过轻量化算法的研究虽然能够减轻处理器负担,但可能降低安全性。硬件实现通过扩展专用运算器电路或优化硬件架构来提高性能和面积效率,在处理器性能不佳的场所有较好的实现效果。本文介绍一种基于RISC-V指令集和密码协处理器的信息安全SOC芯片实现AES(Advanced Encryption Standard)及RSA算法。
2.芯片架构及各组成模块介绍
本文所设计基于RISC-V的面向信息安全应用的SoC,所采用的通用基础平台为RV32处理器内核——蜂鸟E203,并附加自主开发的密码算法协处理器, 达到对AES、RSA加解密运算进行加速的目的。下图为SOC系统架构。

2.1E203内核
蜂鸟E203内核是由Nuclei System Technology开发并开源的基于RISC-V指令集架构的处理器核心,适用于低功耗嵌入式系统。它采用2级可变流水线结构,支持RV32IMAC架构,并集成了多种外设接口。作为精简指令集计算机,E203具有低功耗、小面积的优势,其简洁和可扩展的指令集使其在物联网开发中具有重要应用价值。
2.2 ITCM 和 DTCM
芯片的存储器由指令紧耦合存储器(Instruction Coupled Memory, ITCM)和数据紧耦合存储器(Data Tightly Coupled Memory, DTCM)构成, 相比于缓存(Cache)而言更加适合嵌入式低功耗处理器。 能够保证实时性。 ITCM 和 DTCM被映射到不同的地址区间,处理器的访问使用明确的地址映射的方式访问ITCM和DTCM。由于ITCM 和 DTCM 并不是缓存机制,不存在着缓存不命中的情况,其访问的延迟是明确可知的,因此程序的执行过程能够得到明确的性能结果。在实时性要求高的场景,处理器的反应速度能够取得可靠的实时性。大多数极低功耗处理器均应用于深嵌入式领域,此领域中的软件代码规模一般较小,所需要的数据段也较小,使用几十KB 的ITCM/DTCM便可以满足其需求。 面积功耗小。 ITCM 和 DTCM设计很简单,面积和功耗更小。
2.3 AES、RSA算法核
AES、RSA算法核即协处理器核主要包含三大部分,分别为接口控制逻辑部分,AES算法核和 RSA算法核。协处理器核通过EAI协处理器接口与E203内核相连,本文所使用的EAI接口是通过RISC-V指令集中预留的Custom指令扩展协处理器的接口。协处理器可通过EAI接口中的存储器访存通道调用片内的存储 器资源,配合E203核心处理器完成AES、RSA算法的加解密的任务。
2.4 私有设备总线及外设
私有设备总线通过自定义ICB(Internal Chip Bus)总线的方式实现,ICB是蜂鸟E200处理器核和配套Soc 的一个特点,通过统一而简单的ICB 总线,蜂鸟E200 处理器核和配套Soc能够在最大程度上实现灵活性和自主性。由于ICB总线极其简单,能够非常容易地被转换成为其他的任何一种流行总线,譬如 AHB、 AXI、 Wishbone 总线等,使得蜂鸟 E200 处理器核能够取得尽量多的普适性。 此外, ICB 总线非常 便于插入流水线级数,因此蜂鸟E200处理器核和Soc总线均能够运行到相当高的主频。通过私有设备总线E203内核连接了丰富的的外设,例如RTC、GPIO、UART等。

