PCB共同設計

ことわざにもあるように、「三人寄れば文殊の知恵」です。基板設計者が長年抱いてきた夢のひとつは、複数人が同じ基板を同時に作業できるようにすることです。この作業は、門外漢にはそれほど複雑に見えないかもしれません――「基板のあの部分のBobの配線を取り込んで、自分の基板コピーに反映する」といった具合です。しかし、それを実現するには、いくつかの重要な機能を組み合わせて提供する必要があります。

これらには次のものが含まれます。

  • 複数の設計者が同じPCB設計にアクセスでき、他の設計者の作業に影響を与えることなく各自の変更を加えて保存できるシステム。

  • 同一基板のバージョン間の差分を正確に比較し、相違点を特定できる仕組み。

  • 検出された差分を解決し、どちらの変更を採用するかを設計者が選べるツール。

  • 多数の差分を自動的に処理し、競合を発生させずに解決できるツール。

これらの課題を解決するために、Altium Designer には PCB CoDesign 機能が用意されており、Workspace からチェックアウトした基板リビジョンと、同じ基板の Workspace 上の最新リビジョンとの差分を確認できます。PCB CoDesign 機能は、PCBドキュメントに保存されているデータの変更(PCBレイアウト、オブジェクトプロパティ、レイヤースタック、デザインルール、制約)を検出できます。

競合が検出された場合は、ローカルの変更を保持するか、最新コミットのリモート変更を受け入れるかを選択し、そのうえでマージして、設計の重なりを確実に解消できます。

PCB CoDesign 機能は PCB CoDesign パネルからアクセスして操作します。使用するには、PCBプロジェクトが接続された Workspace のバージョン管理下にある必要があります。

PCB CoDesign 機能は、Advanced Settings dialogPCB.CollaborativeEditing オプションが有効になっている場合に利用できます。

  • この機能を使用するには Workspace に接続している必要があります。

  • なお、サポートされるのは Git リポジトリでホストされているプロジェクトのみです。SVN リポジトリでホストされているプロジェクトで PCB CoDesign 機能を活用するには、まず Git リポジトリへ移行する必要があります。プロジェクトが外部 SVN リポジトリに保存され、Simple Sync 構成で Altium 365 Workspace にミラーされている場合、または Enterprise Server Workspace の Version Control Service を通じて管理される SVN リポジトリに保存されている場合は、このプロジェクトを Workspace 内蔵の Git リポジトリへ移行できます。詳細は Moving from External VCS to Workspace Native VCS および Moving from the Workspace's SVN to the Workspace's Git を参照してください。

  • PCB CoDesign 機能を使用する設計者は、同じ Altium Designer バージョンを使用することが推奨されます。

PCB CoDesign パネル下部の Leave Feedback コントロールを使用すると、PCB CoDesign 機能に関する提案や問題点を Altium Developers に直接フィードバックできます。

比較とマージのワークフロー

Altium Designer が、PCBドキュメントが最新ではない(つまり、あなたがドキュメントをチェックアウトして以降に誰かが Workspace に作業を保存した)状態、または競合状態(つまり、あなたがそのドキュメントの編集・保存済みバージョンを保存する前に、誰かがそのドキュメントを Workspace に保存した状態、see details below)であることを検出した場合、基板の最新リビジョンへ更新するか、マージして相手の変更を自分の基板バージョンに取り込む必要があります。これは次の方法で実行できます。

  • Projects パネルの VCS ステータスアイコンをクリックし、表示されるメニューから該当コマンドを選択します。

    • Out of date () – Compare To Remote Document Version command

    • Modified () – Compare To Remote Document Version command

    • Conflict Prevention () – Compare To Remote Document Version & Merge command

    • Conflict Detected () – Resolve Conflict: Compare To Remote Document Version & Merge command

  • PCB CoDesign パネルを開き、CompareCompare To Remote Document Version、または Compare & Merge ボタンをクリックします。

  • PCBドキュメントが Modified 状態()の場合は、Projects パネルのドキュメント項目の History & Version Control » Compare To 右クリックメニューから Local Changes to Remote Document Version コマンドを使用するか、メインメニューの Projects » History & Version Control » Compare To command を使用します。

  • PCBドキュメントが Conflict Detected 状態()の場合は、Projects パネルのドキュメント項目の History & Version Control » Resolve Conflict 右クリックメニューから Compare To Remote Version & Merge コマンドを使用します。

  • 設計スペース下部に表示される通知内の Compare または Compare & Merge ボタンをクリックします。

