Roteamento Automatizado de PCB com o Situs Topological Autorouter

Zachariah Peterson
|  Criada: Setembro 5, 2022  |  Atualizada: Setembro 23, 2024
Roteador automático de PCB

Existe uma ferramenta em uma aplicação de design de PCB que as pessoas adoram odiar: os autorroteadores. Eu usei autorroteadores em alguns dos meus primeiros projetos que tinham muitas trilhas. Essas primeiras placas não tinham requisitos que limitassem a liberdade de roteamento, como impedância controlada ou orçamentos de perda. Provavelmente eu poderia (e deveria) ter roteado essas primeiras placas à mão apenas para ganhar mais experiência em layout de PCB, mas usei um autorroteador mesmo assim.

Embora muitos autorroteadores de geração atual cumpram com cada um desses requisitos até certo ponto, as abordagens baseadas em grade, baseadas em forma ou geométricas que eles adotam no mapeamento do espaço de roteamento apresentam sérias limitações com tecnologias de empacotamento de componentes mais densas, não ortogonais e geometricamente irregulares - tecnologias que estão se tornando mais comuns no design moderno de placas. Os autorroteadores de geração atual, devido às suas limitações geométricas, também tendem a produzir resultados que "parecem autorroteados", levando a um extenso retrabalho manual. De fato, muitos designers evitam usar autorroteadores por causa dessa limitação sozinha.

2 of the internal layers of a board that has been topologically autorouted.

O Situs™ autorouter do Altium Designer é uma ferramenta que pode ser usada para rotear automaticamente redes específicas ou classes de redes, e pode ser uma ferramenta útil para o seu processo de design. É importante notar que este autorouter é uma ferramenta de automação avançada que pode ajudar a eliminar muita roteirização manual, mas é importante saber quando e onde usá-lo.

O Situs autorouter não é uma ferramenta de apontar e clicar. Ele requer planejamento e configuração.

Fazer o melhor uso desta ferramenta requer algum planejamento e previsão no layout da PCB, configurando Classes de Redes para que grupos específicos de redes possam ser alvo do autorouter, e até mesmo projetando uma estratégia de roteamento personalizada para implementar com o Situs autorouter. Neste artigo, examinaremos alguns dos antecedentes sobre autorroteamento, como configurar o Situs autorouter e um exemplo mostrando os resultados de um autorouter como o Situs. Use os links do Índice acima para saltar para cada seção neste guia.

Visão Geral do Situs Autorouter

[Voltar ao topo]

Abordagens Tradicionais ao Autorroteamento

Um projeto eletrônico é essencialmente uma coleção de componentes cujos pinos estão conectados entre si de uma maneira particular. O projeto é implementado ao arranjar os componentes em uma estrutura mecânica de múltiplas camadas, chamada de placa de circuito impresso (PCB). As conexões são fisicamente implementadas através de caminhos discretos de cobre que percorrem a PCB, de um pino de componente a outro.

A tarefa de criar o caminho de cobre discreto, ou rota, para cada conexão pode ser muito complexa. Um projeto típico poderia ter muitos milhares de conexões entre os pinos dos componentes, e os caminhos podem ter que ser criados entre componentes que estão muito compactados na superfície da PCB.

Os autorroteadores iniciais mapeavam um espaço de design definindo uma grade regular e fixa sobre toda a placa, com os objetivos de ter cada pino de componente diretamente sobre um ponto da grade e de incluir pontos de grade suficientes no espaço livre para rotear todas as conexões. Os componentes iniciais eram fornecidos com seus pinos espaçados em múltiplos de 0,1 polegada, então definir uma grade adequada era relativamente fácil, como mostrado abaixo.

Quando todos os componentes tinham pinos com espaçamento de 0,1", um roteador de grade poderia ser usado.

Com a introdução de componentes de montagem em superfície, o espaçamento entre os pinos dos componentes tornou-se muito menor, e os fabricantes também começaram a fornecer componentes com espaçamento de pinos métricos. Melhorias na tecnologia de fabricação permitiram ao projetista usar caminhos de roteamento muito estreitos, que poderiam ser colocados mais próximos uns dos outros. Esses fatores combinados tornaram os roteadores de grade uniforme tradicionais inutilizáveis em designs que empregavam essas tecnologias de embalagem e fabricação. Como a grade precisava ser fina o suficiente para lidar efetivamente com as novas tecnologias, os roteadores em grade necessitavam de vastas quantidades de memória e poder de processamento - sem mencionar tempo - para construir a grade de roteamento e rotear o design.

Para melhorar essa abordagem, uma técnica conhecida como expansão retilinear [1] foi desenvolvida. Esta técnica define o espaço entre obstáculos na placa como uma série de retângulos. Uma vez que o conjunto de retângulos tenha sido definido, um caminho de roteamento é determinado seguindo as bordas dos retângulos. Esta técnica permitiu que componentes com diferentes espaçamentos de pinos fossem roteados, e também permitiu que o autorroteador lidasse com as então novas tecnologias de fabricação, como componentes montados em superfície. Esta abordagem é frequentemente referida como autorroteamento baseado em forma, porque modela os canais de roteamento usando formas retangulares, conforme mostrado na imagem abaixo.

A rectilinear router divides the pace into rectangular zones, which were then used to find a route path.

Um roteador retilinear divide o espaço em zonas retangulares, que são então usadas para encontrar um caminho de rota.

