Swapping Pins, Pairs and Parts in a Design

A capacidade de trocar pinos de componentes num projeto pode fazer uma enorme diferença na complexidade do desafio de layout e pode ajudar a reduzir o número de camadas (e, consequentemente, o custo) da PCB. Infelizmente, o Engenheiro de Layout pode não dispor de toda a informação necessária para configurar de forma inteligente as definições de troca de pinos, uma vez que nem sempre pode assumir que conhece totalmente a intenção do projetista. Idealmente, a pessoa que capturou o projeto também deve participar na configuração dos dados de Pin Swapping, para garantir que a intenção do projeto e as restrições são capturadas com precisão.

Em harmonia com as capacidades de encaminhamento interativo e de escape routing de BGA do Altium Designer, existe o sistema de troca de pinos, pares diferenciais e partes. Esta funcionalidade oferece todas as vantagens dos sistemas tradicionais de troca de pinos, mas tira partido do conhecimento profundo do Altium Designer sobre as atribuições de nets no projeto. Durante uma operação de troca de pinos, o Altium Designer analisa a net atribuída ao pino escolhido e reatribui dinamicamente a net no pino e em qualquer cobre ligado.

Este nível de funcionalidade significa que podem ser trocadas nets parcialmente encaminhadas e escapes multicamada pré-encaminhados de dispositivos BGA complexos. Os pares diferenciais também podem ser trocados, tirando partido do conhecimento sobre pares diferenciais de pinos em FPGAs.

Ao nível da PCB, o sistema inclui um poderoso otimizador automático que utiliza esta informação para reatribuir dinamicamente nets, de modo a melhorar a capacidade de encaminhamento. Por exemplo, o sistema pode efetuar uma religação em vários dispositivos que tenham sido submetidos a escape routing em múltiplas camadas. Irá atribuí-los com base na correspondência das camadas de escape routing, na menor distância de encaminhamento Manhattan e no número mínimo de cruzamentos em cada camada.

A adição da troca de nets parcialmente encaminhadas, em conjunto com o otimizador automático, dá-lhe a capacidade de adotar uma estratégia de encaminhamento hierárquica e iterativa, encaminhando primeiro os dispositivos em escape routing, depois encaminhando até à extremidade de uma determinada área, acabando por ligar essas secções entre si. Em qualquer momento, o permutador automático pode ser executado novamente para reotimizar, com base na informação atualizada fornecida pelas nets parcialmente encaminhadas.

Existem três categorias de troca:

  • Troca de Pinos
  • Troca de Pares Diferenciais
  • Troca de Subpartes.

Configurar Grupos de Troca

Para cada categoria de troca, swap groups determinam o que pode e o que não pode ser trocado dentro de um componente. No caso da troca de pinos, os pinos dentro de um componente que partilham um pin group comum podem ser trocados entre si. De forma semelhante, para a troca de pares e de partes, são os valores de pair group e part group que determinam se um par diferencial ou uma subparte pode ser trocado, respetivamente. Os grupos de troca de um componente são configurados na caixa de diálogo Configure Pin Swapping, mostrada na imagem abaixo. Pode aceder-lhe das seguintes formas:

  • Num documento PCB, clique com o botão direito no componente e depois selecione Component Actions » Configure Pin/Part Swapping.
  • Num documento esquemático, clique com o botão direito no componente e depois selecione Part Actions » Configure Pin Swapping.
  • Num documento esquemático, clique no botão Configure Component na parte inferior da caixa de diálogo Configure Swapping Information In Components (Tools » Configure Pin Swapping).
  • Num documento PCB, clique no botão Configure Component na parte inferior da caixa de diálogo Configure Swapping Information In Components (Tools » Pin/Part Swapping » Configure).
  • Faça duplo clique em qualquer um dos componentes na caixa de diálogo Configure Swapping Information In Components.

Grupos de Pinos

Um pino de componente pode ser trocado com outro pino desse componente quando pertence ao mesmo pin group (tem o mesmo valor de pin group). O pin group é um atributo de cada pino no componente e o seu valor pode ser qualquer cadeia alfanumérica. Os pin groups para todo o componente são configurados na caixa de diálogo Configure Pin Swapping dialog.

Esquemático que contém um componente Dual 5-Input Positive-NOR Gate. Cada um dos pinos de entrada de qualquer uma das subpartes é logicamente equivalente e representa uma situação ideal para troca de pinos.Esquemático que contém um componente Dual 5-Input Positive-NOR Gate. Cada um dos pinos de entrada de qualquer uma das subpartes é logicamente equivalente e representa uma situação ideal para troca de pinos.

