RISC-V MCU中文社区

【分享】 【分享】【队伍编号CICC2340】AXI DDR3 挂载

发表于 全国大学生集成电路创新创业大赛 2022-05-29 12:32:58
0
215
0

队伍编号 CICC2340 第一篇分享 AXI DDR 挂载

目的 通过DDR3拓展存储

MIG7 series DDR控制器 例化可自行BING搜索

添加过程

存储总线位于
图片alt

挑选一个not used 接口 (我选择的是02)
图片alt
DDR基地址为 0xA0000000,注意O2_BASE_REGION_LSB,我使用的为28,定位到
图片alt
他表示icb总线匹配地址前缀低位,即如果[31:28]高四位为0xA,即为02端口地址,与02接口进行通信。

然后可查找icb2axi转接口:位于
图片alt
可单独写一个.v文件,在block design 中例化,通过axi接口可直接接到axi ddr上,如位宽、时钟等不匹配可通过axi_interconnect进行转接。注意ddr 基地址要与之前配置icb端口基地址一致。

然后可以将存储总线时钟和复位以及该icb接口接入block design,实现DDR读写。

读写测试代码

void read_ddr( int *startp, int range)
{
    int *p = startp;
    for(int i=0; i < range ; i++ )
    {
        printf(" %d ",*p);
        delay_1ms(10);
        p=p+1;
    }
}
void write_ddr( int *startp, int range)
{
    int *p = startp;
    for(int i=0; i < range ; i++ )
    {
        *p = i;
        p=p+1;
        printf(".");
        delay_1ms(1);
    }
}
void ddr_test()
{
    printf("\n/**********start ddr test *************/\n");
    write_ddr(0xA0002000,10);
    delay_1ms(1000);
    read_ddr(0xA0002000,10);
    printf("\n/********** end ddr test **************/\n");
}

结果为
图片alt

综上,这是我们认为最简单的拓展方法。第一次做Soc赛道,欢迎各位大佬指正。

喜欢0
用户评论
Z_Liu

Z_Liu 未通过实名认证

懒的都不写签名

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