Embora os autorroteadores de expansão retilinear possam superar alguns dos problemas de velocidade e memória dos roteadores de grade uniforme, eles ainda estão geometricamente limitados nos possíveis caminhos de rota que podem identificar. Uma vez que o mapa retangular é estabelecido para uma placa, as "frentes de onda" de roteamento se expandem ao longo das bordas dos retângulos adjacentes - apenas em direções verticais e horizontais. O roteamento é restrito ortogonalmente aos limites dos retângulos. Problemas podem surgir com geometrias não ortogonais, como as encontradas, por exemplo, em componentes de matriz de pinos escalonados ou componentes rotacionados. Muitas vezes, nestes casos, um caminho de roteamento ortogonal não pode ser encontrado e os roteadores de expansão retilinear falharão.

O empacotamento de componentes continua a diminuir em tamanho e distância entre pinos, e pacotes mais novos, como as Ball Grid Arrays (BGAs), usam grades escalonadas para maximizar a densidade de seus pinos. Combinado a isso, embalagens de produtos pequenas e incomuns frequentemente requerem que componentes sejam colocados em orientações irregulares e em PCBs de formas incomuns. À medida que essas tendências ganham ímpeto, tornar-se-á cada vez mais difícil para os roteadores de expansão retilinear atender aos desafios de roteamento do design moderno de placas.

O que era necessário era uma nova técnica para mapear o espaço de roteamento, que não modelasse a placa como simples retângulos e não se limitasse a caminhos retangulares entre os obstáculos.

  • [1] Um Método para Roteamento Sem Grade de Placas de Circuito Impresso, 22º Congresso de Automação de Design, Artigo 32.2 1984, A.C. Finch, K.J. Mackenzie, G.J. Balsdon, G Symonds da Racal Redac Ltd.

A Abordagem Topológica

Uma abordagem topológica para autorroteamento, como a usada pelo autorroteador Situs do Altium Designer, utiliza um método diferente de mapear o espaço de roteamento - um que não é geometricamente restrito. Em vez de usar informações de coordenadas do espaço de trabalho como um quadro de referência, um autorroteador topológico constrói um mapa usando apenas as posições relativas dos obstáculos no espaço, sem referência às suas coordenadas.

O mapeamento topológico é uma técnica de análise espacial que triangula o espaço entre obstáculos adjacentes. Esse mapa triangulado é então utilizado pelos algoritmos de roteamento para "tecer" entre os pares de obstáculos, do ponto de início da rota até o ponto final da rota. As maiores forças dessa abordagem são que o mapa é independente de forma (os obstáculos e caminhos de roteamento podem ser de qualquer forma) e o espaço pode ser atravessado em qualquer ângulo - os algoritmos de roteamento não estão restritos a caminhos puramente verticais ou horizontais, como acontece com roteadores de expansão retilinear.

Para construir um mapa topológico de uma placa, o Situs conecta cada obstáculo na placa aos seus obstáculos vizinhos, criando algo semelhante a um conjunto de teias de aranha conectadas. Os caminhos de roteamento potenciais são então definidos ao se avançar de um fio da teia para o próximo fio da teia, e assim por diante, até que o alvo seja alcançado. Essa abordagem de mapeamento não está geometricamente atada ao espaço de roteamento; o caminho potencial simplesmente se tece entre cada par de obstáculos, como mostrado na imagem abaixo.

O mapa topológico remove a limitação fundamental dos roteadores anteriores - a limitação criada ao usar o mesmo espaço geométrico para mapear caminhos como eles fazem para rotear. Ao separar o espaço de mapeamento do espaço de roteamento, o roteador topológico é capaz de mapear caminhos mais naturais e também de encontrar caminhos de roteamento que não são ortogonais. Esse processo de mapeamento funciona muito como os designers fariam, na medida em que os designers procuram um caminho que atravesse a placa da maneira mais direta possível, mantendo, até certo ponto, as direções das camadas que eles atribuíram. Os designers não restringem suas decisões com base em se uma conexão através de uma área específica pode ser feita usando uma série de trilhas ortogonais, mas simplesmente decidem se uma trilha caberá ou não através de um possível canal de roteamento.

Como mostrado pelo caminho mapeado na imagem à esquerda, o caminho inicialmente definido topologicamente pode não ser adequado como um caminho de roteamento finalizado. Através de algoritmos de roteamento sofisticados, Situs converte o caminho mapeado em um caminho de roteamento adequado, um exemplo do qual é mostrado na imagem à direita.

A topological router does not attempt to map into the geometry of the space, it seeks a path between the obstacles.  A topological router does not attempt to map into the geometry of the space, it seeks a path between the obstacles.

Um roteador topológico não tenta mapear na geometria do espaço, ele busca um caminho entre os obstáculos.

A análise topológica inicial de um caminho de roteamento, sem considerar as coordenadas dos obstáculos, leva a altas taxas de conclusão e altas velocidades em placas tradicionalmente consideradas difíceis para autorroteadores - por exemplo, aquelas com geometrias não padrão, componentes com pinos escalonados densos, ou contornos e recortes de formas irregulares.

Encontrando um Caminho de Roteamento

Outro benefício da abordagem topológica é que a análise e determinação dos caminhos de roteamento são muito mais semelhantes ao que é usado por um projetista ao rotear manualmente uma placa.

Por exemplo, a experiência mostrou que é mais eficiente rotear todas as conexões que compartilham uma camada na mesma direção, dando origem ao conceito de direção da camada de roteamento. Em placas simples de duas camadas, isso é feito atribuindo uma camada para ser horizontal e a outra para ser vertical. Tanto o projetista quanto o autorroteador podem então colocar as rotas de acordo com essa convenção.

