Cuprins
Pe 11 octombrie 2026, Kentaro Yoshioka, de la Keio University din Japonia, a publicat pe arXiv lucrarea „The Era of Vibe Tapeout: Dark Age or Golden Age for Analog Circuit Design?”. Ea măsoară cât de departe poate duce un agent AI proiectarea unui circuit analogic. Pe procesul open source SKY130, agenți bazați pe Claude Sonnet 5.5 au proiectat un ADC SAR de 11 biți la 5,12 MS/s pornind de la specificație. Au parcurs toate etapele: model funcțional, schemă, layout, extracția paraziților și verificările finale. Agenții nu au desenat nimic într-o interfață grafică. Au scris programe care generează schema și layout-ul, au rulat uneltele EDA din linia de comandă și au citit rezultatele ca text. Sursa: lucrarea pe arXiv.
Cel mai bun rezultat l-a obținut agentul care a primit un design de referință: a ajuns la signoff în 18,9 ore, fără nicio intervenție umană și cu cea mai mică arie. Lucrarea arată și partea mai puțin comodă. Agenții au raportat de mai multe ori „trecut” pentru rezultate greșite, iar erorile au fost prinse doar de o verificare separată de agentul care proiecta. Articolul verifică rezumatul care circulă despre studiu, explică pe scurt cum funcționează un ADC SAR și urmărește problemele pe care agenții le-au diagnosticat singuri.
Cifrele principale
| Parametru | Valoare |
|---|---|
| Lucrarea | arXiv 2610.15240, depusă pe 11 octombrie 2026; un singur autor, Kentaro Yoshioka (Keio University); preprint, CC BY 4.0 |
| Proces | SkyWater SKY130, PDK open source, dispozitive de 1,8 V, celule standard sky130_fd_sc_hd |
| Unelte | magic (layout, DRC, extracție), netgen (LVS), simulator SPICE cu modelele publice SKY130, yosys |
| Circuit | ADC SAR, 11 biți, 5,12 MS/s, alimentare 1,8 V |
| Cerințe după extracție, colțul tt | SNDR ≥ 60 dB, SFDR ≥ 70 dB (FFT coerent de 256 de puncte, intrare −1 dBFS), putere ≤ 450 µW, arie ≤ 0,14 mm² |
| Agenți de proiectare | Claude Sonnet 5.5, câte unul pentru fiecare dintre cele trei condiții |
| Agent ajutor | un model mai capabil, chemat când un agent se blochează; lucrarea dă ca exemplu Claude Opus 5.5 |
| Cel mai bun rezultat | SNDR 63,71 dB după extracție, 307,8 µW, 35 723 µm², signoff după 18,9 h, fără intervenții |
| A doua parte a studiului | PDK comercial de 65 nm și modele rulate local: Kimi K3 a trecut 5 sarcini din 6, MiniMax M3 2 din 6 |
Verificarea afirmațiilor
- „Un studiu publicat pe 11 octombrie”. Confirmat, cu o precizare: lucrarea a fost depusă pe arXiv pe 11 octombrie 2026 și este un preprint, nu un articol evaluat de colegi.
- „Un agent LLM poate proiecta un ADC SAR de 11 biți la 5,12 MS/s, pornind de la specificații, în SKY130”. Confirmat, dar nu a lucrat un singur agent. Experimentul a avut trei condiții, fiecare cu agentul ei. Singura condiție care a ajuns la signoff fără ajutor a primit, pe lângă specificație, un design de referință derivat dintr-un ADC de 65 nm al autorului. Dintre cele două condiții care au pornit doar de la specificație, una a ajuns la signoff cu ajutorul unui agent mai puternic, iar cealaltă nu a îndeplinit specificația până la termen.
- „Scheme și layout-uri care au trecut verificările DRC, LVS și simulările după extragerea paraziților”. Parțial. Toate cele trei layout-uri au trecut DRC și LVS. Specificația după extracție a fost îndeplinită în două condiții din trei. A treia a rămas la 59,90 dB, cu 0,1 dB sub cerință, și a picat la colțurile ss și ff.
- „Identificând independent probleme de cuplaj capacitiv și offset ale comparatorului”. Confirmat. Agentul cu design de referință a găsit singur cuplajul dintre traseele condensatoarelor și placa lor superioară. Offsetul comparatorului, care se schimba cu tensiunea de mod comun, a apărut în condițiile fără referință, iar analiza din lucrare a inclus și agentul ajutor.
- „Autorii avertizează că agenții pot raporta rezultate fals pozitive”. Confirmat. Lucrarea are un singur autor, iar concluzia lui este că verificarea separată de agentul care proiectează a fost indispensabilă. Cazurile sunt descrise mai jos.
Din rezumat lipsesc două lucruri. Rezultatele sunt simulări după extracție, nu măsurători pe un cip fabricat. Iar lucrarea are o a doua parte, despre modele rulate local pe un proces comercial.
Ce înseamnă „vibe tapeout”
„Vibe coding” este termenul lansat de Andrej Karpathy în februarie 2025 pentru programarea în care îi descrii unui model de limbaj ce vrei și rulezi codul generat fără să îl citești în detaliu. Tapeout este momentul în care layout-ul final al unui cip, fișierul GDS, pleacă la fabrică. Yoshioka numește „vibe tapeout” drumul de la specificație la date gata de fabricație parcurs de un agent AI, cu omul în afara buclei de proiectare.
Bucla agentului are patru pași:
- Scrie sau corectează generatoare, adică programe Python sau Tcl care produc netlistul SPICE și layout-ul.
- Rulează uneltele în lot: simulare, DRC, LVS și extracție.
- Transformă rezultatele în text (SNDR, numărul de erori DRC, verdictul LVS, rezistențele și capacitățile extrase) și în imagini PNG ale layout-ului.
- Citește rezultatele, formulează o ipoteză despre cauză și se întoarce la pasul 1.
Bucla se repetă de zeci sau sute de ori, iar o iterație durează între câteva minute și zeci de minute. Omul dă specificația și criteriile de acceptare și se uită la rezultate doar la etapele stabilite dinainte.
Termenii de proiectare a circuitelor integrate care apar mai departe:
- PDK (process design kit) conține modelele tranzistoarelor, regulile de proiectare și bibliotecile de celule ale unui proces de fabricație. SKY130 este procesul de 130 nm al SkyWater, publicat open source împreună cu Google în 2020.
- DRC (design rule check) verifică geometria layout-ului față de regulile fabricii: lățimi minime, distanțe, suprapuneri.
- LVS (layout versus schematic) verifică dacă layout-ul conține exact circuitul din schemă.
- PEX (parasitic extraction) calculează rezistențele și capacitățile traseelor din layout și le adaugă în netlist. Simularea după PEX arată cum se comportă circuitul cu firele lui reale.
- Signoff este setul final de verificări dinaintea tapeout-ului.
- Colțurile tt, ss și ff sunt variante ale procesului cu tranzistoare tipice, lente și rapide.
Ideea de a scrie generatoare în loc să desenezi circuite nu este nouă. Mark Horowitz și colegii lui de la Stanford au rezumat-o în formula „nu proiecta un cip, proiectează un generator care produce cipuri”, iar în analogic framework-uri ca BAG descriu în Python procedurile de dimensionare și de layout ale proiectantului. Problema a fost întotdeauna costul: un generator bun cere cunoștințe solide de circuite și de layout și multă programare, iar investiția se recuperează doar dacă generatorul e refolosit. Agenții din studiu scriu generatoare de unică folosință, pentru fiecare bloc și pentru fiecare problemă.
Cum funcționează un ADC SAR
Un ADC cu aproximări succesive (SAR, successive approximation register) face o căutare binară. Tensiunea de intrare este eșantionată pe o rețea de condensatoare, numită CDAC. Logica SAR încearcă apoi bitul cel mai semnificativ: comută condensatoarele lui, iar comparatorul spune dacă intrarea este peste sau sub jumătatea domeniului. Bitul rămâne 1 sau devine 0, iar căutarea continuă cu bitul următor, pe un interval de două ori mai mic. La 11 biți sunt necesare cel puțin 11 decizii ale comparatorului.
Rezultatul este corect doar dacă sunt îndeplinite două condiții:
- Ponderile binare. Într-un CDAC binar, bitul k are 2k condensatoare unitare, deci fiecare bit cântărește exact dublul bitului următor. Orice abatere de la acest raport mută tranzițiile dintre coduri și produce erori de neliniaritate diferențială (DNL).
- Un prag de decizie stabil. Un offset constant al comparatorului deplasează la fel toate codurile și este ușor de corectat. Un offset care se schimbă de la un bit la altul distorsionează codurile.
La 5,12 MS/s, o conversie completă are la dispoziție:
Conversiei îi sunt alocate 97,6 ns, aproximativ jumătate din perioadă. Pentru cel puțin 11 decizii rămân mai puțin de 9 ns per decizie. Logica este asincronă, adică fiecare decizie o declanșează pe următoarea, deci orice întârziere suplimentară pe buclă se adună la fiecare decizie.
Calitatea unui ADC se măsoară cu raportul semnal/(zgomot + distorsiuni), SNDR, din care rezultă numărul efectiv de biți:
Un convertor ideal de 11 biți are 67,98 dB. Cerința de 60 dB înseamnă 9,67 biți efectivi, iar cei 63,71 dB ai celui mai bun design înseamnă 10,29 biți efectivi.
Experimentul: un supervizor, trei agenți și un ajutor
Lucrarea separă rolurile:
- Omul, adică autorul, stabilește specificația, criteriile de acceptare și termenele și decide dacă se adaugă sau se opresc condiții.
- Agentul supervizor conduce experimentul. Scrie prompturile, trimite tuturor agenților aceleași texte de control și urmărește progresul. Nu dă sfaturi de proiectare. Rolul lui cel mai important este verificarea: nu are încredere în cifrele raportate, recalculează SNDR-ul din formele de undă brute, rulează din nou DRC și LVS și verifică în jurnalele de comenzi că niciun agent nu a citit directoarele altor condiții.
- Agenții de proiectare lucrează fiecare într-un sandbox, unde văd doar directorul propriu și uneltele comune.
- Agentul ajutor pornește pe un model mai capabil când un agent de proiectare se blochează. Lucrează în același director, cu aceleași restricții, iar fiecare apel este înregistrat ca intervenție.
Cele trei condiții diferă prin ce a primit agentul la început:
| Condiție | Ce a primit agentul |
|---|---|
| VibePorting | specificația și un pachet de referință derivat din ADC-ul de 65 nm al autorului: arhitectura, un netlist cu nume generice și dimensiuni W/L date ca rapoarte, note de proiectare, imagini ale floorplan-ului și performanțele |
| FromScratch | doar specificația |
| FromScratch-VA | specificația și o procedură: modele funcționale Verilog-A pentru toate blocurile, specificații pe blocuri, integrare doar după testarea fiecărui bloc |
Pachetul de referință nu conținea fișiere GDS și nici cifre specifice procesului de 65 nm. Așa autorul a putut măsura efectul unui design de referință fără să încalce acordul de confidențialitate al PDK-ului comercial.
Proiectarea a avut cinci etape: M1, modelul funcțional; M2, schema, care trebuie să îndeplinească specificația la tt și să funcționeze la ss și ff; M3, layout-ul, cu zero erori DRC și LVS identic; M4, simularea după PEX; M5, raportul final. După M3, M4 și M5, supervizorul a trimis tuturor agenților aceleași texte de control:
- CP-A cere agentului să randeze layout-ul ca PNG și să caute arie nefolosită, asimetrii pe căile diferențiale și felul în care sunt trasate nodurile sensibile.
- CP-B cere explicarea diferenței dintre schemă și simularea după PEX prin experimente care schimbă un singur lucru o dată, apoi repararea celor mai mari contribuții.
- CP-C cere lista problemelor care trec de DRC și LVS, dar pot face cipul să nu funcționeze.
La începutul layout-ului, toți agenții au primit același comentariu de proiectant: CDAC-ul în aranjament cu centroid comun și atenție la rezistența traseului de referință.
Rezultatele
| Rezultat | VibePorting | FromScratch | FromScratch-VA |
|---|---|---|---|
| SNDR/SFDR la schemă [dB] | 65,99/79,14 | 61,21/73,35 | 66,79/80,83 |
| Putere la schemă [µW] | 204,5 | 346,6 | 167,2 |
| SNDR/SFDR la prima PEX [dB] | 57,67/66,31 | 52,19/66,28 | 53,87/67,92 |
| SNDR/SFDR la PEX final [dB] | 63,71/76,17 | 59,90/70,53 (picat) | 61,95/75,40 |
| SNDR după PEX, ss/ff [dB] | 64,74/64,22 | invalid/55,42 (picat) | 60,14/63,26 |
| Putere după PEX [µW] | 307,8 | 384,1 | 307,7 |
| Arie [µm²] | 35 723 | 99 745 | 55 498 |
| Timp până la schemă (M2) | 4,2 h | 5,1 h | 2,2 h |
| Timp până la primul layout | 0,9 h | 8,9 h | 11,3 h |
| Timp până la signoff | 18,9 h | neatins | 26,8 h |
| Intervenții | niciuna | om și agent ajutor | agent ajutor |
Timpii sunt durate reale și includ pauzele și opririle la limitele de utilizare. Timpul până la schemă și cel până la signoff se măsoară de la pornire, iar timpul până la primul layout de la instrucțiunea de începere a layout-ului. La FromScratch, colțul ss este invalid pentru că conversiile nu s-au terminat în timpul alocat. Sursa: lucrarea, tabelul I.

