【ARM CoreLink 系列 6 -- DMC-400控制器简介】
文章目录
- 1.1 DMC-400 简介
- 1.1.1 DFI(DDR PHY Interface)
- 1.1.2 DFI 接口组
- 1.1.3 DMC-400 兼容协议
- 1.1.4 DMC-400 特性
- 1.1.5 DMC-400 Interface
1.1 DMC-400 简介
DMC-400是一个由ARM开发、测试和授权的动态内存控制器,同时 DMC-400也是一个符合高级微控制器总线结构(AMBA)的片上系统(SoC)外设。它是一个高性能、区域优化的内存控制器,与 AMBA ACE-Lite 协议兼容。
它支持以下内存设备:
-
双倍数据速率2(DDR2)同步动态随机存取存储器(SDRAM);
-
低功耗双倍数据速率2(LPDDR2)-S2 SDRAM;
-
LPDDR2-S4 SDRAM;
-
双倍数据速率3(DDR3)SDRAM;
-
低电压 DDR3 SDRAM。
下面是 DMC-400 系统连接示例图:
DMC-400 实现了 SoC 和芯片外部 DRAM 设备之间的数据传输。它通过一个或多个 ACE-Lite 接口连接到片上系统。它通过其存储器接口块和 DFI 接口 连接到 DRAM 设备。
1.1.1 DFI(DDR PHY Interface)
现代电子系统设计中,经常将DDR内存接口分成内存控制逻辑(MC,Memory Controller)和物理层接口(PHY,Physical Interface)两个部分。这两个部分侧重点不同,往往需要不同的设计技巧和设计经验。
随着IP(intellectual property)厂商的发展,越来越多的工程师选择在设计中采用第三方的IP核,来加速项目进度。这就带了问题,由于MC和PHY两部分的设计者往往并不相同,为了能够实现两者之间的标准互联,需要一种 MC 与 PHY 之间的标准通信接口。而DFI就是这样的一种规范。DFI标准的提出旨在定义一个MC与PHY之间的通用接口,以提高独立模块(IP核等)的复用率,进而降低成本,缩减项目周期。
一般来说,DRAM 是一个焊接在 PCB 上的独立芯片,CPU 向 MC 发出读写命令时,其中的地址使用的是逻辑地址,MC 再将逻辑地址转换为物理地址后向 PHY 发出,MC 与 PHY 之间采用标准化接口 DFI 进行通信,PHY 将 MC 的命令转换为具体的底层信号,驱动 DRAM 的物理 IO 接口。
1.1.2 DFI 接口组
DFI 接口组共有:
- Command(发送地址命令),
- write data,
- read data,
- updata(请求更新,启动dfi总线idle),
- status(系统初始化,Feature支持与否, mc给到dram的时钟有效性),
- phy master(phy 请求控制dfi总线,发起主动能力),
- Disconnect(传输过程中允许握手打断),
- error(事务中的错误信息传递给MC),
- 2N mode(将dram的传输速度减速),
- Low Power Control(PHY 进入低功耗功能),
- MC TO PHY MESSAGE(将定义的信息内容从mc传递到phy),
- WCK Control(控制DRAM 用的WCK时钟开关是否toggle, 以及 同步计时功能)。
DFI 中定义的信号,都是由寄存器配置完,在时钟上升沿驱动起来的。dfi bus上执行命令的时候, 相关时序参数必须一致保持。必要的时候, 比如 频率改变, bus 执行到 idle状态等, 时序参数也可改变。
1.1.3 DMC-400 兼容协议
它实现了与以下协议的兼容:
-
ACE-Lite协议;
-
AMBA3 APB协议;
-
JEDEC LPDDR2 JESD209-2标准;
-
JEDEC DDR3 JESD79-3D标准;
-
JEDEC DDR2 JESD79-2E标准;
-
DFI v2.1.1规范。
1.1.4 DMC-400 特性
DMC-400有以下特性:
-
可在 Verilog 中使用的软宏单元;
-
可配置的硬件,支持面积和性能优化;
-
多个ACE-Lite系统接口;
-
多个未完成的交易;
-
系统服务质量(QoS)和请求仲裁,以实现低延迟传输和内存带宽的最佳利用;
-
对交易障碍的保护;
-
ACE-Lite系统接口的可配置位宽;
-
独立的读接受能力和写接受能力
-
AMBA ACE-Lite独占访问传输
-
ACE-Lite和APB接口之间的同步 n:1 时钟连接;
-
多个内存接口(multiple memory interfaces);
-
优化使用外部存储器总线(optimal use of the external memory bus);
-
DRAM省电(DRAM power saving);
-
可编程的外部存储器宽度(programmable external memory width);
-
每个内存接口的可配置的内存芯片选择数量;
-
用于64位和32位SDRAM的内存纠错码(ECC);
-
使用 DFI 2.1.1接口的物理层(PHY)接口。
1.1.5 DMC-400 Interface
The DMC-400 provides the following interfaces:
• APB3 interface
• ACE-Lite interface
• PHY interface
• Clocks and resets
• Debug and profile interface
• Hardware power control interface(s)
推荐阅读:
https://zhuanlan.zhihu.com/p/514892042
相关文章:

