论文部分内容阅读
SoC(system-on-chip)是通过将不同功能的IP (Internet Protocol)核集合在一个芯片上,实现了一个功能完整的系统。因此,功能各异的IP核间的通信效率成为了SoC整体性能的一个关键点。片上总线(on-chip bus),是用来实现在SoC中不同IP核之间通信的一种总线。在众多的片上总线中,AMBA (Advanced Microcontroller Bus Architecture,高级微控制器总线体系)以其高效率成为了总线标准。AXI总线作为AMBA3.0的组成部分。凭借着其高带宽、高性能、低延迟成为了SoC内部通信的主流的片上总线。随着SoC的设计复杂化,对信息的存储要求也越高。DDR SDRAM为SoC提供了低成本、高容量以及较高带宽的片外存储器。但是由于动态存储器本身独特的结构,需要复杂的接口控制器来进行与SoC的数据传输。所以在SoC内部往往采用总线来访问存储器的控制器以及接口,从而实现与存储器的数据交互。本文首先介绍了SoC中存储器控制器的内部结构,包括地址、数据以及命令解码单元的结构。分析了各个模块对存储器的访问情况。然后,通过对AMBA总线的理解,以及对实际芯片结构的分析,设计了监控器。监控该芯片中核心功能的IP核通过AXI总线对存储器进行访问的操作。AXI监控器通过监控IP核使用AXI总线对存储器进行读/写访问的每一个步骤所消耗的时间,来进行分析访问的效率。整个设计分为两个部分:控制模块和监控寄存器模块。控制模块作为整个设计的控制中心,控制着整个监控器复位、清0、读/写I[)类型的选择、监控行为中断、监控信息的捕获以及监控的开启和关闭。监控寄存器作为读/写操作的记录单元,则存储每个访问行为的具体数据,来性能分析提供数据来源。设计完成之后采用AHB主机作为测试模块,对控制模块进行配置来进行控制模式的设置。通过SoC设计验证平台(SDVP),来对进行整个设计的功能验证。得出各个模块访问存储器的操作具体数据,并根据此数据对性能进行分析,完成本文的工作。