RISC-V MCU中文社区

【分享】 蜂鸟E203RISCV处理器采用自定义汇编指令和NICE总线对协处理器内存进行读写控制思路

发表于 开源蜂鸟E203 2021-07-25 20:39:21
0
342
0

        大家好,我们是这是一件好事队,队伍编号为CICC1859,该文章分享的是基于蜂鸟E203内核的SoC设计中,主机通过NICE总写队协处理器内存及寄存器的读写控制思路。

        在我们的作品中通过指令的funct7段定义了如下两条自定义汇编指令:

lkram从蜂鸟E203内核RAM发送数据到协处理器RAM

skram从协处理器RAM发送数据到蜂鸟E203内核RAM 

 lkreg 从蜂鸟E203内核RAM发送数据到协处理器寄存器

 skreg 从协处理器寄存器 发送数据到 从蜂鸟E203内核RAM

        指令格式:




        设计思路:将源地址、目标地址、数据长度通过rs1和rs2寄存器传输。模块内有一个带有使能和直接置数的自增地址计数器负责控制ICB总线和KRAM或者寄存器的读地址。协处理器中还有一个地址缓存寄存器,用来暂存写入地址,等待数据到来后再刷新,即当ICB总线繁忙时,计数器和缓存寄存器暂停刷新,直到总线回应才会继续计数。从总线到KRAM时,计数器存储总线地址,缓存寄存器存储KRAM地址;从KRAM到总线时,计数器存储KRAM地址,缓存寄存器存储总线地址,这样保证了数据能被准确无误地传输。

        具体定义如下:

        协处理器RAM操作指令

寄存器及其对应位宽代表含义
rs1[31:0]ICB总线起始地址
rs2[15:0]协处理器RAM起始地址
rs2[31:16]
读写的数据长度

        协处理器寄存器操作指令

寄存器及其对应位宽
代表含义
rs1[31:0]ICB总线起始地址
rs2[31:0]协处理器RAM起始地址


喜欢0
用户评论
关于作者
SCAR-T00

SCAR-T00 未通过人工认证

懒的都不写签名

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