Javascript ID: PCBCoDesign_CompareMerge_AD24_7

比較が完了すると、検出された差分が PCB CoDesign パネルに一覧表示されます。この一覧には、PCBドキュメントのベースリビジョン(チェックアウトしたリビジョン)と、Workspace 上の最新リビジョン(別ユーザーが行った変更を含む)との間で検出された差分が表示されます。

比較の進行中は、比較プロセス中に表示されるポップアップの Cancel ボタンをクリックするか、Esc ショートカットを使用して比較をキャンセルできます。

差分一覧はカテゴリ(RulesComponentsPolygon poursCopper など)ごとにグループ化されています。カテゴリを展開すると、そのカテゴリにおける具体的な差分、つまりどのオブジェクトが追加・変更・削除されたかを確認できます。

  •   – オブジェクトが最新リビジョンで追加された

  •   – オブジェクトが最新リビジョンで変更された

  •   – オブジェクトが最新リビジョンから削除された

Modified タイプの差分については、項目にカーソルを合わせるか展開することで、変更内容の詳細も確認できます。

Up Arrow / Down Arrow キーを使用して差分一覧を移動できます。差分カテゴリが選択されている場合は、Spacebar を押して展開/折りたたみできます。

PCB CoDesign パネルに一覧表示された差分から、PCBエディタの設計スペースへクロスプローブできます。

  • PCB CoDesign パネルの一覧でカテゴリをクリックすると、設計スペース内でそのカテゴリの変更がハイライト表示されます。

  • PCB CoDesign パネルの一覧で特定の変更をクリックすると、設計スペース内でその変更のみがハイライト表示されます。

  • Shift+Click および/または Ctrl+Click の操作で、パネル内の複数項目を選択できます。

色分けにより、追加・変更・削除・未変更(PCB CoDesign パネルで選択した際のピン間接続における未変更オブジェクト)を判別できます。

比較時の色は、View Configuration panel で設定できます。具体的には、パネルの Layers & Colors タブ()の System Colors 領域にある Not Changed / Modified Comparison Colors および Added / Removed Comparison Colors 項目のカラースウォッチを使用します。

パネル上部の コントロールをクリックして開く設定から、変更表示の方法を構成します。

  • Show on PCB オプション(ショートカット:Ctrl+Shift+A)を有効にすると、PCBドキュメントの設計スペースで差分がハイライト表示されます。

  • Show on PCB オプションが有効な場合、さらに Zoom selected object オプションを有効にすると、PCB CoDesign パネルで差分項目をクリックした際に、設計スペース内の該当オブジェクトへクロスプローブできます。スライダーで、選択オブジェクトへ寄る際のズーム倍率を調整します。

  • 大きなネット(Copper カテゴリに表示)での変更を理解しやすくするため、ネット内の銅箔オブジェクトは、より小さなエンティティ(ピン間接続)に分割されます。

    This feature is available when the PCB.CollaborativeEditing.Connections option is enabled in the Advanced Settings dialog.

    Javascript ID: Pnl_PCBCoDesign_Pin2Pin_AD25_2
  • PCB CoDesign 機能は、unions(PCB上のプリミティブを定義したグルーピング)の比較および変更適用をサポートします。Union に関連する変更は、PCB CoDesign パネルの変更一覧の Unions カテゴリに表示されます。また、他カテゴリの変更も、該当オブジェクトがいずれかの union に属している場合は union 単位でグループ化されます。

  • 同一のオブジェクトプロパティが両側で変更され、かつプロパティ値に競合がない場合、これらの変更は競合を生成せず、マージできます。

また、Shift+B キーボードショートカットを押し続けることで、現在の状態と変更前の状態を切り替えることもできます。パネル内のヒントには、現在どちらの状態がアクティブかが表示されます。

コントロールのポップアップで Zoom selected object オプションを有効にすると、Shift+B ショートカット使用時に、設計スペースがズームして変更箇所に対応する領域も表示します。

Javascript ID: PCBCoDesign_States_24_7

パネル下部の ボタンをクリックして、検出されたすべての差分をマージします。マージ処理中であることを示すポップアップが表示されます。差分はPCBドキュメントのローカル作業コピーにマージされ、他の設計者が利用できるようにするには、Workspaceに保存する必要がある点に注意してください。

変更がマージされると、Projects パネル内のPCBドキュメントのVCSステータスはMergedに変更され、 アイコンが表示されます。アイコンをクリックして、設計をWorkspaceに保存するか、ローカル変更を取り消します。