La schemă, designul de referință aproape că nu a contat. Toate condițiile au îndeplinit specificația la tt, iar FromScratch-VA a avut chiar cel mai bun SNDR, 66,8 dB. Diferența apare la layout. VibePorting a avut primul layout complet după 0,9 ore și o arie de 1,6 până la 2,8 ori mai mică decât a celorlalte. Agentul a preluat floorplan-ul din pachetul de referință: CDAC-urile în stânga și în dreapta, circuitele periferice într-o coloană centrală. Agenții fără referință au trebuit să decidă singuri floorplan-ul, dimensiunile blocurilor și mărimea condensatorului unitar și au lăsat prea mult spațiu pentru trasee și inele de gardă. Concluzia autorului este că designul de referință transmite mai ales deciziile de layout, nu cunoștințele de circuit.
Procedura impusă la FromScratch-VA a crescut SNDR-ul la schemă cu 5,6 dB și a înjumătățit puterea față de FromScratch, dar nu a scurtat layout-ul. FromScratch s-a blocat încă de la schemă, pe distorsiunile comutatorului de eșantionare. Autorul i-a dat patru sfaturi, de felul celor dintr-o revizie de proiect: verificarea comportamentului static cu puncte DC și rampe, revizuirea comutatorului, baleierea dimensiunii lui și un testbench separat doar pentru comutator. Nici așa nu a ajuns la signoff. La ss, bucla asincronă a încetinit și conversia a durat 134,5 ns, față de 97,7 ns alocați. Agentul ajutor a micșorat condensatorul unitar ca să încapă în timp, dar asta a schimbat ponderea relativă a capacităților parazite, a deplasat ponderile CDAC-ului și a scăzut SNDR-ul la tt. Repararea unui defect l-a scos la iveală pe următorul.
Față de ADC-urile SAR proiectate de oameni pe SKY130, designurile agenților au o cifră de merit Walden de 48–59 fJ per pas de conversie, față de 85–109 fJ la designurile publicate:
Aria este de 3 până la 5 ori mai mică decât a unui design uman de 12 biți (0,175 mm²). Autorul spune însă că specificațiile diferă și că valorile lui vin din simulări după PEX fără zgomot și fără nepotrivirea dispozitivelor, deci comparația este doar orientativă.
După extracția paraziților: unde a fost greul
La prima simulare după PEX, SNDR-ul a scăzut cu 8–13 dB față de schemă în toate condițiile. Găsirea și repararea cauzelor a fost etapa cea mai lungă. Toate cauzele găsite de agenți sunt cunoscute proiectanților de circuite analogice.
Cazul 1: cuplajul din CDAC
Primul layout VibePorting avea CDAC-ul în aranjament cu centroid comun: centrul de greutate al fiecărui bit cădea în centrul matricei. SNDR-ul după PEX a fost totuși 57,7 dB, cu 8 dB sub schemă. După textul de control CP-B, agentul a lucrat în ordinea următoare:
- A eliminat pe rând câte un tip de parazit din netlistul extras și a simulat. Eliminarea rezistențelor nu a schimbat nimic. Performanța a revenit doar când a eliminat capacitatea dintre liniile biților și placa superioară a condensatoarelor.
- A adunat capacitatea extrasă pe fiecare bit. Cuplajul per condensator unitar era 0,36 fF la MSB, unde condensatoarele erau grupate, și 0,44–0,67 fF la biții inferiori, răspândiți prin matrice. Cuplajul creștea cu lungimea traseului spre placa inferioară, cu aproximativ 0,0045 fF/µm.
- A scris un emulator SAR în Python cu ponderile extrase și a reprodus valoarea de 57,7 dB.
- A rearanjat condensatoarele în inele concentrice: biții inferiori în jurul centrului, MSB-ul pe inelul exterior. Centroidul fiecărui bit a rămas în centru, iar cuplajul per condensator unitar a devenit uniform, 0,358–0,384 fF.
- A prezis cu emulatorul, înainte de extracție, un SNDR de 63,9 dB. Simularea după PEX a dat 63,6 dB.
De ce contează cuplajul? Într-un model simplificat, capacitatea efectivă a bitului k este suma condensatoarelor lui unitare, fiecare cu cuplajul propriu ck:
Dacă toate condensatoarele unitare au același cuplaj, raportul dintre biți rămâne exact 2, oricât de mare ar fi cuplajul. Dacă biții inferiori au un cuplaj de până la aproape două ori mai mare decât MSB-ul, raportul nu mai este binar. Rezultatul a fost un salt DNL de aproximativ 3 LSB la tranziția MSB-ului. Lucrarea trage concluzia că centroidul comun nu ajunge și că trebuie egalizat și cuplajul fiecărui condensator unitar.

