一种ddr内存控制器及其访问监控方法_3

文档序号:9765901阅读:来源:国知局
继续运行需要debug的程序;
[0109] 本发明实施例配置的Monito;r_Data代表某种特定数据类型,Monito;r_A(M;r_Mask 代表通过mask扩展成对该类型的数据流进行监控。
[0110] 步骤306,进入监控中断服务程序,即在寄存器中记录与该命令执行相关的信息;
[0111] 优选地,将监测到的读取和/或写入的数据流、读取和/或写入指示信息、读取和 /或写入的数据流的主设备标识记录到寄存器中,当然,还可W记录该命令执行相关的其它 内容。
[0112] 步骤307, CPU读取从寄存器中读取记录的与该命令执行相关的信息。
[0113] 本发明实施例提供的孤R内存控制器的访问监控优选应用于AXI (Advanced extensible Inte计ace)总线系统,即孤R内存控制器与各个主设备之间采用AXI接口通 信。当然,也可W应用于其它总线系统。
[0114] 需要注意的是,由于总线协议AXI中命令和数据通路是分离的,所W,地址流 acMress和数据流data不能同时成为触发条件,触发条件最多只能是监测地址+主设备标 识master ID+读写类型write/read或者监测的数据流data+主设备标识master ID+读 写类型write/read。当使用acMress触发时,主设备标识master ID+读写数据长度+读 写类型write/read送些信息会在条件触发后反标到寄存器里面;当使用data触发时,只有 master ID和write/read信息会反标到寄存器中。
[011引 实施例3
[0116] 本发明实施例预先在寄存器中配置预监测的主设备,则在命令解析过程中监测命 令中与访问地址相关的字段和主设备标识字段的内容,在数据的读取/写入过程中监测读 取的数据流和/或写入的数据流;根据命令中的主设备标识字段的内容确定发送该命令的 主设备为预监测的主设备时,确定触发中断,根据命令中与访问地址相关的字段的内容确 定该主设备写请求和/或读请求所访问的数据量,根据读取的数据流和/或写入的数据流 确定该主设备实际读数据和/或写数据产生的数据量,将该主设备请求写请求和/或读请 求所访问的数据量及实际读数据和/或写数据产生的数据量记录到寄存器中,当然,还可 W记录该命令执行相关的其它内容。
[0117] 优选地,预先在寄存器中还配置使能时间,监测命令中设定字段的内容和/或读 取的数据流和/或写入的数据流,具体包括:
[0118] 确定到达使能时间点时,开始监测命令中与访问地址相关的字段和主设备标识字 段的内容,并监测读取的数据流和/或写入的数据流。
[0119] 本发明实施例可W实现对某个时间段的内存访问进行统计的监控,具体可W将各 个Master发出来的读写请求数据量累加到一组寄存器当中,同时将实际产生的读写数据 量累加到另外一组不同的寄存器当中,用户可W在系统没有对DDR进行读写的时候,通过 读取IO寄存器的方式来观察各个Master读写请求数据量和实际产生的数据量进行对比, 来判定各个Master的数据通路是否有异常。
[0120] 如表3所示为对于所有访问统计值的信息寄存器描述。
[0121] 表 3
[0122]
[0123] 对于监控的统计功能只需要在必要的情况下使能控制寄存器Monitor_Stat_En, 然后在系统没有对DDR进行读写的时候,通过寄存器观察各个Master的读写数据累加状态 即可。
[0124] 本发明实施例可W同时实现对某次特定访问的监控或对某个时间段访问量的统 计,类似在SOC内部安装了一个简单的逻辑分析仪,它能够对系统内部某次对DDR内存控制 器的访问进行监控和触发,并将各个Master的访问需求信息W及实际产生量进行统计,将 触发得到的访问信息和统计值反馈到系统的控制寄存器上面,从而协助进行debug和IC验 证。
[01巧]如图4所示,本发明实施例提供一种基于ARM(高级精简指令集机器,Advanced RISC Machine)架构且带有访问监控功能的孤R内存控制器的结构框图,包括:
[0126] 写数据通道,用于传输主设备发送的数据流;
[0127] 读数据通道,用于将数据流传输到主设备;
[0128] 命令解析执行模块,用于接收来自主设备的命令,对所述命令进行解析并执行,命 令执行过程中读取数据流并通过读数据通道发送给对应的主设备,或将主设备发送的数据 流通过写数据通道写入相应的地址;
[0129] 孤R内存控制器的寄存器,用于存储预先配置的预监测对象;
[0130] 孤R内存控制监控单元,通过孤R内存控制器的寄存器的接口与孤R内存控制器的 寄存器连接,分别与命令解析执行模块、写数据通道和读数据通道连接,监测命令解析执行 模块解析的命令中设定字段的内容和/或读数据通道中读取的数据流和/或写数据通道中 写入的数据流,根据预先DDR内存控制器的寄存器中配置的预监测对象,确定监测到的命 令中设定字段的内容和/或读取的数据流和/或写入的数据流属于预监测对象时,在寄存 器中记录与该命令执行相关的信息。
[013。 孤R内存控制监控单元监控数据包括;AXI命令路径上的信息(如地址信息)、写 路径数据信息、读路径数据信息H路信号,并把监控结果体现在DDR控制器的寄存器上。
[0132] 图4中,多个主设备分别通过不同的AXI接口分别与命令仲裁单元、写数据通道和 读数据通道连接,由命令仲裁单元决定命令的执行顺序,并通过命令FIFO通道输入到命令 解析执行单元进行解析并执行命令,命令执行过程中,通过孤R PHY模块从孤R内存设备中 读取数据并通过读数据通道发送到对应的主设备,或通过写数据通道将主设备发送的数据 流写入到孤R内存设备中。孤R内存控制监控单元将监控得到的信息,通过孤R内存控制器 的寄存器的接口与入到寄存器中。
[0133] 优选地,预先在寄存器中配置的预监测对象为预监测的地址时,孤R内存控制监控 单元监测令解析执行模块解析的命令中设定字段的内容,具体包括:
[0134] 监测命令中与地址相关的字段的内容;
[013引孤R内存控制监控单元确定监测到的命令中设定字段的内容属于预监测对象时, 在寄存器中记录与该命令执行相关的信息,具体包括:
[0136] 若该命令指向的地址属于预监测的地址时,在寄存器中记录与该命令执行相关的 信息;或者
[0137] 预先在寄存器中配置的预监测对象为预监测的地址、预监测的操作类型和/或预 监测的主设备时,孤R内存控制监控单元监测命令解析执行模块解析的命令中设定字段的 内容,具体包括:
[013引监测命令中与访问地址相关的字段的内容,监测命令中指示操作类型字段和/或 主设备标识字段的内容;
[0139] 孤R内存控制监控单元确定监测到的命令中设定字段的内容属于预监测对象时, 在寄存器中记录与该命令执行相关的信息,包括:
[0140] 根据命令中与访问地址相关的字段的内容,确定该命令指向的地址,根据指示操 作类型字段的内容确定该命令的操作类型和/或根据主设备标识字段确定发送该命令的 主设备;
[0141] 若该命令指向的地址属于预监测的地址,该命令的操作类型为预监测的操作类型 和/或发送该命令的主设备为预监测的主设备时,在寄存器中记录与该命令执行相关的信 息。
[0142] 优选地,预先在寄存器中配置的预监测对象为预监测的读取和/或写入的数据流 特征信息时,DDR内存控制监控单元监测读取的数据流和/或写入的数据流;
[014引孤R内存控巧[J监控单元确定监测到的读取的数据流和/或写入的数据流属于预监 测对象时,在寄存器中记录与该命令执行相关的信息,具体包括:
[0144] 确定监测到的读取和/或写入的数据流的特征符合预监测的读取和/或写入的数 据特征信息时,将监测到的读取和/或写入的数据流、读取和/或写入指示信息、读取和/ 或写入的数据流的主设备标识记录到寄存器中。
[0145] 优选地,预先在寄存器中配置的预监测对象为预监测的主设备时,孤R内存控制监 控单元监测命令解析执行模块解析的命令中设定字段的内容和/或读取的数据流和/或写 入的数据流,具体包括:
[0146] 监测命令中与访问地址相关的字段和主设备标识字段的内容,并监测读取的数据 流和/或写入的数据流;
[0147] DDR内存控制监控单元确定监测到的命令中设定字段的内容和/或读取的数据流 和/或写入的数据流属于预监测对象时,在寄存器中记录与该命令执行相关的信息,具体 包括:
[014引根据命令中的主设备标识字段的内容确定发送该命令的主设备为预监测的主设 备时,根据命令中与访问地址相关的字段的内容确定该主设备写请求和/或读请求所访问 的数据量,根据读取的数据流和/或写入的数据流确定该主设备实际读数据和/或写数据 产生的数据量,将该主设备请求写请求和/或读请求所访问的数据量及实际读数据和/或 写数据产生的数据量记录到寄存器中。
[0149] 优选地,预先在寄存器中配置的预监测对象还包括使能时间时,孤R内存控制监控 单元监测命令中设定字段的内容和/或读取的数据流和/或写入的数据流,具体包括:
[0150] 确定到达使能时间点时,开始监测命令中与访问地址相关的字段和主设备标识字 段的内容,并监测读取的数据流和/或写入的数据流。
[0151] 优选地,孤R内存控制监控单元在寄存器中记录与该命令执行相关的信息之后,还 用于:
[0152] 向中央处理器CPU发送中断信号,通知CPU读取从寄存器中读取记录的与该命令 执行相关的信息。
[0153] 现代SOC的规模越来越大,系统的复杂度越来越高,如何快速找准问题,迅速的 debug,缩短方案开发时间,及时的将产品推向市场,显得尤为重要。本发明对于SOC的方案 开发和debug具有较大的实际意义。本发明实施例通过在DDR控制器内部加
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1