Considere o esquemático mostrado na imagem acima, que contém as duas portas NOR de 5 entradas para o componente SNJ54S260. Cada uma das nets, INA0 a INA4, pode ser trocada entre si devido à natureza da porta NOR. De forma semelhante, cada uma das nets INB0 a INB4 pode ser trocada, no entanto uma net INAx não pode ser trocada com uma net INBx.

As restrições de troca para a porta NOR são definidas na caixa de diálogo Configure Pin Swapping. Atribuir às nets INAx o grupo de troca 1, e às nets INBx o grupo de troca 2, garante que a troca só será efetuada pelo sistema de uma forma consistente com a lógica do componente. Deixar o valor de Pin Group de um pino vazio indica que o pino não está disponível para troca.

Grupos de Partes e IDs de Sequência

É comum um componente ser constituído por várias subpartes funcionalmente equivalentes. A troca de partes permite trocar as nets dessas subpartes equivalentes. Considere novamente o componente apresentado na imagem acima. Ambas as portas NOR oferecem funcionalidade idêntica e as nets (INA0, INA1, INA2, INA3, INA4, OUTA) podem ser trocadas pelas nets (INB0, INB1, INB2, INB3, INB4, OUTB).

A troca de partes de um componente é configurada com os atributos part group e sequence ID. Ambos são atributos de texto e estão acessíveis no separador Part Swapping da caixa de diálogo Configure Pin Swapping dialog, conforme mostrado abaixo. A imagem abaixo também apresenta as definições de part group e sequence ID correspondentes ao componente mostrado na imagem acima. O atributo part group indica quais as subpartes que podem ser trocadas entre si. As duas subpartes podem ser trocadas e, consequentemente, na imagem abaixo, os respetivos part groups recebem o mesmo valor, 1.

O atributo sequence ID determina a equivalência dos pinos entre subpartes permutáveis. No exemplo da porta NOR é importante que os pinos de entrada não sejam trocados com os pinos de saída quando ocorre uma troca de partes. A imagem abaixo mostra que os sequence ID estão definidos de modo que OUTA troque com OUTB, INA0 troque com INB0, INA1 troque com INB1, e assim sucessivamente.

Configuração de grupos de troca de partes na caixa de diálogo Configure Pin Swapping para um componente Dual 5-Input NOR Gate.Configuração de grupos de troca de partes na caixa de diálogo Configure Pin Swapping para um componente Dual 5-Input NOR Gate.

Tenha em atenção que a troca de partes só está disponível para componentes concebidos como subpartes, uma vez que se baseia na troca de todas as nets entre duas subpartes.

Grupos de Pares

A troca de pares diferenciais é controlada pelo valor de pair group para um par diferencial. O atributo pair group é acedido no separador Differential Pair Swapping da caixa de diálogo Configure Pin Swapping dialog. Existem três modos no separador Differential Pair Swapping que podem ser definidos acedendo à lista pendente no canto inferior esquerdo.

  • Show All Pins – o sistema apresentará todos os pinos do componente.

  • Show Pairs From Directives – o sistema utilizará as differential pair directives colocadas no esquemático para preencher os pares diferenciais na tabela.

    Quando a opção Show All Pins é selecionada na caixa de diálogo, todos os pinos que pertencem aos pares diferenciais que podem ser trocados têm de ser atribuídos ao mesmo grupo de pares.

Configuração de grupos de troca de pares na caixa de diálogo Configure Pin Swapping.Configuração de grupos de troca de pares na caixa de diálogo Configure Pin Swapping.

Controlar como as trocas são executadas no esquemático

No editor PCB, as trocas de pinos, pares e partes são efetuadas trocando as nets nos pads dos componentes e no cobre correspondente. Quando as alterações são integradas nos esquemáticos, há duas formas de tratar uma troca de pinos: trocando os pinos no símbolo do componente, ou trocando as etiquetas de net nos fios ligados aos pinos. Cada abordagem tem as suas vantagens e desvantagens.

A troca dos pinos funcionará sempre no esquemático, mas pode significar que esta instância do símbolo do componente já não é igual à forma como foi definida na biblioteca. Nesta situação, isso significa que o símbolo não pode ser atualizado a partir da biblioteca, e também significa que outras instâncias do mesmo componente neste projeto terão uma disposição de pinos diferente. Assim, esta abordagem é ideal para componentes simples, como arrays de resistências.