Cazul 2: offsetul comparatorului depinde de modul comun
FromScratch a avut după PEX un SNDR de 52,2 dB. Primele corecturi ale agentului, ajustări de întârzieri, l-au coborât la 47,8 dB. Agentul a trecut apoi la ipoteze testate una câte una, cu simulări tranzitorii scurte. Stabilizarea DAC-ului, o cursă între ieșirea comparatorului și latch, erorile statice de pondere și timpul de eșantionare insuficient nu erau cauza.
Cauza rămasă a fost offsetul comparatorului, care depindea de tensiunea de mod comun de la intrare. În timpul unei conversii SAR, modul comun urcă de la 0,9 V la 1,79 V, iar în simularea comparatorului extras pragul de decizie a variat de la +2 mV la −34 mV. Fiecare bit era deci decis față de alt prag. Pentru comparație, la 11 biți și 1,8 V un LSB este de ordinul unui milivolt sau doi, după cum e definit domeniul de intrare, pe care lucrarea nu îl precizează. Variația pragului înseamnă deci zeci de LSB.
Offsetul venea dintr-o asimetrie a capacităților parazite pe nodurile de ieșire ale latch-ului: o diferență de 0,5 fF muta pragul cu 20 mV la 1,79 V. Reconstruirea simetrică a comparatorului a redus efectul, dar nu l-a eliminat. Un ecran legat la masă pe traseele de ieșire și o altă conectare a circuitului care detectează decizia au făcut pragul constant, +0,24 mV pe tot domeniul, iar SNDR-ul a revenit la 61,0 dB. Analiza a inclus și agentul ajutor, la care problema fusese escaladată.

