DDR3与MIG IP核详解(一)

一、ddr3(全称第三代双倍速率同步动态随机存储器):
    1、特点:1:掉电无法保存数据,需要周期性的刷新。2:时钟上升沿和下降沿都会传输数据。
                    3:突发传输,突发长度 Burst Length一般为8。
    2、DDR3的存储:bank、行地址和列地址

假设下图为bank 0:

    3、数据怎么存入DDR3:先指定一个Bank地址,再指定行地址,最后指定列地址。
    DDR3容量计算:bank数量 X 行数量 X 列数量 X 存储单元容量。
    比如bank address位宽为3,ROW address位宽为14,Coulmn address为10,则容量为2^3 X 2^14 X 2^10 X 16 

二、MIG IP核

MIG IP核(Memory Interface Generators)  IP 核是Xilinx公司针对DDR存储器开发的 IP,里面集成存储器控制模块,实现DDR读写操作的控制流程。通过MIG IP核,可以很容易的控制DDR3的读写操作,即只需要控制用户端的端口即可对DDR3进行操作。

基本框图如下:

写数据:用户把数据写入到MIG IP核,MIG IP核自动将数据写入到DDR3芯片

读数据:用户发送读命令给MIG IP核,MIG IP核收到命令后将数据从DDR3芯片读出来,再发送给用户端

1.时钟

MIG IP核有两个FPGA给的时钟,分别是sys_clk(系统时钟)和ref_clk(参考时钟),参考时钟频率必须为200M,DDR3芯片的时钟是由MIG IP核的sys_clk通过PL倍频输出给DDR3,且DDR3的工作时钟是由差分的形式(两条线,一条P,一条N,更稳定)。用户端也有一条时钟叫用户时钟,也是通过系统时钟倍频输出给用户端,一般叫ui_clk。

1.1.DDR3芯片工作的时钟与用户端时钟有一个比例关系:

DDR3芯片的工作频率:用户端时钟频率 = 4:1或者2:1,比如DDR3芯片时钟频率为400M的时候,用户端就只能为100M或者200M,但当DDR3芯片的工作时钟为800M时,比例只能为4:1,即用户端频率只能为200M。

2.如果是zynq系列的芯片流程有点不一样:

DDR3一般是挂在PS端这边的bank里,想往DDR3里写入数据不会例化这个IP核,可以直接往AXI_HP这个接口写数据

3:用户端接口有两种,分别是:Native接口和AXI4接口

3.1 Native接口:

3.2  AXI4接口:

 4:MIG IP核的配置

4.1 系统时钟有三个选项,Differential,Single-Ended,No Buffer。

各项配置信息网上资料很多,不再详细描述。

当系统时钟为200M时,这200M是从何而来的?

第一种:比如外面有个晶振,它产生频率为50M的时钟,时钟进入FPGA内部的倍频器(PLL),最后通过PLL产生200M时钟。这种情况选择NO Buffer

第二种:晶振产生的频率就为200M,且进入FPGA内部后未通过PLL,直接输入给MIG IP核,该种情况选择剩下的两种情况。如果外部产生的频率进入内部是通过差分的形式(双端)就选择 Differential,但外部输入时钟如果是单端的,就选择Single-Ended。如下图红框所示(绿线表示双端):

4.2 XADC作用:1.可以检测FPGA开发板的温度 2.模拟信号转化为数字信号(异核) 

XADC只能使用一次,别的模块使用了该XADC,在配置该IP核的时候就选择disabled,如果其他模块未使用XADC,就可以选择Enabled

4.3

参考:

MIG IP配置_哔哩哔哩_bilibili

MIG IP核详解-CSDN博客

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

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

相关文章

多模态和大模型原理

一、图文匹配原理 Clip 通过图像编码器和照片编码器将两者区分成N项,然后让它们相互内积,能够匹配得上的则内积值为1,不能够匹配上的则内积为-1,也就是负样本,如上图,除了对角线的正样本,周围…

15 go语言(golang) - 并发编程goroutine原理及数据安全

底层原理 Go 的 goroutine 是一种轻量级的线程实现,允许我们在程序中并发地执行函数。与传统的操作系统线程相比,goroutine 更加高效和易于使用。 轻量级调度 用户态调度:Go 运行时提供了自己的调度器,这意味着 goroutine 的创建…

Flink细粒度的资源管理

Apache Flink致力于为所有应用程序自动导出合理的默认资源需求。对于希望根据其特定场景微调其资源消耗的用户,Flink提供了细粒度的资源管理。这里我们就来看下细粒度的资源管理如何使用。(注意该功能目前仅对DataStream API有用) 1. 适用场景 使用细粒度的资源管理的可能…

《操作系统 - 清华大学》5 -5:缺页异常

文章目录 1. 缺页异常的处理流程2.在何处保存未被映射的页?3. 虚拟内存性能 1. 缺页异常的处理流程 缺页中断的处理过程: CPU读内存单元,在TLB中根据其虚拟地址匹配物理地址,未命中,读页表; 由于页表项的存在位为0,CP…

​智能马桶蓝牙芯片方案

RAMSUN提供的智能马桶蓝牙芯片方案通过蓝牙低功耗(BLE)技术,智能马桶能够实现远程固件升级,即OTA(Over-The-Air)功能。用户无需亲自操作复杂的升级步骤,只需通过智能设备即可完成固件的更新&…

Linux-NFS

文章目录 NASNFSNFS配置 🏡作者主页:点击! 🤖Linux专栏:点击! ⏰️创作时间:2024年11月27日12点50分 NAS 网络接入存储 共享存储文件存储 NAS设备包括 NAS引擎一个或多个网络接口一个操作系统…