Assim como faixas em uma estrada, essa abordagem traz ordem para a tarefa de roteamento, permitindo que o designer ou o autorrotador veja a placa como uma série de canais, que podem então ser atribuídos de maneira ordenada. Tanto em roteadores de grade tradicionais quanto em roteadores de expansão retilinear, as direções das camadas são limitadas a vertical - trilhas que vão do topo da placa até a parte inferior, e horizontal - trilhas que atravessam a placa de um lado para o outro.

À medida que a densidade do design aumenta, no entanto, também aumentará o número de camadas necessárias para rotear a placa. Uma vez que o design requer mais de duas camadas, pode ser mais eficiente buscar caminhos de roteamento em direções diferentes de vertical e horizontal. É exatamente isso que um designer faria - examinar o fluxo das linhas de conexão e, se houver um número suficiente viajando em uma orientação particular, digamos diagonalmente, atribuir uma camada para essa direção, então rotear essas conexões nessa camada nessa direção.

Nem o roteador de grade fixa nem o roteador de expansão retilinear podem mapear diretamente em uma direção não ortogonal; eles só podem mapear o espaço de maneira horizontal/vertical. Para produzir rotas diagonais limpas, esses tipos de autorroteadores devem primeiro definir uma rota usando trilhas ortogonais e, em seguida, executar rotinas especiais de pós-processamento para converter os cantos em ângulo reto em diagonais.

Um roteador topológico, por outro lado, não é limitado por geometrias ortogonais e pode identificar rotas diagonais diretamente e atribuí-las à camada correta. Isso não apenas leva a um autorroteamento mais "natural", como também produz um roteamento mais eficiente e minimiza o número de vias necessárias no design finalizado.

Finalizando o Roteamento

Como mencionado anteriormente, a análise topológica oferece uma maneira eficiente de determinar um possível caminho de roteamento, mas esse caminho topológico deve ser traduzido em uma rota finalizada de qualidade. Como um designer, o autorroteador encontrará uma variedade de situações que precisam ser tratadas de maneiras diferentes, como resolver o caminho de roteamento através do mapa, seguir um limite ou empurrar contra objetos de rota existentes na tentativa de movê-los.

Para atender a essas diferentes situações, o Situs emprega uma variedade de motores de roteamento, incluindo um roteador de memória, roteadores de padrão, um roteador de alimentação e terra, um roteador de onda frontal, roteadores de empurrar e puxar baseados em forma, e vários roteadores heurísticos para situações específicas, como o espalhamento de BGA. Esses motores são baseados em algoritmos de roteamento maduros e poderosos e foram desenvolvidos ao longo de muitos anos. No Situs, esses motores de roteamento exploram a determinação inteligente do caminho de roteamento do processo de mapeamento topológico para produzir conexões acabadas de alta qualidade.

Os motores de roteamento do Situs são controlados por um conjunto sofisticado de arquivos de estratégia que atuam como o "cérebro" do autorroteador. Um designer humano tem várias vantagens sobre um autorroteador quando se trata de rotear uma placa. A mente humana pode planejar, e ao fazer isso, pode considerar e ordenar um grande número de fatores, focar em um elemento individual, e então retornar para reconsiderar a situação. Os autorroteadores usam um arquivo de estratégia para definir seus padrões de pensamento. O arquivo de estratégia controla os motores de roteamento, chamando-os quando necessário e ponderando suas ações conforme faz.

Para apreciar o papel importante do arquivo de estratégia, considere como a natureza da tarefa de roteamento muda à medida que o roteamento progride. As abordagens usadas para rotear uma placa vazia no início do processo de roteamento são bastante diferentes daquelas usadas à medida que a densidade de roteamento aumenta, exigindo diferentes motores de roteamento, ponderados de acordo. As instruções escritas no arquivo de estratégia definem um plano de como rotear a placa, chamando e ponderando os motores de roteamento de uma maneira particular quando o espaço de roteamento está relativamente vazio, depois mudando os motores e suas ponderações à medida que ele espreme as rotas finais através de um espaço de roteamento densamente ocupado.

Ao implementar os processos de pensamento ou o cérebro do autorroteador em um arquivo de estratégia, é possível para a Altium evoluir facilmente o autorroteador conforme as tecnologias de placas mudam. O arquivo de estratégia Situs é um dos arquivos de estratégia mais sofisticados de qualquer autorroteador disponível hoje. Ele incorpora anos de pesquisa sobre o processo de roteamento, capturando a expertise de muitos designers de PCBs seniores.

Auto-roteamento de um PCB

[Voltar ao topo]

O Roteador Topológico Situs traz uma nova abordagem para o desafio da autorrotação. Ele utiliza mapeamento topológico avançado para primeiro definir o caminho de roteamento, e então recorre a uma variedade de algoritmos de roteamento comprovados para converter esse caminho "semelhante ao humano" em uma rota de alta qualidade. Como parte integrante do Editor de PCB, ele segue as definições de regras elétricas e de roteamento do PCB.

Planejando Usar a Autorrotação

Embora o Situs seja simples de configurar e executar, existem alguns passos pré-roteamento que você pode tomar para garantir que a ferramenta produza uma rotação ótima com limpeza mínima. Algumas dicas para autorrotação incluem:

  1. Identificar as redes com as restrições mais frouxas. Estas tendem a ser redes digitais mais lentas que não têm um requisito de impedância.
  2. Determinar quais grupos de redes você deseja autorrotar e adicionar esses às Classes de Rede.
  3. Roteie as redes mais críticas primeiro. Estas tendem a ser redes de pares diferenciais mais rápidos, redes RF de maior frequência e interfaces analógicas de menor frequência.
  4. Deixe canais de roteamento abertos para que a ferramenta possa colocar trilhas.
  5. Aplicar a ferramenta de autorrotação a cada Classe de Rede individualmente. Você também pode usar a ferramenta para direcionar componentes específicos, ou até mesmo redes individuais (veja abaixo).

