ESL系统建模与分析的几个案例

ESL级的系统建模,使设计工程师能够及早进行软件开发,实现软硬件的划分,并且可作为软硬件验证的参考平台。     虽然ESL设计的好处显而易见,却在很多设计公司不多见,一来公司都有产品尽早上市的压力,对着ARM的参考设计来建构架就好了,二来要做好一个ESL级的系统模型,是需要花费大量的精力来书写各种不同的协议模型,而且常常要达到100%的功能正确和周期精确的要求。这两个原因造成ESL级的设计流程无法在所有的公司流行开来。     最近公司有接到几个不同复杂SOC设计公司的ESL建模要求,需要跑一定的软件来分析整个SOC架构的性能。我司的工程师就根据客户的要求利用VisualSim软件做了几个不同的demo来跟客户展示,这里我们把它分享出来,和各位架构分析的工程师一起交流探讨一下,文章数据有些地方不是很详细,有任何的问题可以直接邮件发给我们。

案例一 ARM V8的微架构建模

 

下图是标准的ARMV8的核结构,我们需要利用VisualSim软件和自带的model把这个微结构的ESL级模型建立出来。同时,需要分析:

 

    1. Processor performance – MIPS

    2. Task latency

      •       under different Processor Speed

      •       Dynamic operations

    1. Cache:

      •       different Cache setting

      •       I-Cache response time

    1. Power consumption

      •       I-cache, D-cache, AXI and so on

Image

下图是利用VisualSim建好的模型。建立模型的难度在于没有提供现成的CPU核的微架构的model IP,需要自己去写。但好在Visualsim的书写界面和自身提供的脚本语言比较好,所以书写起来还是比较快的。

Image
模型建好之后,就是利用Generate tasks模块去输入一些模拟指令的任务,用来了解指令的执行效率、功耗、Latency等信息。
Image
下图是CPU 核的MIPS图,可以了解核的性能。
Image
接下来改变CPU的频率,来看看Task latency的变化。     如果将处理器速度从1200mhz更改为1,800MHz,则任务延迟的结果:  当处理器速度提高50%时,任务延迟通常提高约17.6%
Image
Image
继续更改Cache的配置,来看看task latency的变化
Image
Image
最后一个演示是来看看D_Cache, L2 Cache和整个的功耗。
Image
Image
Image
整个案例的难点在于缺少微结构的model IP,需要自己手工书写。另外就是对于功耗的仿真,需要输入比较精确的功耗信息。还有一个客户有类似的要求,但是他们需要跑一些软件来测试核的性能,详细的信息可以联系我们

案例二:NPU的架构建模和分析

 

VisualSim搭建整个NPU系统架构模型还是比较快的,所需要的很多model IP都已经有了,只需要自己书写小部分的router部分的功能。架构整个工作流程是:

 

1:数据包通过PHY-MAC进入网络。

 

2:触发DMA将数据传输到主存。

 

3:数据传输完成后,安全任务开始执行。

 

4:然后进行头处理(control plane)操作。

 

5:Controlplane任务利用外部CPU和处理器核心(CTOPs)。

 

6:当他们完成各自的任务后,data plane处理开始(转发)。

 

7:然后触发DMA读取数据并通过PHY-MAC发送。

 

下图是VisualSim搭建的系统机构图。

Image

模块搭建好之后,就是对这个架构的更方面性能进行仿真,其包括:

 

•       1:性能:改变processor频率,查看对性能的影响

•       2:性能:改变数据包大小以及Router1 width , cycle time 查看对性能的影响。

•       3:性能:改变存储设置,总线设置对性能的影响。

•       4:性能:改变interfacespeed 看吞吐率变化。以(interface为例)。

•       5:功耗:怎么查看功耗。

性能一:改变processor频率查看对性能的影响

Image
Image
当把Processor2的频率提高50%时,Precessor2处的网络延时大部分下降到6.0e-5,出现延时最高的包地方已经转变。另外Pro-1处的延时总体变低,传输数据变多。从30左右到30多个。

性能二:改变数据包大小以及Router1 width , cycle time 查看对性能的影响
Image
Image

Package 从20*1024 变为30*1024. package 变大1.5倍, Router1 处的width变小1倍从8bits 变为4bits, router cycle_time 变慢一倍。此时可以看到DMA1latency 在有些地方提高了1倍多。整体在相同仿真时间内processor处理的数据包变少20%(以pro-1为例)

 