Efetuar a troca no esquemático através da troca de etiquetas de net só pode ser feito se a conectividade for estabelecida através dessas etiquetas e se os pinos não estiverem ligados diretamente entre si. A vantagem desta abordagem é que o símbolo do componente não muda e pode ser atualizado a partir da biblioteca numa data posterior. Esta abordagem é a melhor escolha para um componente complexo, como um FPGA, em que mover fisicamente dois pinos no símbolo poderia fazer com que um símbolo baseado em bancos de E/S fosse apresentado incorretamente.

Pode determinar como as trocas são executadas escolhendo as opções Adding / Removing Net-Labels ou Changing Schematic Pins na secção Allow Pin Swapping Using these Methods da caixa de diálogo Project Options - Options, conforme mostrado abaixo.

Estas opções do projeto controlam a forma como as trocas de pinos são atualizadas nos documentos esquemáticos. Estas opções do projeto controlam a forma como as trocas de pinos são atualizadas nos documentos esquemáticos.

Ativar a troca de pinos, pares e partes na PCB

A capacidade de trocar pinos num projeto PCB é controlada pela opção Pin Swapping. Esta opção fica disponível sempre que efetua routing interativo. Para verificar e alternar a opção, selecione o comando Route » Interactive Routing e depois prima a tecla Tab para pausar o routing e aceder ao painel Properties, onde pode alternar o estado da opção Pin Swapping ().

Ao nível do componente, as opções de troca para um determinado componente PCB são configuradas no painel Properties panel, que apresenta as propriedades desse componente quando é selecionado na área de trabalho de design. As opções podem ser encontradas na região Swapping Options do separador General .

As opções de troca para componentes PCB também podem ser definidas através da caixa de diálogo Configure Swapping Information in Components , que lista todos os componentes utilizados no design (ou biblioteca) com as respetivas definições atuais de troca. Quando acedida a partir do editor PCB, a caixa de diálogo inclui uma coluna adicional para ativar/desativar a troca de cada componente na placa, denominada Enable in PCB.

A caixa de diálogo Configure Swapping Information in Components pode ser acedida a partir do Schematic Editor, Schematic Library Editor e PCB Editor, da seguinte forma:

  • Schematic Editor/Schematic Library Editor - escolhendo o comando Tools » Configure Pin Swapping nos menus principais.
  • PCB Editor - escolhendo o comando Tools » Pin/Part Swapping » Configure nos menus principais.

Os atributos swap group necessários para configurar a troca de pinos, pares e partes dentro de um componente são armazenados nos componentes esquemáticos. No entanto, esta informação é utilizada no editor PCB, e cada componente PCB tem uma opção para permitir a troca de pinos dos seus pinos. Por isso, pode ser mais fácil utilizar a caixa de diálogo a partir do PCB Editor.

Utilize a caixa de diálogo Configure Swapping Information in Components para definir rapidamente a troca entre componentes. A caixa de diálogo inclui um poderoso menu de clique direito, tornando muito fácil copiar rapidamente as definições de um componente para outro, ou ativar/desativar vários componentes com um único clique.

A caixa de diálogo Configure Swapping Information In Components .A caixa de diálogo Configure Swapping Information In Components .

Fazer duplo clique num componente na caixa de diálogo Configure Swapping Information in Components abrirá a caixa de diálogo Configure Pin Swapping dialog para esse componente, onde pode definir com maior controlo as definições de grupos de troca para pinos, pares diferenciais e subpartes.

Efetuar trocas de pinos, pares e partes

Troca interativa de pinos, pares e partes

A troca interativa permite trocar pinos, pares diferenciais ou subpartes, um de cada vez, no editor PCB. Os comandos de troca interativa encontram-se no submenu Tools » Pin/Part Swapping (os comandos Interactive Pin/Net Swapping, Interactive Differential-Pair Swapping e Interactive Part Swapping ). Depois de o comando ser selecionado no menu, tudo na área de trabalho de design PCB fica mascarado (esbatido), exceto as entidades que podem ser trocadas. Preste atenção ao Status Bar, pois este indicará a ação seguinte. Os passos necessários para efetuar uma troca são apresentados na linha de estado:

  1. O primeiro passo é selecionar um dos pinos realçados que se tornará a origem da troca de pinos. No caso da troca de pares ou partes, o par diferencial ou a subparte a que o pino pertence será subsequentemente trocado.

  2. O segundo passo é selecionar o pino de destino para a troca. No caso da troca de pares ou partes, este pino será representativo de um par diferencial ou de uma subparte.

    Existem duas condições que impedem que um pino permutável seja realçado: já existe uma ligação encaminhada para esse pino (verifique se existem ligações a power plane ou a polígonos) e/ou a opção Pin Swapping não está ativada (disponível no modo Interactive Routing do painel Preferences). 

