在紫光同创盘古50K开发板上进行DDR读写测试

本原创文章由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注明出处

适用于板卡型号:

紫光同创PGL50H开发平台(盘古50K开发板)

一:软硬件平台

软件平台:PDS_2022.1

硬件平台:小眼睛科技盘古50K开发板

二:IP介绍

紫光同创的HMIC_S IP只支持DDR3,IP顶层使用了精简的 AXI4 总线接口,最大支持32bit的数据位宽。IP的一次读写操作是burst地址8,选择32bit数据位宽下的IP数据接口位宽是32*8=256bit。

三:IP接口

如图所示,整个IP包括Simplified AXI4 接口、Config接口,还有物理接口。物理接口是连接片外DDR3的接口;Config接口为APB配置接口,通过该接口,用户可读取 DDR SDRAM 的状态,实现低功耗和MRS的控制;Simplified AXI4 接口包括写地址通道、读地址通道、写数据通道和读数据通道四个部分。具体可参考紫光IP Compiler下的DDR使用手册。

四:IP核参数配置

由于开发板外接了两块16bit数据位宽的DDR3,所以总数据位宽需要选择32;

因开发板的DDR3型号与默认项一致,step2不需要更改配置;

由于开发板的DDR3的控制/地址信号与默认项不一致,所以需要根据实际开发板的接口来自定义相关配置,最简单的方法复制一份有DDR3的开发板例程中fdc,勾选Enable fdc file select,导入fdc文件,DDR3的相关配置便会自动更改,而不需要手动一个一个更改。

五:测试读写逻辑

自增计数对DDR所有地址写一遍,写完后对所有地址读一遍,读出来的数据与写进去的数据做一个比较,比较错误则产生一个错误标志error_flag,error_flag接到LED1。

六:测试结果

如图所示,LED1为ddr3_init_done 的心跳灯,会以1s切换一次状态;LED2为error_flag指示灯,DDR3读写正确error_flag保持熄灭状态;LED3为写完成指示灯;LED4为读完成指示灯。

如图所示,为写DDR的时序图,当awvalid 和awready信号同时置1时,写地址发生传输。当wready信号置1时,数据发生传输,wusero_last信号为写数据最后一个标志。

如图所示,为读DDR的时序图,当arvalid和arready信号置1时,读地址发生传输。当rvalid信号置1时,代表读数据有效,rlast信号为读数据最后一个标志。

注意,IP的用户接口交互时钟是IP内部产生的100MHz,且不能配置更改。Debugger中waveform的刻度与信号是不对齐的,且有时候不容易看出信号有效周期是多少,在调试时可以在Debugger中的设置里的waveform里选择Pulse Width,且在Hardware Parameter里设置对应的采样时钟频率,这样可以帮助我们更容易分析单bit信号的正确性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/158426.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS内容过多保留固定字数并显示省略号

一、业务场景&#xff1a; 详情内容过多时&#xff0c;会使布局错乱&#xff0c;需要保留固定的字数&#xff0c;鼠标划上显示出全部内容 三、具体实现步骤&#xff1a; <a-tooltip><template slot"title">{{lastChe}}</template><span class…

PDF 表单直接保存到您的文档中--TX Text Control

TX Text Control .NET Server for ASP.NET Document Viewer 32.0.2 允许用户保存包含已填写表单字段的文档&#xff0c;从而更轻松地协作和共享信息。 TX Text Control .NET Server for ASP.NET 是一个适用于 ASP.NET 和 ASP.NET Core 的综合服务器端文档处理库。功能包括 PDF …

html获取网络数据,列表展示 第二种

html获取网络数据&#xff0c;列表展示 第二种 js遍历json数组中的json对象 image.png || - 判断数据是否为空&#xff0c;为空就显示 - <!DOCTYPE html> <html><head><meta charset"utf-8"><title>网页列表</title><script …

kafka动态认证 自定义认证 安全认证-亲测成功

kafka动态认证 自定义认证 安全认证-亲测成功 背景 Kafka默认是没有安全机制的&#xff0c;一直在裸奔。用户认证功能&#xff0c;是一个成熟组件不可或缺的功能。在0.9版本以前kafka是没有用户认证模块的&#xff08;或者说只有SSL&#xff09;&#xff0c;好在kafka0.9版本…

【深度学习】快速制作图像标签数据集以及训练

快速制作图像标签数据集以及训练 制作DataSet 先从网络收集十张图片 每种十张 定义dataSet和dataloader import glob import torch from torch.utils import data from PIL import Image import numpy as np from torchvision import transforms import matplotlib.pyplot…

vm虚拟机逆向---[GWCTF 2019]babyvm 复现【详解】

文章目录 前言题目分析CD1mov指令xor指令and其他指令 E0BF83 汇编提取编写exp 前言 好难。大家都觉得简单&#xff0c;就我觉得难是吧&#xff0c;&#xff0c;&#xff0c;&#xff0c;&#xff0c; 题目分析 、 代码看着挺少&#xff0c;三个主要函数&#xff0c;一开始好像…

电压放大器可用于什么场合

电压放大器是电子器件中常见的一种放大器类型&#xff0c;它可以将输入信号的电压放大到更大的幅度&#xff0c;以满足特定应用的需求。电压放大器广泛应用于多个领域和场合&#xff0c;下面将详细介绍一些使用电压放大器的场景。 音频放大器&#xff1a;音频放大器是电压放大器…

SoftwareTest4 - 咋设计一个好的测试用例

咋设计一个好的测试用例 一 . 设计测试用例的万能公式功能测试性能测试界面测试兼容性测试易用性测试安全测试案例案例1 : 对水杯设计测试用例案例 2 : 对登录页面设计测试用例 二 . 具体设计测试用例的方法2.1 等价类等价类的概念等价类的用例编写 2.2 边界值2.3 判定表2.4 场…

LeetCode字符串题库 之 罗马数字转整数

题目链接&#x1f517;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 1. 题目分析 我们在做题的时候&#xff0c;一定要知道题目的目的是什么&#xff0c;我们可以结合测试用例和提示来看。 我们可以分析以下几点&#xff1a; 1. 每一个罗马数字都…

Day 5 登录页及路由 (三) 基于axios的API调用

系列文章目录 本系列记录一下通过Abp搭建后端&#xff0c;VueElement UI Plus搭建前端&#xff0c;实现一个小型项目的过程。 Day 1 Vue 页面框架Day 2 Abp框架下&#xff0c;MySQL数据迁移时&#xff0c;添加表和字段注释Day 3 登录页以及路由 (一&#xff09;Day 4 登录页以…

WSL安装Ubuntu

先安装wsl2 安装Ubuntu 打开windows商店&#xff0c;搜索对应版本的Ubuntu&#xff0c;点击获取进度跑完后&#xff0c;点击打开&#xff0c;就可以完成安装 删除Ubuntu版本 wsl --unregister Ubuntu-18.04安装位置迁移 正常情况下Ubuntu是被安装在C盘&#xff0c;我们需要…

SQL server数据库定时搜索

问题现象 出现下图问题&#xff0c;导致连接该数据库的程序不能正常启动 解决办法 定时搜索数据库 脚本 # 设置数据库名称 # 设置定时任务时间# 生成定时任务执行sql文件 sql语句 USE [master] GO ALTER DATABASE volador SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DA…