agentee

Projektowanie

Rozmieszczanie, trasy i wylewki

Automatyczne rozmieszczanie, wylewki masy i zasilania, połączenia płaszczyzn, automatyczny traser, opisy sitodruku, pady testowe i sprawdzanie zasad projektowania, które decyduje o pakiecie produkcyjnym.

Projekt PCB (layout) rozmieszcza footprints ze schematu na płytce i łączy je miedzią. Każde polecenie tutaj zapisuje zwykłe wpisy do *.pcb.toml, więc niezależnie od tego, co zrobił rozmieszczacz lub traser, ty lub agent możesz to edytować później.

agentee new layout NAME

Dodaj board i schematic do startera. Weryfikacja zgłasza wtedy każdy element, który nie jest jeszcze rozmieszczony.

Rozmieszczanie

agentee place NAME
agentee render pcb:NAME -o placed.png

agentee place to szybki start dla całej płytki. W kolejności priorytetu:

  • umieszcza złącza na krawędziach, stroną stykową na zewnątrz, i nigdy nie stawia złącza RF i złącza USB na jednej krawędzi, jeśli inny podział się zmieści, ponieważ szum USB 3 trafia w pasmo 2,4 GHz;
  • układa ścieżkę RF w linii prostej od złącza do złącza, z elementami równoległymi obok linii, w ich węźle;
  • przesuwa duże układy scalone do środka, z dala od krawędzi i otworów, gdzie depanelowanie wygina płytkę;
  • grupuje kondensatory odsprzęgające każdego układu scalonego przy pinach zasilania, które obsługują, oraz jego kryształ przy pinach zegara;
  • trzymają przetwornice impulsowe w odległości 8 mm od kryształów i elementów RF, a gorące elementy z dala od siebie;
  • trzymają ceramiczne kondensatory 0805 i większe poza strefą gięcia blisko krawędzi i otworów, a mniejsze obracają, aby leżały wzdłuż krawędzi;
  • obracają każdy element w stronę jego sieci.

Przewodnik dotyczący rozmieszczania podaje źródło każdej zasady. Wynik zależy tylko od plików i --seed.

Następnie zrób to, co zrobiłby człowiek: spójrz na to, przesuń istotne elementy i zablokuj je.

agentee edit pcb NAME place J1 2.54,12 --rotation 180 --locked
agentee place NAME --keep-placed
agentee place NAME --seed 7
agentee place NAME --parts 'C*,R*'
agentee place NAME --side both

locked = true nigdy nie jest przesuwany. --keep-placed zostawia każdy element, który już ma miejsce, --parts rozmieszcza tylko pasujące, a --side both pozwala kondensatorom odsprzęgającym znaleźć się pod BGA z tyłu. [place] edges w projekcie PCB przypina złącze do krawędzi, a keepouts to wielokąty, do których courtyard nie może wejść:

[place]
edges = { J1 = "left", J2 = "right" }
keepouts = [[[0, 0], [8, 0], [8, 6], [0, 6]]]

Wylewki i płaszczyzny

agentee edit pcb NAME zone GND --layers F.Cu,In1.Cu,In2.Cu,B.Cu
agentee edit pcb NAME zone 3V3 --layers In2.Cu --priority 1

Strefa wypełnia swój obrys (domyślnie płytkę) minus miedź każdej innej sieci powiększona o jej odstęp, jako dokładne wielokąty z zaokrąglonymi rogami. Szyjki węższe niż min_width strefy są usuwane, tak jak producent je graweruje, a wyspy, które nie łączą się z niczym, są odrzucane. Na jednej warstwie strefy wypełniają się według priority, więc wylewka zasilania wewnątrz wylewki masy na całą płytkę jest wylewana wokół, a nie zwarta z nią. --pad-connection relief łączy pady czterema promieniami zamiast litej miedzi.

Wypełnienia są obliczane przy wczytywaniu i buforowane. agentee fill NAME zapisuje je na końcu pliku projektu PCB, więc świeży checkout wczytuje się bez wypełniania.

Połącz pady z płaszczyznami

agentee tie NAME

Sieć ze strefą to sieć płaszczyznowa. tie daje każdemu padowi SMD sieci płaszczyznowej krótki stub i przelotkę obok, po stronie z dala od elementu, z dala od każdego pada i innej sieci. Tak pady masy i zasilania powinny łączyć się z płaszczyzną, zamiast ścieżek między nimi. Pad, który już ma przelotkę swojej sieci w pobliżu, zostaje w spokoju, a pad bez legalnego miejsca jest wymieniany pod failed.

Trasowanie

agentee route NAME --nets 'USB_*,SPI_*' --layers F.Cu,B.Cu
agentee route NAME --nets '*'