【ARM CoreLink 系列 6 -- DMC-400控制器简介】
文章目录 1.1 DMC-400 简介1.1.1 DFI(DDR PHY Interface)1.1.2 DFI 接口组1.1.3 DMC-400 兼容协议1.1.4 DMC-400 特性1.1.5 DMC-400 Interface 1.1 DMC-400 简介 DMC-400是一个由ARM开发、测试和授权的动态内存控制器,同时 DMC-400也是一个符…...
在 Azure 中开发云原生应用程序:工具和技巧
Azure 中的云原生开发工具 Azure 包含一系列用于云原生应用程序开发的内置工具和服务。这里介绍的服务和工具是很好的入门选择。 发展 Azure 包括两个用于开发和构建云原生应用程序的主要工具:Visual Studio (VS) 和Azure应用服务。 VS 是一个集成开发环境&#…...

【Redis】基础数据结构-字典
Redis 字典 基本语法 字典是Redis中的一种数据结构,底层使用哈希表实现,一个哈希表中可以存储多个键值对,它的语法如下,其中KEY为键,field和value为值(也是一个键值对): HSET key…...

平板第三方电容笔怎么样?便宜的ipad触控笔推荐
苹果原装的电容笔与国产的平替电容笔最大的区别在于,平替电容笔只有一个斜面压力感应,而苹果电容笔既有斜面压力感应,又有重力压力感应。但是,如果你不经常使用它来进行绘画的话,你也不必买选择这款苹果电容笔…...

pytorch_神经网络构建3
文章目录 卷积神经网络实现卷积层,池化层池化层:数据标准化AlexNet卷积网络深层网络结构vgggoogleNet网络结构ResNet网络结构DensNet网络结构训练卷积神经网络会遇到的一些问题学习率衰减 卷积神经网络 前面讲述了逻辑回归分类,模拟函数回归问题,单层,深层网络,它们以点和向量…...
遗传算法入门笔记
目录 一、大体实现过程 二、开始我们的进化(具体实现细节) 2.1 先从编码说起 2.1.1 二进制编码法 2.1.2 浮点编码法 2.1.3 符号编码法 2.2 为我们的袋鼠染色体编码 2.3 评价个体的适应度 2.4 射杀一些袋鼠 2.5 遗传--染色体交叉(crossover) 2.6 变异--基…...
【golang】go 返回参数 以及go中 裸返
一、Go 返回参数命名 在Golang中,命名返回参数通常称为命名参数。 Golang允许在函数签名或定义中为函数的返回或结果参数指定名称。或者可以说这是函数定义中返回变量的显式命名。基本上,它解决了在return语句中提及变量名称的要求。 通过使用命名返回参…...

