【紫光同创国产FPGA教程】——【PGL22G第十章】DDR3读写实验例程

本原创教程由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注www.meyesemi.com)
 

适用于板卡型号:

紫光同创PGL22G开发平台(盘古22K)

一:盘古22K开发板(紫光同创PGL22G开发平台)简介

盘古22K开发板是基于紫光同创Logos系列PGL22G芯片设计的一款FPGA开发板,全面实现国产化方案,板载资源丰富,高容量、高带宽,外围接口丰富,不仅适用于高校教学,还可以用于实验项目、项目开发,一板多用,满足多方位的开发需求。

二:实验目的

MES22GP开发板上有一片Micron的DDR3(MT41K256M16 TW107:P)内存组件,拥有16bit位宽的存储空间(MT41J系列是旧的产品,目前很多型号已经停产,后续替代就是MT41K系列。硬件上的差异是MT41K支持1.35V低电压,同时也兼容1.5V电压,所以可以用MT41K直接替换相应型号的MT41J芯片)。该DDR3存储系统直接连接到了PGL22G的Bank L1及Bank L2上。PGL22G的DDR IP为硬核IP,需选择正确的IP添加(详情请查看“MES22GP开发板硬件使用手册”)。

生成DDR3 IP官方例程,实现DDR3的读写控制,了解其工作原理和用户接口。

三:DDR3控制器简介

HMIC_H IP是深圳市紫光同创电子有限公司FPGA产品中用于实现对SDRAM读写而设计的IP,通过公司Pango Design Suite套件(后文简称PDS)中IP Compiler工具(后文简称IPC)例化生成IP模块。

➢支持LPDDR、DDR2、DDR3;➢支持x8 x16 Memory Device;

➢用户接口

◼标准的AXI4总线接口

◆一组128bit的AXI4 Host Port

◆两组64bit的AXI4 Host Port

◼标准的APB总线接口

◆DDRC配置接口

➢支持可配低功耗模式:Self-Refresh和Power Down;

➢支持DDR3的最高数据速率达到1066Mbps;

➢支持DDR2的最高数据速率达到800Mbps;

➢支持LPDDR的最高数据速率达到400Mbps;

➢Burst Length 8和单Rank;HMIC_H IP系统框图如下图所示:

HMIC_H IP包括了DDR Controller、DDR PHY和PLL,用户通过AXI4接口实现数据的读写,通过APB接口可配置DDR Controller内部寄存器,PLL用于产生需要的各种时钟。

AXI4接口:HMIC_HIP提供三组AXI4HostPort:AXI4Port0(128bit)、AXI4Port1(64bit)、AXI4 Port2(64bit)。用户通过HMIC_H IP界面可以选择使能这三组AXI4Port。三组AXI4 Host Port均为标准AXI4接口。 

APB接口:HMIC_H IP提供一个APB配置接口,通过该接口,可配置DDR Controller内部寄存器。HMIC_H IP初始化完成后使能该接口。

详细的端口说明请点击IP配置界面的View Datasheet查看IP手册。

四:实验设计 

安装DDR3 IP核

PDS安装后,需手动添加DDR3 IP,操作流程如下:

(1)DDR3 IP文件:6_IP_setup_packet\DDR3\ipsl_hmic_h_v1_2.iar

(2)IP安装步骤:1_Demo_document\工具使用篇\03_IP核安装与查看用户指南 

DR3读写Example工程

1.打开PDS软件,新建工程ddr3_test,点开如下图标,打开IP Compiler;

2.选择DDR3 IP,取名,然后点击Customize;

  DDR3 IP配置说明

HMIC_H IP配置分为四个页面,分别为Step1: Basic Options,Step2: Memory Options,Step3: Interface Options,Step4: Summary,请务必按照该页面顺序配置。

Step 1: Basic Options

是IP的基本配置页面,页面如下图所示:

 

Step 2: Memory Options

是Memory参数的配置页面,页面如下图所示: 

