事务级建模方法

TLM(事务级建模方法,Transaction-level modeling)是一种高级的数字系统模型化方法,它将模型间的通信细节与函数单元或通信架构的细节分离开来。通信机制(如总线或者FIFO)被建模成信道,并且以SystemC接口类的形式向模块呈现。事务请求一般在调用这些信道模型的接口函数时发生,而接口函数封装了信息交换的底层细节。在事务层面上,TLM更强调数据传输的功能本身——数据的内容和传输的起止点,并尽可能少涉及具体实现。这种方法使得系统级设计者测试不同的总线架构(这些架构均支持公共的抽象接口)更加方便,通过这些公共接口进行模块间交互,无需对模块重新编码。[1]

然而,TLM模型的应用程序并不仅限于使用SystemC作为编程语言,同样也可以采用其他语言。TLM的概念首次出现在system level language and modeling domain中。[2]

历史

TLM的概念首先以“基于事务的建模方法”(transaction-based modeling)的形式出现。在2000年,R&D公司经理Thorsten Grötker筹备了一次关于通信机制的演讲,演讲的主题是"SystemC 2.0标准究竟是什么样子的"。接着,该公司的一位应用程序工程师Gilles Baillieu声称,TLM的短语中应该包含单词"level",因为“寄存器传输级”(register transfer level)和“行为级”(behavioral level)中也包含了“级”(level)一词。事实上,TLM并不单纯的表示抽象级别,它更是一种模型化技术,即便如此也没能改变他的观点——必须采用“级”一词,当然最终TLM的概念也因为他的坚持而沿用至今。

开源SystemC倡议组织(The Open SystemC Initiative),用来标准化并且推广SystemC语言的使用。该组织是主要由电子设计自动化工具供应商和对工具开发便利化和IP交互性感兴趣的用户组成。它同时开发了OSCI模拟器,并免费提供使用。

早期的SystemC,成为高级别合成的一种可行的语言选择,它将设计模型和虚拟样机应用领域与功能验证和自动门级路径实现相联系,这就为项目团队提供了一个模型产生多个用途的能力。在2010年DVCon Event上,OSCI推出了首个标准化SystemC可合成子集的规格说明。

  1. ^ T. Grötker, S. Liao, G. Martin, S. Swan, System Design with SystemC. Springer, 2002, Chapter 8., pp. 131. ISBN 1-4020-7072-1 (quoted with permission)
  2. ^ L. Cai, D. Gajski, Transaction Level Modeling: An Overview, in proceedings of the Int. Conference on HW/SW Codesign and System Synthesis (CODES-ISSS), Oct. 2003, pp. 19–24