elasticsearch深度分页问题
一、深度分页方式from size es 默认采用的分页方式是 from size 的形式,在深度分页的情况下,这种使用方式效率是非常低的,比如我们执行如下查询 1 GET /student/student/_search 2 { 3 "query":{ 4 "match_all":…...

32、Flink table api和SQL 之用户自定义 Sources Sinks实现及详细示例
Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…...

Java练习题-用冒泡排序法实现数组排序
✅作者简介:CSDN内容合伙人、阿里云专家博主、51CTO专家博主、新星计划第三季python赛道Top1🏆 📃个人主页:hacker707的csdn博客 🔥系列专栏:Java练习题 💬个人格言:不断的翻越一座又…...

【SV中的多线程fork...join/join_any/join_none】
SV中fork_join/fork_join_any/fork_join_none 1 一目了然1.1 fork...join1.2 fork...join_any1.3 fork...join_none 2 总结 SV中fork_join和fork_join_any和fork_join_none; Note: fork_join在Verilog中也有,只有其他的两个是SV中独有的; 1 一目了然 1.…...

翻译:网站整站翻译 / 网站国际化 / 极简实现
一、本文目标 以极简单的方法实现整站翻译,轻松实现国际化。 二、js 文件 https://res.zvo.cn/translate/translate.js 三、代码 代码放在浏览器控制台即可实现 var head document.getElementsByTagName(head)[0];var script document.createElement(script);sc…...

深度森林(deep-forest)安装
深度森林(deep-forest)安装 1、打开https://pypi.org/,搜索deep-forest,下载wheel文件 在下载好之后,打开文件下载的位置 首先对下载好的wheel文件进行改名,原名是: deep_forest-0.1.7-cp39-c…...
ping.pe ping 检测IP全球延迟
可以把结果保存为照片 https://ping.pe/全球ping ping ip端口检测 IP:PORT路由追踪 mtr IP 参考 ping.pe...

nodejs 16版本
Index of /download/release/latest-v16.x/...

NSSCTF做题(7)
[第五空间 2021]pklovecloud 反序列化 <?php include flag.php; class pkshow { function echo_name() { return "Pk very safe^.^"; } } class acp { protected $cinder; public $neutron; …...
【GIT版本控制】--高级分支策略
一、分支合并策略 在Git中,高级分支策略是为了有效地管理和整合分支而设计的。其中一个关键方面是分支合并策略,它定义了如何将一个分支的更改合并到另一个分支。以下是几种常见的分支合并策略: 合并提交策略(Merge Commit Stra…...
【Qt控件之QDialog】使用及技巧
简介 QDialog是Qt中的一个类,继承自QWidget类,用于创建对话框窗口,可以显示模态(阻塞当前窗口)或非模态的对话框。对话框可以包含各种控件,如按钮、文本框等,用于与用户进行交互。 主要函数说…...

Transformer预测 | Python实现基于Transformer的股票价格预测(tensorflow)
文章目录 效果一览文章概述程序设计参考资料效果一览 文章概述 Transformer预测 | Python实现基于Transformer的股票价格预测(tensorflow) 程序设计 import numpy as np import matplotlib.pyplot...
spark sql如何行转列
在数据仓库中,行转列通常称为”变形”(Pivoting) 或 “透视”(Pivoting),可使用Spark SQL的pivot语句实现。下面是一个简单的示例: 假设我们有如下表格: -------------------- | name | brand | year | -------------------- |…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...

网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...
虚拟电厂发展三大趋势:市场化、技术主导、车网互联
市场化:从政策驱动到多元盈利 政策全面赋能 2025年4月,国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》,首次明确虚拟电厂为“独立市场主体”,提出硬性目标:2027年全国调节能力≥2000万千瓦࿰…...