|
- 段階的詳細化と再利用:ESL設計を成功に導くフロー
- 超微細化したSoC(システム・オン・チップ)設計は今や当たり前となっていますが、これを従来のRTL(レジスタ転送レベル)設計と検証手法だけで実現することは事実上不可能になってきました。そこで、RTLよりも抽象度の高い、ESL(Electronic System Level)設計手法を導入すれば、設計の実現可能性を判断し、要件に集中して取り組み、さまざまなアーキテクチャとアルゴリズムを試行錯誤しながら、機能性、性能、電力の要件を満たすかどうかを確かめることができます。しかし導入にあたって、従来のRTL実装とは直接関係のない、抽象化されたTLM(トランザクションレベル・モデリング)を使用して構築する必要があります。
ESL設計手法のメリットを最大限に活かすためには、段階的詳細化のフローと再利用のフローが欠かせません。トランザクションレベルでモデルを変換/検証できるため、初期の抽象度の高い表現から十分に検証済みのRTLに至るまで、モデル資産を以降の作業でもそのまま保持することができます。トランザクションレベルのモデルをRTL検証時の参照モデルとして使用するとともに、初期のTLMプラットフォームを下流の実装工程で「システムレベルのテストベンチ」として再利用できるのが特徴です。
本稿では、5段階の詳細化フローの基本要素を具体的にご紹介します。フローの最初の4段階はすでに、TSMC(Taiwan Semiconductor Manufacturing Company Limited)のリファレンス・フロー11に盛り込まれており、現在のところリファレンス・フロー12の策定作業が進められています。ここでは、リファレンス・フロー11の成果を示し、リファレンス・フロー12での取り組みについて説明します。
|
ESL設計および検証 |
|
- 高位合成を使いこなす:グラフィックス処理アプリケーション全体を合成
- 本稿では、高位合成手法によってグラフィックス処理パイプライン全体を実装する方法について説明します。実際の多くのアプリケーションと同様、この設計は制御ロジック、データ・パス、インタフェース、階層の複雑な組み合わせで構成されています。高位合成におけるこの4つの基本構成要素の処理方法を紹介するほか、最新世代の高位合成テクノロジが備えた各種機能と、複雑なアプリケーションに対する適用性について考察します。
本稿ではこうした点を踏まえつつ、設計の各部分に最適なコーディングの表現と抽象化に焦点を当てています。また、システムの制御部分とアルゴリズム部分についてモデリング要件の比較検討を行います。さらに、ハイレベル・モデルの表現にサイクル精度の表現が適している場合と抽象度の高い完全なアンタイムド・モデリングの表現が適している場合を判断するためのガイドラインを示し、両方のモデルを効率的に組み合わせる方法も紹介します。読者は、高位合成が実際に役立つということを確認できるだけでなく、高位合成を現在の業務に適切に導入する方法も学べます。
|
高位合成 |
|
- ハードウェアを考慮した仮想プロトタイピング
- 新たな設計が登場するたびに、プロセッサ上で動作するソフトウェアの主要機能の割合が増加しています。ソフトウェアはノートブックPC やデスクトップPC にとどまらず、通信、ネットワーク、自動車向けのデバイスにも普及しており、多くのコンシューマ機器において組込みソフトウェアが採用されています。現在の各種設計では既製の設計プラットフォームが基盤となっているので、市場で製品の差別化を図るには、ソフトウェアと優れた「ハードウェア・アクセラレータ」の組み合わせが欠かせません。
|
ESL設計および検証 |
|
- Catapult C Synthesisによる SystemCモデリング、合成および検証

- Catapult C Synthesisは、複雑なASICのシステムレベルでのモデリング、検証、合成のためにSystemCサポートを追加しました。サイクル精度とトランザクションレベルの抽象度の両方がサポートされ、バス・インタフェースおよびインターコネクトなどのSoC特有のニーズや、ESLフローとの統合に対応しています。このCatapult C Synthesisフローは、抽象度の引き上げと設計の再利用を促進します。本稿では、Catapult C SynthesisによるSystemCサポートの概要を説明し、詳細な例を用いて解説します。
|
高位合成 |
|
- Catapult C Synthesisの 高度なクロック・ゲーティング・テクニック
- 今日、消費電力は、SoC(System-on-a-Chip)設計において面積や性能と同等の重要性を持った品質指標となっています。 ESL(Electronic System Level)設計手法では、従来のRTL設計手法では不可能であった消費電力最適化の機会を手にすることができます。Catapult C Synthesisは、消費電力を考慮したアーキテクチャ検討機能に加えて、設計の消費電力を最小化する複数の消費電力最適化テクニックを備えています。本稿では、Catapult C Synthesisで使用されている最も重要な消費電力最適化テクニックの1つである、高度なクロック・ゲーティング最適化および解析機能について紹介します。
|
高位合成 |
|
- Eigenvalue Decomposition Designed with C: Catapult C Synthesis Methodology(Cによる固有値分解のハードウェア化)

