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.
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.
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.
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.
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.
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.

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:
É 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.
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:
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.
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:
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:
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:
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.
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.
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.
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!
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.
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.
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.
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.