As etapas da permuta interativa de partes do componente porta NOR dupla de 5 entradas são apresentadas nas duas imagens abaixo. Existem duas subpartes que podem ser permutadas, o que significa que cada um dos seus cinco pinos pode ser selecionado, como mostrado na imagem acima. O pino 8 está selecionado, correspondendo à subparte U2B. O sistema realça então os pinos da subparte U2A que podem ser permutados.

Primeira imagem, passo 1 - selecione um pino a permutar; os pinos disponíveis serão realçados. Segunda imagem, passo 2 - selecione um pino de destino.  Primeira imagem, passo 1 - selecione um pino a permutar; os pinos disponíveis serão realçados. Segunda imagem, passo 2 - selecione um pino de destino.

  • Não é necessário definir valores de Part Sequence para pinos de pares diferenciais; a definição do par diferencial especifica qual é o pino positivo no par e qual é o pino negativo.

  • As informações de permuta também aparecerão no painel Messages.

Otimizador Automático de Pinos/Redes

O Otimizador Automático de Pinos/Redes é uma ferramenta de duas fases. Selecione Tools » Pin/Part Swapping » Automatic Pin/Net Optimizer no menu do editor PCB para executar uma otimização automática.

O Otimizador Automático de Pinos/Redes executa primeiro um otimizador rápido de passagem única que tenta minimizar cruzamentos e comprimentos de ligações, mas que pode, na realidade, aumentá-los. Quando esta fase estiver concluída, ser-lhe-á perguntado se pretende executar o otimizador iterativo. O otimizador iterativo efetuará várias passagens numa tentativa de reduzir o número de cruzamentos e os comprimentos de ligação.

Passar as Alterações de Volta para o Esquemático

Quando configura o swap groups na caixa de diálogo Configure Pin Swapping, as edições que fizer são imediatamente aplicadas aos componentes do esquemático, independentemente de qual editor estava ativo quando o comando foi iniciado. No entanto, as alterações de projeto que resultam da execução de uma permuta de pinos, de pares diferenciais ou de subpartes no editor PCB são propagadas de volta para o esquemático usando o processo padrão Design Update.

Enviar as Alterações do PCB para o Esquemático

As permutas de pinos, pares e partes são passadas de volta para o esquemático da mesma forma que outras alterações de projeto são transferidas — selecionando Design » Update nos menus. Dependendo de como as opções Allow Pin-Swapping estão configuradas em Project Options - Options dialog, as permutas de pinos serão efetuadas da seguinte forma:

  • Alterar Nomes de Pinos - esta alteração moverá os pinos no símbolo. Os pinos não são realmente movidos no símbolo, mas será visualmente evidente que os dois pinos mudaram ou trocaram de posição.
  • Mover Pinos para Redes Diferentes - esta alteração trocará as etiquetas de rede nos fios ligados.
  • Alterar ID da Subparte - esta alteração mudará o índice da subparte quando for executada uma permuta de partes.

 

A primeira imagem mostra uma permuta de pinos resolvida no esquemático através da troca dos pinos. A segunda imagem mostra a permuta resolvida através da deslocação das etiquetas de rede.

Se o esquemático não for atualizado para mostrar os pinos ou partes permutados, prima a tecla End para atualizar a visualização.

Tirar Partido do Novo Sistema de Permuta de Pinos/Partes com Projetos FPGA

Para além das vantagens óbvias que a permuta inteligente de pinos, pares e partes proporciona, a capacidade de permutar sub-redes parcialmente encaminhadas acrescenta uma nova dimensão à permuta que é ideal para trabalhar com FPGAs de grande capacidade. A reatribuição dinâmica de redes permite-lhe usar um processo de projeto em várias fases com atribuições de pinos/redes progressivamente refinadas

Atribuição Inicial de I/O