設計は、プロジェクト名の横にあるSave to Server コントロールを使用してProjects パネルからWorkspaceに保存することも、PCB CoDesign パネルでSave to Server ボタンを使用して保存することもできます。

  • PCBドキュメントは、新たな競合が発生するまでMerged 状態のままです。ローカルで変更を保存しても、状態はModifiedには変わりません。

  • 比較結果が現在PCB CoDesign パネルに表示されているときに、別のユーザーがプロジェクトをWorkspaceに保存した場合、またはあなたがPCBをローカルで変更した場合、比較の更新が必要である旨の通知がPCB CoDesign パネルに表示され、比較データを更新するボタンが提示されます。

     

  • PCB CoDesign パネルのSave to Server ボタン、またはProjects パネルのMerged アイコンからSave to Server コマンドを使用する場合、表示されるSave to Server ダイアログでは、デフォルトでWorkspaceへの保存対象としてマージ済みPCBドキュメントのみが選択される点に注意してください。Merged 状態のドキュメントは、Save to Server ダイアログで常にWorkspaceへの保存が有効になっており、無効化できません。必要に応じて、Workspaceに保存する他のドキュメントを選択してください。

  • Gitのバージョン管理の観点では、Merged ステータスは依然として競合であり、プロジェクトをWorkspaceに保存した後に解決されます(競合マージ時のGitの動作によるものです)。

  • 必要に応じて、マージが成功した後にパネルに表示される ボタンを使用して、マージ結果を取り消します。

競合解決

別の作業方法として3-way比較があります。これは、他の誰かもボードで作業している場合に使用します。あなたと同僚のBobが、Workspaceからボードのコピーをチェックアウトするシナリオを想像してください。2人ともそれぞれのボードコピーで作業し、部品配置や配線を行います。Bobは担当エリアの作業を終えてWorkspaceに保存します。同時に、あなたも担当エリアで作業し、変更をローカルに保存します。これにより競合が発生し、PCB CoDesign パネルで対処できます。

比較を開始するには、Projects パネルのVCSステータスアイコンConflict Prevention ()またはConflict Detected ()をクリックし、表示されるメニューからそれぞれ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 の操作で必要なエントリを選択し、選択内のいずれかのエントリに対して希望する設定を選びます。あるいは、検出された競合領域の上部にあるバナー領域のドロップダウンを使用して、検出されたすべての競合に対するモードを一括で選択します。

  • 競合しているポリゴンプアについては、2つの競合オブジェクトを単一のポリゴンプア(Combined)に結合することもできます。 

  • 競合している銅(Copper)オブジェクトについては、各ピン間接続ごとにローカル変更とリモート変更のどちらを適用するかを選択できます。

Up Arrow / Down Arrow キーで競合リストを移動できます。Left ArrowRight Arrow キーで、選択した競合のモード(Combined/Local/Remote)を切り替えます。競合カテゴリが選択されている場合は、Spacebar を押して展開/折りたたみを行います。

すべての競合に対して希望するモードを選択したら、変更をPCBドキュメントのローカルコピーにマージできます。

  • ポリゴンプアをマージしてCombined または Remote オプションを選択する場合、マージされたポリゴンは再プア(repour)が必要になる点に注意してください(例えば、デザインスペースでポリゴンを右クリックし、コンテキストメニューからPolygon Actions » Repour Selected を選択して実行できます)。 Preferences ダイアログのPCB Editor – General pageRepour Polygons After Modification オプションが有効になっている場合、マージ後にポリゴンプアは自動的に再プアされます。

  • 検出された競合を一覧表示する際、次のプロパティは無視されます。

    • ポリゴンプアのPourIndex プロパティ。

    • コンポーネントのChannelOffset プロパティ。

    • ルールのRulePriority プロパティ。

AI-LocalizedAI で翻訳
問題が見つかった場合、文字/画像を選択し、Ctrl + Enter キーを押してフィードバックをお送りください。
機能の提供状況

ご利用可能な機能は、お使いのAltiumソリューション(Altium DevelopAltium Agile TeamsAltium Agile Enterprise、または有効な契約期間中のAltium Designer)によって異なります。

実際にお使いのソフトウェアに文書化されている機能が表示されない場合は、詳細についてAltium Sales までお問い合わせください。

従来のドキュメント

Altium Designer のドキュメントは、バージョンごとに掲載されなくなりました。Altium Designer の旧バージョンのドキュメントは、Other Installers ページの Legacy Documentation の項目をご覧ください。

Content