PR
Skilken氏
Skilken氏
[画像のクリックで拡大表示]

 システムLSIのシステム・レベル設計言語として,C言語/C++への注目は高い。C言語/C++サポートするEDAツールを開発・販売するベンダの一つ,米C Level Design, Inc.にインタビューした。同社は,正月空け早々,LSI向けクラス・ライブラリ「SystemC++」を発表した(EDA Online関連記事1)。ツールとしては,C言語/C++入力編集と論理シミュレーション用ツール「C Sim」とC言語/C++入力の動作合成ツール「System Compiler」などを提供する。先月末,パシフィコ横浜で行なわれたEDA TechnoFair2000の(EDA Online関連ページ)会場で,同社President and CEOのDaniel C. Skilken氏に,製品の特徴などについて聞いた。(聞き手と写真は,小島郁太郎)

問 なぜ,システムLSI設計でC言語/C++が注目を集めていると思うか。

Skilken氏 1チップに集積できる回路規模が大きくなり,検証のスピードを上げたいという要求が,現在は強いと思う。VHDLやVerilog-HDLからC言語によるシミュレーションに変えることで,1000倍処理速度が上がる場合もある。

問 LSI設計に,C言語やC++は定着すると思うか。

Skilken氏 まず最初に言いたいことがある。ほとんどのシステム設計者はC言語を,またASIC(LSI)設計者は,VHDLとVerilog-HDLを使っている。すでにC言語を使っているシステム設計者は,C++を使いたがらない。C++を使うと,シミュレーション時間が長くなるからだ。C++はLSI設計者の方に意味がある。クラス・ライブラリが使えるからだ。クラス・ライブラリを使うことで,LSI設計者はVHDLとVerilog-HDLを使う場合と近い方法で,C言語/C++でLSIを設計できる。

 このため,システム設計者のノウハウと,LSI設計者のノウハウの両方を生かそうと思うと,C言語,C++,そしてクラス・ライブラリのすべてをサポートする必要がある。これらが混在した設計に対して,機能シミュレーション・ツール,合成ツールを提供しているのは,現在,当社だけだ。

問 C Level社はANSI C言語記述から合成可能と主張している。しかし,LSI設計にC言語を適用するには,何らかの拡張が必要という考えが一般的だ。このあたりを,C Level社はどう考えているのか。

Skilken氏 まず,当社のツールでは,基本的にどんなANSI C言語記述でも,論理合成可能なHDLに変換することができる。もちろん,それを論理合成ツールに入力することで,動作するLSIが得られる。ただし,拡張が必要という指摘も的を射ている。ANSI C言語で記述したアルゴリズムよりも,当社がサイクル・アキュレイト・レベルと呼ぶ抽象度まで人手で変換することで,ずっと最適なLSIを設計できる。

 すなわち,ハードウエアの骨格(ブロックとブロック間の接続)と,クロック・サイクル,リセットを考える。どのサイクルで,どのブロックが何をするかを定義する。サイクル・アキュレイト・レベルからRTLへの変換は,System Compilerを使うことで高速かつ最適に行なえる。RTLでは,レジスタやステート・マシンが見えてくる。System Compilerの出力は,既存の論理合成ツール,たとえば,米Synopsys, Inc.のDesign Compilerに入力できる。

問 競合他社と比べたときのC Level社の優位性はどこか。

Skilken氏 先に述べたように,当社のツールではANSI C言語を扱える点だ。たとえば,システム設計者の資産であるC言語記述のブロックを含んだ形で,簡単にシミュレーションできる。また,ブロック間の接続もC言語で記述できる。C++クラス・ライブラリを前面に押し出したEDAベンダの中には,すべてをC++クラス・ライブラリに置き換える必要のあるベンダもあり,設計資産が生きない。

問 VHDLやVerilog-HDL記述をC言語記述に置き換えるツールには興味はないか。

Skilken氏 基本的にない。そういうツールを出しているベンダを1社知っているが,あまりメリットを見出せない。