XILINX FPGA DDR 学习笔记(一)

DDR 内存的本质是数据的存储器,首先回到数据的存储上,数据在最底层的表现是地址。为了给每个数据进行存放并且在需要的时候读取这个数据,需要对数据在哪这个抽象的概念进行表述,我们科技树发展过程中把数据在哪用地址表示。一个数据单元表示一个地址,通常一个数据单元是一个字节(8Bit)、二个字节等。
一:DDR数据最底层的结构抽象
这里数据表现的最小单元是一个数据储存单元
在这里插入图片描述
上图假设是一个DDR储存芯片内的储存数据的结构。有4行6列一共24个储存单元,每个储存单元里面有4X6=16个小方格。这里一个小方格代表数据的最小物理储存形式bit。所以上图的一个储存单元是16bit。
这个时候计算这个DDR储存芯片的容量为 24X16=320 bit。如果一个芯片内面有6个这样的储存块那么内存条容量就是320X6=1920bit。
这个储存块叫做BANK。其实就是像三明治一样叠起来。
到这里我们会计算DDR 的容量:
行数 X 列数 X 储存单元bit数 X BANK数

二:数据的交互
数据必须进行交互,也就是读写,首先需要解决的是储存单元在哪,数据如何传输。
储存单元在哪:地址 ,行、列、BANK 决定存储单元在哪,通常就是地址线
数据的传输: 往一个储存单元写数据,数据线位宽和储存单元大小一致,一次就写一个储存单元,数据线

三:DDR 框图
在这里插入图片描述
说了这么多终于要接触到真正的器件了。

1.储存单元
在这里插入图片描述
memory arry 就是储存单元上图表示的是32678行 ,128列,每个储存单元有128个bit,有0~7 一共8个BANK。

列32768 为2^15 为32K
行 128为2^7为 128

容量为 32768128128*8(行、列、单元、BANK)=4,294,967,296=4Gb
在这里插入图片描述
18位的地址线可以看到是行列共用。其中行ROW有15位 32768行,列地址是10位中的7位 128列

2.读写换成,预取
在这里插入图片描述
32768X128X128其中最后一个128表示一个存储单元的位宽所以DDR内部的数据位宽是128位。显然我们一般的应用很少用到128Bit的位宽,一般是8bit、16bit所以两种位宽是无法进行直接通信的需要一个缓冲区域,这个就是内部FIFO。也就是说当DDR外部需要16bit数据的时候内部其实已经一口气拿了128bit数据(一次操作就是按照位宽来),称为预取8(128/16).

显然DDR储存单元一次操作需要外部8次操作才跟的上,两边的时钟频率是需要成倍数关系的,DDR一个时钟操作两次。
所以8/2=4,所以DDR内部操作一次,外部需要4次。因此FIFO右边的clk是FIFO左边clk的4倍。

3,OTD
在这里插入图片描述
有时候用到菊花链或者其他方式取连接多个DDR,在信号上为了减少反射会增加终端电阻,ODT用来控制电阻导通。这部分了解即可。

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

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

相关文章

【AI】DeepStream(06):deepstream-test4-示例演示

【AI】AI学习目录汇总 1、简介 deepstream-test1:演示各种 DeepStream 插件构建 GStreamer 管道。从文件中获取视频、解码、批处理,然后进行对象检测,最后在屏幕上渲染框。 deepstream-test2:和deepstream-test1相比,多了目标跟踪和分类,对目标跟踪并使用数字做编号,并…

K8S认证|CKA题库+答案| 11. 创建PVC

11、创建PVC 您必须在以下Cluster/Node上完成此考题: Cluster Master node Worker node ok8s master …

失落的方舟台服预下载教程 一键下载+账号注册教程

失落的方舟台服预下载教程 一键下载+账号注册教程 是一款今年备受瞩目的游戏,将于5月30日正式上线,这款游戏搭建在虚幻引擎的基础上,为玩家们带来了极佳的视觉体验。这款游戏秉承着MMO类型游戏一贯的玩法,但是制作组在…

海康威视硬盘录像机NVR连接公网视频监控平台,注册失败,抓包发现有403 forbidden的问题解决

