RISC-V MCU中文社区

【分享】 E203分享之DDR扩展方案

发表于 全国大学生集成电路创新创业大赛 2023-05-24 19:58:27
0
687
0

报名编号:CICC1764

团队名称:两年半IC练习生

 

使用的rtl官方源代码:e203_hbirdv2

使用的FPGA开发板:DDR200T

 

扩展原因:蜂鸟e203的内存ITCMDTCM都是64k,太小,不能加载较大的程序(如:M

 

扩展方案:使用DDR200T上板载的DDR3对内存进行扩展

扩展方案结构图:

该方案中DDR3使用vivado提供的axi接口migIP核来进行控制,蜂鸟e203源代码中提供了icb2axi模块,可以使发出数据的从icb协议转到axi协议。axi_interconnect实现了数据的跨时钟域和位宽转换,并将转换后的数据传给mig模块进而实现对DDR3的控制。

简单阅读蜂鸟的代码发现,蜂鸟本身提供了外部存储器的访问接口,在e203_subsys_mems.v文件中可以找到:

同时在这个源文件中实现了一主多从的总线系统,可以看到sysmem被分配到0x800000000xFFFFFFFF的地址空间,共有2G。注意这里ITCM的起始地址为0x80000000DTCM的起始地址为0x90000000,与sysmem地址空间重合,实际上在代码中判断了如果访存地址位于0x800000000x90000000起始的64k空间范围内时,内核会访问ITCMDTCM;如果不在上述空间范围内,内核会通过sysmem接口访问外部存储器。这里通过sysmem接口扩展内存空间是简单方便的方法。

喜欢0
用户评论
北落师门

北落师门 实名认证

懒的都不写签名

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