您好!
我们使用的是 PSDK 08.06.00.11。
appPerfStatsDdrStatsPrintAll ()( vision_apps/utils/perf_stats/psp_perf_stats_api.c )显示峰值带宽过大,超过 src 硬件规格(14.9Gb/s )。
DDR 性能统计信息、
================
DDR:读取 BW:平均值=7555MB/s、峰值=29782MB/s
DDR:写入 BW:平均值= 8623MB/s、峰值= 33800MB/s
DDR:总 BW:平均值=16178MB/s、峰值=63582MB/s
计算带宽的 appPerfStatsDddrStatsUpdate()函数如下所示
===
...
appPerfStatsDdrStatsReadCounters (&val0、&val1、&val2、&val3、false);
uint64_t write_bytes = val0 * app_perf_DDR_BURST_SIZE_BYTES;
uint64_t read_Bytes = val1 * APP_PERF_DDR_BURST_SIZE_BYTES;
.
uint32_t read_bw_peak = read_Bytes/elapsed_time;/*以 Mb/s 为单位*/
uint32_t write_bw_peak = write_bytes/elapsed_time;/*以 Mb/s 为单位*/
===
如果在峰值带宽过大时打印上述变量、
elapsed_time 很小、并且 DDR 性能计数器值太大、因此计算出的带宽过大。
示例)
elapsed_time : 49 us , read_bytes : 3302400
Read_bw_peak = 67395Mb/s
在这种情况下、DDR 性能计数器和峰值是否应被视为正常?
根据 TDA4VM EVM 硬件规范(14.9GB/s)、在49us 内峰值应高达735KB、对吗?
是否有任何想法表明报告的峰值会超出器件的理论限制?
是否有办法精确测量峰值 DDR 带宽?