Step 3: Interface Options

是接口参数的配置页面,页面如下图所示:

Step 4: Summary 

用于打印当前的配置信息,不需要配置参数,点击Generate可生成DDR3IP;页面如下图所示:

关闭本工程,在本工程文件内按此路径打开Example工程(也可以打开示例工程):ddr_test\ipcore\ddr_test\pnr\trl_phy_22\ddr_test.pds

注:如果使用自己的工程,那么需要打开example工程中的引脚约束文件对以下信号修改其引脚配置,方能在烧录程序后看到正确的LED灯亮灭情况: 

五:实验现象 

下载程序,可以看到LED1常灭;LED2,LED3,LED4常亮;LED5闪烁。

上板效果:

 

 

 

 

 

 

 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Flutter笔记:光影动画按钮、滚动图标卡片组等

Flutter笔记 scale_design更新:光影动画按钮、滚动图标卡片组 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263…

代码实现学历自动认证,App自动获取学历详细信息

功能概述 学信网没有开放公共的学历认证api,那App要实现学历的自动认证改怎么做呢? 下面就详细介绍App通过代码实现学习自动完成,用户输入证书编号,可以获取学历的详细信息,包括学校名称、学历(专科/本科/…

统信UOS Linux操作系统下怎么删除某个程序在开始菜单或桌面的快捷方式

☞ ░ 前往老猿Python博客 ░ https://blog.csdn.net/LaoYuanPython 引言 统信操作系统的开始菜单包罗万象,将所有应用的快捷方式都放在了开始菜单内。 虽然提供了分类展示的能力,但无论是分类方式还是未分类方式,都不能像windows一样将这…

假如我们进入了时间循环,那么如何在时间循环里做最优决策?

👨‍🎓博主简介 🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊交流社区:运维交流社区 欢迎大家的加入! 🐋 希望大家多多支…

煤矿企业如何选择合适的设备健康管理系统

在煤矿开采的过程中,机电设备发挥着重要的作用。但大量的机电设备的使用也给煤矿企业设备管理提出了一定的要求。随着工业领域数字化的深入应用,煤矿机电设备的自动化、智能化管理已经成为煤矿企业发展的重要手段。保障机电设备的正常运行,减…

数据结构之二叉树OJ(C++)

根据二叉树创建字符串 606. 根据二叉树创建字符串 - 力扣(LeetCode) 题目的要求是给我们一棵二叉树,让我们用前序遍历的方式把它转换成一个由整数和括号组成的字符串。 我们观察它给的用例会发现其实整数就是每个结点的值,括号其实是把每棵树的左右子树…

Echarts多条折线图 y轴与实时值提示框数值不一致解决方法:

Echarts多条折线图 y轴与实时值提示框数值不一致解决方法: 删除stack属性即可 stack看官网就是数据堆叠 发现这个bug,特此记录

LightDB23.4 GBK和UTF8转码失败的字符替换成空格

背景介绍 用户使用迁移工具从Oracle数据库迁移数据到LightDB的过程中发现,某些GBK编码转成UTF8编码后,在插入到LightDB中会报错。以GBK编码AAA1为例,LightDB的GBK和UTF8映射表中不支持AAA1这个GBK编码的转换。不支持的GBK编码都是处于GBK编码…

通过 dump 虚拟机线程方法栈和堆内存来分析 Android 卡顿和 OOM 问题

作者:Tans5 Android 中的性能问题无非就是卡顿和 OOM,虽然总体就这两种,但是造成这两种性能问题的原因却是非常多,需要具体的原因具体分析,而且这是非常复杂的。本篇文章只是简单介绍如何找到造成这些问题的直接原因的…

Q3季刊|Coremail管理员社区Q3季刊发布

2023年Q3季刊新近完成,接下来将带领大家回顾2023年Q3Coremail管理员社区的精彩活动和内容。 01、Coremail管理员社区 Coremail 管理员社区属于云服务中心板块之一,由Coremail服务团队、邮件安全团队及多条产品线共同维护,定位为知识库社区&…

【uniapp】六格验证码输入框实现

效果图 代码实现 <view><view class"tips">已发送验证码至<text class"tips-phone">{{ phoneNumber }}</text></view><view class"code-input-wrap"><input class"code-input" v-model"…

公司不重视软件测试,新来的阿里P8给我们撰写了测试用例编写规范

测试用例(Test Case)是指对一项特定的软件产品进行测试任务的描述&#xff0c;体现测试方案、方法、技术和策略。其内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等&#xff0c;最终形成文档。 1&#xff09;能看懂需求文档&#xff0c;找准测试测试依…

unittest与pytest自动化测试框架

引言   前面一篇文章已经介绍了python单元测试框架&#xff0c;大家平时经常使用的是unittest&#xff0c;因为它比较基础&#xff0c;并且可以进行二次开发&#xff0c;如果你的开发水平很高&#xff0c;集成开发自动化测试平台也是可以的。而这篇文章主要讲unittest与pytes…

【接口自动化测试】一步一步教你搭建接口环境

要做接口测试&#xff0c;我们得搭建一套本地可以运行的接口环境。这次我选择了一个搭建容易&#xff0c;适合学习的系统——学生管理系统。 Python安装 这套管理系统是Python代码写的&#xff0c;因此需要Python环境。 安装挺无脑的&#xff0c;按照我提供的安装包和方法装…

golang 库之「依赖注入」

文章目录 1. 写在最前面2. 依赖注入2.1 使用场景2.2 框架对比 3. fx 框架使用场景示例3.1 示例3.2 golang 原生的库3.3 fx 库3.4 对比3.4.1 如上两种实现方式对比3.4.2 关于过度设计3.4.3 感悟 4. 碎碎念5. 参考资料 1. 写在最前面 同事在技术分享的时候用了 golang 的 fx 框架…

金融行业的软件测试分析

随着金融行业的业务不断增加&#xff0c;金融交易模式的不断变化&#xff0c;金融机构对信息化的要求也越来越高&#xff0c;高质量的金融软件对于金融机构来说显得尤为重要。如何保证金融行业软件的质量&#xff0c;对金融行业软件的测试人员来说&#xff0c;也提出了更高的要…

我用Devchat开发了公务员报名确认系统自动登录脚本,再也不用担心挤不进去了

#AI编程助手哪家好&#xff1f;DevChat“真”好用 # 演示效果 我用Devchat开发了公务员报名确认系统自动登录&#xff0c;再也不用担心挤不进去了 目录 演示效果前言粉丝独家专属红包码DevChat是什么&#xff1f;DevChat AI编程助手有哪些优势一、安装Vscode1、下载vscode链接…

Leetcode150. 逆波兰表达式求值

Every day a Leetcode 题目来源&#xff1a;150. 逆波兰表达式求值 解法1&#xff1a;栈 用栈模拟逆波兰表示法表示的算术表达式的计算过程。 初始化一个栈 stk。 遍历字符串数组 tokens&#xff0c;根据当前字符串 token 决定操作&#xff1a; 若 token 是 1 个算符&am…

深度学习pytorch之hub模块

pytorchhub模块里面有很多模型 https://pytorch.org/hub/ github网址&#xff1a;https://github.com/pytorch/pytorch import torch model torch.hub.load(pytorch/vision:v0.10.0, fcn_resnet50, pretrainedTrue) # or # model torch.hub.load(pytorch/vision:v0.10.0, fc…

【Linux】进程程序替换

文章目录 替换原理站在进程的角度站在程序的角度初体验及理解原理 替换函数函数解释命名理解exec系列函数与main函数之间的关系在一个程序中调用我们自己写的程序 替换原理 创建子进程的目的是什么&#xff1f; ->想让子进程执行父进程代码的一部分 执行父进程对应的磁盘代码…