基于面向对象总线事务模型的高效可扩展事务级建模
1. 引言
嵌入式系统和片上系统集成了越来越多的处理器节点和复杂的通信结构。在实现这些系统之前对其进行建模是一项至关重要的设计任务,这有助于早期验证系统架构概念、探索架构替代方案以及进行性能评估。由于寄存器传输级(RTL)建模的复杂性、灵活性差和模拟性能低,事务级建模(TLM)应运而生。
TLM的关键原则包括:
- 通过函数调用而非信号通信进行通信。
- 与低级信号相比,在更粗粒度的层面上交换信息。
基于这些约束,基于总线的系统可以在不同的TLM抽象级别进行描述。常见的抽象级别有:
| 抽象级别 | 描述 |
| ---- | ---- |
| 功能视图(FV) | 完全抽象通信架构,通过建模每对通信伙伴之间的点对点连接。 |
| 程序员视图(PV) | 在忽略时序和仲裁的情况下对总线通信进行建模。 |
| 架构视图(AV,也称为周期近似(CX)视图) | 添加近似的仲裁和时序。 |
| 周期精确(CA)或验证视图(VV) | 事务必须能够重现总线在RT级实现中每个周期的总线所有者和活动事务。 |
SystemC TLM标准定义了启动和接收事务的接口以及基本的TLM FIFO通道,但未描述事务本身的系统建模风格。本文的贡献在于对事务进行面向对象建模,从而实现易于扩展的周期精确模型,其模拟速度接近不太精确的CX模型。
2. 相关工作
事务级建模(TLM)的本质与语言和应用领域无关。支持TLM的建模语言有SystemC和SpecC。在TLM这个相对年轻的领域,通信方案、互操作性、抽象级别和近似的