トップ 製品情報 C言語設計例 サポート FAQ パートナー お問い合わせ 会社情報

【ページ1/3】












  • C言語HW設計環境「eXCite」
    • eXCite(エキサイト)は、標準C言語からHWを設計するためのソリューションです。普段SW開発やアルゴリズム開発に使用しているC言語からFPGAやASIC向けのRTL HDLを自動生成します。eXCiteには、C言語から高性能なHWを実装するための高位合成(動作合成)エンジン、通信合成エンジン、各種最適化エンジン、IP 再利用データペースなどを搭載しており、これらの機能を融合することで、効率よく高性能なHWを生成します。また、合成された結果を検証するための自動テストベンチ生成機能を搭載しております。このテストベンチを利用すれば、生成された内容がSW処理との比較などを設計者の手間なしに確認することができます。

  • eXCiteの主な用途
    • C言語HW設計ツールは、HW設計者だけのためも者と考えられがちですが、標準C言語を入力とするeXCiteは多くのお客様に様々な局面でご利用いただいております。例えば、システムレベルにおけるアーキテクチャ検討。HW開発における短期HW設計やIP部品の設計。システム設計やSW開発におけるプロトタイプ設計などに多くご利用して頂いております。

    • システム設計において
      • 複雑化している組み込み設計において、HW化によるシステム全体のパフォーマンスアップは魅力のあるものです。しかしながら、マイコンを使うのと違いHWを簡単に実装し、性能まで把握するもは容易ではありません。HWを実装するにはRTL HDLでの設計が必須となるのは勿論、SW上で動作しているものをHW化するには膨大な工数とノウハウが必要とされます。

        eXCiteは、マイコン向けに用意しているC言語アルゴリズムを殆ど変えることなくHWへと実装することが可能です。また、eXCiteが提供するC言語用通信関数により、HW/SWの分割および分割検討をC言語上である程度は確認し実行することができます。

      • 主な効果
        • 決め打ちでのHW-SW分割検討からの脱却
        • 低コスト、短期間でのHW設計
        • システム最終工程おける大幅な手戻り防止
        • RTL 設計コストの削減
        • SW 処理性能と HW 処理性能を直接比較検討

    • HW 設計において
      • C言語からHWを設計するのは手間の掛かるものです。一方で、RTL 記述においては、設計の仕様変更による修正は簡単なものではありません。設計のゴールデンモデルをC言語で持ち、C言語高位合成ソリューションを用いることで、様々な設計仕様の変更や性能の改善などを容易かつ短期に行うことができます。また、多くの算術演算を整数演算は勿論、浮動小数点演算も、パイプライン動作をするIPとして実装することが可能です。
      • 主な効果
        • 手設計の数十倍早く、HWを設計
        • 面倒な仕様変更にも容易に対応
        • 面積、スピードのトレードオフを考慮した設計
        • 設計資産をIPとしてC言語レベルから再利用

    • SW 設計において
      • 今までの組み込み設計では、SWデバッグのためのプロトタイプの完成に膨大な時間を割いていました。C言語でHWを設計することが可能になることで、プロトタイプを早期に手に入れることが出来るだけでなく、SW実装を検討していたタスクをHW化するのも容易に行えます。これにより、今まで以上に早期に本格的なSWデバッグが可能になります。
      • 主な効果
        • プロトタイプボード待ちを短縮
        • システム仕様の変更にも柔軟に対応
        • ボトルネックのタスクを容易にHW側へ

  • eXCite 設計手法
    • eXCiteのデザインフローは下図ようになります。eXCiteを用いた設計では、C言語レベル、高位合成レベル、実装レベルに分けて設計を行います。これらの各ステップでeXCiteは、便利な開発環境を提供しています。これらにより、設計者は必要十分な性能のHWを簡単に設計することができます。

    • C言語レベル
      • 設計のスタートは、Cコンパイラ(Microsoft社 Visual C++ や gcc)でコンパイルし実行できる標準C言語が準備できたところからスタートします。

        設計者は、HW化したい部分をeXCiteが用意している通信関数を用いて切り分けを行います。これにより、HW設計対象部とそれ以外の部分を明示的に分けて取り扱うことが可能になります。なお、ここで使用する通信関数はeXCiteによって、所望のバス、メモリ、FIFO、レジスタなどのインターフェースに割りつけられます。さらに、C言語レベルで通信量がどれ位あるかなどの検証も同時に行うことがもできます。

    • 高位合成(動作合成)レベル
      • C言語から現在のHW設計者の殆どが利用しているRTL HDLに変換には、eXCiteを利用します。eXCiteの入力は標準C言語です。SystemCやその他特殊なC言語のようにCそのものを大きく書き換える必要は一切ありません。また、逆にHW的な情報や制約を入れたい場合は、GUI上のオプションや合成指示子で与えることが可能です。

        eXCiteの出力は、RTL VHDLまたはVerilogになります。また、同時に合成したRTLを検証するためのテストベンチも自動生成します。これらのファイルは、HDLシミュレータで利用できます。さらに、合成結果の情報をまとめたレポートファイルも生成されますので、Cアルゴリズムがどのようなアーキテクチャとして実装されたかも確認できます。

        設計変更も非常に容易に行えます。合成制約を変更した後に合成ボタンを押しなおすだけで出力アーキテクチャを変更することができます。もちろん、各設定や結果は保存、再現が簡単に行えるようになっています。

    • 実装レベル
      • 実装レベルでは、合成された RTL HDL およびテストベンチ向け HDL を用いて RTL シミュレータで性能確認や浮動小数点であれば、その誤差を確認することができます。さらに、日立情報通信エンジニアリング株式会社製 VirtualTurbo/LogicBenchを用いれば、RTL HDL の設計を一切することなくPC上のCアルゴリズムとコ・シミュレーションすることが可能です。これによりプロトタイプ作成のコストを大幅に削減することが可能なばかりか、SWアルゴリズムのアクセラレーションも可能となります。

© YXI   -   サイトマップ   -   利用規約   -    プライバシーポリシー