Design
Impedância controlada e pares
Larguras de pista resolvidas por forma fechada e campo na GPU, linhas RF coplanares, pares diferenciais, correspondência de comprimento e interfaces como USB 3.
Uma linha de impedância controlada é uma promessa entre três coisas: o stackup, a largura da pista e o cobre à sua volta. O agentee mantém a promessa num só lugar, a classe de rede, e verifica cada pista da classe contra ela.
Perguntar primeiro
agentee calc impedance --layer F.Cu --target 50ohm
agentee calc impedance --layer F.Cu --target 90ohm --gap 0.15mm
agentee calc trace-width --current 2AEstas leem a placa no projeto. A primeira responde uma largura para um microstrip de 50 ohm na camada superior; a segunda para um par diferencial de 90 ohm com um espaçamento de 0,15 mm:
{
"geometry": { "er": 4.4, "h_mm": 0.2104, "kind": "microstrip", "t_mm": 0.035 },
"line": { "coplanar_gap_mm": null, "diff_gap_mm": 0.15 },
"target_ohm": 90.0,
"width_for_target_mm": 0.2682
}As formas fechadas são Hammerstad-Jensen para microstrip, Wheeler para stripline e mapeamento conforme para coplanar com terra, todas sem revestimento. Ignoram a máscara de solda e, em prepreg fino, podem estar desviadas em vários ohms.
Resolver o campo
agentee calc field --netclass RF
agentee calc field --netclass RF --sweep 10MHz,6GHz,21O solver de campos executa uma resolução de Laplace por diferenças finitas da secção transversal na GPU, com espessura de cobre, máscara de solda, terras coplanares e pares. Atinge 0,5% da stripline exata de Cohn e 0,4% do microstrip de Hammerstad-Jensen, em uma fração de segundo:
{
"closed_form_uncoated_ohm": 51.12,
"coplanar_gap_mm": 0.2,
"field": {
"backend": "gpu",
"eeff": 3.094,
"delay_ps_per_mm": 5.87,
"z0": 49.88
},
"solder_mask": true,
"width_mm": 0.3
}--sweep adiciona uma tabela de perdas por frequência: R, L, G, C, Z0 e dB por metro e por polegada, dividida em perda de condutor e dielétrica, com efeito de pele, rugosidade do cobre a partir do stackup (roughness ou huray) e um modelo dielétrico causal. Sem GPU, o solver 2D recorre à CPU.
Colocar o alvo na classe
[[netclasses]]
name = "RF"
impedance = "50ohm"
impedance_tolerance = "5%"
coplanar_gap = "0.2mm"
layers = ["F.Cu"]
solver = "field"Com solver = "field", a verificação resolve a classe em todas as camadas que pode usar e, quando está fora do objetivo, indica em quanto e o que usar:
error: lna.board.toml: lna netclass RF on F.Cu: field solver gives 59.4 ohm with solder mask, outside 50ohm +/- 5%, use track_width = "0.2985mm" (50.2 ohm)Omita track_width e a verificação resolve-o para a primeira camada. Quando uma única largura não serve todas as camadas, indique widths = { "In2.Cu" = "0.16mm" }.
Manter na placa
A classe é uma promessa; o layout cumpre-a. A verificação mede cada pista de uma classe de impedância:
impedance-traceé um erro quando a largura de uma pista, as suas reduções de pescoço, ou o cobre ao lado dela numa camada externa move a sua impedância para fora da tolerância. Uma linha coplanar com a área de cobre demasiado afastada, ou uma que reduz o pescoço por demasiado tempo, é apanhada aqui.impedance-widthavisa sobre uma pista da classe com outra largura.neckdownnota uma pista mais estreita do que a sua classe para uma corrida curta para um pad pequeno, o que é permitido até ao comprimentoneckdownda classe (0,5 mm por omissão).
agentee neck NAME reduz o pescoço das extremidades de pistas existentes que entram num pad mais estreito do que a pista, e --taper devolve a largura em etapas ao longo de uma cadeia curta.
Pares diferenciais
[[netclasses]]
name = "USB"
impedance = "90ohm"
diff_gap = "0.15mm"
layers = ["F.Cu"]
max_skew = "0.1mm"diff_gap torna uma classe num par e a sua impedância diferencial. Redes que terminam em _P e _N, _DP e _DN, + e -, ou P e N formam pares por si mesmas; caso contrário, dê-lhes nomes no layout:
[[pairs]]
p = "USB_DP"
n = "USB_DN"
max_skew = "0.1mm"calc field --netclass USB adiciona um bloco pair: Zdiff, Zcommon, as impedâncias e atrasos dos modos ímpar e par, o coeficiente de acoplamento e o crosstalk de extremidade próxima de uma linha longa. A verificação relata o skew de cada par em mm e ps, qualquer estiramento com afastamento errado além de max_uncoupled, e pares que correm lado a lado por menos de 80% do seu comprimento. Um par através de componentes em série, como os condensadores AC numa pista USB, é medido de ponta a ponta. agentee route NAME --nets 'USB_*' --pairs roteia as duas metades juntas.
Correspondência de comprimentos
[[match_groups]]
name = "ddr-dq0"
nets = ["DQ?", "DQS0_*"]
tolerance = "0.5mm"agentee tune NAME
agentee show pcb:NAMEtune faz meandros na rede curta de cada par sobre o seu skew e em cada membro de grupo de correspondência abaixo do seu alvo, nos segmentos retos mais longos onde os saliências não tocam nenhuma outra rede, e escreve os pontos de volta nas pistas. Num par, ele aumenta primeiro os esticamentos onde as pernas já se separam. Uma rede acima do seu alvo é reportada, não encurtada. agentee calc serpentine --from 10,5 --to 20,5 --add 2.5mm dá os pontos de um meandro num segmento que se escolhe. Os comprimentos e atrasos das redes estão em show.
Interfaces
Uma interface declara o que uma ligação deve cumprir, e a verificação mede o cobre contra tudo isso de uma vez:
[[interfaces]]
name = "usb-ss"
preset = "usb3-gen1"
nets = ["SS_TX*", "SS_RX*"]| pré-definido | impedância | skew | vias | outro |
|---|---|---|---|---|
usb3-gen1, usb3-gen2 | 90 ohm +/-7% diff | 5 mil | 2 | stubs de 15 mil, 3500 / 3000 mil de comprimento, via de retorno dentro de 200 mil |
usb2-hs | 90 ohm +/-10% diff | 50 mil | 4 | 12000 mil de comprimento |
lvds | 100 ohm +/-10% diff | |||
rf-50 | 50 ohm +/-10% | 0 | ||
cmos | 2 mm sem referência |
Os valores de USB são as diretrizes de layout de alta velocidade da TI. Além dos objetivos da classe, uma interface verifica o comprimento de ponta a ponta, as vias por pista, os stubs das vias, o percurso sem plano de referência por baixo, a via de massa ao lado de cada via de sinal e, nos barramentos, a dispersão de chegada e a janela em relação ao relógio. Também pode ler uma simulação terminada: perda de inserção e de retorno piores e conversão de modo de uma execução FDTD, altura e largura do olho de uma simulação de canal. Veja Diagramas de olho, PDN e parâmetros S.
tune funciona em interfaces em tempo, além de comprimento: um par acima do seu skew em ps, e um barramento fora da sua janela de relógio, têm o lado curto alongado no atraso próprio por mm de cada rede.