I den komplekse verdenen av silisiumdesign er det avgjørende å sikre nøyaktigheten og påliteligheten til designene våre. Etter hvert som sjetongene våre blir mer sofistikerte, blir prosessen med å jakte på feil – å identifisere og rette opp feil i designene våre – enda mer kritisk. Generativ AI har potensialet til å revolusjonere silisiumdesignindustrien ved å forbedre feiljaktfunksjonene våre. Hvordan? La oss eksperimentere!
Eksperiment 4: Jakt på insekter
For å demonstrere effektiviteten til Generativ AI i silisiumdesign, utførte jeg et eksperiment med OpenAIs GPT-4. Vi ga systemet en designspesifikasjon (hentet fra https://mathcircle.berkeley.edu/sites/default/files/archivedocs/2010_2011/contest/1011contestpdf/comp8.pdf) sammen med en implementering av designet. Målet? For å se om GenAI kunne identifisere noen feil.
Designspesifikasjon: På et 5 × 5 sjakkbrett beveger en konge seg i henhold til følgende regler: 1. Den kan flytte én firkant om gangen, horisontalt, vertikalt eller diagonalt. 2. Den kan bevege seg i hver av de åtte tillatte retningene maksimalt tre ganger i hele ruten.
Følgende er resultatet fra GenAI-modellen:
1. Feil: Overskriver cur_x_pos med cur_y_pos ellers begynner cur_x_pos <= nxt_y_pos; cur_y_pos <= nxt_y_pos; end Denne delen vil føre til at den nåværende x-posisjonen til kongen (cur_x_pos) alltid tar verdien av nxt_y_pos, som er feil. Moteksempel: Input Scenario: Anta at kongen er i posisjon (2,2) og move_request er utstyrt med retning = 3'b010 (Opp). Designovergang: Forventet: cur_x_pos forblir 2 og cur_y_pos blir 3. Faktisk: Både cur_x_pos og cur_y_pos blir 3. Utfall: Forventet utfall: Kongen flytter til (2,3). Faktisk utfall: Kongen flytter til (3,3).
2. Feil: cur_moves_count[] initialisering til null hvis (reset) cur_moves_count[dir] <= 3'd0; Alle retningers trekktellinger initialiseres til null ved tilbakestilling. Betingelsen for å sjekke for maksimale trekk bruker imidlertid < 3'd3, noe som betyr at kongen kan bevege seg 4 ganger i hver retning før en feil heves. Moteksempel: Inndatascenario: Anta at kongen er i posisjon (0,0) og fire påfølgende move_requests leveres med retning = 3'b000 (Høyre). Designovergang: Forventet: Etter 3 trekk til høyre, skal det 4. trekk utløse en feil. Faktisk: Kongen beveger seg fire ganger til høyre uten å utløse en feil. Utfall: Forventet utfall: Kongen flytter til (3,0) og deretter utløses feil. Faktisk utfall: Kongen flytter til (4,0) uten feil.
3. Feil: Mangel på grensekontroll Selv om koden inneholder grensesjekker for bevegelsen til kongen på sjakkbrettet, tar den ikke hensyn til muligheten for at å legge til eller subtrahere fra 3-bits verdier kan resultere i roll-over feil. For eksempel, hvis cur_x_pos er 3'd7 (noe som ikke burde skje basert på gjeldende design, men kan skyldes ytre påvirkninger eller andre designproblemer), kan subtrahering av 1 resultere i 0 i stedet for en forventet 6 på grunn av bit-roll-over . Moteksempel: Dette kan være en teoretisk feil da dagens design ikke tillater at et slikt scenario kan skje. Det er imidlertid viktig å vurdere dette for robust design. Anbefaling: Grensekontroller kan forbedres, og ytterligere tilregnelighetskontroller kan legges til for å sikre at posisjonen til kongen aldri går utenfor det gyldige området.
Spennende observasjoner
- Feilidentifikasjon: GenAI-modellen pekte på et spesifikt avvik mellom designspesifikasjonen og dens implementering med et riktig moteksempel inkludert scenario, overganger og faktisk kontra forventet resultatanalyse. Dette var virkelig en ekte feil som trengte utbedring.
- Falsk negativ: Som ethvert verktøy er ikke Generativ AI ufeilbarlig. Det fremhevet et problem som ved nærmere ettersyn viste seg å ikke være en feil. Dette tjener som en påminnelse om at selv om AI kan være en verdifull assistent, forblir menneskelig ekspertise og dømmekraft avgjørende i valideringsprosessen.
- Forbedringsproblem: Utover bare feiljakt, foreslo GenAI-modellen også en forbedring - et forslag for å forbedre designet som ikke nødvendigvis var å fikse en feil, men heller optimalisere designet ytterligere. Denne uventede fordelen viser hvordan AI ikke bare kan hjelpe til med å finne feil, men også med å foreslå innovasjoner.
Morgendagens landskap – GenAI-drevne HDL-koderedigerere/analysatorer!
Implikasjonene av dette eksperimentet er dyptgripende. Ved å integrere Generative AI-verktøy i HDL-kodeutviklingsflyten vår, kan vi:
- Akselerer feiljaktprosessen: Automatisering av de innledende stadiene av feildeteksjon kan redusere arbeidstimene brukt på debugging av lange simuleringsbølgeformer.
- Reduser bekreftelseskostnadene: Med færre feil igjen for verifiseringsverktøy/ingeniører å finne, kan verifiseringsavslutning oppnås raskere, noe som fører til kostnadsbesparelser i det lange løp.
I Konklusjon
Ettersom halvlederindustrien fortsetter å utvikle seg, kan utnyttelse av verktøy som Generative AI gi oss en fordel, og sikre at designene våre ikke bare er feilfrie, men også flytter grensene for hva som er mulig. Det er bare et spørsmål om tid når andrepiloter og plugin-moduler får bred bruk i bransjen.
Les også:
Generativ AI for silisiumdesign – Artikkel 3 (Simulate My Design)
Generativ AI for silisiumdesign – artikkel 2 (Debug My Waveform)
Generativ AI for silisiumdesign – artikkel 1 (kode min FSM)
Del dette innlegget via:
- SEO-drevet innhold og PR-distribusjon. Bli forsterket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk deg selv. Tilgang her.
- PlatoAiStream. Web3 Intelligence. Kunnskap forsterket. Tilgang her.
- PlatoESG. Karbon, CleanTech, Energi, Miljø, Solenergi, Avfallshåndtering. Tilgang her.
- PlatoHelse. Bioteknologisk og klinisk etterretning. Tilgang her.
- kilde: https://semiwiki.com/eda/338432-generative-ai-for-silicon-design-article-4-hunt-for-bugs/
- : har
- :er
- :ikke
- $OPP
- 1
- 4.
- 7
- 8
- a
- Ifølge
- Logg inn
- nøyaktighet
- oppnådd
- tvers
- faktiske
- la til
- legge
- Ytterligere
- Adopsjon
- Etter
- AI
- Alle
- tillate
- sammen
- også
- Selv
- alltid
- an
- analyse
- og
- noen
- ER
- Array
- Artikkel
- AS
- Assistent
- anta
- At
- Automatisere
- basert
- BE
- bli
- blir
- før du
- begynne
- nytte
- Berkeley
- mellom
- Beyond
- Bit
- både
- grenser
- Bug
- insektjakt
- bugs
- men
- by
- CAN
- evner
- saken
- Årsak
- sjekk
- Sjekker
- Sjakk
- chips
- nærmere
- nedleggelse
- kode
- sammenligning
- komplekse
- tilstand
- gjennomført
- påfølgende
- Vurder
- inneholder
- fortsetter
- Kostnad
- kostnadsbesparelser
- kunne
- skape
- kritisk
- avgjørende
- Gjeldende
- definere
- demonstrere
- demonstrerer
- utforming
- design
- detaljert
- Gjenkjenning
- Utvikling
- gJORDE
- retning
- retninger
- avvik
- gjør
- ned
- to
- hver enkelt
- Edge
- effekten
- ellers
- slutt
- styrke
- sikre
- sikrer
- Hele
- feil
- feil
- avgjørende
- Eter (ETH)
- Selv
- utvikle seg
- stiger
- forventet
- eksperiment
- ekspertise
- utvendig
- færre
- Finn
- finne
- flyten
- etter
- Til
- fire
- fra
- funksjonelle
- videre
- Gevinst
- generative
- Generativ AI
- ekte
- Gi
- mål
- Går
- skje
- hjelpe
- Uthev
- hold
- Hvordan
- Men
- HTTPS
- menneskelig
- jakten
- Jakt
- i
- Identifikasjon
- identifisere
- if
- gjennomføring
- implikasjoner
- forbedret
- bedre
- in
- Inkludert
- indikerer
- industri
- innledende
- innovasjoner
- inngang
- f.eks
- Integrering
- inn
- utstedelse
- saker
- IT
- DET ER
- bare
- konge
- maling
- landskap
- ledende
- venstre
- la
- utnytte
- i likhet med
- BEGRENSE
- Lang
- Saken
- max bredde
- maksimal
- betyr
- kunne
- feil
- modell
- moduler
- mer
- mest
- flytte
- bevegelse
- trekk
- my
- nødvendigvis
- nødvendig
- negativ
- aldri
- of
- on
- ONE
- bare
- optimalisere
- or
- Annen
- vår
- ut
- Utfallet
- produksjon
- utenfor
- Paramount
- for
- plato
- Platon Data Intelligence
- PlatonData
- posisjon
- mulighet
- mulig
- Post
- potensiell
- powered
- presentere
- prosess
- dyp
- ordentlig
- foreslått
- forutsatt
- Skyver
- hevet
- område
- heller
- Lese
- Anbefaling
- redusere
- Reg
- pålitelighet
- forbli
- forblir
- påminnelse
- anmode
- resultere
- Revolusjonere
- ikke sant
- robust
- Rute
- regler
- Kjør
- s
- Besparelser
- scenario
- Seksjon
- se
- halvledere
- serverer
- bør
- Silicon
- simulering
- sofistikert
- hentet
- spesifikk
- spesifikasjon
- brukt
- kvadrat
- stadier
- slik
- system
- T
- Ta
- enn
- Det
- De
- deretter
- teoretiske
- denne
- tre
- tid
- ganger
- til
- verktøy
- verktøy
- overgang
- overganger
- utløse
- utløst
- utløsende
- snudde
- Uventet
- upon
- Oppreist
- us
- bruker
- gyldig
- validering
- Verdifull
- verdi
- Verdier
- Verifisering
- Versus
- vertikalt
- av
- vs
- var
- we
- når
- hvilken
- mens
- bred
- vil
- med
- uten
- verden
- X
- zephyrnet
- null