Technology Reports 2006

革新的進化を遂げる同時設計技術

はじめに

1980年代初めに回路基板設計にCADが普及して以来、自動化とプロセスの最適化により設計生産性を高めるために多大な努力が続けられてきた。さらに、この20年間、ソフトウェア・ベンダーは開発力の大部分を、配置、配線、解析、製造ソフトウェアを改版、あるいは多くのケースで再開発することにより、回路技術、パッケージング、製造技術の進化の速度に追いつくことに費やして来た。

設計手法に大きなパラダイムの変化が起きない限り、ソフトウェアはハードウェア技術の進化に追いつくのが精一杯であり、決して一歩前をゆくことができない。この「分割統治」手法は、設計を複数の設計者で分担作業をした後、各々をつなぎ合わせ、そこで発生する矛盾を力ずく(定義済みのルールに基づいて自動的に判断)、あるいは技巧(エンジニアに矛盾を1つずつ解決させる)により解決するものであった。

メリットが多い並行設計アーキテクチャ

メンター・グラフィックスが提供する新しい並行設計技術は、設計セッション・マネージャ(サーバー)と複数の設計クライアントがネットワーク接続された環境を必要とする。サーバー・ソフトウェアの主な活動は、各クライアントから更新要求を受け取り、要求をチェックし設計ルール違反がないことを確認してから、その更新で各クライアントを同期化することである。

並行設計のクライアント・サーバー・ネットワーク(図をクリックすると拡大表示します)並行設計のクライアント・サーバー・ネットワーク(図をクリックすると拡大表示します)

並行設計アーキテクチャの主要な利点は、設計を分割することなく、複数の設計者が同一の設計上で同時に作業できることである。これにより真のリアル タイム・コラボレーション環境が提供され、分割境界で発生する様々な問題や、分割/結合時のデータ整合性管理の問題も解消されると同時に、設計を完成する のに必要な全体の期間も短縮可能である。

設計は最初サーバーにロードされ、各クライアントがセッションに参加する際、サーバー上の設計の最新の状態をクライアントのメモリ空間 に自動的にダウンロードすることにより、クライアントの初期化と同期化が行われる。一旦クライアントが設計セッションに参加した後は、設計に対する変更を アプリケーションの標準編集ツールを使って行うことができる。

編集イベントとは、クライアントが行う個別アクションであり、認識されたアクションは更新リクエストとしてサーバーに送られる。例え ば、点Aから点Bに部品を移動することは編集イベントを構成する。これは部品を選択するところから始まり、新しい場所を指定するマウスクリック(あるいは 座標入力)で終わるイベントである。編集イベントは何を削除し、何を追加するかを記述したトランザクションとしてサーバーに送られる。クライアント上で編 集イベントが発生すると、必ずイベントをサーバーに送る前にローカルD RC(デザインルールチェック)が実行される。

複数の設計者が同一 の設計で作業する際には、様々な競合が発生する可能性がある。可能性のある競合および対策には、以下のようなものがある。

  • タイミング衝突─複数のクライアントが同じオブジェクトを同時に編集するのを回避するため、オブジェクトは最初に選択したク ライアント用に予約される。
  • 永続的保護─クライアントはオブジェクトをロックすることができる。ロックされている間、他のクライアントはこれらのオブ ジェクトを編集できない。他のクライアントが編集するためには、オブジェクトをロックしたクライアントがそれらをアンロックする必要がある。
  • 一時的保護─クライアントは、複雑な多角形を使って予約エリアを指定できる。予約エリアを定義すると、それに対して指定され た設計者のみが、エリア内のオブジェクトを編集することができる。
  • サンドボックス─予約エリアの拡張版として、「w h a t - if」作業を行うために予約されたレイヤとして、エリアを定義することができる。サンドボックス内で作業をする際は、並行設計の標準である自動更新の代わ りに、設計者が手動で更新をサーバーに送信することができる。
  • 制約─ルール・エリアに加えて、プロセス間設計データ管理システムは、設計者が制約を変更してローカルあるいは設計全体にそ れらを適用することを許容できなければならない。バージョン管理と、階層構造に対応した制約変更の通知/承認は非常に重要である。
  • 通信─標準のインターネット・ベースの通信ソフトウェアを使用して、複数の設計者はヘッドセットを使ってコミュニケーション できる。
  • フォース・フィールド─フォース・フィールドは、複数のクライアントのカーソルが重なりあい、互いに干渉することを防止する ための別の方法である。

フォース・フィールド(図をクリックすると拡大表示します)フォース・フィールド(図をクリックすると拡大表示します)

前述の並行設計アーキテクチャは、複数の設計者が同じ設計上で同じアプリケーションを使用して他のクライアントの編集をリアルタイムに確認すること ができる、並行レイアウトの基盤を構成するものである。ここでの主要なタスクは、変更を伝え、データの整合性を保ちつつ、セッション内のすべての参加者を 同期化するためのインフラを構築することである。

並行設計技術の2番目の適用分野としては、基板の自動配線がある。分散自動配線は基板配線ソフトウェアにとって長年の夢であった。

この並行設計技術は、分散型自動配線での最も大きな問題、すなわち競合をいかに回避あるいは解決するかという問題に対する解決策を提供するための構造を備え ている。

並行自動配線には、システム内の最も低速な要素が設計者である並行レイアウトに必要とされるものをはるかに超えたデータおよびプロセス 管理が必要となる。同時設計を行う際に必ず考慮しなければならない要素を以下に示す。

  • 接続のスケジューリング─正しく行うことにより、競合発生の可能性を削減することができる。セッション管理ソフトウェアには、競合の可能性を最小限に抑え るためには接続をどのように構成し、分散するべきかを決定するためのアルゴリズムが含まれている。
  • 更新頻度─初期の配線タスクでは、自動配線ツールが行う配線処理は非常に高速である。配線処理が進むにつれ、多くの場合1つの結 線にかかる時間は長くなる傾向にある。セッション・マネージャは配線完了の速度を監視し、生産性が最大となるよう更新と同期化の頻度を調整しなければなら ない。

期待されるパフォーマンス

初期のテストでは、非常に大規模、および複雑な基板において、コンピュータの数に対してのパフォーマンス比率は. 75となることが確認されている。これは、4台のクライアントを使って配線を行った場合、単一コンピュータの場合と比較し、3倍高速に配線が完了することを意味している。結果は設計ごとに異なる。

複数のアプリケーション、複数の設計者(クリックすると拡大表示します)複数のアプリケーション、複数の設計者(クリックすると拡大表示します)

同時フロントエンド/バックエンド設計は、コンカレント・エンジニアリングに全く新しい意味を与えるものである。部品の変更、ネットの名前変更、接続変更、FPGAのピン割り当て変更等のよくあるフォワード・アノテーション変更を効率的に管理できなくてはならない。

並行システム設計環境、すなわちシステム全体で編集イベントの管理、更新、同期が行われる環境は並行設計手法の究極の形である。この環境を使って自動的に管理できる関係が、システム全体には多く含まれている。例えば、コネクタのピン割り当ての変更は、2つの基板に即座に反映可能だ。システム設計に含まれる複数のフェーズを任意の時点で並列化できるだけでも、大幅な生産性の向上を行えることは確かである。

この革新的な並行設計技術は設計期間の短縮と品質向上を可能にする様々な機会を提供するものである。