Roteamento de Sinais de Alta Velocidade: As 10 Restrições Importantes de Projeto de PCB

Zachariah Peterson
|  Criada: Abril 29, 2020  |  Atualizada: Outubro 1, 2026
At a Glance

Sua estratégia de roteamento de sinais de alta velocidade exige atenção às restrições e um planejamento de layout criativo. Veja como rotear sinais de alta velocidade da maneira correta.

Go Deeper with AI:
Roteamento de Sinais de Alta Velocidade: As 10 Restrições Importantes de Projeto de PCB

Sua PCB digital moderna muito provavelmente está atuando como um sistema digital de alta velocidade, independentemente de você ter pretendido que fosse assim. É claro que o impacto e o nível de avaliação necessário dependem do tempo de subida dos seus sinais, e isso frequentemente limitará como e onde você poderá rotear determinados sinais na PCB. Essas restrições podem ser definidas como regras de projeto de PCB no seu projeto de PCB, e este artigo abordará algumas das restrições comuns impostas em projetos de alta velocidade para garantir um roteamento bem-sucedido.

10 Restrições Importantes de Roteamento de PCB de Alta Velocidade

Valores de Largura de Trilha por Camada

As interfaces padrão usadas para transferir dados digitais em alta velocidade são, todas elas, interfaces com impedância controlada. O driver conectado a uma trilha espera que a trilha tenha um valor de impedância específico, e seu software ECAD deve manter isso quando você começar o roteamento. Da mesma forma, os receptores são terminados com uma impedância de entrada específica ou capacitância de carga e só funcionam conforme especificado com base na impedância da trilha conectada.

Depois de estabelecer um modelo de impedância para o seu projeto, a restrição de largura de trilha e as variações permitidas devem ser definidas para cada camada de sinal e então aplicadas a várias classes de nets. Isso exige o cálculo da impedância da trilha em diferentes geometrias.

No Altium Designer, os cálculos de impedância de linha de transmissão são realizados na mesma ferramenta usada para definir o empilhamento de camadas da PCB.

  1. Abra Design » Layer Stack Manager e configure o stackup, incluindo espessuras de cobre, espessuras do dielétrico e propriedades do material dielétrico.
  2. Selecione a guia Impedance e clique em Add Impedance Profile, ou no botão de adicionar caso já exista um perfil.
  3. No painel Properties, selecione o tipo de perfil e insira a Target Impedance e a Target Tolerance.
  4. Ative as camadas de sinal que usarão esse perfil e, em seguida, atribua as camadas de referência nas colunas Top Ref e Bottom Ref.
  5. Selecione cada camada de sinal ativada e revise a largura de trilha calculada. Para um perfil diferencial, bloqueie Width ou Trace Gap para que o solver calcule o outro valor para a impedância alvo.
  6. Salve o empilhamento de camadas. O perfil resultante poderá então ser selecionado na regra aplicável de Width ou Differential Pairs Routing.

Classes de Nets com Impedância Controlada

Para garantir que o roteamento seja mantido com a impedância correta em interfaces específicas, usamos um processo simples de agrupar nets e criar regras de projeto específicas para nets, a fim de impor a largura de trilha. Agrupar nets com a mesma impedância em classes de nets é a maneira mais rápida de aplicar múltiplas restrições a grupos de nets, e isso inclui as principais restrições de alta velocidade, como largura de trilha e atrasos de propagação casados em barramentos paralelos e pares diferenciais.

  1. No esquemático, anexe uma diretiva de Net Class a cada net que pertença ao grupo e insira o mesmo nome de classe em cada diretiva. Um blanket com um conjunto de parâmetros anexado também pode agrupar múltiplas nets.
  2. Abra Project » Project Options » Class Generation e habilite a geração de classes de nets definidas pelo usuário. Atualize a PCB e execute as alterações relacionadas à classe na Engineering Change Order.
  3. Como alternativa, crie a classe diretamente no editor de PCB em Design » Classes. Adicione uma nova classe em Net Classes, dê um nome a ela e mova as nets necessárias de Non-Members para Members.
  4. Abra Design » Rules e crie a regra necessária, como Routing » Width.
  5. Defina o escopo da regra como InNetClass('ClassName'), substituindo ClassName pelo nome real da classe.
  6. Configure as restrições. Para roteamento com impedância controlada, habilite Use Impedance Profile e selecione o perfil criado no Layer Stack Manager.
  7. Dê à regra específica da classe uma prioridade maior do que regras mais amplas do mesmo tipo e, em seguida, aplique as alterações.