【智能制造-44】装配仿真

装配仿真包含以下功能模块: 零件建模与导入模块 功能描述: 能够创建简单的几何零件,如立方体、圆柱体、球体等基本形状。这对于一些标准件或者形状规则的零件来说,可以直接在装配仿真软件中生成,方便快捷。 支持多种…

OpenHarmony属性信息怎么修改?触觉智能RK3566鸿蒙开发板来演示

本文介绍在开源鸿蒙OpenHarmony系统下,修改产品属性信息的方法,触觉智能Purple Pi OH鸿蒙开发板演示,搭载了瑞芯微RK3566四核处理器,Laval鸿蒙社区推荐开发板,已适配全新OpenHarmony5.0 Release系统,感兴趣…

常见点云文件格式详解及其应用分析【实践无坑版】

点云文件是存储三维点云数据的核心形式,广泛应用于机器人、自动驾驶、三维建模和增强现实等领域。点云文件不仅保存空间坐标,还可包含颜色、强度、法向量等附加信息,不同格式的点云文件适配不同的传感器和研究需求 本文将详细介绍常见点云文件…

vue3 多种方式接受props,定义ref,reactive

定义props 1 第一种 interface AddType { dialogStudyVisible: boolean; } const props defineProps<AddType>(); 第二种 // const props defineProps({ // dialogStudyVisible:{ // type:Boolean, // default:false // } // }) 第三种 // const …

杰发科技AC7803——不同晶振频率时钟的配置

计算公式 PLL_POSDIV [2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62] PLL_PREDIV_1 1 2 4 USE_XTAL 24M SYSCLK_FREQ 64M SYSCLK_DIVIDER 1 VCO USE_XTAL*…

面向对象进阶-抽象类

抽象方法 将共性行为&#xff08;方法&#xff09;抽取到父类&#xff0c;由于每个子类执行内容不一样&#xff0c;在父类不能确定具体的方法体&#xff0c;该方法可以定义为抽象方法。 抽象类&#xff1a;如果一个类中存在抽象方法&#xff0c;那么该 类必须声明为抽象类。…

【数据结构专栏】二叉搜索树(Binary Search Tree)的剖析?

文章目录 &#x1f9e8;前言1、二叉搜索树的基本概念&#xff1f;2、二叉搜索树的节点结构组成&#xff1f;3、二叉搜索树的插入操作&#xff1f;4、二叉搜索树的删除操作&#xff1f;5、二叉搜索树的遍历&#xff1f;6、二叉搜索树的性能分析&#xff1f;&#x1f389;完整代码…

分布式调用 - 服务间的远程调用RPC

文章目录 导图PreRPC 概述RPC 调用过程RPC 动态代理1. 接口定义 (SeverProvider)2. 实现类 (ServerProviderImpl)3. 动态代理类 (DynamicProxy)4. 客户端 (Client)5. 代码工作流程6. 总结和注意点7. 结果输出8. 小结 RPC 序列化协议编码网络传输 导图 服务和应用的调用基于场景…

vue3项目搭建-4-正式启动项目,git管理

安装插件&#xff1a; npm install vue router npm install eslint 完成目录&#xff1a; 需要添置文件夹&#xff1a; apis -> api接口 composables -> 组合函数 directives -> 全局指令 styles -> 全局样式 utils -> 工具函数 git 管理&#xff1a; …

GPON原理

GPON网络架构 对于OLT来说&#xff0c;它就相当于一个指挥官&#xff0c;它指挥PON口下的ONU在指定的时间段内发送数据以及发起测距过程等 而ONU则是一个士兵&#xff0c;按照OLT的指挥做出相应 而ODN它主要就是提供一个传输通道&#xff0c;主要包括分光器和光纤组成 对于PO…

SJYP 24冬季系列 FROZEN CHARISMA发布

近日&#xff0c;女装品牌SJYP 2024年冬季系列——FROZEN CHARISMA已正式发布&#xff0c;展现了更加干练的法式风格。此次新品发布不仅延续了SJYP一贯的强烈设计风格和个性时尚&#xff0c;更融入了法式风情的干练元素&#xff0c;为消费者带来了一场视觉与穿着的双重盛宴。  …

【H2O2|全栈】JS进阶知识(十一)axios入门

目录 前言 开篇语 准备工作 获取 介绍 使用 结束语 前言 开篇语 本系列博客主要分享JavaScript的进阶语法知识&#xff0c;本期主要对axios进行基本的了解。 与基础部分的语法相比&#xff0c;ES6的语法进行了一些更加严谨的约束和优化&#xff0c;因此&#xff0c;在…

git使用文档手册

创建一个本地代码工作空间&#xff0c;比如这里使用test目录作为工作目录 针对仓库地址 http://192.168.31.125:9557/poxiaoai-crm/project-crm.git。 1. 安装 Git 确保您的系统已经安装了 Git。如果未安装&#xff0c;请根据操作系统访问 Git 官网 下载并安装。 验证安装 …

数据结构——排序算法第二幕(交换排序:冒泡排序、快速排序(三种版本) 归并排序:归并排序(分治))超详细!!!!

文章目录 前言一、交换排序1.1 冒泡排序1.2 快速排序1.2.1 hoare版本 快排1.2.2 挖坑法 快排1.2.3 lomuto前后指针 快排 二、归并排序总结 前言 继上篇学习了排序的前面两个部分:直接插入排序和选择排序 今天我们来学习排序中常用的交换排序以及非常稳定的归并排序 快排可是有多…