FPGA DDR3简介及时序
一,DDR3基础知识
1、DDR3全称第三代双倍速率同步动态随机存储器。
特点:①掉电无法保存数据,需要周期性的刷新。
②时钟上升沿和下降沿都会传输数据。
③突发传输,突发长度Burst Length一般为8
2、DDR3的存储: bank、行地址和列地址
数据怎么存入到DDR3:先指定一个Bank地址,再指定行地址,最后指定列地址。
DDR3容量计算: bank数量×行数量×列数量×存储单元容量。
比如bank address位宽为3, Row address位宽为14, Column address为10,
则容量为: 243 × 2^14 × 2^12 × 16bit
3,DDR3命名
以MT41K256M16 为例,其命名规则如下:

从DDR3的命名,我们可以得出几点有用的信息:
① DDR3 传输数据端口的位宽
② DDR3支持的最大的时钟频率
③ DDR3 传输数据的带宽
二,时钟
1、时钟类别(不要弄混淆哦)
系统时钟: MIG IP核工作时钟,一般命名为sys_clk。
参考时钟: MIG IP的参考时钟,必须为 200M,命名为ref_clk
DDR3芯片工作的时钟:由FPGA输入到DDR3芯片,为差分时钟
用户端时钟: MIGIP核输出给用户端的时钟,命名为ui_clk
三,MIG IP核
XILLNX FPGA芯片分为2种:
1,A7,X7系列(纯FPGA)
2,ZYNQ系列(带有ARM芯片)
这两种芯片往DDR3中写数据是不一样的
第一种直接用 MIG IP核 往里面写就可以了

第二种是不一样的 一般是挂载在PL端,往HP里面写数据(详情可参考FPGA-AXI4接口协议概述)

这里使用的是纯FPGA往DDR3写数据
创建工程(参考FPGA_Vivado开发流程(PL端)3-8译码器为例)



关于AXI4接口可查看这里




No Buffer 是什么意思?No Buffer 就是 MIG IP 核内部没有例化(IBUF 原语)






MIG IP 核配置结束
写数据时序图

读数据时序图


对打开的IP核例程 直接运行仿真
波形如下