性能三:改变存储设置查看对性能的影响

Image
Image
降低1倍的Cache speed ,增加1个overhead cycle,降低30%hit 命中率,可以看到加密的processorlatency 整体升高大概20%    性能

四:改变interface speed 看吞吐率变化。以(interface为例)
Image
Image

Ingress: 数据发送到网络,egress, 数据从网络中出来。改变降低1倍Interfacespeed, 在3s时,吞吐率降低了近33%。

 

功耗查看

Image
Image
Image

1:可以查看整体功耗以及平均功耗,单个device功耗等。

2:当改变提高50%Processor2 以及processor1的速率时,Processor功耗大概增加了大概14%。

 

通过对NPU快速建模,我们客户很方便了解不同设置的情况下,NPU SOC的性能,吞吐率,功耗等等信息。

案例三:CMN-600 mesh 的性能分析

 

客户的AI处理器构造:

 

Heterogeneous Computing

•Multi Coredesign – 8, 16,32 Cores

•CacheCoherency

   •8,16,32 Cacheslices

•Need ascalable Interconnect Mechanism  

 

Things to beachieved

§Highthroughput 

§Lower Latency

§Lower power consumption 

 

Main considerations

§Select theright Interconnect mechanism (AMBA AXI, vs. NOC)

 

最后选择CMN-600的互联方式,因为:

 

Requires veryhigh bandwidth

•Greater than> 25 GBps

•TraditionalBus Architecture becomes the bottleneck

(•An SoC with 9 clusters with all Buseshaving 4-Bytes data width •at 250MHz can reach a max of 9*4*250 =9GB/sec

•assuming one transfer per cluster at thesame time)

 

Clockingaround 10 GHz

•which isimpossible with traditional Bus architecture

 

Point to Pointconnections not required

•reduces wiringwhich in turn helps to achieve smaller footprint. •Dynamic powerconsumption is also lower as wires are less.

 

Static powerconsumption

•Since siliconarea is reduced, the is a lot better•Instant powerconsumption should be less than 1.5*E-2 watt

 

确定CMN600的互联方式后,开始建立一个小的2x2的mesh网络用于基本的评估,包含

 

 Latency:

  •     Network latency. 

  •     End to end latency.

 

Bandwidth(Throughout):

  • HNF output bandwidth

 

Calculation:

  • Cache hit ratio

Image
分析场景:

Image

下面是Latency的结果 (Network/delay across the network  (only delay across XPs ) )

 

这里的最大网络延迟是3.5x10-9(以纳秒计),最大端到端延迟是1.6x10-7。

从分析中我们可以看到,最佳的网络配置和高频率会带来更好的延迟。

Image
Image
Image

下面是Latency的结果 (End to endlatency- RNF delay + XPdelay + HNF Delay + SNF Delay)

这里的最大网络延迟是3.5x10-9(以纳秒计),最大端到端延迟是1.6x10-7。

从分析中我们可以看到,最佳的网络配置和高频率会带来更好的延迟。

Image
Image
Image
下面是Bandwidth(Throughout,HNF):
Image

下面是Cache Hit Radio:

 

从分析中我们可以看到HBM吞吐量是40GBps是因为最优的网络配置和高频率

Image

通过2x2 mesh的仿真,确认好合适的配置后,我们最后完成了完整的AI processor的架构。

Image
Image

Reports

  • Throughput, latency and Router bufferusage

  • Standard statistics for each resourceblock

  • Power evaluation for different modes ofoperation

Device Configuration

  • Number of Routers

  • Number and types of masters

  • Number and types  of slaves

  • Define mesh topology

Parameterconfiguration

  • Router speeds, buffer capacity, flitsizes and connections

  • Master and slave attributes

  • Traffic attributes including data size,rate and type

Performance impact

  • Detect limitations in capacity

  • Impact of different mesh configurationsand number of Routers

  • Device placement relative to memory andIO

Advanced experiments

  • Task allocation to different cores

  • Impact on timing deadline through failureof master and slave

  • Re-assignment of tasks and re-routing oftraffic due to link or router failures

  • RISC-V vs ARM

  • Comparison between NoC vsAXI vs TileLink

  • Jitter in processor execution times

  • Time trace to detect the source of thebottleneck along a route

Image
Top