Colocação de Componentes

Em última análise, a colocação dos componentes tem o impacto mais significativo no desempenho do roteamento. O Editor de PCB do Altium Designer inclui uma série de ferramentas, como linhas de conexão otimizadas dinamicamente, que permitem ajustar a colocação dos componentes. A colocação ótima dos componentes ocorre quando as linhas de conexão são o mais curtas e menos "emaranhadas" possível.

Outras boas práticas de design incluem colocar os componentes de modo que seus pads estejam em uma grade regular (para maximizar a quantidade de espaço livre entre os pads para roteamento), colocar componentes de montagem em superfície de tamanho semelhante exatamente opostos um ao outro em placas de dois lados e consultar as folhas de dados dos fabricantes de dispositivos para diretrizes de colocação de desacoplamento. Esta não é uma lista completa de considerações sobre colocação, apenas algumas sugestões.

Áreas de exclusão

O roteador requer um limite fechado, composto por objetos de exclusão colocados. Tipicamente, este limite segue a borda da placa. Os objetos colocados obedecerão à regra de distância aplicável para garantir que permaneçam a uma distância adequada deste limite, para satisfazer quaisquer requisitos de distância mecânica ou elétrica que o design possa ter. O roteador também obedecerá às áreas de exclusão dentro deste limite externo, bem como às áreas de exclusão específicas de cada camada.

Você pode criar um limite fechado que segue a borda do formato da placa, usando o Diálogo de Primitivas de Linha/Arco a partir do Formato da Placa. Para mais informações sobre áreas de exclusão, veja Áreas de Exclusão Específicas de Objetos.

Preenchimentos de Polígonos

Preenchimentos de polígonos (ou de cobre) podem ser sólidos (preenchidos com uma ou mais regiões de cobre) ou tracejados (construídos a partir de trilhas e arcos). Um preenchimento de polígono tracejado de médio a grande porte inclui um grande número de trilhas e arcos. Embora o roteador possa rotear uma placa que inclua tais preenchimentos de polígonos, o grande número de objetos que eles introduzem aumenta a complexidade do processo de roteamento.

Tipicamente, você só deve colocar preenchimentos de polígonos antes do roteamento se eles forem necessários, por exemplo, estão sendo usados para construir um pré-roteamento de forma incomum, talvez o roteamento de entrada da rede elétrica ou uma região crítica de terra. Caso contrário, é preferível que os preenchimentos de polígonos sejam adicionados ao design uma vez que o roteamento esteja completo.

É Roteável?

Um autorroteador tenta entender e modelar o processo de roteamento. Se a placa contiver uma área que não pode ser roteada manualmente, então ela também não será roteada automaticamente. Se o roteador estiver falhando continuamente em um componente ou uma seção da placa, então você deve tentar roteá-la interativamente. Pode ser que existam problemas de colocação ou configuração de regras que tornem impossível o roteamento.

Pré-roteamento

Pré-roteie redes críticas e, se for essencial que elas não sejam alteradas pelo processo de roteamento, bloqueie-as ativando a opção Lock All Pre-routes no diálogo Situs Routing Strategies. Evite bloqueios desnecessários; um grande número de objetos bloqueados pode tornar o problema de roteamento muito mais difícil.

Redes de pares diferenciais devem ser roteadas manualmente e bloqueadas antes de usar o autorroteador. Se você não fizer isso, é muito provável que o roteamento mude e altere a integridade do sinal do par diferencial.

Configurando Regras de Design

O termo regra padrão é usado para descrever uma regra com um escopo de consulta de All.

Se uma regra inclui valores Mínimos, Preferenciais e Máximos, o autorroteador usará o valor Preferencial.

Certifique-se de que as regras de design de roteamento são apropriadas para a tecnologia da placa que você está usando. Regras de design mal direcionadas ou inapropriadas podem levar a um desempenho muito pobre de autorroteamento. Note que o roteador obedece a todas as regras de design Elétrico e de Roteamento, exceto a regra de Cantos de Roteamento.

As regras são definidas no diálogo Editor de Regras e Restrições de PCB (Design » Regras), que pode ser acessado diretamente do diálogo Estratégias de Roteamento Situs.

Se uma regra inclui valores Mínimo, Preferencial e Máximo, o autorroteador usará o valor Preferencial.

O sistema de regras do Altium Designer é hierárquico. A ideia é que você comece com uma regra padrão para todos os objetos, e então adicione regras adicionais para direcionar seletivamente outros objetos que têm requisitos diferentes. Por exemplo, você deve ter uma regra padrão para a largura de roteamento que cobre a largura de roteamento mais comum usada na placa, e então adicionar regras subsequentes para direcionar seletivamente outras redes, classes de redes e assim por diante.

Para verificar se uma regra está direcionando os objetos corretos, copie a Consulta da regra para o painel de Filtro de PCB e Aplicar a mesma. Apenas aqueles objetos alvo da regra devem passar pelo filtro e permanecer exibidos em plena força. Alternativamente, use o painel de Regras e Violações de PCB para ver rapidamente a aplicação da regra em qualquer regra definida para a placa atual.