E quanto à variação de impedância? Como levá-la em conta se você planeja alterar a largura da trilha? É possível fazer isso usando neck-down, ou seja, alterando a largura da trilha à medida que ela entra em uma room, por exemplo, em uma footprint de BGA. Se você puder prever essas necessidades de roteamento, então planeje considerar a mudança na largura da trilha dentro das regras de projeto da sua PCB.

Confinamento do Caminho de Retorno

As verificações de confinamento do caminho de retorno verificam se uma trilha não cruza o limite de um plano de referência, como a lacuna entre dois trilhos em uma camada de alimentação. Cruzar essa lacuna interrompe o caminho de retorno próximo e força a corrente de retorno a fazer um desvio. No Altium Designer, uma regra de Return Path usa o perfil de impedância atribuído para identificar camadas de referência e verificar a continuidade do cobre sob o roteamento.

Skew de Temporização

O skew entre sinais em barramentos paralelos ou dentro de um par diferencial precisa ser minimizado quando os requisitos de casamento de atraso são muito rigorosos. Há três categorias de skew de temporização que precisam ser restringidas em um layout de PCB:

  • Casamento de atraso de sinal dentro de um par diferencial
  • Casamento de atraso entre múltiplos pares diferenciais
  • Casamento de comprimento em barramentos mistos (single-ended e pares diferenciais)

É por isso que gostamos de definir classes de nets; isso torna as restrições de temporização muito mais simples, pois elas podem ser implementadas para todas as nets naquela classe de net.

Para interfaces como PCIe e DDR, as restrições de temporização são tão rígidas que o atraso de propagação do encapsulamento do pino é necessário para garantir com precisão que os sinais cheguem ao seu destino dentro da janela de tempo exigida. As informações podem ser fornecidas pelo fornecedor do componente para modelar a interface de alta velocidade em questão. Quando você cria um símbolo esquemático para o componente da biblioteca, as informações de atraso do pino podem ser incorporadas às definições de pino em cada extremidade da conexão, e esses valores de atraso serão incorporados à ferramenta de ajuste de atraso durante o roteamento.

Para incluir atrasos pin-package no cálculo de ajuste de atraso durante o roteamento no Altium Designer, as nets da interface em questão precisam ser incluídas em xSignals. Essa ferramenta considera todos os atrasos ponto a ponto entre dois circuitos integrados, e eles são usados no cálculo de ajuste de atraso.

Confinamentos de Camadas de Roteamento

Em placas com grande número de camadas, é comum que determinadas classes de nets ou classes de pares diferenciais sejam atribuídas apenas a camadas específicas. Há duas razões principais para fazer isso:

  • Diferentes camadas são separadas com base na impedância, ajudando nos testes de impedância controlada
  • Alguns roteamentos exigem maior espaçamento para garantir baixo crosstalk, deixando pouco espaço para outras rotas de sinal

Por exemplo, é comum separar diferentes interfaces, como DDR, pares diferenciais de 90 Ohms (por exemplo, USB), pares diferenciais de 100 Ohms e outros barramentos com impedância controlada em suas próprias camadas com projeto de par comum. Essa separação também pode ser feita por valor de largura/espaçamento de trilha, pois ajuda os fabricantes a substituir materiais equivalentes com mais facilidade quando necessário.

Uma regra de Routing Layers especifica quais camadas de sinal podem ser usadas pela classe de net ou classe de par diferencial alvo. Regras específicas por classe permitem que cada interface use suas camadas atribuídas, mantendo uma regra mais ampla para outros roteamentos.

  1. Abra Design » Rules e crie uma nova regra em Routing » Routing Layers.
  2. Defina o escopo personalizado como InNetClass('ClassName') para uma classe de net ou InDifferentialPairClass('PairClass') para uma classe de par diferencial.
  3. Na lista de camadas, habilite Allow Routing para as camadas permitidas e desabilite-o para as camadas restantes.
  4. Dê a essa regra uma prioridade maior do que qualquer regra mais ampla de Routing Layers que tenha como alvo as mesmas nets.
  5. Aplique a regra e execute uma verificação de regras de projeto para identificar roteamentos existentes em camadas proibidas.

Clearances para Todos os Outros Objetos por Camada

