报名编号:CICC1907
团队名称:Hollow-SEKIRO-ARCAEA
学校名称:东南大学
指导老师:刘昊
团队成员:申烁、徐轶凡、林昊
这是我们第五篇分享文章。
既然E203不是多发射,且为了节省面积,一些指令使用FPU内的同一个子模块来执行,即FPU同时只能进行一种计算,我们只在FPU内部署了11个子模块,每种对应一或多个功能,如其中的子模块:e203_exu_fpu_madd_msub_n可以执行四种指令:fmadd.s、fmsub.s、fnmsub.s、fnmadd.s。其内部包括一个能改变计算模式的专用IP,这样就能在输入不变时根据不同模式输出四种结果。增加模式信号意味着需要多一组握手信号,而输入数据的握手信号直接根据FPU的输入握手和来自rs1、rs2、rs3的数据输入输出的,所以模式信号也随输入数据的握手信号一致。而我们在实现时,无IP核的模块从简,不给模式信号加握手。
有operation信号的IP核:
需注意的是,IP核可以选择添加时钟使能信号,此信号会控制时钟是否翻转,用以降低功耗,因此如果多个IP核运算周期设计的不一致,如乘法两个周期,加法一个周期时,注意需要让乘法模块的clken多延时一个周期。而为了节省片上面积且改善时序,我们参考了一些案例,给不同算法的模块设置了不同的运算周期。
本文介绍的内容是为了完成基础功能:对蜂鸟E203 RISC-V内核的微架构实现进行一定优化,在添加F拓展的过程中的一些记录。