As regras mais importantes são as de Largura e Distância. Essas configurações de tecnologia de roteamento definem quão apertado o roteamento pode ser 'compactado'. Selecionar essas é um processo de equilíbrio - quanto mais largas as trilhas e maior a distância, mais fácil é fabricar a placa; versus trilhas mais estreitas e distâncias menores, mais fácil é rotear a placa. É aconselhável consultar seu fabricante para estabelecer seus 'pontos de preço' para larguras de roteamento e distâncias, aqueles valores que, se você ultrapassar, resultarão em menores rendimentos de fabricação e PCBs mais caros. Assim como satisfazer os requisitos elétricos do projeto, a tecnologia de roteamento também deve ser escolhida para se adequar à tecnologia de componentes, para permitir que cada pino seja roteado para.

A terceira regra que faz parte da tecnologia de roteamento é o Estilo de Via de Roteamento. Ela também deve ser selecionada de acordo com a trilha e os espaçamentos utilizados, considerando os custos de fabricação do tamanho do furo e do anel anular escolhidos.

Você também deve evitar regras excessivas ou desnecessárias - quanto mais regras, mais tempo de processamento, mais lento o roteamento. Regras podem ser desabilitadas se não forem necessárias para o autorroteamento.

Largura de Roteamento

Garanta que haja uma regra de Largura de Roteamento com uma Consulta de Todos (uma regra padrão), e que a configuração Preferencial seja apropriada para a largura de roteamento mais comum que você necessita. Certifique-se de que esta largura, em combinação com a regra de espaçamento apropriada, permita que todos os pads sejam conectados. Configure regras adicionais de largura de roteamento para redes que requerem roteamentos mais largos ou mais estreitos.

Se houver componentes de passo fino que tenham pinos em redes com larguras de roteamento mais largas - por exemplo, redes de energia - teste o roteamento saindo de um pino de energia e também o roteamento dos pinos de cada lado para garantir que é fisicamente possível rotear esses pinos.

Restrição de Espaçamento

Verifique os requisitos especiais de folga, como componentes de passo fino cujos pads estão mais próximos do que as folgas padrão da placa. Isso pode ser atendido usando uma regra de design devidamente delimitada e priorizada. Note que, embora você possa definir uma regra para direcionar uma pegada, ela não irá direcionar o roteamento que se conecta a essa pegada. Como acabou de ser mencionado na seção de Largura de Roteamento, teste o roteamento para garantir que os pinos do componente sejam roteáveis.

Estilo de Via de Roteamento

Garanta que haja uma regra de Estilo de Via de Roteamento com uma Consulta de Todos e que a configuração preferida seja apropriada. Inclua regras de maior prioridade para aquelas redes que precisam de um estilo de via diferente da regra padrão.

O Altium Designer suporta vias cegas e enterradas, e a decisão de quando usá-las é determinada pelas trocas de camadas permitidas pelos Tipos de Via definidos no Gerenciador de Pilhas de Camadas (Design » Gerenciador de Pilhas de Camadas). Assim como no roteamento interativo, quando o autorroteador muda entre duas camadas, ele verifica as definições atuais do Tipo de Via - se essas camadas forem definidas como um par de camadas cega ou enterrada, então a via colocada terá essas camadas como suas camadas de início e fim. É importante entender as restrições ao usar vias cegas/enterradas; elas devem ser usadas apenas em consulta com seu fabricante. Além das restrições impostas pela tecnologia de empilhamento de fabricação, também existem considerações de confiabilidade e acessibilidade de teste. Alguns designers consideram melhor adicionar mais camadas de roteamento do que usar vias cegas/enterradas.

Camadas de Roteamento

Garanta que haja uma regra de Camadas de Roteamento com uma consulta de Todos. Todas as camadas de sinal habilitadas (definidas na pilha de camadas) serão listadas. Habilite as camadas nas quais você deseja permitir o roteamento conforme necessário. Inclua regras de maior prioridade para as redes que você deseja que sejam roteadas em camadas específicas apenas.

Caso deseje excluir um determinado net (ou classe de nets) de ser roteado pelo autorroteador, defina uma regra de Camada de Roteamento direcionada a esse net ou classe de nets e, na região de Restrições para essa regra, certifique-se de que a opção Permitir Roteamento para cada camada de sinal habilitada esteja desativada. A prioridade da regra deve ser maior do que a da regra padrão (aquela com uma consulta de Todos).

Direções das Camadas

A direção do roteamento das camadas é especificada no Diálogo de Direções das Camadas, que pode ser acessado a partir do Diálogo de Estratégias de Roteamento do Situs. Todas as camadas de sinal habilitadas (definidas na pilha de camadas) serão listadas. Escolha direções de camada apropriadas para adequar-se ao fluxo das linhas de conexão. O Situs utiliza mapeamento topológico para definir caminhos de roteamento, portanto, não está limitado a rotear horizontal e verticalmente. Tipicamente, é melhor ter as camadas externas como horizontal e vertical. No entanto, se você tem uma placa de múltiplas camadas com um grande número de conexões em um ângulo de '2 horas', então defina uma ou mais camadas internas para ter esta como a direção de roteamento preferencial. O passo de Padrões de Camada, em particular, faz uso desta informação, e escolher a direção certa pode fazer uma diferença significativa no desempenho do roteamento em termos de tempo e qualidade. Note que, ao usar camadas anguladas, você não precisa ter uma camada parceira correndo a 90 graus desta camada, já que o roteador tipicamente roteará horizontal ou verticalmente se precisar evitar um obstáculo em uma camada angulada.

Evite usar a direção Qualquer - a camada escolhida para rotear uma conexão é baseada em quão alinhada a conexão está com a direção da camada, então esta camada se torna a camada de último recurso. A direção Qualquer é tipicamente usada apenas em placas de um único lado.

