PCB CoDesign
Como diz o ditado, muitas mãos tornam o trabalho mais leve. Um dos sonhos há muito acalentados pelos designers de placas é poder ter várias pessoas a trabalhar na mesma placa ao mesmo tempo. Embora esta tarefa possa não parecer demasiado complexa para um leigo – pegar no routing do Bob daquela parte da placa e trazê-lo para a minha cópia da placa – concretizá-la exige uma combinação de determinadas capacidades essenciais.
Estas incluem:
-
Um sistema que permita a vários designers aceder ao mesmo design de PCB, no qual possam trabalhar e guardar as suas próprias alterações sem afetar o trabalho de outros designers.
-
Um mecanismo para comparar com precisão e identificar diferenças entre versões da mesma placa.
-
Ferramentas que possam ser usadas para resolver diferenças detetadas, permitindo ao designer escolher quais alterações prevalecem.
-
Ferramentas que possam lidar automaticamente com um grande número de diferenças e resolvê-las sem criar conflitos.
Para resolver estas tarefas, o Altium Designer disponibiliza funcionalidades de PCB CoDesign que lhe permitem explorar as diferenças entre a revisão da placa que retirou do Workspace e a revisão mais recente disponível no Workspace da mesma placa. A funcionalidade de PCB CoDesign consegue detetar alterações nos dados armazenados no documento PCB: layout da PCB, propriedades dos objetos, empilhamento de camadas, regras de design e restrições.
Se forem detetados conflitos, pode escolher entre manter as suas alterações locais ou aceitar as alterações remotas do commit mais recente, e depois fazer a fusão para resolver com confiança a sobreposição de design.
As funcionalidades de PCB CoDesign são acedidas e operadas através do painel PCB CoDesign . É necessário que o projeto PCB esteja atualmente sob controlo de versões do Workspace ligado.
Fluxo de trabalho de comparação e fusão
Sempre que o Altium Designer deteta que o seu documento PCB está desatualizado (ou seja, alguém guardou o seu trabalho no Workspace desde que retirou o documento) ou em estado de conflito (ou seja, alguém guardou o documento no Workspace antes de ter guardado a sua própria versão editada e guardada desse documento, veja os detalhes abaixo), terá de efetuar uma atualização para a revisão mais recente da placa ou fazer a fusão para trazer essas alterações para a sua versão da placa. Isto pode ser feito da seguinte forma:
-
clicando no ícone de estado do VCS no painel Projects e selecionando o comando correspondente no menu apresentado:
-
Out of date – o comando Compare To Remote Document Version
-
Modified – o comando Compare To Remote Document Version
-
Conflict Prevention – o comando Compare To Remote Document Version & Merge
-
Conflict Detected – o comando Resolve Conflict: Compare To Remote Document Version & Merge
-
-
abrindo o painel PCB CoDesign e clicando no botão Compare, Compare To Remote Document Version ou Compare & Merge
-
para um documento PCB no estado Modified , usando o comando Local Changes to Remote Document Version no menu de contexto com o botão direito da entrada do documento History & Version Control » Compare To no painel Projects ou o comando Projects » History & Version Control » Compare To do menu principal
-
para um documento PCB no estado Conflict Detected , usando o comando Compare To Remote Version & Merge no menu de contexto com o botão direito da entrada do documento History & Version Control » Resolve Conflict no painel Projects
-
clicando no botão Compare ou Compare & Merge na notificação apresentada na parte inferior da área de design.
Assim que a comparação estiver concluída, as diferenças detetadas serão listadas no painel PCB CoDesign . A lista apresenta as diferenças detetadas entre a revisão base do documento PCB (a revisão que retirou) e a revisão mais recente no Workspace (com alterações efetuadas por outro utilizador).
A lista de diferenças é agrupada por categorias: Rules, Components, Polygon pours, Copper, etc. Expanda uma categoria para ver a lista de diferenças específicas nessa categoria, isto é, que objetos nessa categoria foram adicionados, modificados e/ou removidos:
-
– o objeto foi adicionado na revisão mais recente
-
– o objeto foi modificado na revisão mais recente
-
– o objeto foi removido da revisão mais recente
Para uma diferença do tipo Modified, também pode passar o cursor sobre a respetiva entrada ou expandi-la para ver detalhes sobre a modificação.
Pode percorrer a lista de diferenças utilizando as teclas Up Arrow / Down Arrow . Quando uma categoria de diferenças estiver selecionada, prima Spacebar para a expandir/recolher.
Pode fazer cross-probing a partir das diferenças listadas no painel PCB CoDesign para a área de design do editor PCB.
-
Clique numa categoria da lista no painel PCB CoDesign para destacar as alterações dessa categoria na área de design.
-
Clique numa alteração específica da lista no painel PCB CoDesign para destacar apenas essa alteração na área de design.
-
Utilize as técnicas
Shift+Clicke/ouCtrl+Clickpara selecionar várias entradas no painel.
A codificação por cores permite-lhe ver que objetos foram adicionados, modificados, removidos ou não alterados (objetos inalterados de uma ligação pino a pino quando esta está selecionada no painel PCB CoDesign).
Utilize as definições acedidas ao clicar no controlo
no topo do painel para configurar a apresentação das alterações.
-
Ative a opção Show on PCB (atalho:
Ctrl+Shift+A) para destacar as diferenças na área de design do documento PCB. -
Quando a opção Show on PCB estiver ativada, também pode ativar a opção Zoom selected object para fazer cross-probing para o objeto afetado na área de design ao clicar numa entrada de diferença no painel PCB CoDesign . Utilize o controlo deslizante para ajustar o fator de zoom usado para aproximar o objeto selecionado.
Também pode alternar entre o estado atual e o estado antes de quaisquer alterações mantendo premido o atalho de teclado Shift+B . A dica no painel mostra qual o estado atualmente ativo.
Clique no botão
na parte inferior do painel para fundir todas as diferenças detetadas. Será apresentada uma janela pop-up a indicar que a fusão está em curso. Tenha em atenção que as diferenças serão fundidas na sua cópia de trabalho local do documento PCB, que deverá ser guardada no Workspace para ficar disponível para outros designers.
Quando as alterações forem fundidas, o estado VCS do documento PCB no painel Projects será alterado para Merged, com o ícone
. Clique no ícone para guardar o design no Workspace ou reverter as alterações locais.
O design também pode ser guardado no Workspace a partir do painel Projects, usando o controlo Save to Server junto ao nome do projeto, ou a partir do painel PCB CoDesign, usando o botão Save to Server .
Resolução de Conflitos
Outra forma de trabalhar é com uma comparação a 3 vias, que deve usar se outra pessoa também estiver a trabalhar na placa. Imagine o cenário em que tanto você como o seu colega Bob obtêm uma cópia da placa a partir do Workspace. Ambos trabalham na sua própria cópia da placa, posicionando e encaminhando componentes. O Bob termina a área da placa pela qual é responsável e guarda-a de volta no Workspace. Ao mesmo tempo, você também trabalha na sua área da placa e guarda as alterações localmente. Isto cria uma situação de conflito que pode ser tratada com o painel PCB CoDesign .
Para iniciar a comparação, pode clicar no ícone de estado VCS Conflict Prevention ou Conflict Detected no painel Projects e selecionar, respetivamente, o comando Compare To Remote Document Version & Merge ou Resolve Conflict: Compare To Remote Document Version & Merge no menu apresentado, ou clicar no botão Compare & Merge no painel PCB CoDesign . Assim que a comparação terminar, a lista das diferenças detetadas será apresentada no painel, juntamente com os conflitos detetados listados na parte inferior do painel.
Pode fazer cross-probing a partir dos conflitos listados no painel PCB CoDesign para o espaço de design do editor PCB.
-
Clique numa categoria da lista no painel PCB CoDesign para realçar os conflitos dessa categoria no espaço de design.
-
Clique num conflito específico na lista no painel PCB CoDesign para realçar apenas esse conflito no espaço de design.
-
Use as técnicas
Shift+Clicke/ouCtrl+Clickpara selecionar várias entradas no painel.
Para cada conflito detetado, ou para todos os conflitos detetados numa categoria específica, pode escolher se devem ser aplicadas as suas alterações locais (Local) ou as alterações do commit mais recente no Workspace (Remote) . Também pode aplicar rapidamente a definição pretendida a todas as entradas de alteração atualmente selecionadas. Para tal, selecione as entradas necessárias usando as técnicas Shift+Click e/ou Ctrl+Click e, em seguida, escolha a definição pretendida para uma entrada da seleção. Em alternativa, use a lista pendente na área de faixa na parte superior da região de conflitos detetados para selecionar de uma só vez o modo pretendido para todos os conflitos detetados.
Pode percorrer a lista de conflitos usando as teclas Up Arrow / Down Arrow . Use as teclas Left Arrow/ Right Arrow para alternar entre modos (Combined/Local/Remote) para o conflito selecionado. Quando estiver selecionada uma categoria de conflitos, prima Spacebar para a expandir/recolher.
Depois de escolhido o modo pretendido para todos os conflitos, pode fundir as alterações na sua cópia local do documento PCB.
).