PCB共同設計
概略
- Workspaceへの接続、バージョン管理の条件、サポートされるリポジトリ構成など、PCB CoDesignを使用するための要件を学びます。
- ローカルとリモートのPCBリビジョンを比較し、検出された差分を調べ、パネルのツールを使って設計スペース内で変更を確認する方法を紹介します。
- ローカルの変更を保持する場合、リモートの更新を受け入れる場合、マージ結果をWorkspaceに保存する場合など、競合やマージの処理方法を理解します。
「人手が多ければ仕事は楽になる」ということわざがあります。基板設計者が長年抱いてきた夢の1つは、複数の人が同じ基板で同時に作業できるようになることです。専門家でなければ、この作業はそれほど複雑には思えないかもしれません。たとえば、Bobが基板のある部分で行った配線を、自分の基板のコピーに取り込むだけ、といった具合です。しかし、これを実現するには、いくつかの重要な機能を組み合わせる必要があります。
具体的には、次のような機能です。
-
複数の設計者が同じPCB設計にアクセスし、他の設計者の作業に影響を与えずに作業して、自分の変更を保存できるシステム。
-
同じ基板の異なるバージョンを正確に比較し、差分を特定する仕組み。
-
検出された差分を解決し、誰の変更を優先するかを設計者が選択できるツール。
-
大量の差分を自動的に処理し、競合を発生させずに解決できるツール。
これらの課題を解決するため、Altium DesignerにはPCB CoDesign機能が用意されています。この機能を使用すると、Workspaceからチェックアウトした基板のリビジョンと、Workspaceにある同じ基板の最新リビジョンとの差分を確認できます。PCB CoDesign機能は、PCBドキュメントに保存されているデータの変更を検出できます。対象には、PCBレイアウト、オブジェクトのプロパティ、レイヤースタック、デザインルール、制約が含まれます。
競合が検出された場合は、ローカルの変更を保持するか、最新のコミットに含まれるリモートの変更を受け入れるかを選択し、その後マージすることで、設計の重複箇所を確実に解決できます。
PCB CoDesign機能へのアクセスと操作は、PCB CoDesign パネルから行います。PCBプロジェクトが、現在接続しているWorkspaceのバージョン管理下にある必要があります。
比較とマージのワークフロー
Altium Designerが、PCBドキュメントが最新ではない状態(ドキュメントのチェックアウト後に他のユーザーがWorkspaceに作業内容を保存した場合)、または競合状態(自分が編集してローカルに保存したドキュメントをWorkspaceに保存する前に、他のユーザーがそのドキュメントをWorkspaceに保存した場合。詳細は後述)であることを検出した場合は、基板を最新リビジョンに更新するか、マージを実行して、他のユーザーによる変更を自分の基板のバージョンに取り込む必要があります。これは、次の方法で実行できます。
-
ProjectsパネルのVCSステータスアイコンをクリックし、表示されるメニューから該当するコマンドを選択します。
-
Out of date – Compare To Remote Document Version コマンド
-
Modified – Compare To Remote Document Version コマンド
-
Conflict Prevention – Compare To Remote Document Version & Merge コマンド
-
Conflict Detected – Resolve Conflict: Compare To Remote Document Version & Merge コマンド
-
-
PCB CoDesignパネルを開き、Compare、Compare To Remote Document Version、またはCompare & Mergeボタンをクリックします。
-
Modified状態(
)のPCBドキュメントの場合は、Projectsパネルのドキュメント項目のHistory & Version Control » Compare To右クリックメニューからLocal Changes to Remote Document Versionコマンドを使用するか、メインメニューのProjects » History & Version Control » Compare Toコマンドを使用します。
-
Conflict Detected状態(
)のPCBドキュメントの場合は、Projectsパネルのドキュメント項目のHistory & Version Control » Resolve Conflict右クリックメニューからCompare To Remote Version & Mergeコマンドを使用します。
-
デザインスペースの下部に表示される通知で、CompareまたはCompare & Mergeボタンをクリックします。
比較が完了すると、検出された差分がPCB CoDesignパネルに一覧表示されます。この一覧には、PCBドキュメントのベースリビジョン(チェックアウトしたリビジョン)と、Workspace内の最新リビジョン(他のユーザーによる変更を含む)との間で検出された差分が表示されます。
差分の一覧は、Rules、Components、Polygon pours、Copperなどのカテゴリ別にグループ化されています。カテゴリを展開すると、そのカテゴリ内の具体的な差分、つまり追加、変更、削除されたオブジェクトの一覧を確認できます。
-
– 最新リビジョンで追加されたオブジェクト
-
– 最新リビジョンで変更されたオブジェクト
-
– 最新リビジョンで削除されたオブジェクト
Modifiedタイプの差分の場合は、その項目にカーソルを合わせるか、項目を展開することで、変更の詳細を確認することもできます。
Up Arrow / Down Arrowキーを使用して、差分の一覧内を移動できます。差分のカテゴリを選択した状態でSpacebarを押すと、そのカテゴリを展開または折りたたむことができます。
PCB CoDesignパネルに表示されている差分から、PCBエディターのデザインスペースへクロスプローブできます。
-
PCB CoDesignパネルの一覧でカテゴリをクリックすると、そのカテゴリの変更がデザインスペースでハイライト表示されます。
-
PCB CoDesignパネルの一覧で特定の変更をクリックすると、その変更だけがデザインスペースでハイライト表示されます。
-
Shift+ClickやCtrl+Clickの操作を使用すると、パネル内の複数の項目を選択できます。
色分けにより、追加、変更、削除されたオブジェクト、または変更されていないオブジェクト(PCB CoDesignパネルでピン間接続を選択した際の、その接続内の未変更オブジェクト)を確認できます。
パネル上部の
コントロールをクリックして表示される設定を使用して、変更の表示方法を設定します。
-
Show on PCBオプション(ショートカット:
Ctrl+Shift+A)を有効にすると、PCBドキュメントのデザインスペースで差分がハイライト表示されます。 -
Show on PCBオプションが有効な場合は、Zoom selected objectオプションも有効にできます。これにより、PCB CoDesignパネルの差分項目をクリックすると、デザインスペース内の該当オブジェクトへクロスプローブできます。スライダーを使用して、選択したオブジェクトにズームインする際の倍率を調整します。
Shift+Bキーボードショートカットを押し続けることで、現在の状態と変更前の状態を切り替えることもできます。パネル内のヒントには、現在どちらの状態が表示されているかが示されます。
パネル下部の
ボタンをクリックすると、検出されたすべての差分がマージされます。マージ中であることを示すポップアップが表示されます。差分はPCBドキュメントのローカル作業コピーにマージされるため、他の設計者が利用できるようにするには、Workspaceに保存する必要があります。
変更がマージされると、Projectsパネル内のPCBドキュメントのVCSステータスがMergedに変わり、
アイコンが表示されます。このアイコンをクリックすると、設計をWorkspaceに保存するか、ローカルの変更を元に戻すことができます。
設計は、Projectsパネルでプロジェクト名の横にあるSave to Serverコントロールを使用するか、PCB CoDesignパネルでSave to Serverボタンを使用して、Workspaceに保存することもできます。
競合の解決
もう1つの作業方法は3方向比較で、他のユーザーも同じ基板で作業している場合に使用します。自分と同僚のBobが、それぞれWorkspaceから基板のコピーをチェックアウトする場面を考えてみましょう。2人はそれぞれ自分の基板コピーで部品の配置と配線を行います。Bobは担当領域の作業を終え、基板をWorkspaceに保存します。同時に、自分も担当領域で作業を進め、変更をローカルに保存します。これにより競合が発生しますが、PCB CoDesignパネルで対処できます。
比較を開始するには、ProjectsパネルでConflict Prevention(
)またはConflict Detected(
)のVCSステータスアイコンをクリックし、表示されるメニューからそれぞれCompare To Remote Document Version & MergeまたはResolve Conflict: Compare To Remote Document Version & Mergeコマンドを選択します。または、PCB CoDesignパネルのCompare & Mergeボタンをクリックします。比較が完了すると、検出された差分の一覧がパネルに表示され、検出された競合がパネル下部に表示されます。
PCB CoDesignパネルに一覧表示された競合から、PCBエディターのデザインスペースへクロスプローブできます。
-
PCB CoDesignパネルの一覧でカテゴリをクリックすると、そのカテゴリの競合がデザインスペースでハイライト表示されます。
-
PCB CoDesignパネルの一覧で特定の競合をクリックすると、その競合のみがデザインスペースでハイライト表示されます。
-
Shift+ClickやCtrl+Clickの操作方法を使用して、パネル内の複数の項目を選択します。
検出された競合ごと、または特定のカテゴリ内のすべての競合について、ローカルの変更(Local)とWorkspace内の最新コミットの変更(Remote)のどちらを適用するかを選択できます。また、現在選択されているすべての変更項目に、必要な設定をすばやく適用することもできます。これを行うには、Shift+ClickやCtrl+Click を使用して必要な項目を選択し、選択した項目のいずれかで目的の設定を選択します。または、検出された競合領域の上部にあるバナー内のドロップダウンを使用して、検出されたすべての競合に対するモードを一括で選択できます。
Up Arrow / Down Arrow キーを使用して、競合のリスト内を移動できます。Left Arrow/ Right Arrow キーを使用すると、選択した競合のモード(Combined/Local/Remote)を切り替えられます。競合のカテゴリが選択されている場合は、Spacebar を押して展開または折りたたみます。
すべての競合に対して目的のモードを選択したら、変更をPCBドキュメントのローカルコピーにマージできます。








)。