Trasownik działa na siatce 0,05 mm i utrzymuje szerokość, odstępy, warstwy i przelotki każdej klasy względem wszystkiego, co już tam jest. Kroczy w kierunkach 45-stopniowych, nalicza koszty za przelotki i zakręty, później napina biegi i zwęża ścieżkę do pada, który jest węższy niż szerokość klasy. Połączenie bez wolnej ścieżki rozrywa to, co stoi na drodze, i te sieci wracają do kolejki.

  • Glob w --nets nigdy nie pasuje do sieci płaszczyznowej, więc --nets '*' trasy wszystkie sygnały i zostawia masę płaszczyznom.
  • Istniejąca miedź nigdy nie jest przesuwana, chyba że --reroute najpierw usuwa ścieżki i przelotki nazwanych sieci.
  • Gdy kilka połączeń zawiedzie, trasy je ponownie razem z sieciami wokół i --reroute, albo przejdź na --grid 0.025.
  • --pairs trasy pary różniczkowe jako sprzężone pary, gdzie się zmieszczą.
  • --via-in-pad pozwala przelotce usiąść wewnątrz pada SMD swojej sieci, wypełnionej i pokrytej.
  • --dry-run raportuje bez zapisywania.

Najpierw ręcznie trasy sieci, które mają znaczenie: linia RF, gorący pętla przetwornicy, kryształ. Potem pozwól trasownikowi wypełnić resztę, klasa po klasie.

Ręcznie, ścieżki i przelotki to też polecenia:

agentee edit pcb NAME track RF_OUT F.Cu 19.28,12 30.92,12
agentee edit pcb NAME via GND 7.2,8.9

Ścieżka musi wejść w pad. Taka, której linia środkowa tylko muska krawędź pada, jest oznaczana, nawet jeśli miedź się dotyka.

Szytowanie i fanouty

[[stitching]]
net = "GND"
pitch = "2.5mm"

[[stitching]]
net = "GND"
fence = ["RF_*"]

[[fanouts]]
ref = "U3"
skip_rings = 2

[[stitching]] umieszcza przelotki masy na siatce wszędzie tam, gdzie nie kolidują z żadną inną siecią, albo ogrodzenie z nich wzdłuż ścieżek nazwanych sieci. [[fanouts]] stawia przelotkę w każdym połączonym padzie BGA, zostawiając zewnętrzne pierścienie na ucieczkę na warstwie górnej. Oba to zasady: przelotki są umieszczane ponownie za każdym razem, gdy miedź wokół nich się zmienia. agentee edit pcb NAME stitch GND --pitch 2.5mm i fanout U3 --skip-rings 2 je zapisują.

Opisy

Sprawdzanie oznacza każdą etykietę odniesienia, która zagęszcza inny tekst, leży na padzie lub przelotce albo wychodzi poza płytkę, i podaje miejsce, które przechodzi. agentee silk przenosi je wszystkie tam:

agentee silk NAME
agentee silk NAME --hide

--hide ukrywa etykiety, które nie mają dokąd pójść, typowo małe elementy biernego pod BGA.

Każda płytka ma też agentee vX.Y.Z-HASH w swoich opisach, domyślnie na spodzie. Potrzebuje wolnego pasma około 23 na 1,2 mm; na małej lub zatłoczonej płytce, zwolnij miejsce dla niego albo ustaw [watermark] at samodzielnie. Pakiet produkcyjny jest odrzucany bez niego.

Pady testowe

agentee testpoints NAME
agentee testpoints NAME --nets '3V3,*RST*' --side B --pitch 2.54

Każda płytka potrzebuje dostępu do sondowania do uruchomienia i fixture'a z pinami pogo do testów produkcyjnych. Domyślnie to szyny zasilania, masa, resety, włączenia, power good, zegary i magistrale niskiej prędkości; węzły przełączania i sprzężenie zwrotne przetwornic są celowo pomijane. testpoints dodaje element TP w schemacie, pad 1 mm po stronie sondowania blisko miedzi sieci i zatrasyowaną ścieżkę do niego, dla każdej sieci, która jeszcze nie ma dostępu. Sieci impedancyjne i pary są pomijane, ponieważ stub im szkodzi.

Sprawdzanie zasad projektowania

agentee check --item pcb:NAME
agentee drc NAME
agentee drc NAME --list

check uruchamia każdą zasadę; drc drukuje tylko diagnostykę zasad projektu PCB, każda zaczynająca się od jej identyfikatora w nawiasach, a --list drukuje każdą zasadę z informacją, czy dotyczy tej płytki. Błędy blokują pakiet produkcyjny. Ostrzeżenia i powiadomienia to praktyka, a nie limity producenta: stosuj się do nich, chyba że projekt podaje powód, i zapisz ten powód w DESIGN.md.

Trasowanie jest zakończone, gdy unrouted wynosi 0 dla każdej sieci w agentee show pcb:NAME.

Rozplątywanie pinów układu

agentee pinswap NAME --part U3
agentee pinswap NAME --part U3 --write

pinswap przypisuje na nowo wymienne I/O FPGI lub MCU (ten sam bank, pary jako pary, piny zegara zostają na pinach zegara), aby rozplątać ratsnest, a --write przepisuje odniesienia pinów w schemacie.

Silnik projektu PCB

agentee layout NAME uruchamia skonfigurowane etapy silnika projektu PCB po kolei (ograniczenia, rozmieszczenie, dostęp, globalne trasowanie, szczegółowe trasowanie, wykończenie) i drukuje wynik dla każdego członu z najgorszymi naruszeniami. --from, --to i --only wybierają etapy. Jest nowszy niż place i route; etapy i ich ustawienia są w tabeli [engine] projektu PCB, a podgląd może je uruchomić na projekcie, jaki stoi w oknie.

Popraw ten przewodnik · Markdown dla agentów