Cazul 3: întârzierea buclei asincrone
Tot la FromScratch, capacitatea traseelor a încetinit bucla asincronă: conversia a crescut de la 62 ns la 104 ns, peste cei 97,6 ns alocați.
O capcană a uneltei
Fluxul de extracție a rezistențelor din magic, folosit în studiu, transformă capacitățile de cuplaj dintre două semnale în capacități spre masă. Primul rezultat VibePorting după PEX, 66,99 dB, era supraestimat din această cauză. Cu un netlist care combina rezistențele și capacitățile din extracții separate, SNDR-ul real era 57,67 dB. Explicația se leagă de cazul 1. Cuplajul dintre liniile biților și placa superioară, cel care a stricat ponderile, devine într-o astfel de extracție o capacitate spre masă și nu mai modifică ponderile în simulare. Eroarea a fost găsită de verificarea independentă a supervizorului și de procesul CP-B.
Când agentul spune „trecut”
Lucrarea enumeră rezultatele declarate corecte de agenți, care nu erau corecte:
- SNDR-ul supraestimat de capcana de extracție, 66,99 dB în loc de 57,67 dB.
- Un bloc logic care trecea de LVS, dar avea conexiuni lipsă.
- Un fișier GDS exportat fără informațiile despre porturi.
- Un decodor ajustat după rezultat. Chiar înainte de termen, agentul ajutor de la FromScratch a reconstruit ieșirea cu ponderi nebinare, calculate din capacitățile extrase, și a raportat „trecut” la tt, cu 61,8 dB. Ponderile au fost alese după ce agentul a văzut rezultatele FFT, iar pe un cip real nu pot fi obținute fără o etapă de calibrare. Supervizorul nu a acceptat rezultatul și a evaluat designul cu aceeași ieșire binară ca la celelalte condiții.
Toate au fost prinse prin recalculări independente, verificări repetate și textele de control. Autorul scrie că, pe măsură ce agenții devin mai rapizi, treaba omului se mută de la „a face” la „a verifica dacă rezultatul merită încredere”. Aceeași problemă apare la agenții care repară cod: un test pe care agentul îl vede poate trece fără ca eroarea să fie reparată, cum am arătat în articolul despre agenții AI care opresc crash-ul fără să repare vulnerabilitatea.
A doua parte: PDK comercial și modele locale
Un PDK comercial este livrat sub acord de confidențialitate. Modelele, regulile și bibliotecile lui, inclusiv cifrele derivate din ele, nu au voie să părăsească universitatea. Un agent pune fișierele, jurnalele și ieșirile comenzilor direct în contextul modelului, deci un model din cloud ar deschide o cale de scurgere a acestor informații. Autorul a rulat de aceea modele open-weight pe serverele universității și a construit un set de șase sarcini pe un proces CMOS comercial de 65 nm, fără să dezvăluie numele PDK-ului.
Agentul apelează uneltele EDA comerciale din linia de comandă, fără interfață grafică, într-un sandbox bubblewrap. Poate scrie doar în directorul rulării, iar soluțiile de referință și evaluatorul îi sunt invizibile. Rularea este oprită după 30 de minute la T2 și după 90 de minute la celelalte sarcini. Evaluatorul nu folosește cifrele raportate de agent, ci reevaluează livrabilele cu propriile testbench-uri și verificări fizice.
| Sarcină | Kimi K3 | MiniMax M3 |
|---|---|---|
| T1: schema și simbolul unui OTA cu 5 tranzistoare, dintr-un tabel de dispozitive | trecut | trecut |
| T2: tensiunea de polarizare pentru un curent de coadă de 20 µA, plus câștigul, UGF și marginea de fază | trecut | trecut |
| T3: layout-ul unui inversor cu dimensiuni care nu există în bibliotecă | trecut | picat |
| T4: repararea unui layout de OTA cu patru erori DRC/LVS ascunse | trecut | picat |
| T5: proiectarea unui OTA doar din specificație (câștig ≥ 60 dB, UGF ≥ 45 MHz, PM ≥ 60°, ≤ 200 µA, offset ≤ 5 mV) | trecut | picat |
| T6: depanarea unui LDO pornind de la simptomele de pe placa de evaluare | picat | picat |
La T6, LDO-ul de 1,2 V și 10 mA are trei defecte, două de conexiune și unul de parametru. Agentul primește doar simptomele: nu pornește, oscilează la sarcină mică și tensiunea scade la intrare mică și sarcină maximă. Kimi K3 nu a reparat circuitul în timpul alocat. MiniMax M3 nu a trecut DRC și LVS la sarcinile de layout, într-un caz a rescris o schemă pe care nu avea voie să o modifice, iar la T5 cifrele din raportul lui nu se potriveau cu măsurătorile evaluatorului. Autorul consideră sarcinile ușoare pentru modelele de vârf din cloud și vrea să publice setul de teste ca open source, fără părțile dependente de PDK.
Ce se poate delega, după lucrare
| Sarcină | Potrivire | Argumentul din studiu |
|---|---|---|
| Schemă pornind de la specificație | bună | toate condițiile au îndeplinit specificația la schemă; un model local a proiectat un OTA |
| Portare cu design de referință | foarte bună | cea mai mică arie, primul layout în 0,9 h |
| Layout de bloc fără erori DRC/LVS | bună | toți agenții au produs macro-uri curate cu generatoare și routere scrise de ei |
| Floorplan și arie de la zero | medie | de 1,6–2,8 ori aria designului portat |
| Diagnoza și repararea după extracție | medie, lentă | cauzele au fost găsite, dar în 8–14 h și uneori cu escaladare |
| Depanare pornind de la simptome | slabă | sarcina LDO nu a fost rezolvată de modelele locale |
| Autoverificare | slabă | rezultate fals pozitive: extracție, conexiuni lipsă, GDS fără porturi, raport nepotrivit |
| A ști când să se oprească | slabă | agenții au continuat optimizarea după ce îndepliniseră specificația; a fost nevoie de termene |
Sfaturile autorului pentru proiectanți
- Rulează uneltele din linia de comandă și transformă rezultatele în text. Agenții nu pot folosi interfețe grafice. Simularea, DRC-ul, LVS-ul și extracția trebuie să ruleze din scripturi care întorc rezultate scurte: SNDR, numărul și tipul erorilor DRC, diferențele LVS, R și C pe nodurile importante. Layout-ul randat ca PNG la scară fixă îi permite agentului să îl verifice ca imagine. După autor, această pregătire are cel mai mare efect asupra eficienței.
- Scrie specificația ca un criteriu de trecere. Nu „un ADC bun”, ci „SNDR ≥ 60 dB într-o simulare după PEX la tt, cu FFT coerent de 256 de puncte și intrare de −1 dBFS”. Agenții iau condițiile literal, iar orice ambiguitate devine muncă refăcută.
- Stabilește procedura, etapele și termenele. Întâi specificații și teste pe blocuri, apoi integrare. La layout, întâi floorplan-ul. Fără condiții de oprire, agenții continuă să optimizeze și după ce au îndeplinit specificația.
- Dă-i un design de referință, dacă ai unul. Arhitectura, dimensiunile relative, notele de proiectare și floorplan-ul ajută chiar și fără dimensiuni absolute și cifre de proces.
- Verifică independent. Recalculează cifrele importante din datele brute cu un script separat, rulează separat DRC și LVS și verifică capcanele uneltelor, cum ar fi felul în care extracția tratează paraziții.
- Cere jurnale de lucru și note de predare. Raționamentul, starea curentă și rezultatul fiecărei încercări, într-un format fix. Dacă agentul se oprește, altul poate continua, iar designul poate fi auditat ulterior.
Epocă întunecată sau epocă de aur?
Titlul lucrării pune o întrebare, iar autorul răspunde cu ambele variante.
Partea întunecată. Cele mai grave probleme din studiu au apărut în designuri care treceau de DRC și LVS: cuplajul din CDAC, offsetul produs de o asimetrie de câțiva femtofarazi și performanța supraestimată de extracție. Agenții respectă foarte fidel verificările pe care le primesc, dar nu optimizează ce nu văd verificările. Un proiectant fără baze nu poate observa aceste probleme și nici nu poate scrie verificările care le-ar prinde. Autorul citează „Ironiile automatizării” ale lui Lisanne Bainbridge (1983): cu cât automatizarea avansează, cu atât omului îi rămâne munca cea mai grea, supravegherea și tratarea anomaliilor, iar munca de zi cu zi care îi forma această abilitate dispare. Dacă agenții desenează layout-urile, unde își mai formează următoarea generație intuiția că traseul de referință este cel mai critic fir din design?
Partea luminoasă. Cea mai mare parte din costul unui IP analogic este munca inginerilor, iar în studiu ea a scăzut mult. Agenții au făcut și studii pe care oamenii le sar adesea, cum ar fi compararea mai multor floorplan-uri sau eliminarea paraziților unul câte unul. Cu PDK-uri open source și cu wafere multi-proiect ieftine, cum este Tiny Tapeout, cercetătorii și-ar putea face propriile convertoare pentru măsurări, medicină, experimente de fizică sau educație, aplicații considerate până acum o piață prea mică pentru un cip dedicat.
Autorul conchide că vibe tapeout este o epocă de aur pentru cei care știu ce să verifice, iar pentru ceilalți o epocă în care se produc rapid, în serie, cipuri care nu funcționează. Recomandările lui sunt următoarele:
- Transformă criteriile de acceptare în cod. Ponderile efective ale CDAC-ului, diferența de capacitate dintre ramurile P și N sau rezistența traseului de referință trebuie definite ca verificări automate înainte de începerea layout-ului. Așa ajunge experiența proiectanților seniori și la generația următoare, și la agenți.
- Tratează designurile de referință ca pe un activ. Designurile umane vechi devin șabloane pentru portare.
- Mută accentul formării de la „a desena” la „a vedea ce e greșit”. Mai mult exercițiu în a judeca pe unde circulă curentul, ce trebuie să fie simetric și care cifre sunt suspecte.
Ce nu spune lucrarea
- Nu există un cip fabricat. Titlul vorbește de tapeout, dar toate rezultatele sunt simulări după extracție la nivel de macro, fără pad-uri. Zgomotul și nepotrivirea dispozitivelor (analiza Monte Carlo) nu au fost evaluate.
- O singură rulare per condiție. Fiecare condiție a avut un singur agent de proiectare, cu un singur model. Nu știm cât variază rezultatele de la o rulare la alta sau cu alt model.
- Costul. Lucrarea dă timpii, dar nu și tokenii consumați, costul rulărilor sau resursele de calcul folosite pentru simulări.
- Avantajul designului de referință depinde de existența lui. Pachetul VibePorting a fost derivat dintr-un ADC deja proiectat de autor în 65 nm, cu aceeași arhitectură.
- Verificatorul este tot un agent. Supervizorul care a prins rezultatele false este și el un agent LLM. Lucrarea nu descrie cum au fost verificate propriile lui scripturi de recalculare.
- Rezultatele nepublicate. Autorul spune că a proiectat intern, cu același framework, și ADC-uri ΔΣ de ordinul trei și pipeline și că metoda se extinde la SoC-uri întregi. Detaliile urmează să fie publicate în altă parte.
- Este un preprint cu un singur autor, neevaluat de colegi la data consultării.
Ce merită reținut
- Un agent de programare obișnuit poate duce acum un ADC SAR de la specificație la signoff, fără antrenare specială pentru circuite și fără integrare dedicată cu uneltele, doar cu scripturi simple care le apelează. Autorul pune rezultatul pe seama capacității agenților de a lucra coerent ore sau zeci de ore și îl consideră o limită inferioară.
- Designul de referință contează mai mult decât procedura. Cu referință, agentul a avut primul layout după 0,9 ore și aria cea mai mică. Fără referință, schemele au fost la fel de bune, dar layout-urile au ieșit de 1,6–2,8 ori mai mari.
- Greul începe după extracție. Toate designurile au pierdut 8–13 dB la prima PEX, iar cauzele (cuplaj, asimetrii de câțiva fF, întârzieri) nu se văd în schemă și nu sunt prinse de DRC sau LVS.
- „Trecut” raportat de agent nu este o dovadă. Recalculează din datele brute, rulează separat verificările și caută capcanele uneltelor.
- Verificările pe care le scrii definesc ce optimizează agentul. Agenții respectă fidel verificările primite, dar nu caută probleme pe care verificările nu le acoperă.
Bazele convertoarelor analog-digitale, de la rezoluție la referința de tensiune, sunt explicate în cursul Aparat de măsură cu Arduino. Modelele comportamentale și simulările tranzitorii, adică primele două etape ale fluxului din studiu, se pot exersa în cursul Simularea circuitelor electronice cu QSPICE. Despre un alt agent EDA evaluat după rezultatul final, nu după pași, vezi articolul despre Siemens, NVIDIA și fișierele Liberty.