Verification Engineerの戯言
SCCSourceにVirtutechのJakob Engblomさんの記事Modeling language produces TLMs for virtual platformsがアップされました。
この記事では、モデルの記述にポイントをおいています。
トランザクションレベルのVirtual Platform Modelのモデルを作成するのは、プログラミングの作業です。そのプログラミング言語として、C、C++、SystemCなどのソフトウェア開発で使用する言語を使います。
ソフトウェアを開発するための言語を使って、ハードウェアデバイスをモデリングするために使うために結構手間のかかることをやらなければいけません。
例えば、アドレスのデコード、ビットに対するアクセス、エンディアン対応などです。
Virtutechでは、そのためにDMLという言語を使って、トランザクションレベルのモデルを記述します。
DML -> Cの変換ツール(DML Compiler)でC言語にし、CコンパイラでDLLを作り、このDLLをVirtutechの環境(Simics)に取り込みます。
これは、ハードウェアデバイスを記述しやすい言語であるDMLを使うことで、モデルの開発生産性を上げるという作戦です。
記事には、SystemCとDMLとの記述の違いについて書いてありますが、SystemCではなく、SCMLとの比較をしてほしかった。
トランザクションレベルのVirtual Platform Modelのモデルを作成するのは、プログラミングの作業です。そのプログラミング言語として、C、C++、SystemCなどのソフトウェア開発で使用する言語を使います。
ソフトウェアを開発するための言語を使って、ハードウェアデバイスをモデリングするために使うために結構手間のかかることをやらなければいけません。
例えば、アドレスのデコード、ビットに対するアクセス、エンディアン対応などです。
Virtutechでは、そのためにDMLという言語を使って、トランザクションレベルのモデルを記述します。
DML -> Cの変換ツール(DML Compiler)でC言語にし、CコンパイラでDLLを作り、このDLLをVirtutechの環境(Simics)に取り込みます。
これは、ハードウェアデバイスを記述しやすい言語であるDMLを使うことで、モデルの開発生産性を上げるという作戦です。
記事には、SystemCとDMLとの記述の違いについて書いてありますが、SystemCではなく、SCMLとの比較をしてほしかった。
ユーザとしては、使うツールがきまれば、それに対応した言語でモデルを書くことになるのだが、ツールも使えるし、モデルも書きやすいという両方を満足できるかがポイントではないだろうか?
しかしながら、当面はある程度のシュアを取らない限り、モデルの数は増えていかないし、モデルの数が増えないとユーザーが増えない。このジレンマにどう対応するかが普及の鍵だと思います。
SystemCもシミュレータをオープンにすることである程度ユーザーを獲得できたが、対応するツールやモデルが十分であるとはいえない状況です。
Virtutechの作戦も最初は、SystemCと同様な方法をとることになると思いますが、モデルを充実していくかがポイントなので、今後どうなるかを見ていく必要があります。
Virtutechの作戦も最初は、SystemCと同様な方法をとることになると思いますが、モデルを充実していくかがポイントなので、今後どうなるかを見ていく必要があります。
そんなところで、記事には、
さて、今後、どうなるか?
We are looking into opening up the DML compiler and associated infrastructure in order to enable such experimentation.にあるように、DML Compilerなどの関連環境をオープンにすれば、その最初のステップはできることになります。
さて、今後、どうなるか?
P.S
Virtutechは、Swedenの会社だったのね!
Virtutechは、Swedenの会社だったのね!