În lumea complexă a designului cu siliciu, asigurarea acurateței și fiabilității designurilor noastre este esențială. Pe măsură ce cipurile noastre devin mai sofisticate, procesul de căutare a erorilor – identificarea și rectificarea erorilor din designul nostru – devine și mai critic. Inteligența artificială generativă are potențialul de a revoluționa industria designului de siliciu prin îmbunătățirea capacităților noastre de vânătoare de erori. Cum? Să experimentăm!
Experimentul 4: vânează insecte
Pentru a demonstra eficacitatea AI generativă în proiectarea cu siliciu, am efectuat un experiment cu GPT-4 de la OpenAI. Am furnizat sistemului o specificație de proiectare (sursă de la https://mathcircle.berkeley.edu/sites/default/files/archivedocs/2010_2011/contest/1011contestpdf/comp8.pdf) alături de o implementare a designului. Obiectivul? Pentru a vedea dacă GenAI a putut identifica erori.
Specificații de proiectare: pe o tablă de șah 5 × 5, un rege se mișcă conform următoarelor reguli: 1. Se poate mișca câte un pătrat pe rând, orizontal, vertical sau diagonal. 2. Se poate deplasa în fiecare dintre cele opt direcții permise de cel mult trei ori pe întregul său traseu.
Mai jos este rezultatul modelului GenAI:
1. Bug: Suprascrierea cur_x_pos cu cur_y_pos else begin cur_x_pos <= nxt_y_pos; cur_y_pos <= nxt_y_pos; end Această secțiune va face ca poziția x curentă a regelui (cur_x_pos) să ia întotdeauna valoarea lui nxt_y_pos, care este incorectă. Contraexemplu: Scenariu de intrare: Presupunem că regele este în poziția (2,2) și cererea de mutare este furnizată cu direcția = 3'b010 (Sus). Tranziție de proiectare: Așteptată: cur_x_pos rămâne 2 și cur_y_pos devine 3. Actual: Atât cur_x_pos, cât și cur_y_pos devin 3. Rezultat: Rezultat așteptat: Regele trece la (2,3). Rezultatul real: Regele se mută la (3,3).
2. Bug: cur_moves_count[] inițializare la zero dacă (resetare) cur_moves_count[dir] <= 3'd0; Numărările de mișcări din toate direcțiile sunt inițializate la zero la resetare. Totuși, condiția de a verifica mutările maxime folosește < 3'd3, ceea ce înseamnă că regele se poate mișca de 4 ori în fiecare direcție înainte ca o eroare să fie ridicată. Contraexemplu: Scenariu de intrare: Presupunem că regele este în poziţia (0,0) şi patru cereri de mutare consecutive sunt furnizate cu direcţia = 3'b000 (Dreapta). Tranziție de proiectare: așteptată: după 3 mișcări la dreapta, a patra mutare ar trebui să declanșeze o eroare. Real: Regele se mișcă de patru ori spre dreapta fără a declanșa o eroare. Rezultat: Rezultat așteptat: Regele trece la (4) și apoi se declanșează eroarea. Rezultatul real: Regele trece la (3,0) fără eroare.
3. Bug: Lipsa verificării limitelor Deși codul conține verificări ale limitelor pentru mișcarea regelui pe tabla de șah, nu ține cont de posibilitatea ca adăugarea sau scăderea din valorile de 3 biți să poată duce la erori de rulare. De exemplu, dacă cur_x_pos este 3'd7 (ceea ce nu ar trebui să se întâmple pe baza designului curent, dar se poate datora influențelor externe sau altor probleme de proiectare), scăderea lui 1 ar putea avea ca rezultat 0, mai degrabă decât un 6 așteptat din cauza trecerii biților. . Contraexemplu: acesta ar putea fi o eroare teoretică, deoarece designul actual nu permite un astfel de scenariu. Cu toate acestea, este esențial să luați în considerare acest lucru pentru un design robust. Recomandare: Verificările limitelor pot fi îmbunătățite și pot fi adăugate verificări suplimentare pentru a se asigura că poziția regelui nu iese niciodată în afara intervalului valid.
Observații interesante
- Identificarea erorilor: Modelul GenAI a evidențiat o discrepanță specifică între specificația de proiectare și implementarea acesteia cu un contraexemplu adecvat, inclusiv scenariul, tranzițiile și analiza rezultatului real vs așteptat. Acesta a fost într-adevăr o eroare autentică care avea nevoie de rectificare.
- fals negativ: Ca orice instrument, AI generativ nu este infailibil. A evidențiat o problemă care, la o inspecție mai atentă, s-a dovedit a nu fi o eroare. Acest lucru servește drept memento că, deși AI poate fi un asistent valoros, expertiza și raționamentul uman rămân cruciale în procesul de validare.
- Problemă de îmbunătățire: Dincolo de doar căutarea de erori, modelul GenAI a propus și o îmbunătățire - o sugestie pentru îmbunătățirea designului care nu era neapărat să remedieze o eroare, ci mai degrabă să optimizeze designul în continuare. Acest beneficiu neașteptat demonstrează modul în care AI poate ajuta nu numai să găsească greșeli, ci și să sugereze inovații.
Peisajul de mâine – Editore/analizoare de cod HDL alimentate de GenAI!
Implicațiile acestui experiment sunt profunde. Prin integrarea instrumentelor AI generative în fluxul nostru de dezvoltare a codului HDL, putem:
- Accelerați procesul de vânare a erorilor: Automatizarea etapelor inițiale de detectare a erorilor poate reduce orele de om petrecute în depanarea formelor de undă lungi de simulare.
- Reduceți costul verificării: Cu mai puține erori rămase de găsit de instrumentele/inginerii de verificare, închiderea verificării poate fi realizată mai repede, ceea ce duce la economii de costuri pe termen lung.
În Concluzie
Pe măsură ce industria semiconductoarelor continuă să evolueze, folosirea instrumentelor precum Generative AI ne poate oferi un avantaj, asigurându-ne că proiectele noastre nu sunt doar fără erori, ci și depășesc limitele a ceea ce este posibil. Este doar o chestiune de timp când copiloții și pluginurile obțin o adopție largă în industrie.
Citeste si:
AI generativă pentru Silicon Design – Articolul 3 (Simulați designul meu)
AI generativ pentru design silicon – Articolul 2 (Depanați-mi forma de undă)
AI generativ pentru design silicon – Articolul 1 (Cod My FSM)
Distribuie această postare prin:
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- PlatoData.Network Vertical Generative Ai. Împuterniciți-vă. Accesați Aici.
- PlatoAiStream. Web3 Intelligence. Cunoștințe amplificate. Accesați Aici.
- PlatoESG. carbon, CleanTech, Energie, Mediu inconjurator, Solar, Managementul deșeurilor. Accesați Aici.
- PlatoHealth. Biotehnologie și Inteligență pentru studii clinice. Accesați Aici.
- Sursa: https://semiwiki.com/eda/338432-generative-ai-for-silicon-design-article-4-hunt-for-bugs/
- :are
- :este
- :nu
- $UP
- 1
- 4
- 7
- 8
- a
- Conform
- Cont
- precizie
- realizat
- peste
- curent
- adăugat
- adăugare
- Suplimentar
- Adoptare
- După
- AI
- TOATE
- permite
- pe langa
- de asemenea
- Cu toate ca
- mereu
- an
- analiză
- și
- Orice
- SUNT
- Mulțime
- articol
- AS
- Asistent
- asuma
- At
- automatizarea
- bazat
- BE
- deveni
- devine
- înainte
- începe
- beneficia
- Berkeley
- între
- Dincolo de
- Pic
- atât
- limitele
- Bug
- vânătoare de insecte
- gandaci
- dar
- by
- CAN
- capacități
- caz
- Provoca
- verifica
- Verificări
- Şah
- Chips
- mai aproape
- închidere
- cod
- comparație
- complex
- condiție
- efectuat
- consecutiv
- Lua în considerare
- conține
- continuă
- A costat
- economii
- ar putea
- crea
- critic
- crucial
- Curent
- defini
- demonstra
- demonstrează
- Amenajări
- modele
- detaliat
- Detectare
- Dezvoltare
- FĂCUT
- direcţie
- traseu
- discrepanţă
- face
- jos
- două
- fiecare
- Margine
- eficacitate
- altfel
- capăt
- consolidarea
- asigura
- asigurare
- Întreg
- eroare
- Erori
- esenţial
- Eter (ETH)
- Chiar
- evolua
- depășește
- de aşteptat
- experiment
- expertiză
- extern
- mai puține
- Găsi
- descoperire
- debit
- următor
- Pentru
- patru
- din
- funcțional
- mai mult
- Câştig
- generativ
- AI generativă
- veritabil
- Da
- scop
- Merge
- întâmpla
- ajutor
- Evidențiați
- deţine
- Cum
- Totuși
- HTTPS
- uman
- vânătoare
- Vânătoare
- i
- Identificare
- identifica
- if
- implementarea
- implicații
- îmbunătățit
- îmbunătățirea
- in
- Inclusiv
- indica
- industrie
- inițială
- inovații
- intrare
- instanță
- integrarea
- în
- problema
- probleme de
- IT
- ESTE
- doar
- Rege
- lipsă
- peisaj
- conducere
- stânga
- lăsa
- efectului de pârghie
- ca
- LIMITĂ
- Lung
- materie
- max-width
- maxim
- sens
- ar putea
- greşeli
- model
- modul
- mai mult
- cele mai multe
- muta
- mişcare
- mişcă
- my
- în mod necesar
- necesar
- negativ
- nu
- of
- on
- ONE
- afară
- optimizarea
- or
- Altele
- al nostru
- afară
- Rezultat
- producție
- exterior
- Suprem
- pentru
- Plato
- Informații despre date Platon
- PlatoData
- poziţie
- posibilitate
- posibil
- Post
- potenţial
- alimentat
- prezenta
- proces
- profund
- adecvat
- propus
- prevăzut
- împingerea
- ridicat
- gamă
- mai degraba
- Citeste
- Recomandare
- reduce
- Reg
- încredere
- rămâne
- rămășițe
- aducere aminte
- solicita
- rezultat
- revoluţiona
- dreapta
- robust
- Traseul
- norme
- Alerga
- s
- Economie
- scenariu
- Secțiune
- vedea
- semiconductor
- servește
- să
- Siliciu
- simulare
- sofisticat
- provenind
- specific
- specificație
- uzat
- pătrat
- Stadiile
- astfel de
- sistem
- T
- Lua
- decât
- acea
- apoi
- teoretic
- acest
- trei
- timp
- ori
- la
- instrument
- Unelte
- tranziţie
- tranziții
- declanşa
- a declanșat
- declanșând
- transformat
- Neașteptat
- pe
- montant
- us
- utilizări
- valabil
- validare
- Valoros
- valoare
- Valori
- Verificare
- Impotriva
- vertical
- de
- vs
- a fost
- we
- cand
- care
- în timp ce
- larg
- voi
- cu
- fără
- lume
- X
- zephyrnet
- zero