Nesta fase, as atribuições de rede dos pinos das FPGAs e de outros dispositivos são configuradas da forma que for mais fácil ao nível do esquemático. Normalmente, isto significa simplesmente adicionar etiquetas de rede por ordem numérica do barramento aos pinos da FPGA. A funcionalidade Smart Paste no Editor Esquemático é ideal para isso.

Otimização Inicial das Ligações

O projeto pode ser transferido para o layout PCB, onde haverá muitos cruzamentos de ligações devido à atribuição aleatória ao nível do esquemático. A execução do comando Tools » Pin/Part Swapping » Automatic Net/Pin Optimizer , que utiliza informações de pinos e redes para reatribuir dinamicamente as redes e melhorar a capacidade de encaminhamento, proporcionará rapidamente uma grande redução no número de cruzamentos. Por exemplo, o sistema pode voltar a ligar vários dispositivos BGA que tenham sido encaminhados em escape em múltiplas camadas de um documento PCB. O resultado ainda não precisa de ser ideal, pois é usado principalmente para tornar as ligações mais fáceis de gerir visualmente ao nível do PCB.

Depois de iniciar o comando, é executado o Otimizador Automático de Pinos/Redes. Esta é uma ferramenta de duas fases que primeiro executa um otimizador rápido de passagem única que tenta minimizar cruzamentos e comprimentos de ligação, mas que pode, na realidade, aumentá-los. Quando esta fase estiver concluída, ser-lhe-á perguntado se pretende executar o otimizador iterativo. O otimizador iterativo efetuará várias passagens numa tentativa de reduzir o número de cruzamentos e os comprimentos de ligação. Os resultados da otimização são apresentados após a conclusão da execução do otimizador.

Escape Routing

O fanout e o escape routing podem agora ser efetuados em dispositivos grandes no PCB (clique com o botão direito do rato no componente para executar seletivamente o fanout/escape routing). Isto pode piorar as atribuições anteriormente otimizadas, mas isso não importa nesta fase.

Otimização das Ligações com Escape Routing

Execute novamente o otimizador automático. Desta vez, ele tirará partido das secções pré-encaminhadas de fanout/escape routing.

Encaminhamento Manual

Agora pode tratar as extremidades das rotas de escape como “alvos” para os quais encaminhar. Ignore as linhas de ligação reais, devido ao facto de poder encaminhar a partir das outras extremidades das redes em direção à rota de I/O com escape mais próxima (espacialmente e por camada) no PCB, em vez daquela que está na mesma rede. As ligações não ficarão alinhadas. Em vez disso, ficará com uma série de pequenos intervalos entre o escape routing dos pinos de I/O da FPGA, bem como o seu encaminhamento proveniente de outras partes do PCB. A imagem abaixo mostra um exemplo simples disto.

 

Otimização final

Execute novamente o otimizador automático e este atribuirá as sub-redes encaminhadas ao pino de I/O com escape mais próximo possível. Isto deixá-lo-á com um conjunto de ligações muito curtas para concluir. O otimizador automático tem rotinas especiais para produzir um bom resultado neste caso. Estas podem agora ser encaminhadas de forma interativa ou automática.

Permutas Manuais de Pinos

Use a ferramenta de permuta interativa para efetuar quaisquer alterações específicas de permuta de pinos de que necessite.

Propagar as Alterações de Volta para o Esquemático

Quando estiver pronto para propagar estas atribuições de pinos de volta para o esquemático, é aconselhável desativar as alterações de pinos nos símbolos do esquemático. Isto porque as FPGAs são frequentemente apresentadas como componentes de várias partes, sendo cada banco de pinos uma parte esquemática separada. Mover pinos de uma parte para outra faria com que estes símbolos se tornassem logicamente incorretos, uma vez que o símbolo do banco incluiria pinos que não pertenciam a esse banco. Nesta situação, efetuar permutas de pinos alterando as etiquetas de rede é a abordagem correta.

Repetir as Vezes Necessárias

Este processo pode ser executado tantas vezes quantas as necessárias e em qualquer momento durante o processo de projeto.

AI-LocalizedAI-localized
If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Feature Availability

The features available to you depend on which Altium solution you have – Altium Develop, an edition of Altium Agile (Agile Teams or Agile Enterprise), or Altium Designer (on active term).

If you don’t see a discussed feature in your software, contact Altium Sales to find out more.

Legacy Documentation

Altium Designer documentation is no longer versioned. If you need to access documentation for older versions of Altium Designer, visit the Legacy Documentation section of the Other Installers page.

Conteúdo