Os valores de clearance normalmente são diferentes para camadas internas versus externas devido ao processo de metalização das camadas externas. No entanto, como muitos projetos de alta velocidade também tendem a ser projetos de alta densidade, é comum que diferentes camadas internas exijam diferentes valores de clearance. Isso ocorre devido ao uso de sublaminações, que exigem um processo adicional de metalização e resultam em uma espessura de cobre metalizado maior do que o peso da folha base.

No Altium Designer, os clearances por camada podem ser definidos usando o sistema de consultas:

  1. Abra Design » Classes no editor de PCB e crie uma nova classe de camadas em Layer Classes.
  2. Dê um nome à classe e adicione as camadas que compartilham os mesmos requisitos de clearance. Repita isso para cada grupo que exigir um clearance diferente.
  3. Abra Design » Rules e crie uma nova regra em Electrical » Clearance para cada camada ou classe de camadas.
  4. Selecione uma consulta personalizada para o escopo do primeiro objeto. Use OnLayer('Top Layer') para uma camada individual ou InLayerClass('LayerClass') para uma classe de camadas, substituindo pelo nome real da camada ou da classe.
  5. Defina o escopo do segundo objeto como All para que a regra verifique o clearance em relação a outros objetos de cobre na camada aplicável.
  6. Selecione Different Nets Only e insira o clearance mínimo exigido. Use a matriz de clearances se diferentes combinações de objetos exigirem valores diferentes.
  7. Dê às regras específicas por camada uma prioridade maior do que a regra geral de clearance, aplique as alterações e execute uma verificação de regras de projeto.

Certifique-se de obter os requisitos de clearance por peso de cobre (interno e externo) com o seu fornecedor de serviços de fabricação de PCB.

Também é possível definir clearances por camada usando o novo Constraint Manager. Isso oferece uma abordagem baseada em matriz para definições de clearance, com a qual designers de outros softwares ECAD estarão muito mais familiarizados. Saiba mais sobre o Constraint Manager no vídeo abaixo:

Tamanhos ou Templates de Via Específicos por Net

Já discuti em outro lugar no blog da Altium como funciona a impedância de via e em quais frequências as vias precisam ser projetadas para uma impedância de entrada específica. Esses tamanhos de via e tamanhos de anti-pad serão específicos por net para um determinado stackup e intervalo de camadas, e a restrição de tamanho de via/pad pode ser definida usando regras de projeto de PCB.

Os tamanhos de via podem ser restringidos de duas maneiras:

  • Definindo os tamanhos permitidos para nets/classes de nets específicas
  • Atribuindo um template de via a nets/classes de nets específicas

Determinar o tamanho correto da via não é tão simples quanto usar uma calculadora online para definir as dimensões da via. Isso exige uma simulação 3D de campo eletromagnético, ou pelo menos um modelo empírico desenvolvido a partir de dados de simulação. Depois que os tamanhos das vias e dos anti-pads forem determinados, aplique-os como regras de projeto para garantir que as redes importantes de alta velocidade fiquem restritas aos tamanhos de via corretos.

Anti-pad da via

O anti-pad da via é outra parte do projeto voltado à impedância da via, pois a folga até o plano ajusta a capacitância ao longo do barril da via. Em todos os projetos, já haverá um requisito mínimo de folga entre os pads de via e o cobre próximo em trilhos de plano ou trilhos de alimentação de grande porte. O valor da folga entre via e cobre pode ser ajustado em redes específicas usando uma regra de projeto de PCB com base em rede ou classe de rede.

Para redes diferenciais, o formato do anti-pad pode ser oblongo ou elíptico, em vez de circular ao redor de vias individuais. Esse anti-pad compartilhado é melhor definido desenhando-se o formato do anti-pad, seja como um recorte de plano ou um recorte de polígono. Um exemplo é mostrado abaixo.

Permissão de via-in-pad

Uma característica das PCBs modernas de alta velocidade é que elas também tendem a ser PCBs de alta densidade. Isso ocorre porque a maioria dos processadores agora vem encapsulada em pacotes BGA e, em pitches baixos, isso exigirá via-in-pad para concluir o roteamento de fanout. Mesmo com pacotes BGA de pitch mais largo usando fanout tipo dog-bone, o posicionamento ideal dos capacitores de desacoplamento fica na parte traseira do BGA usando via-in-pad.

Por padrão, o software ECAD verifica a presença de via-in-pad e a sinaliza como uma violação de DRC, caso exista. No entanto, via-in-pad pode ser permitido nas regras de projeto para dar suporte ao roteamento de fanout de BGA.

