Perusasiat Boolean Algebran digitaalisessa suunnittelussa

Boolean algebra, jonka George Boole esitteli 1800-luvulla, tarjoaa digitaalisen logiikan matemaattisen perustan. Se toimii binäärimuuttujilla, jotka voivat ottaa vain kaksi arvoa: [0[[] (väärä, alhainen jännite) ja 1[[] (true, suurjännite), kolme perustoimintoa []] [yhtälö, jota edustaa · tai ...] [[negation, jota edustaa baari tai ′) .

Testikuvion sukupolven rooli digitaalisissa virtapiireissä

Kun digitaalinen piiri on valmistettu, se on testattava varmistaa mitään fyysisiä vikoja . kuten shortsit, avautuu, tai transistori juuttunut viat . . []Kirjallinen testi malli generaation[[] on prosessi luoda joukon tulovektorit, että kun sovelletaan piiri, tuottaa lähtöjä, joita voidaan verrata odotettuihin arvoihin. Tavoitteena on saavuttaa suuri vika kattavuus minimaalinen testipituus. Varhaisen manuaalinen testi sukupolven oli epäkäytännöllinen monimutkaisia malleja, niin automatisoituja työkaluja (ATPG . . Automaattinen testi Pattern Generation) kehitettiin. Boolean algebra on selkäranka näiden työkalujen, koska se tarjoaa muodollisen, algoritminen tapa johtaa testimalleja päättely piirien.

Vian malleja ja niiden Boolean edustusto

Yleisin vikamalli on stuck-at vika[, jossa signaalilinja on pysyvästi juuttunut logiikka 0 tai logiikka 1. Tietyn piirin, juuttunut vika muuttaa alkuperäisen Boolean toiminto viallinen toiminto. Boolean algebra sallii testi insinöörit laskea kunnossa, jossa oikea ja viallinen lähdöt eroavat . Tämä ero on [fault vaikutus[]. Esimerkiksi, jos net [ on juuttunut 1, viallinen piiri käyttäytyy kuin riippumatta suunnitellusta logiikka. Testikuvion on herkistää polkua vika sivustolta ensisijainen tulostus samalla ohjaamalla tarvittavat node arvot. Boolean yhtälöt vikan havaitsemiseen on rakennettu yhdistämällä hyvä piirin toiminto, vikavirtapiirin toiminto, ja XOR kahden ulostulot.

Muita vikamalleja ovat bridging vika[ (lyhytpiirit kahden verkon välillä) ja vikoja[], jotka molemmat voidaan ilmaista myös Boolean algebran avulla, kun mallinnetaan viallinen käyttäytyminen muunnelluksi logiikkatoimiksi. Boolean algebran kehysvaaka hyvin: monimutkaiset vikavaikutukset otetaan talteen lisäämällä rajoituksia testisukupolven ongelmaan.

Systemaattiset vaiheet Automatointi Test kuvio Generation Boolean Algebra

Moderni ATPG algoritmeja luottaa Boolean algebra jokaisessa vaiheessa. Yleinen virtaus voidaan murtaa neljään vaiheeseen, mutta takana jokainen valhe algebrallinen päättely.

1. Kehän mallintaminen Boolean-ilmaisuina

Piiriverkkolista muunnetaan Booleanin yhtälöiksi jokaiselle porttilähtöä varten. Yksinkertainen JA portti, jossa on sisääntulo , ja ja lähtö [, ilmaisu on [[]]. Sisäiselle solmulle, jonka tuulettimet kulkevat useille porteille, jokainen fanout-haara kantaa samaa loogista arvoa, ellei vikaa ole. ATPG-työkalu rakentaa [] Boolean-eron [[] mallilla: ulostulon osittainen johdannainen signaalin suhteen, mikä osoittaa, vaikuttaako signaalin muutos ulostuloon. Boolean-ero lasketaan XOR- ja JA toiminnoilla, mikä mahdollistaa vian lisääntymisen.

2. Yksinkertaistaminen Ilmauksia Boolean Algebra

Ennen testikuvioiden luomista piirit Boolean-ilmaisut yksinkertaistetaan usein irtisanomisen vähentämiseksi. Tämä ei koske vain laitteiston optimointia . Yksinkertaistetut ilmaukset myös helpottavat testituotannon ongelman ratkaisemista. Tekniikat kuten [Karnaugh-kartat[] ja Quine-McCluskey-algoritmia[] käytetään minimoimaan tuotesumma tai summatuotelomakkeet. Esimerkiksi ilmaisu yksinkertaistaa []. Pienemmät tuoteehdot tarkoittavat vähemmän testikuutioita tarvitaan kattamaan kaikki viat. Boolean algebra-teoreemojen kuten imeytyminen, idempotenssi, ja konsensus ovat sovellettavissa tyhjentävästi ATPG-moottorin roune hakutilaa.

3. Ryöstötestivektorit Boolean Reasoningin kautta

Kun piiri on mallinnettu ja yksinkertaistettu, ATPG-työkalu muotoilee testituotannon [satisfiability (SAT) -ongelmaksi[[] tai käyttää algoritmeja kuten D-algoritmi, PODEM (Path-Oriented Decision Making) tai FAN (Fanout-Oriented). Kaikki nämä menetelmät perustuvat Boolean algebran antamaan arvoja ensisijaisen tuloihin siten, että vikavaikutus lisätään havaintoon lähtö. Esimerkiksi D-algoritmi esittelee D notaation (D = 1 hyvällä piirillä, 0 viallisella piirillä; D′ = 0 hyvä, 1 viallinen). Boolean yhtälöt käytetään perustelemaan kunkin sisäisen tehtävän, varmistaa johdonmukaisuus. ATPG moottori suorittaa rekursiivisen backtracking hakun, käyttäen Boolean algebra compute vaikutuksia .

Esimerkki: Stuck-at-0 vika NAND-portin ulostulossa

Harkitse kahden sisääntulon NAND-porttia, jossa on sisääntuloja ja , ulostulo [. Hyvä piiri: [[. Virhe [ juuttunut 0: viallinen piiri aina lähdöt 0. Tämän vian havaitsemiseksi tarvitaan syötteitä, jotka tekevät hyvän tuloksen 1 (joten viallinen ulostulo poikkeaa suoraan). Tämä edellyttää ] (eli ainakin yhtä sisääntuloa on 0) ja myös sitä, että viallinen arvo 0 on lisätty pääulostuloon. Boolean algebran käyttö: testiolosuhteet .

4. Kuvioiden generoinnin ja tiivistymisen automatisointi

Kun yksittäisten testivektorien johdotus kunkin vian osalta on saatu selville, ATPG-työkalu käyttää ]virhesimulaatiota[ arvioidakseen, mitkä vektorit kattavat lisävikoja. Boolean algebra taas on rooli: vikasimulaatio nopeutetaan arvioimalla Boolean toimintoja monissa syöttömalleissa samanaikaisesti käyttäen bittiä. Työkalut kuten [Synopsy Tetramax tai []Mentor Grafiikka FastScan[] toteuttaa nämä tekniikat. Lopullinen sarja kuvioita on tiivistetty . Poistaa tarpeettomat vektorit . Boolean päättelyä havaita, että osajoukko kuvioita vielä kiihottaa ja levittää kaikki maalivikoja.

Boolean Algebran edut testimallissa Automaatio

  • Lähetetty testisarja Koko:[ Boolen yksinkertaistaminen poistaa tarpeettomat testikuutiot, mikä johtaa pienempiin testijaksoihin ja alhaisempiin testikustannuksiin.
  • High Fault Coverage:[ Muodolliset algebralliset menetelmät takaavat, että mitään huomaamattomia vikoja ei jää huomaamatta (kunhan vikamalli on tarkka).
  • Algoritminen tehokkuus:[ SAT-ratkaisijat ja BDD (Binary Decision kaaviot) rakennettu Boolen algebra pystyy käsittelemään piirejä miljoonia portteja.
  • Leikkaavuus:[] Boolean algebra tukee useita vikamalleja ja hierarkkinen testisukupolven muuttamatta perusolemukseltaan taustalla olevaa matematiikkaa.
  • Työkalun automatisointi:[ ATPG työkalut voivat ajaa valvomaton, luoda testikuvioita minuutissa, joka veisi ihmisinsinöörit viikkoja.

Haasteet ja modernit parannukset

Vaikka Boolean algebra tarjoaa vankan teoreettisen kehyksen, käytännön ATPG kohtaa haasteita. Boolean satisfiabilityn eksponentiaalinen monimutkaisuus voi aiheuttaa työkaluja, jotka toimivat loputtomiin joidenkin vaikeasti testattavat viat. Insinöörit käsittelevät tätä käyttäen [random testigeneration[ yhdistettynä algebrallisiin heuristisiin rakenteisiin, tai käyttämällä BDD-pohjaista päättelyä[], joka kompaktit Boolean ilmentymät kanoniseen muotoon. Toinen haaste on käsittely []] sekvenssi, joka edellyttää iteratiivisen algebran toimintaa aikakehyksissä.

Päätelmät

Boolean algebra on välttämätön työkalu automaatiossa logiikka testikuvion sukupolven. Mallintamispiireistä ja vioista johtamiseen ja tiivistys testivektorit, sen algebrallinen säännöt tarjoavat muodollisen, skaalautuva menetelmä varmistaa oikeellisuus digitaalisten järjestelmien. Kuten integroidut piirit kasvaa tiheämpi . miljardien transistorien ja kehittyneiden valmistus solmut . ... ...ja Science sisääntulo Boolean algebra ATPG tulee edelleen kehittyä, mukana koneoppimista ja kehittyneempiä SAT solmuja, mutta aina juurtunut samaan loogiseen perustaan, että George Boole laski yli 150 vuotta sitten. Engineers jotka hallitsevat nämä käsitteet ovat paremmin varustettuja suunnitella luotettava elektroniikka ja hallita yhä monimutkaisempi testaus.