相关文章:
FPGA DDR3简介及时序
一,DDR3基础知识 1、DDR3全称第三代双倍速率同步动态随机存储器。 特点:①掉电无法保存数据,需要周期性的刷新。 ②时钟上升沿和下降沿都会传输数据。 ③突发传输,突发长度Burst Length一般为8 2、DDR3的存储: bank、行地址和列地址 数据怎么存入到D…...
java网络编程 02 socket
01.socket定义 02.TCP编程 import java.io.IOException; import java.io.OutputStream; import java.net.InetAddress; import java.net.Socket;public class clientSocket {public static void main(String[] args) throws IOException {Socket socket new Socket(Ine…...
【Web安全】SQL各类注入与绕过
【Web安全】SQL各类注入与绕过 【Web安全靶场】sqli-labs-master 1-20 BASIC-Injection 【Web安全靶场】sqli-labs-master 21-37 Advanced-Injection 【Web安全靶场】sqli-labs-master 38-53 Stacked-Injections 【Web安全靶场】sqli-labs-master 54-65 Challenges 与62关二…...
C++ 设计模式
文章目录 类图泛化实现关联聚合组合依赖总结 类内部的三种权限(公有、保护、私有)类的三种继承方式描述与图总结 面向对象七大原则单一职责原则(Single Responsibility Principle)里氏替换原则(Liskov Substitution Pr…...
安卓使用ExoPlayer出现膨胀类异常
1.导包 implementation com.google.android.exoplayer:exoplayer-core:2.15.1implementation com.google.android.exoplayer:exoplayer-ui:2.15.1 2.在Androidifest.xml加入权限,我这里加了网络与读写权限 <uses-permission android:name"android.permissio…...
C++之析构函数
在 C 中,析构函数(Destructor)是一个特殊的成员函数,用于在对象生命周期结束时执行清理工作和资源释放。析构函数的名称与类名相同,前面加上波浪号(~),不接受任何参数,也…...
108. 将有序数组转换为二叉搜索树【简单】
108. 将有序数组转换为二叉搜索树【简单】 题目描述: 给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。 高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉…...
vue3中watch和watchEffect的区别!!!
vue3中watch和watchEffect的区别!!! 在 Vue 3 中,watch 和 watchEffect 都是监听器,但在写法和使用上有所区别。让我们来详细了解一下它们之间的不同: watch: watch 具有一定的惰性(lazy&#…...
【JavaEE初阶 -- 计算机核心工作机制】
这里写目录标题 1.冯诺依曼体系2.CPU是怎么构成的3.指令表4.CPU执行代码的方式5.CPU小结:6.编程语言和操作系统7. 进程/任务(Process/Task)8.进程在系统中是如何管理的9. CPU分配 -- 进程调度10.内存分配 -- 内存管理11.进程间通信 1.冯诺依曼…...
springcloud:3.6测试信号量隔离
服务提供者【test-provider8001】 Openfeign远程调用服务提供者搭建 文章地址http://t.csdnimg.cn/06iz8 相关接口 测试远程调用:http://localhost:8001/payment/index 服务消费者【test-consumer-resilience4j8004】 Openfeign远程调用消费者搭建 文章地址http://t…...
AI化未来:智能科技的新纪元
AI化未来:智能科技的新纪元 我们正处在一个前所未有的科技革新时期,人工智能(AI)的发展正日益渗透到我们生活的方方面面,预示着AI化未来的到来。这是一场前所未有的科技革命,其深度和广度超越了历史上的任…...
Unity 整体界面淡入淡出效果
在Unity中,如果我们要实现控制多个组件同时淡出,同时淡入的效果,可以使用DOTween插件实现。 如图,一个页面中带有背景,一张图片,一个文本,一个滑动条。 要实现以上界面的整体淡入淡出ÿ…...
反序列化逃逸 [安洵杯 2019]easy_serialize_php1
打开题目 题目源码: <?php$function $_GET[f];function filter($img){$filter_arr array(php,flag,php5,php4,fl1g);$filter /.implode(|,$filter_arr)./i;return preg_replace($filter,,$img); }if($_SESSION){unset($_SESSION); }$_SESSION["user&qu…...
JavaScript中的包装类型详解
JavaScript中的包装类型详解 在 JavaScript 中,我们有基本类型和对象类型两种数据类型。基本类型包括 String,Number,Boolean,null,undefined 和 Symbol。然而,当我们需要在这些基本类型上调用方法时&…...
如何向各大媒体网站投稿 海外媒体发稿平台有哪些
在数字化时代,各大媒体网站是企业推广和个人展示的重要平台。通过在媒体网站上发布文章,可以有效地扩大影响力和提升知名度。但是,如何投稿到各大媒体网站呢?以下是一些常用的方法和步骤。 1. 研究目标媒体 在投稿之前࿰…...
基于SpringBoot的论坛系统(附项目源码+论文)
摘要 如今的时代,是有史以来最好的时代,随着计算机的发展到现在的移动终端的发展,国内目前信息技术已经在世界上遥遥领先,让人们感觉到处于信息大爆炸的社会。信息时代的信息处理肯定不能用之前的手工处理这样的解决方法…...
堆以及堆的实现
文章目录 堆的概念堆的实现HeapPushHeapPop HeapTop HeapSize HeapEmpty堆的应用 堆的概念 堆是一颗完全二叉树每个结点的值都小于子结点的值,这颗二叉树为小根堆每个结点的值都大于子结点的值,这颗二叉树为大根堆堆的定义如下:n个元素的序列…...
使用RabbitMQ实现延时消息自动取消的简单案例
一、流程图 二、导包 <!--消息队列 AMQP依赖,包含RabbitMQ--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId> </dependency> 三、配置文件 #消息队列 …...
Docker部署(ruoyi案例接上篇Docker之部署前后端分离项目)实施必会!!!!
文章目录 Docker部署前端 Docker部署前端 接上篇博主已经部署好后端Docker部署后端,现在来讲解怎么部署前端 MySQL和redis是不依赖其他任何一个东西的, ruoyi-admin是因为你启动项目的时候是必须连接数据库的 现在去单独启动它 docker start ruoyi-a…...
电脑中已经有多个模组压缩文件,如何通过小火星露谷管理器批量安装
如果已经下载了很多的星露谷模组压缩文件(zip包),可以通过【添加模组】功能,将模组批量解压到Mods文件夹中。 名词解释 为了避免这篇文章的内容看不懂,先解释两个名词。 直装型模组:直接解压到Mods就能生…...
浏览器Cookie本地导出实战指南:Get-cookies.txt-LOCALLY深度解析
浏览器Cookie本地导出实战指南:Get-cookies.txt-LOCALLY深度解析 【免费下载链接】Get-cookies.txt-LOCALLY Get cookies.txt, NEVER send information outside. 项目地址: https://gitcode.com/gh_mirrors/ge/Get-cookies.txt-LOCALLY 在Web开发和自动化测试…...
跨越物种与时空:TO-GCN方法在植物发育与光合作用调控网络解析中的创新实践
1. TO-GCN方法:突破传统共表达网络分析的时空局限 在植物生物学研究中,基因共表达网络分析一直是揭示复杂调控机制的重要工具。传统方法如WGCNA(加权基因共表达网络分析)虽然应用广泛,但在处理跨物种、跨条件或跨组织的…...
别再死记FPN公式了!用PyTorch手把手带你画一遍特征金字塔的‘数据流图’
用PyTorch动态可视化FPN特征金字塔的数据流动 在目标检测领域,特征金字塔网络(FPN)已经成为处理多尺度目标的标配组件。但很多开发者虽然能背诵FPN的结构图,却对特征图在金字塔各层之间的流动变化缺乏直观感受。本文将带您用PyTor…...
别等 SQL 跑慢了再靠猜,NineData 怎样把问题一步步看清
SQL 变慢最怕的不是慢本身,而是大家一开始只能靠猜。明明语法没报错,业务一上线却卡住了;多了一个函数、少了一个索引,或者关联顺序不合适,就可能让数据库白白扫描一大堆数据。在很多团队里,这类问题最早往…...
【STM32】GuiLite在HAL库环境下的轻量级GUI移植实战
1. GuiLite框架简介 第一次接触GuiLite是在一个资源紧张的STM32F103项目上,当时需要给设备加个简单的用户界面,但传统的GUI框架动不动就几十KB的代码量实在吃不消。GuiLite这个只有5千行C代码的轻量级框架完美解决了我的痛点。 它的核心优势可以用三个关…...
告别龟速下载!Windows下用VSCode离线包5分钟搞定ESP-IDF环境(附镜像加速)
5分钟极速部署:Windows下VSCode与ESP-IDF开发环境实战指南 当第一次接触ESP32开发时,许多开发者都会遇到一个共同的难题——官方工具链的下载速度慢如蜗牛。这不仅浪费宝贵时间,还可能让初学者在配置阶段就失去耐心。本文将分享一套经过实战…...
Matlab阶跃响应性能指标自动化计算:从原理到工程实践
1. 项目概述:从阶跃响应曲线到量化性能的灵魂拷问在控制系统、信号处理乃至电路设计的日常工作中,我们常常会面对一个看似简单却至关重要的任务:给一个系统施加一个“阶跃”输入,然后观察它的输出如何从静止状态“爬升”到新的稳态…...
CANN/asc-devkit Round接口文档
Round 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://gitcode.com/cann…...
STR71X芯片JTAG失效分析与Bootloader恢复指南
1. STR71X设备JTAG接口失效的典型场景分析当使用Keil MDK开发环境和ULINK2调试器连接STR71X系列芯片时,开发者常会遇到"Couldnt stop ARM device"的错误提示。这种情况通常发生在两种典型场景:芯片意外进入了低功耗模式(Power-down…...
UE材质背后的物理课:从菲涅尔到BRDF,理解PBR渲染的数学与视觉魔法
UE材质背后的物理课:从菲涅尔到BRDF,理解PBR渲染的数学与视觉魔法 当你在虚幻引擎中拖动粗糙度滑块时,是否思考过这个0到1的数值如何精确控制光线在虚拟表面的舞蹈?PBR渲染不是魔法,而是将自然界的光影规律翻译成计算机…...