Prioridade de Roteamento

Use as regras de Prioridade de Roteamento para definir uma prioridade maior em redes difíceis, ou aquelas que você deseja que tenham o roteamento mais limpo.

Controle de Fanout SMD

O sistema de consulta inclui palavras-chave que visam especificamente os diferentes pacotes de componentes de montagem em superfície, incluindo IsLCC (Leadless Chip Carrier), IsSOIC (Small Outline IC) e IsBGA (Ball Grid Array). Regras padrão são automaticamente criadas para os pacotes mais comuns e, uma vez que as passagens de fanout são realizadas no início do processo de autorroteamento, há pouca penalidade em manter regras que não se aplicam a nenhum componente. Você deve ter pelo menos uma regra de design de controle de fanout SMD se houver componentes de montagem em superfície na placa - uma consulta adequada para uma única regra visando todos os componentes de montagem em superfície seria IsSMTComponent. Para informações sobre como cada palavra-chave de consulta identifica um pacote de componente, abra o Query Helper, digite a palavra-chave necessária e pressione F1.

As regras de fanout incluem configurações que controlam se os pads devem ser expandidos para dentro ou para fora, ou uma mistura de ambos. Para se familiarizar com o comportamento dos atributos da regra de Controle de Fanout, o comando Route » Fanout » Component pode ser executado em qualquer componente de montagem em superfície que não tenha redes atribuídas a ele. Além de usar isso para verificar como um componente se expande bem com a tecnologia de roteamento atual definida na placa, você também pode usá-lo para expandir um componente que deseja manter em uma biblioteca como uma pegada pré-expandida. Uma vez que esteja expandido no espaço de trabalho do PCB, copie e cole o componente e as trilhas e vias de fanout em uma biblioteca.

Prioridades das Regras

A precedência, ou prioridade, das regras é definida pelo projetista. A prioridade da regra é usada para determinar qual regra aplicar quando um objeto é coberto por mais de uma regra. Se a prioridade não for definida corretamente, você pode descobrir que uma regra não está sendo aplicada de forma alguma.

Por exemplo, se a regra com uma consulta de InNet('VCC') tiver uma prioridade menor do que a regra com uma consulta de All, então a regra All será aplicada à rede VCC. Use o botão Priorities no diálogo PCB Rules and Constraints Editor para acessar o diálogo Edit Rule Priorities, de onde as prioridades podem ser refinadas conforme necessário. Note que a prioridade não é importante quando dois escopos de regra não se sobrepõem (não visam os mesmos objetos). Por exemplo, não faz diferença qual desses dois escopos de regra tem uma prioridade maior - InNet('VCC') ou InNet('GND').

A Regra de Ouro

O passo mais importante é realizar uma verificação da regra de design (DRC) antes de iniciar o autorroteador. Ao usar os comandos Route » Auto Route » Setup, ou Route » Auto Route » All, o Situs conduz sua própria análise pré-roteamento e apresenta os resultados como um relatório no diálogo Situs Routing Strategies.

Make sure that the Routing Setup Report is clean before starting the autorouter.

Certifique-se de que o Relatório de Configuração de Roteamento esteja limpo antes de iniciar o autorroteador.

O relatório fornece informações incluindo:

  • Regras de design atualmente definidas para o projeto que serão seguidas pelo autorroteador (e o número de objetos de design - redes, componentes, pads - afetados por cada regra)
  • Direções de roteamento definidas para todas as camadas de roteamento de sinal
  • Definições de pares de camadas de furação

O relatório lista problemas potenciais que podem afetar o desempenho do roteador. Onde possível, são fornecidas dicas para aconselhar na melhor preparação do design para o autorroteamento. Quaisquer erros/avisos/dicas que estejam listados devem ser examinados e, se necessário, as regras de roteamento correspondentes ajustadas, antes de prosseguir para rotear o design.

Check all errors, warnings and hints to understand what potential problems the autorouter will face.

Verifique todos os erros, avisos e dicas para entender quais problemas potenciais o autorroteador enfrentará.

É essencial que quaisquer violações de regras relacionadas ao roteamento sejam resolvidas antes de iniciar o autorroteador. Violações não só podem impedir o roteamento no local da violação, como também podem desacelerar muito o roteador, pois ele tenta continuamente rotear uma área intransitável.

Dicas para Executar o Autorroteador

  • Os comandos do Autorroteador estão no sub-menuRoute » Auto Route.
  • Tanto os comandos Roteamento » Auto Roteamento » Todos quanto Roteamento » Auto Roteamento » Configuração abrem o diálogo Estratégias de Roteamento Situs, a diferença é que quando você escolhe Todos, o diálogo inclui um botão Roteamento Total.
  • Não tenha medo de experimentar. Se os resultados não forem aceitáveis, faça algo para mudar a abordagem do roteador. Adicione limpezas intermediárias e passes de alinhamento, faça mais espaço ao redor de áreas densas ou mude as direções das camadas.
  • Ao experimentar com o roteador - criando suas próprias estratégias para controlar a ordem dos passes, mudando o número de vias com o controle de Via, alterando as direções das camadas de roteamento, restringindo o roteador apenas a rotas ortogonais, e assim por diante - mantenha notas das combinações que você tentou. Dessa forma, você será capaz de identificar e reutilizar quais configurações funcionam melhor com seus designs.
  • Execute passes de fanout por conta própria primeiro e avalie a qualidade. Você pode precisar fazer o fanout manualmente em áreas problemáticas.

