基于龙芯2k1000 mips架构ddr调试心得(二)

1、内存控制器概述

龙芯处理器内部集成的内存控制器的设计遵守 DDR2/3 SDRAM 的行业标准
JESD79-2 JESD79-3)。在龙芯处理器中,所实现的所有内存读/写操作都遵守 JESD79-2B JESD79-3 的规定。龙芯处理器支持最大 4 CS(由 4 DDR2 SDRAM 片选信号实现,即两个双面内存条),一共含有 19 位的地址总线(即: 16 位的行列地址总线和 3 位的逻辑 Bank 总线)。龙芯处理器在具体选择使用不同内存芯片类型时,可以调整 DDR2/3 控制器参数设置进行支持。其中,支持的最大片选(CS_n)数为 4,行地址(RAS_n)数为 16,列地址(CAS_n)数为 15,逻辑体选择(BANK_n)数为 3CPU 发送的内存请求物理地址可以根据控制器内部不同的配置进行多种不同的地址映射。龙芯处理器所集成的内存控制电路只接受来自处理器或者外部设备的内存读/写请求,在所有的内存读/写操作中,内存控制电路处于从设备状态( SlaveState)。
龙芯处理器中内存控制器具有如下特征:

#接口上命令、读写数据全流水操作

# 内存命令合并、排序提高整体带宽
#配置寄存器读写端口,可以修改内存设备的基本参数

#内建动态延迟补偿电路(DCC),用于数据的可靠发送和接收

#ECC 功能可以对数据通路上的 1 位和 2 位错误进行检测,并能对对 1 位错误进行自动纠错

#支持 133-800MHZ 工作频率

2、龙芯内存控制器结构

龙芯内存控制器主要结构图如上图所示,主要模块包括:

streambuffer:用于内存数据预取,以降低内存访问延时、提升内存带宽; command scheduler: 基于优化的调度策略,对接收到的访存命令重排序,以降低访存冲突,提升内存带宽。timing control: 该模块主要按照 JEDEC 协议的要求处理内存接口的时序,以保证访问内存的命令不会违反协议。PHY interface: 该模块主要处理内存接口的信号。内存训练相关的控制、 内存读写信号的时序处理以及输出驱动能力的调整、阻抗匹配这些功能都通过该模块实现。

configure manager: 管理内存控制器所有的配置寄存器,也是硬件与软件的接口。

3、龙芯内存控制器 PHY 结构

PHY 主要结构图如2-2 所示,主要模块包括:
Dll master:DLL 主控模块,用于计算一个时钟周期内延时单元个数;
Command control:控制发给内存的命令、地址及控制信号,同时实现 2T/3T
功能;
Clock control:控制发送到内存的时钟信号,为了便于调试,实现了内存时钟
信号的任意相位调整功能;
Dataslice: 数据控制模块,用于实现内存要求的 DQ-DQS 关系以及 PAD
出使能的控制等功能。
Datagather:用于收集读返回数据并送给上层逻辑电路。

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

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

相关文章

Linux命令--rm命令总结

1.rm命令简介 rm命令是 Linux 和其他类 Unix 系统中用于删除文件或目录的命令。对于链接文件,只是删除了链接,原有文件均保持不变。 使用 rm 命令时必须小心,因为它会永久性地删除文件或目录,并且不会将其移动到回收站或提供撤销…

Elasticsearch 向量搜索

目标记录 ["你好,我的爱人","你好,我的爱妻","你好,我的病人","世界真美丽"] 搜索词 爱人 预期返回 ["你好,我的爱人","你好,我的爱妻"] 示例代码…

RFID智慧书柜:全民阅读新趋势,24小时借书不打烊。

近年来,促进全民阅读已经是一种趋势。“书香校园”“书香社区”“文化企业建设”等口号不断被提出,国家也在不断鼓励并提倡营造全民阅读的氛围。在这一趋势下,RFID智慧书柜的出现无疑为众多社区、校园、企业的首选对象。 RFID智慧书柜将纸质书…

pygame用chatgpt绘制3d沿x轴旋转的

import pygame from pygame.locals import * import sys import mathpygame.init()width, height 800, 600 screen pygame.display.set_mode((width, height))vertices [(0, 100, 0), (100, 200, 0), (300, 100, 0)]angle 0 rotation_speed 2 # 可根据需要调整旋转速度 c…

HarmonyOS 应用开发之ExtensionAbility组件

ExtensionAbility组件是基于特定场景(例如服务卡片、输入法等)提供的应用组件,以便满足更多的使用场景。 每一个具体场景对应一个 ExtensionAbilityType,开发者只能使用(包括实现和访问)系统已定义的类型。…

如何缩短职场人与人之间的差距?答案或许就隐藏在一纸社科院与杜兰大学能源管理硕士学位之中

你是否曾惊叹于同事某某的飞速进步,短短两年内连升三级,如同职场上的彗星划破夜空?每当看到他们晋升的喜讯在群里传播,你的内心是否也曾涌起一股难以名状的涟漪?与你一同踏入公司的伙伴,如今已是经理级别&a…

postgresql多选功能实现

一、背景介绍 在一所乡村小学,教师资源紧张,所以会出现一个教师身兼多职的情况,既是语文老师又是数学老师甚至还是体育老师,这个系统就是为各个班级分配老师,这样一个场景实现 二、代码实现及效果 后端country_teac…

基于springboot实现校园周边美食探索及分享平台系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现园周边美食探索及分享平台系统演示 摘要 美食一直是与人们日常生活息息相关的产业。传统的电话订餐或者到店消费已经不能适应市场发展的需求。随着网络的迅速崛起,互联网日益成为提供信息的最佳俱渠道和逐步走向传统的流通领域,传统的…

Java学习记录第十三天

面向对象编程 核心思想就是OOP(面向对象编程) 面向过程&面向对象 面向过程思想 步骤清晰简单,第一步做什么,第二步做什么... 面对过程适合处理一些较为简单的问题 面向对象思想 物以类聚,分类的思维模式&…

Oracle 中部分不兼容对象迁移到 OceanBase 的处理方式

本文总结分析了 3 种 Oracle 对象和 OB 对象不兼容时的处理方法和提前统计发现的操作方式,在迁移前提前发现这类问题能有效避免在迁移过程中报错的问题。 作者:余振兴,爱可生 DBA 团队成员,热衷技术分享、编写技术文档。 爱可生开…

C++从入门到精通——缺省参数

缺省参数 前言一、缺省参数概念二、缺省参数分类位置参数的缺省参数全缺省参数半缺省参数 关键字参数的缺省参数函数指针的缺省参数lambda表达式 三、缺省参数的具体代码展示main.cpp 前言 缺省参数是在函数定义时指定的默认值,当调用函数时未提供该参数的值时&…

【Android Handler】从源码出发,一步步窥探Handler在Java层的数据结构关系和执行原理

文章目录 Example for useLooperHandler sendMessagemsg插入链表头Message p mMessages;msg.next p;mMessages msg; msg插入链表中间Message p mMessages;prev p;p p.next;msg.next p;prev.next msg; LooperpreparelooploopOncelooper和message的关系next message和han…