トランザクションレベルモデリング( TLM ) は、電子設計自動化ソフトウェアを使用して複雑なデジタルシステムをモデリングするアプローチです。 [ 1 ] : 1955 TLM は主に、従来のレジスタ転送レベル(RTL) モデリングではシステムレベルの分析に遅すぎたりリソースを消費しすぎたりする複雑なシステムオンチップ(SoC) やその他の電子システムの設計と検証に使用されます。TLM 言語 (TLML) はハードウェア記述言語で、通常は C++ で記述され、SystemCライブラリに基づいています。[ 1 ] TLML は、モジュール間の通信の詳細が機能ユニットの実装の詳細や通信アーキテクチャの詳細から分離されているモデリングに使用されます。複雑なデータ通信メカニズムを含むシステムのモデリングに使用されます。[ 1 ] : 1955このモデリングアプローチは、機能ブロックの詳細な実装やそれらの相互接続ではなく、機能ブロック間のトランザクションまたはデータ転送に焦点を当てています。[ 2 ]この抽象化により、シミュレーション速度が高速化され、多くの場合 RTL よりも桁違いに高速化されます。同時に、システムレベルの設計決定、ソフトウェア開発、およびアーキテクチャの検討に十分な精度が維持されます。[ 3 ]
バスやFIFOなどのコンポーネントはチャネルとしてモデル化され、SystemCインターフェース クラスを使用してモジュールに提示されます。トランザクション要求は、これらのチャネル モデルのインターフェース関数を呼び出すことによって行われ、情報交換の低レベルの詳細がカプセル化されます。トランザクション レベルでは、データ転送の機能 (どのデータがどの場所に転送されるか) に重点が置かれ、実際の実装、つまりデータ転送に使用される実際のプロトコルにはあまり重点が置かれません。このアプローチにより、システム レベルの設計者は、たとえば、さまざまなバス アーキテクチャ (すべて共通の抽象インターフェースをサポート) を、バスとやり取りするモデルを再コーディングすることなく簡単に試すことができます。ただし、これらのモデルが共通インターフェースを介してバスとやり取りすることが前提となります。[ 4 ]
TLM は通常、システムレベルの設計のために特別に開発されたC++ベースのモデリング言語およびライブラリであるSystemCを使用して実装されます。 [ 5 ]現在Accelleraの一部となっているOpen SystemC Initiative (OSCI)は、トランザクションレベルの通信のための共通のインターフェースと方法論を提供する標準化された TLM ライブラリを開発しました。ただし、トランザクションレベルのモデリングの適用は SystemC 言語に固有のものではなく、他の言語でも使用できます。TLM の概念は、システムレベルの言語とモデリングの領域で初めて登場しました。[ 6 ]
この手法は、現代の電子設計自動化フローにおいて不可欠なものとなっており、特にハードウェア実装が完了する前に早期のソフトウェア開発とシステム検証を可能にする仮想プラットフォームの作成に用いられています。 [ 7 ] TLMモデルは、高レベルのシステム要件と詳細なハードウェア実装との間のギャップを埋める実行可能な仕様として機能します。TLMは、システムコンポーネントの低レベルモデリングと実装のためのレジスタ転送レベル(RTL)モデルの高レベル合成に使用されます。RTLは通常、ハードウェア記述言語のソースコード(例:VHDL、SystemC、Verilog)で表現されます。 [ 1 ]: 1955~1957
トランザクションレベルモデリングは、システムオンチップ設計の複雑化と、システムレベル検証およびソフトウェア開発における従来のレジスタ転送レベル(RTL)モデリングの限界に直接対応する形で、1990年代後半から2000年代初頭に登場しました。 [ 8 ]半導体業界では、設計の複雑さと設計者の生産性の間の格差が拡大していました。[ 9 ]
TLM の基礎概念は、複数の研究グループや企業によって同時に開発されました。Cadence Design Systems は1990 年代半ばにSpecC言語でトランザクション レベルの初期概念を導入し[ 10 ] 、 Synopsys は1999 年以降に SystemC 手法で同様の概念を開発しました[ 11 ] 。2000 年、 Synopsys の R&D マネージャーである Thorsten Grötker は、後にSystemC 2.0 標準となるものの通信メカニズムに関するプレゼンテーションを準備しており、それを「トランザクション ベース モデリング」と呼んでいました。当時 Synopsys のコーポレート アプリケーション エンジニアであった Gilles Baillieu は、新しい用語には「レジスタ転送レベル」や「動作レベル」のように「レベル」を含める必要があると主張しました。TLM が単一の抽象化レベルではなくモデリング手法であるという事実は、彼の考えを変えることはありませんでした。定着させるためには「レベル」が必要だったのです。こうして「TLM」となりました。
SystemCの開発はTLM の採用に決定的な役割を果たしました。SystemC は、1999 年にSynopsysによってC++ベースのシステムレベルモデリング言語として最初に開発されました。[ 12 ] 2000 年に、オープン SystemC イニシアチブ(OSCI) が、SystemC をオープン標準として開発および普及するための独立したコンソーシアムとして設立されました。[ 13 ]創設メンバーには、Synopsys、Cadence Design Systems、CoWare 、およびARM Holdings、Infineon Technologies、STMicroelectronicsなどのいくつかの主要な半導体企業が含まれていました。[ 14 ]この組織は、オープンに使用および配布するための OSCI シミュレータを開発しました。
初期の頃から、SystemCは高レベル合成のための主要言語として採用され、設計モデリングと仮想プロトタイプアプリケーションの領域を、機能検証と自動パスゲートレベルの実装と結びつけてきました。これにより、プロジェクトチームは複数の目的に使用できる単一のモデルを作成できるようになりました。2010年のDVConイベントでは、OSCIが業界標準化に向けたSystemCの最初の合成可能なサブセットの仕様を発表しました。
最初の標準化されたTLM手法であるTLM-1.0は、2005年にOSCIによってリリースされました。[ 15 ] TLM-1.0では、以下のような基本的な概念が導入されました。
TLM-1.0規格は主に機能モデリングに重点を置いており、詳細なタイミング解析に対するサポートは限定的であった。[ 16 ]
2008年にリリースされたTLM-2.0は、トランザクションレベルのモデリング手法における大きな進歩を象徴するものでした。[ 17 ]この新しい標準では、いくつかの重要な革新が導入されました。
TLM-2.0はその後、SystemCのIEEE 1666-2011規格に組み込まれ、公式な認知とより広範な業界での受け入れが実現した。 [ 2 ]
2000年代半ばまでに、主要な電子設計自動化企業は、自社の商用ツールにTLMサポートを組み込み始めました。Mentor Graphics(現在のSiemens EDA)は2004年にModelSimシミュレータにTLMサポートを導入し[ 19 ]、続いてCadence Design Systemsが2005年にIncisiveプラットフォームで TLMサポートを導入しました[ 20 ]。CoWare(2010年にSynopsysに買収)[ 21 ] 、 Vast Systems(2007年にSynopsysに買収)、VaST Systems Technologyなどの仮想プラットフォーム企業は、TLM手法に基づいた高性能仮想プラットフォームを提供することで、TLMの商用採用に大きく貢献しました[ 22 ] 。
2010年代には、特にARMベースのSoC設計において、TLMが半導体業界で標準的な手法となった。ARM Holdingsは、 ARM Cortex-AおよびARM Cortex-Mシリーズプロセッサを含む、プロセッサアーキテクチャの包括的なTLMモデルをリリースした。[ 23 ] 2010年代後半の人工知能および機械学習アクセラレータ の台頭により、TLMモデリングに対する新たな需要が生まれ、ニューラル処理ユニットやその他のAIハードウェアをモデリングするための専用ライブラリと手法が開発された。[ 24 ] 2020年には、OSCIがAccelleraと合併し、SystemCとTLMの開発を単一の組織に統合し、標準の継続的な進化を保証した。[ 25 ]
{{cite book}}: CS1 メンテナンス: その他 (リンク){{cite book}}:値の確認|isbn=: チェックサム (ヘルプ){{cite conference}}: CS1メンテナンス: DOIは2025年7月現在非アクティブです(リンク){{cite book}}:値の確認|isbn=: チェックサム (ヘルプ){{cite conference}}: CS1メンテナンス: DOIは2025年7月現在非アクティブです(リンク){{cite book}}:値の確認|isbn=: チェックサム (ヘルプ){{cite book}}:値の確認|isbn=: チェックサム (ヘルプ){{cite conference}}: CS1メンテナンス: DOIは2025年7月現在非アクティブです(リンク)