目录 一、问题描述 二、问题定位 1、查看DVR的配置 2、查看需要使用的端口是否开放 3、查看日志 4、抓包 (1)找出错误 (2)查看数据包内容 三、问题分析 1、国标28181中的域的概念 2、域应该如何定义 (1&am…

ChatGPT可以开车吗?分享大型语言模型在自动驾驶方面的应用案例

自动驾驶边缘案例需要复杂的、类似人类的推理,远远超出传统的算法和人工智能模型。而大型语言模型正在致力实现这一目标。 人工智能技术如今正在快速发展和应用,人工智能模型也是如此。拥有100亿个参数的通用模型的性能正在碾压拥有5000万个参数的任务特…

缓存IO与直接IO

IO类型 缓存 I/O 缓存 I/O 又被称作标准 I/O,大多数文件系统的默认 I/O 操作都是缓存 I/O。在 Linux 的缓存 I/O 机制中,数据先从磁盘复制到内核空间的缓冲区,然后从内核空间缓冲区复制到应用程序的地址空间(用户空间&#xff0…

提示优化 | PhaseEvo:面向大型语言模型的统一上下文提示优化

【摘要】为大型语言模型 (LLM) 制作理想的提示是一项具有挑战性的任务,需要大量资源和专家的人力投入。现有的工作将提示教学和情境学习示例的优化视为不同的问题,导致提示性能不佳。本研究通过建立统一的上下文提示优化框架来解决这一限制,旨…

ACE之ACE_Reactor

简介 ACE_Reactor实现了reactor模式,其使用了桥接设计模式,实现类的抽象为ACE_Reactor_Impl 结构 #mermaid-svg-RxRq4dmugv7inayl {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-RxRq4dmug…

Langchain-Chatchat的markdownHeaderTextSplitter使用

文章目录 背景排查步骤官方issue排查测试正常对话测试官方默认知识库Debug排查vscode配置launch.json命令行自动启动condadebug知识库搜索测试更换ChineseRecursiveTextSplitter分词器 结论 关于markdownHeaderTextSplitter的探索标准的markdown测试集Langchain区分head1和head…

OSI七层模型和TCP/IP四层模型的区别

OSI七层模型 1.物理层(Physical Layer) 实现相邻节点之间比特流的透明传输,尽可能屏蔽传输介质带来的差异。典型设备:集线器(Hub)。 2.数据链路层(Data Link Layer) 将网络层传下来…

字符串相似性匹配实际问题(一)

背景:很多人都是直接说dp编辑距离,我只想说,凡事都是说起来容易,做起来难。 问题:现有一个Python函数similarity_function,用于计算字符串之间的相似性,可以直接使用该函数完成下面的算法: 给定一个字符串列表List,其中的元素都是字符串string,给定一个substring,求…

Linux驱动(2)---Linux内核的组成

1.Linux内核源码目录 arch包含和硬件体系相关结构相关源码,每个平台占用一个目录 block:块设备驱动程序I/O调度 crypto:常用加密和三列算法,还有一些压缩和CRC校验算法。 documentation:内核个部分的通用解释和注释.。 drive…

gdb调试openjdk

参考Linux安装百度网盘-CSDN博客 在百度网盘官网下载Linux版本的安装包(deb格式)。 linux环境安装百度网盘: sudo dpkg -i baidunetdisk_linux_2.0.1.deb sudo apt-get -f install 在编译OpenJDK过程中,需要用到的软件如下: …

01_尚硅谷JavaWeb最新版笔记

尚硅谷JAVAWEB概述 课程概述 计划学习时间:1周以内

【2024软考】史上最全!软考刷题+解析大合集(9万字全手工打,货真价实)

计算机基础知识 1.中断向量表用来保存各个中断源的中断服务程序的入口地址。当外设发出中断请求信号(INTR)以后,由中断控制器(INTC)确定其中断号,并根据中断号查找中断向量表来取得其中断服务程序的入口地…

Pytorch-03 数据集与数据加载器

在 PyTorch 中,数据集和数据加载器是用于有效加载和处理数据的重要组件,特别是在训练深度学习模型时。以下是关于 PyTorch 数据集和数据加载器的简要介绍以及示例代码: 数据集(Dataset): 数据集是一个抽象…

python --创建固定字符串长度,先进先出

a 123def concatenate_within_limit(b, new_string):# 计算新字符串与a的长度之和a btotal_length len(a) len(new_string)# 如果长度超过1024,从前面删除足够的字符if total_length > 5:diff total_length - 5a a[diff:] new_string # 删除前diff个字符…

第86天:代码审计-PHP项目TP框架安全写法1day利用0day分析

案例一: 利用框架漏洞-TP3框架-SQL注入&Demo&YxtCMF 首先先查询thinkphp的版本 去寻找版本漏洞: Thinkphp3.2.3及以下版本漏洞整理_thinkphp3.2.3漏洞-CSDN博客 去查这个exp注入 这里的利用条件是必须有find方法,并且where后面的参数是数组 …

java基础-JVM日志、参数、内存结构、垃圾回收器

一、基础基础 1.1 数据类型 Java的数据类型分为原始数据类型和引用数据类型。 原始数据类型又分为数字型和布尔型。 数字型又有byte、short、int、long、char、float、double。注意,在这里char被定义为整数型,并且在规范中明确定义:byte、…

电赛一等奖!基于TMS320F2812的简易数字频率计

电赛一等奖!简易数字频率计设计(原理图、PCB、源码、分析报告) 这份文件是关于合肥工业大学电气与自动化工程学院的一个项目报告,题目为“基于TMS320F2812的简易数字频率计”。项目由方敏、侯其立、李苗、张巧云四位本科生完成&am…