Passes de Roteamento e Estratégias de Roteamento

As estratégias de roteamento atualmente definidas estão listadas na região inferior do diálogo Estratégias de Roteamento do Situs. Clique no botão Adicionar para acessar o diálogo Editor de Estratégia do Situs, de onde você pode especificar as passagens a serem incluídas em uma nova estratégia. Alternativamente, use o botão Duplicar para duplicar uma estratégia existente e, em seguida, edite-a conforme necessário.

Example of editing a duplicated strategy.

Exemplo de edição de uma estratégia duplicada.

Estratégias definidas pelo usuário podem ser editadas a qualquer momento, mas estas estratégias padrão não podem ser modificadas:

  • Limpeza
  • Placa de 2 Camadas Padrão
  • Placa de 2 Camadas com Conectores de Borda Padrão
  • Placa Multicamadas Padrão
  • Ortogonal Geral
  • Economizador de Vias

As seguintes passagens de roteamento estão disponíveis. As passagens podem ser usadas em qualquer ordem, como guia examine uma estratégia existente para ver a ordem das passagens.

 

PASSAGEM

FUNCIONALIDADE

Memória Adjacente

Uma passagem de roteamento no nível de conexão. É usada para rotear pinos adjacentes da mesma rede que requerem fan-out, com um simples padrão em U.

Limpar Entradas de Pad

Uma passagem de roteamento no nível de conexão. Ela redireciona a partir do centro de cada pad ao longo do eixo mais longo do pad. Se houver componentes com pads que têm dimensões X e Y diferentes, sempre inclua uma passagem de Limpeza de Entradas de Pad após a passagem de Memória.

Conclusão

Uma passagem de roteamento no nível de conexão. É essencialmente a mesma coisa que a passagem Principal, com custos diferentes para resolver conflitos e completar conexões difíceis. Exemplos de diferenças de custo incluem vias sendo mais baratas e rotas contrárias sendo mais caras.

Fan Out de Sinal

Uma passagem no nível de componente, baseada nas configurações de fanout definidas pelo Controle de Fanout. Verifica padrões nos pads, considera folga, largura de roteamento e estilo de via, e então seleciona um arranjo de fan out adequado (fila alinhada, escalonada, etc) para atender aos requisitos definidos na regra de design. O fanout é apenas para camadas de sinal.

Fan out para Plano

Uma passagem no nível de componente, baseada nas configurações de fanout definidas pelo Controle de Fanout. Verifica padrões nos pads, considera folga, largura de roteamento e estilo de via, e então seleciona um arranjo de fan out adequado (fila alinhada, escalonada, etc) para atender aos requisitos definidos na regra de design. O fanout é apenas para uma camada de plano interna.

Otimização Global Principal

Uma passagem de roteamento no nível de conexão. Ela fornece roteamento ótimo. Ignora conflitos/violações em sua primeira iteração. Em seguida, rerroteia as conexões, com custos de conflito aumentados, até que não haja mais violações restantes. Esta passagem, usada em conjunto com a opção Ortogonal ativada, pode produzir padrões de roteamento bem organizados. Adicione uma passagem de Recanto à estratégia para fornecer cantos chanfrados.

Abraço

Uma passagem de roteamento no nível de conexão que rerroteia cada conexão, seguindo o roteamento existente com o mínimo de folga possível. A passagem de abraço é usada para maximizar o espaço livre de roteamento. Note que esta passagem é muito lenta.

Padrões de Camada

Uma passagem de roteamento no nível de conexão. Ela só roteia conexões que correspondem a uma direção de camada (dentro de uma tolerância). É calculada para abraçar ou seguir o roteamento existente para maximizar o espaço livre.

Principal

Uma passagem de roteamento no nível de conexão. Ela usa o mapa topológico para encontrar um caminho de roteamento, depois usa o roteador de empurrar e puxar para converter o caminho proposto em roteamento real. Apenas uma passagem do tipo principal deve ser especificada para uma estratégia de roteamento - seja Principal, Principal Multicamada ou Principal Otimizado Globalmente.

Memória

Uma passagem de roteamento no nível de conexão. Ela verifica se dois pinos em componentes diferentes na mesma camada compartilham coordenadas X ou Y.

Principal Multicamada

Uma passagem de roteamento no nível de conexão. É semelhante à passagem Principal, mas com custos otimizados para placas de múltiplas camadas.

Recorner

Uma passagem de roteamento no nível de conexão que é usada para fornecer chanfros nos cantos roteados. Esta passagem é usada quando a opção Ortogonal está ativada para a estratégia - essencialmente, substituindo-a e chanfrando os cantos de cada rota. Se a opção Ortogonal estiver desativada para a estratégia em uso, não há necessidade de incluir uma passagem Recorner, pois o autorroteador chanfrará os cantos por padrão.

Spread

Uma passagem de roteamento no nível de conexão que rerroteia cada conexão, tentando espalhar o roteamento para usar espaço livre e espaçar igualmente o roteamento quando passa entre objetos fixos (como pads de componentes). Note que esta passagem é muito lenta.

Straighten

Uma passagem de roteamento no nível de conexão que tenta reduzir o número de cantos. Isso é feito percorrendo a rota até um canto, então a partir desse canto realiza uma sondagem (horizontal/vertical/45 para cima/45 para baixo) procurando por outro ponto roteado na rede. Se um for encontrado, verifica então se este novo caminho reduz o comprimento roteado.

 

Exemplo de Resultados do Autorroteador

[Voltar ao topo]

