Intel Keynote Formal a Mind-Stretcheristä

Intel Keynote Formal a Mind-Stretcheristä

Lähdesolmu: 2528571

Synopsys on julkaissut SolvNet-sivustolle kiehtovan puheen, jonka piti tohtori Theo Drane Intel Graphicsista. Aiheena on tietopolun vastaavuuden tarkistus. Saattaa kuulostaa yhdeltä Synopsys VC Formal DPV -suositukselta, mutta sinun tulee katsoa se joka tapauksessa. Tämä on mieltä laajentava keskustelu muodollisuuksien käytöstä ja pohdinnoista, joka vie sinut rutiininomaisen käyttöoppaan pitch-tyylin ulkopuolelle kiehtovammalle alueelle.

Intel Keynote on muodollinen

Älyllinen ymmärrys vs. näytetestaus

Testattu simulointi kaikissa muodoissaan on erinomaista ja usein korvaamatonta suunnittelun spesifikaation tai toteutuksen oikeellisuuden varmistamisessa. Alkuun pääseminen on myös helppoa. Kirjoita vain testiohjelma ja aloita simulointi. Mutta tämän yksinkertaisuuden kääntöpuoli on, että meidän ei tarvitse täysin ymmärtää, mitä testaamme aloittaaksemme. Vakuutamme itsellemme, että olemme lukeneet tekniset tiedot huolellisesti ja ymmärrämme kaikki kulmatapaukset, mutta ei vaadi paljon monimutkaisuutta ylittääkseen ymmärryksemme.

Muodollinen rohkaisee sinua ymmärtämään toiminnallisuuden syvällä tasolla (ainakin jos haluat tuottaa arvokkaan tuloksen). Yllä olevassa esimerkissä yksinkertainen kysymys – voiko z koskaan olla kaikki 1:tä – ei pysty osoittamaan esimerkkiä miljardissa syklissä simulaattorissa. Ei yllättävää, koska tämä on äärimmäinen kulmatapaus. Muodollinen testi tarjoaa erityisen ja hyvin epäselvän esimerkin 188 sekunnissa ja voi todistaa, että tämä on ainoa tapaus hieman lyhyemmässä ajassa.

OK formaali teki sen, mitä dynaaminen testaus ei voinut tehdä, mutta mikä tärkeintä, opit jotain, jota simulaattori ei ehkä koskaan kertonut sinulle. Että oli vain yksi mahdollinen tapaus, jossa tämä tila voisi tapahtua. Muodollinen auttoi sinua ymmärtämään suunnittelua paremmin älyllisellä tasolla, ei vain todennäköisyyspohjaisena yhteenvetona rajallisissa testitapauksissa.

Tekniset ongelmat

Theon seuraava esimerkki perustuu bugi-automaattiin (niin sanotaan, koska kun painat painiketta, saat virheen). Tämä näyttää melko suoraviivaiselta C-RTL-ekvivalenssitarkistusongelmalta, C-malli vasemmalla, RTL-malli oikealla. Yksi yllätys Theolle hänen varhaisissa muodollisuuksissaan oli se, että C-mallin oikealle siirtokäyttäytyminen ei ole täysin määritelty C-standardissa, vaikka gcc käyttäytyy kohtuullisesti. DPV valittaa kuitenkin virheestä RTL:ään verrattuna, kuten sen pitäisikin. Määrittelemätön käytös on vaarallinen asia, johon luottaa.

Muodollinen kuin bugi-automaatti

C:n ja RTL:n määritysten vertailu sisältää muita vaaroja, erityisesti bittileveyksien suhteen. Siirtobitin katkaisu tai häviäminen välisignaalissa (#3 yllä) ovat hyviä esimerkkejä. Onko nämä teknisiä ongelmia? Ehkä harmaa alue teknisten ja toteutusvaihtoehtojen välillä.

Vastaavuustarkistuksen lisäksi

Näyttää siltä, ​​​​että DPV:n ensisijainen tarkoitus on tarkistaa C- tai RTL-viittauksen ja RTL-toteutuksen välinen vastaavuus. Mutta tämä tarve on suhteellisen harvinainen, ja on olemassa muita hyödyllisiä tapoja, joilla tällaista tekniikkaa voidaan soveltaa, jos se on vähän outoa. Ensin klassikko toteutusmaailmassa – tein muutoksen, korjasin virheen – esitinkö uusia bugeja seurauksena? Vähän kuin SEQ-tarkistus kellon portauksen lisäämisen jälkeen. Saavutettavuusanalyysi lohkotulosteissa voi olla toinen hyödyllinen sovellus joissain tapauksissa.

Ei vain vastaavuuden tarkistusta

Theo tulee entistä luovemmaksi ja pyytää harjoittelijoita käyttämään vastaesimerkkejä ymmärtääkseen paremmin suunnittelua, ratkaise Sudokus or jakaa kokonaisluvut kertoimella. Hän myöntää, että DPV on outo tapa lähestyä tällaisia ​​ongelmia, mutta huomauttaa, että hänen tarkoituksenaan on murtaa illuusion siitä, että DPV on vain vastaavuuden tarkistamista varten. Mielenkiintoinen idea ja varmasti aivoja venyttävä pohtia tällaisia ​​haasteita. (Myönnän, että aloin heti miettimään Sudoku-ongelmaa heti, kun hän mainitsi sen.)

Paketoida

Theo päättää keskustelun tuotantokäytön kannalta tärkeistä metodologioista, rajoituksista, regressioista ja vertailuista vanhoihin RTL-malleihin. Myös haasteet, jotka liittyvät siihen, vastaako tarkistamasi huipputason luonnollisen kielen määritys.

Erittäin energinen puhe, kannattaa katsoa täällä SolvNetissä!

Jaa tämä viesti:

Aikaleima:

Lisää aiheesta Semiwiki