🔍 搜索帖子 / 资讯 / 芯片型号…
论坛/全国大学生集成电路创新创业大赛/通过DDR对蜂鸟E203处理器进行内存拓展(二)
通过DDR对蜂鸟E203处理器进行内存拓展(二)
全国大学生集成电路创新创业大赛 作者 锟斤拷 发布于 2023-05-26 22:53(1232 天前) 5720 浏览

一、队伍信息:

团队编号:CICC1156

团队名称:兔飞猛进

开发板:DDR200T

二、mig

mig是Vivado中的DDR的控制IP核,他提供的AXI类型的总线接口可以实现DDR的访问

直接在IP Catalog中搜索mig即可
mig IP

配置参数可参考此分享DDR200T中DDR的使用与时序介绍_全国大学生集成电路创新创业大赛_RISC-V论坛讨论_RISC-V MCU中文社区 (riscv-mcu.com)

成功配置完成mig后,可以打开其例子工程,新工程会自动生成ddr的模型,可以将相应的文件加入自己的工程中

注意在仿真时,需要在source中添加ddr3_model.sv和ddr3_model_parameters.vh文件,并实例化ddr模型,而在综合时不需要。

三、总线协议转换—-icb2axi

蜂鸟处理器核预留的内存拓展信号为icb总线协议,而mig的信号为axi总线协议,需要通过一个模块对这两种总线协议进行转换。

首先我们通过博客先了解一下这两种总线协议,

icb总线:【分享】关于ICB总线的应用_中国研究生创芯大赛_RISC-V论坛讨论_RISC-V MCU中文社区 (riscv-mcu.com)

axi总线:AXI总线介绍 - 迈克老狼2012 - 博客园 (cnblogs.com)

然后,对于两种总线协议的转换,蜂鸟在sirv_gnrl_icbs.v源文件中提供了sirv_gnrl_icb2axi模块,通过它可以优雅地进行协议转换

四、测试

为了测试蜂鸟处理器对DDR的读写是否正确,编写了以下测试程序
测试程序源代码

值得注意的是,由于DDR与itcm和dtcm之间存在地址空间冲突,因此应该选择在一个不会发生冲突的地址进行测试,这里我们选择0x8100 0000,当然也可以通过设置itcmh和dtcm的基地址来解决冲突。
测试结果

测试发现DDR读写正确,DDR内存拓展完成。

全部回复 1
江
江南咸鱼809 天前 · 1 楼

你好,想问一下我标红框的地方test_data不是应该位2023吗?这个1234是哪来的,不是很理解,求解

💡 请 登录 后参与讨论(微信扫码即登录/注册)