Neste exemplo, vamos pegar uma placa de interface breakout que foi usada em alguns vídeos recentes, e vamos aplicar o autorroteador a algumas das redes. O objetivo é ver quando o autorroteador comete erros, como a ferramenta lida com conjuntos de regras complexas (e possivelmente mutuamente exclusivas), bem como como trabalhar com a ferramenta em geral.

Para começar, tenho uma placa finalizada que usaremos como base neste exemplo; toda a placa foi roteada à mão. Isso é mostrado abaixo.

PCB autorouter

Esta placa é semi-complexa, pelo menos em termos das regras necessárias para layout e roteamento. Esta placa é uma placa de interface entre alguns conectores SMD em lados opostos da placa. As regras de layout incluem impedância controlada para pares diferenciais, e a placa inclui camadas internas para múltiplos trilhos de energia, terra e alguns canais diferenciais.

Neste exemplo, as seguintes configurações foram usadas:

  • Estratégia geral de roteamento ortogonal (Topo e Fundo Horizontal, SIG1 e SIG2 Vertical)
  • Todos os pré-roteamentos foram bloqueados
  • Todas as redes eram digitais de baixa velocidade (GPIOs e I2C), sem controle de impedância necessário
  • No total, 27 redes necessitavam de roteamento

O último ponto e a construção do empilhamento da PCB nos permitem, geralmente, escapar com o roteamento desses sinais sendo roteados em múltiplas camadas, através de múltiplos vias, e sem qualquer limitação de comprimento. Placas mais complexas ou mais densas podem requerer configurações mais especializadas.

Os resultados para os roteamentos nas camadas de sinal são mostrados abaixo.

Situs PCB autorouter results

 

Situs PCB autorouter results

 

Então, qual é o veredito? Para este caso particular, os roteamentos necessitaram da limpeza de apenas uma violação de curto-circuito na camada inferior. Isso é bastante bom, considerando o arranjo dos pinos no conector horizontal superior. Eu acho que isso é apropriado

Pensamentos Finais

[Voltar ao topo]

Ao longo deste tutorial, cheguei a perceber algo importante: a estratégia do autorroteador e uma topologia de roteamento aceitável na sua placa precisam combinar. Por exemplo, suponha que você tenha uma placa multicamadas com um grande número de redes, e você quer implementar autorroteamento com faixas ortogonais; seu autorroteador específico será melhor adequado para implementar esta estratégia apenas se uma opção ortogonal estiver incorporada ao seu autorroteador. Esta abordagem é certa para você? Tudo depende do seu fluxo de trabalho particular e da abordagem para os projetos.

Nem todas as placas são adequadas para isso. Em alguns exemplos, mostrei placas onde uma estratégia ortogonal, estratégia de conector de borda ou roteamento de 2 camadas simplesmente não atenderão aos requisitos operacionais para cada rede. Neste caso, é uma boa ideia rotear os traços mais sensíveis primeiro, depois tentar autorrotear as redes restantes. Um bom exemplo que discuti recentemente está em grandes arranjos em fase; as linhas de alimentação requerem correspondência de fase muito precisa, e o tempo de configuração pode acabar sendo mais longo do que o seu tempo de roteamento e ajuste manual. Como esses traços são tão importantes, faz sentido roteá-los à mão.

Eu acho que um bom autorroteador é tão bom quanto a habilidade do usuário com ele e o nível de configuração necessário. Se você dedicar um tempo para configurar as regras necessárias, planejar grupos específicos de redes para autorrotear de cada vez, e elaborar uma estratégia de limpeza, você pode minimizar o retrabalho manual. O grande benefício de uma ferramenta de automação é que ela pode ser reutilizada para outros designs. Uma vez que os perfis de regras são criados, eles podem ser implementados para autorroteamento em outros layouts de PCB.

Quando você precisa ter acesso às melhores utilidades de automação para design de PCB, use o conjunto completo de ferramentas de layout e roteamento de PCB em Altium Designer. Quando você terminar seu design e quiser liberar os arquivos para seu fabricante, a plataforma Altium 365 facilita a colaboração e o compartilhamento de seus projetos.

Apenas começamos a explorar o que é possível com Altium Designer no Altium 365. Inicie seu teste gratuito do Altium Designer + Altium 365 hoje.

Sobre o autor

Sobre o autor

Zachariah Peterson tem vasta experiência técnica na área acadêmica e na indústria. Atualmente, presta serviços de pesquisa, projeto e marketing para empresas do setor eletrônico. Antes de trabalhar na indústria de PCB, lecionou na Portland State University e conduziu pesquisas sobre teoria, materiais e estabilidade de laser aleatório. A experiência de Peterson em pesquisa científica abrange assuntos relacionados aos lasers de nanopartículas, dispositivos semicondutores eletrônicos e optoeletrônicos, sensores ambientais e padrões estocásticos. Seu trabalho foi publicado em mais de uma dezena de jornais avaliados por colegas e atas de conferência, além disso, escreveu mais de dois mil artigos técnicos sobre projeto de PCB para diversas empresas. É membro da IEEE Photonics Society, da IEEE Electronics Packaging Society, da American Physical Society e da Printed Circuit Engineering Association (PCEA). Anteriormente, atuou como membro com direito a voto no Comitê Consultivo Técnico de Computação Quântica do INCITS, onde trabalhou em padrões técnicos para eletrônica quântica e, no momento, atua no grupo de trabalho P3186 do IEEE, que tem como foco a interface de portas que representam sinais fotônicos com simuladores de circuitos da classe SPICE.

Recursos relacionados

Documentação técnica relacionada

Retornar a página inicial
Thank you, you are now subscribed to updates.