Abra Design » Rules e crie uma regra High Speed » Via Under SMD. Ative Allow Vias under SMD Pads e aplique o escopo da regra aos pads pretendidos, usando IsPad AND WithinRoom('BGA_Fanout') para uma sala de fanout definida. Dê a ela prioridade maior do que a regra geral. Configure também uma regra correspondente Same Net Only Clearance com folga zero entre pad SMD e via, e entre pad e furo de via, para as vias aprovadas.

Certifique-se de especificar as vias relevantes como preenchidas e tampadas usando a opção de tipos de via IPC-4761 no painel Properties. Isso também pode ser feito selecionando manualmente o grupo específico de vias a ser metalizado e tampado, ou adicionando uma nota de fabricação ao seu desenho mestre caso todas as vias devam ser preenchidas e tampadas.

Comprimento desacoplado de par diferencial

O comprimento desacoplado de um par diferencial contribuirá para a perda de retorno em um canal diferencial e, por isso, é importante determinar um comprimento desacoplado apropriado em algumas aplicações. A região desacoplada surgirá com mais frequência ao rotear para fora de uma matriz densa de pinos em um BGA, onde as trilhas precisam se separar entre si para contornar as vias.

Calcular o comprimento desacoplado não é algo simples, pois isso depende de um cálculo adequado de comprimento crítico com base na largura de banda do seu canal. Uma boa estratégia é: se você souber que seus pares diferenciais terão uma região desacoplada no roteamento de fanout, comece projetando o par com acoplamento frouxo, pois isso reduzirá o descasamento de impedância na região desacoplada e reduzirá a conversão de modo.

Para saber mais sobre o sistema de regras de projeto de PCB no Altium Designer, assista ao vídeo abaixo.

 

Se você precisa desenvolver eletrônica de potência confiável ou sistemas digitais avançados, use o conjunto completo de recursos de projeto de PCB e ferramentas CAD de classe mundial da Altium. A Altium fornece a principal plataforma mundial de desenvolvimento de produtos eletrônicos, completa com as melhores ferramentas de projeto de PCB do setor e recursos de colaboração multidisciplinar para equipes avançadas de projeto. Fale hoje com um especialista da Altium!

 

Perguntas frequentes

Como posso verificar se as trilhas da PCB cruzam lacunas em seus planos de referência?

No Altium Designer, crie uma regra High Speed » Return Path com escopo aplicado às redes relevantes ou à classe de rede correspondente. Selecione o perfil de impedância que define suas camadas de referência, configure a distância mínima da trilha até os limites de cobre de referência e execute uma verificação em lote das regras de projeto. A verificação identifica roteamentos sobre descontinuidades no cobre de referência, incluindo lacunas entre trilhos de alimentação.

Como restringir uma classe de rede ou classe de par diferencial a camadas específicas de roteamento?

Crie uma regra Routing » Routing Layers em Design » Rules e aplique o escopo com InNetClass('ClassName') ou InDifferentialPairClass('PairClass'). Ative Allow Routing somente para as camadas de sinal permitidas e, em seguida, dê à regra prioridade mais alta do que regras mais amplas de Routing Layers. Essas configurações restringem o roteamento e permitem que as verificações de regras de projeto identifiquem trilhas existentes em camadas proibidas.

Como atribuir tamanhos de via ou templates de via a redes específicas e classes de rede?

Crie uma regra Routing » Routing Via Style e aplique o escopo à rede ou classe de rede de destino usando InNet('NetName') ou InNetClass('ClassName'). Defina o diâmetro mínimo, preferencial e máximo da via e o tamanho do furo, ou configure a regra para usar templates de via aprovados. Dê à regra prioridade mais alta do que a regra geral de via. Os spans de camada da via são definidos separadamente no Layer Stack Manager.

Como criar classes de rede e atribuir regras de roteamento de PCB de alta velocidade?

As classes de rede podem ser criadas com diretivas Net Class no esquemático ou diretamente em Design » Classes no editor de PCB. Para classes definidas no esquemático, ative a geração de classes de rede definidas pelo usuário em Project Options e transfira as alterações para a PCB. Em Design » Rules, aplique o escopo de cada regra de roteamento ou temporização aplicável com InNetClass('ClassName'), configure suas restrições e dê a ela prioridade sobre regras mais amplas do mesmo tipo.

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

Related Technical Documentation

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