论文部分内容阅读
随着处理技术的进步,由于与CPU之间处理速度和访问模式的差异,DDR在实际SoC中通常达不到理论带宽,且允许多个主设备并行访问DDR,导致SoC对存储器性能要求越来越高,存储系统成为性能提升的主要限制。传统的模型侧重于控制器和DRAM之间的交互,本研究搭建全系统仿真,捕获内存系统与SoC其他部分之间的交互。RTL设计方法虽然精确,但是建模过程复杂,仿真速度慢,且若是在RTL设计和验证阶段才发现架构设计阶段的设计定义无法满足系统功能、性能和成本的要求,将导致大量的重复工作。因此,在芯片架构设计中进行系统级性能的仿真和优化就变得越来越重要,需要建立能够反映目标设计要求的前端模型,以便调整SoC的IP配置以优化系统性能。SystemC语言支持软硬件协同的系统级建模和仿真,它描述的模型在系统实现之前就可以验证其功能。脚本语言只需相对应的解释器作为运行方式而不需进行编译,仿真速度块,可用于仿真流程的自动化,能有效提高芯片开发效率,增加可控性。本文采用的主要研究方法有模型法和实验法,研究复杂系统基带芯片对DDR性能的高需求,基于SystemC抽象出面向SoC内存系统的性能仿真模型。首先定义了作为流量注入器的DMA的SystemC模型,结合分析系统级用例的traffic,生成仿真的输入文件。然后结合LPDDR4控制器的SystemC模型,通过适配器与NoC的SystemC模型集成为一个完整的SystemC仿真环境。在仿真环境的基础上,定义自动化仿真和后处理脚本,实现仿真流程自动化。通过不断地仿真迭代和分析,对配置空间进行探索,优化其他组件与DDR之间的数据传输效率和访问性能,选择一组最适合项目需求的配置参数,避免低层次实现和验证中进一步的更改调试耗费更多的时间。其应用性可以扩展到其他片上系统,性能仿真也并不局限于内存系统,进行一定的配置更改和实例化就可以实现架构设计阶段的事务级设计和仿真工作。本文所建立的SystemC仿真平台可以有效的评估SoC上的高速内存系统的性能。首先通过测试用例仿真分析在共享DDR时不同发起者、不同行为占据的带宽资源和延迟,然后定义衡量DDR访存效率的参数,并总结出效率的评估标准。影响DDR利用率的主要因素可从两方面探索。其一从DDR的工作原理上:更长的突发带来更高的效率;混合读/写命令提供了更多的调度选项。另一方面通过大量仿真分析并改变不同系统参数,可以找出影响SoC系统中内存性能的因素。首先调整FIFO大小,与默认配置相比可以提高8%的吞吐量,减少6%~10%的读取延迟。其次在命令队列中增加bank conflict的间距,由仿真结果看出大幅度降低读延迟,对吞吐量的改变不明显。创建大的写突发增加了254.2MB/s(11%)的空间,对于预充和激活经验成本,DPU增加了449MB/s(28%),平均读取延迟增加2%-6%,写吞吐量提高1%-3%。