RISC-V MCU中文社区

【分享】 【分享】关于E203的F指令集拓展

发表于 开源蜂鸟E203 2023-07-11 23:01:05
1
2733
3

1.队伍介绍

报名编号:CICC1137
团队名称:大衍
团队成员:王星距、郭柏炀、赵健棚

这是我们第一篇分享文章

2.E203的NICE接口

RISC-V ISA在32位指令中预定义了4组自定义指令类型(custom -0, custom -1, custom -2, custom -3),每一组都有自己的操作码,如下表所示。

在E203内核中,用户可以使用这4个自定义指令组(custom -0, custom -1, custom -2, custom -3)用于NICE扩展,下图显示了NICE指令格式的详细信息,下表显示了NICE指令中各个字段的详细描述。

上述相关资料摘自《在手把手教你RISC-V CPU 上》

3.F拓展的软件实现

为实现对蜂鸟E203的F拓展,笔者未采用蜂鸟E203中遗存的FPU端口,选择NICE接口完成蜂鸟E203浮点运算指令拓展,在NICE端口设计完成FPU_control模块,通过NICE完成数据写回仲裁及数据传递,实现FPU浮点运算功能
基于上述NICE接口笔者拓展了float_add,float_sub,float_mul,float_div四条指令,Opcode均使用Custom-3指令组。因为只使用rs1,所以xs1为1,xs2为0

在C代码中我们定义函数float_add,float_sub,float_mul,float_div

这四部分函数可实现将DTCM或ITCM中的两个数据写入NICE接口以供FPU进行浮点加运算,进而实现FPU功能

喜欢3
用户评论 (1)
:D

:D 实名认证

懒的都不写签名

积分
问答
粉丝
关注
  • RV-STAR 开发板
  • RISC-V处理器设计系列课程
  • 培养RISC-V大学土壤 共建RISC-V教育生态
RV-STAR 开发板