OpenBusでお客様のアイデアを開放的してください

エンジニアと開発者が直面している最大の難題(言い換えればチャンス)の1つは行き詰りです。つまり、卓越したアイデアを実地に試験し、削除するか、使用するか、または断念するべきかを考慮することです。行き詰りの追及を避けてはなりません。むしろ、これは、設計において興奮すべきもの、やりがいのある課題の一部として受け取るべきです。特に、すぐに行き詰まりを見つけ、代替ソリューションの評価に移行することが重要です。

従来のアプローチでは、通常、何週間または何ヶ月にも及ぶきつい仕事を通して、素晴らしいアイデアに対して設計を集積し、テストを行っていました。ほとんどの設計チームに不足しているのは時間です。したがって、ホワイトボードで、コーヒーメーカーの周りでアイデアを注意深く評価しなければならず、実際に使えるソリューションに向けて注意深く保守的な経路を取らざるを得ません。必要なのは、アイデアを素早く集積し、試験する簡単な方法、数週間そして数か月を数日に短縮する方法です。

たいていの場合、アイデアの評価には完璧なシステムが必要です。つまり、プロセッサ、作業コード、接続されたI/O、信号調整用のハードウェア、さらにはプログラマブルロジックの入ったシステムです。このような多数の難題があるので、ほとんどのエンジニアが、設計のアイデアと同じようにリスクについて、ホワイトボードのまわりで、考察、熟慮、評価に固執するのも不思議ではありません。アイデアを集積し試験するより良い方法に関心をお持ちでしたら、さらにこの記事を読み続けてください。

アイデアの開発

前述したように、ほとんどの場合、アイデアの評価を開始する前に、完全なシステムが必要です。Altium Designer とNanoBoardをあわせて使用すると、完全なシステムを構築できます。これで、適合する一連のソフトウェア開発ツール、プログラマブルロジック、あらゆる種類のI/O、そしてデザインに埋め込める多数のテスト測定器のあるソフトおよびハードにアクセスできます。

ここではこの記事に記載してある全細部を解明せず、1つにだけ関心を集中します。 プロセッサを基礎にしたハードウェアシステムを驚くべき簡単さで組み立てられる OpenBusです。あまりに簡単なので、ご自分で試してみるまで、おそらく信じようとなさらないでしょう。つまり、

古いものは捨て、新しいものを取り入れる、ということです。

プロセッサを基礎とするシステムの組み立に対して従来のアプローチでは、回路図を作成するか、FPGAで実装するためにHDLでコード化していたでしょう。回路図(schematic)は、システム全体がどのように接続しているかを完全にまた詳細に示すことです。また、システムのさまざまな要素間の関係を空間的に示します。これは複雑な設計を解釈および理解するために貴重です。

優れたものであるとは言え、回路図なアプローチを使用する場合にも大きな難点があります。すなわち、詳細レベルが必要ということです。回路図では何も推論されません。これは設計全体内の各コンポーネント、ピン、ネット、およびバスのきわめて詳細な仕様です。細詳レベルが非常に重要なPCBレイアウト用の設計には素晴らしいのですが、多くの情報を推論させるFPGAに実装される予定の設計にはそう素晴らしくはありません。

Wishboneのような標準信号バスアーキテクチャを操作すると、FPGA設計における細詳接続情報を抽象的にまとめられます。情報を無視するわけではありません。情報はそのままそこにあります。システムでは、下位レベルでのネットレベルおよびバスレベルの接続がすべて自動的に管理されます。アルティウムでは、これをOpenBusと呼びます。

次の画像では、使用前と使用後を示します。画像の上端に示す元の回路図では、各コンポーネントに配線するしなければならない約20~50のピンがあります。この設計では100を超える配線とバスラインが必要です。OpenBusを使用すると、左下のOpenBusシートに表示される回路図のオレンジ色のFPGAコンポーネントの集りすべてが8本のラインで接続された8個の簡単なコンポーネントに置き換えられます。

多数の接続がある複雑な回路図が1つの簡単なOpenBusシートにまとめられます。それに加えて、最上位の回路図シートでは設計がデバイスピンに接続されています。

B設計の構築n

回路図と同様に、OpenBusデザインでもコンポーネントを配置し、接続します。コンポーネントはOpenBus Paletteから選択し、OpenBusドキュメントへと配置します。相互接続スタイルコンポーネントが配置されるので、複数のコンポーネントがプロセッサのI/Oまたはメモリバスに接続でき、次にさまざまなコンポーネントポートがリンクされます。各リンクは、リセット、クロック、割り込みなどのコンポーネント間を完全なWishboneバスで接続します。

 
ソフトプロセッサコアなど、コンポーネントはOpenBus Paletteから配置します。

ペリフェラルI/Oやメモリバスのような

OpenBusシートの信号をFPGAデバイスピンに接続するためには最上位レベルの回路図が必要です。新しい回路図シートをFPGAプロジェクトに追加されたら、「シートまたはHDLからシートシンボル作成」コマンドを使用して、OpenBusシートのシートシンボルを作成します。ここから、ポートまたはポートプラグインコンポーネントと適切な制約ファイルによって、通常通り、ネットをデバイスのピンに接続できます。

OpenBus Paletteに必要な要素がすべては含まれていない場合、カスタム設計はいくつものレベルでサポートされます。たとえば、Altium DesignerのC-to-Hardware機能を使用してプロセッサの機能をFPGAロジックにコンパイルする場合は、OpenBusシートのASP (Application Specific Processor)内に配置しリンクします。これに対して、ステートマシンのように独立したCモジュールをFPGAロジック用に作成する必要がある場合は、最上位レベルの回路図で(FPGAロジック用の他のハードウェア論理とともに)配置することができます。

秘訣はどこにあるのでしょうか?

あまりに良く見えすぎて本当とは思えないので、最初は疑惑をお持ちになるでしょう。配線の処理の場合、メモリスペース内のデバイスのマッピングはどうなるのですか? クロック、リセット、割り込みの設定はどうなるのですか? と思われることでしょう。これらもすべて簡単に処理できます。次の画像に示すように、このような情報はダイアログで設定します。


ペリフェラルのメモリマップや割り込みの設定のような、グラフィカルでない詳細はダイアログで設定します。OpenBusの詳細については、Altium wiki (wiki.altium.com) をご覧ください。.

是非、Gryphon Systems EngineeringのテクニカルディレクターであるPeter Stephensのインタビュー (www.gryphonsystems.com.au) ) をご覧ください。


OpenBusを使用して設計したマルチストレージフォーマット、マルチフォーマットメディアプレイヤー。

他の優れた特徴

OpenBusには、FPGA実装用設計のためのプロセッサおよびI/Oシステムを素早く組み立てる効率的な方法です。さらに、NanoBoardは、素早く設計を実装し、実機検証に取りかかれる物理ハードウェアプラットフォームをです。

しかし、今日の高性能エレクトロニクス製品の中心は組み込みソフトウェアです。ですから、アプリケーションを素早く構築できることも、優れたアイデアを効率的に試験するための重要な部分です。OpenBusとみごとに調和するのはAltium Designerの

Software Platform Builderです。OpenBusでは、シンプルにハードウェアシステムを構築することができ、Software Platform Builderでは、Altium Designerが提供する様々なペリフェラル用のドライバコードを使用し、組み立てます。

 しかし、Software Platform Builderについては、別の話になりますので、そのまま詳細を聞いてください。


複雑なマルチストレージ、マルチフォーマットメディアプレイヤーはSoftware Platform Builderによって実装されます。これによって開発者はハイレベルのアプリケーションコードに専念できます。

► 22009年6月Envisionホームe