- 本稿は、「固有値分解」のハードウェア化についてのレポートです。固有値分解は、多岐にわたる分野で応用されています。画像、通信、音声での固有値分解を使った応用例は、KL変換による画像認識、MIMOアンテナによる高速通信、MUSIC法による電波、音波の到来方向推定があります。将来MIMO通信、 MUSIC法の電波到来方向推定で多用されるアンテナ数は4本以上であることが予測されます。アンテナ4本だと、行列サイズが複素数での4x4行列サイズとなるため計算負荷が増大し、固有方程式から直接、固有値を求めることが妥当かどうかを検証します。そこで東芝情報システムでは、固有値を求めるための有力な2つのアルゴリズムを提案し、アルゴリズム段階で2つの方式の面積とサイクル数を比較検討するためにCatapult C Synthesisで合成を試みました。
|
高位合成 |
|
- Algorithmic C データタイプのアプリケーションノート「固定小数点を利用した RGB YCbCr 変換、画像処理の実例」とソースコード」
- メンター・グラフィックスが提供する高速データ型のAlgorithmic Cデータタイプを使用した RGB YCbCr 変換画像処理の実例を示し、浮動小数点を使用した場合と、特定のビット幅での 固定小数点を使用した際の違いをシミュレーションして実際の画像で確認することができます。 Algorithmic Cデータタイプを使用することで、アルゴリズム設計者、システム設計者、ハードウェア設計者は、ビット精度の動作をC++仕様において正確にモデル化するとともに、 シミュレーション速度を10倍から200倍高速化することが可能です。ダウンロードファイルにはアプリケーションノートと共に、ソースコードが含まれております。 GCC 3.2.3(およびそれ以降)やMicrosoft Visual C++ 2005のCコンパイラを使用していただくと、Algorithmic Cデータタイプを使用した実例を体験いただくことができます。
メンター・グラフィックスは、このデータ型を、エレクトロニクス設計者および EDAツールベンダ向けに、以下のサイト(英語ページ)から無償で提供しています。またこのアプリケーションノートのご利用にも必要となりますので予めダウンロードしてご使用ください。 http://www.mentor.com/products/esl/high_level_synthesis/ac_datatypes
|
高位合成 |
|
- Catapult C SynthesisとAlteraのAccelerated Libraryを用いた高性能DSPハードウェアの設計
- 昨今の高性能FPGAは、次世代ワイヤレスおよびビデオ・アルゴリズムの実装に必要な処理要求を満たすハードウェア・プラットフォームを提供します。これらのデバイスにはMAC(積和演算)などのDSPアルゴリズムの基本構成要素を実装する際に必要な専用ハードウェアが用意されています。しかし、アルゴリズムを構想段階からRTL実装までを迅速に進めるには様々な課題があります。従来の設計フローでは、ANSI C++などの高位言語でアルゴリズムの機能をモデル化し、これらを手作業でRTLにする手法が用いられていました。手作業によるRTL作成は多大な時間を要し、不良混入が起こりやすいばかりでなく、多くの場合バックエンドの配線遅延の問題に大きな影響を及ぼしてしまいます。Catapult C Synthesisの機能とAccelerated Libraryを組み合わせることにより、ANSI C++でモデル化されたアルゴリズムから、FPGAハードウェア用に最適化されたRTLを生成することができるようになりました。ANSI C++からFPGA DSPブロックを直接生成し、高位合成からの制約を使ってバックエンドのタイミング問題を簡単に解決することが可能です。
|
高位合成 |
|
- Catapult C Synthesisベースの設計フロー:インプリメンテーション期間短縮と柔軟性向上
- ハイエンド・エレクトロニクス設計における従来の設計フローでは、VerilogあるいはVHDL表現のハンド・コーディング工程を必要としていました。これは過去においては有効でしたが今日の新しいデザインで使用されているアルゴリズムは非常に複雑なものであり、これまでの設計手法では不十分なことが多くなってきています。従来の設計フローに関連したこれらの問題はC記述のシミュレーションおよび合成に基づいたフローを用いることで対応できます。このホワイトペーパーではまず今日使われている設計フローを説明し、これに関連した諸問題について検討します。次に、CおよびC++を使った新しいハードウェア設計アプローチについて見ていきます。これには、SystemC、Handel-C、ならびにメンター・グラフィックスのCatapult C Synthesisツールで使用される純粋なアンタイムドC++のサブセットも含まれています。最後に、Nokia Research Centerのケーススタディにより、Catapult C Synthesisベースのフローを用いることによって実現された生産性と実装の柔軟性向上について詳しく紹介します。
|
高位合成 |
|
- FPGA開発におけるCベース設計適用による効果と課題: Catapult C Synthesisを使ったCベース設計手法の適用
- 富士通株式会社の移動体システム設計部門では、従来から機能/性能アルゴリズム検証のために、C/C++モデルを開発・検証していました。従来のC モデルからHDLを生成する高位合成ツールでは、その品質(サイズ、タイミングなど)が、ハンドコーディングのそれに劣り、かつ、設計検証環境が整っていないため、顧客要求を満足するFPGA/ASICを開発できなかったため、このC/C++モデルは、あくまでHDL設計のリファレンスとして用いられるだけでした。ところが、ここ数年の間にISV(独立系ソフトウェア・ベンダ)各社の Cベース設計環境が整いつつあるため、最新のメンター・グラフィックス製高位合成ツールCatapult C Synthesisの状況とそれを用いた場合の設計フローを、上記移動体システムのFPGA開発を題材として調査・検証しました。
|
高位合成 |
|
- メンター・グラフィックスのESL Surveyによって明らかになったESL設計の現況(英語)
- ESL設計における業界の認識および適用の動向を計測するため、メンター・グラフィクスはヨーロッパのエレクトロニクス専門家に対してアンケート調査を実施しました。その調査では、現在および以前のアプリケーション、遭遇した一般的な設計での問題点、そしてESL設計メソドロジについての認識と経験について質問しています。そこでは、多くの設計者がESL設計によって解決するであろう様々な種類の困難に遭遇していることを発見しました。なぜある設計者は ESL設計を行い、ある設計者はそれを行わないのか、ESLメソドロジを適用することで何がもたらされるのか、いつそれが起こりえるのかという、興味深いデータを得ることができました。
|
高位合成 |