Att verifiera en krets tar idag dubbelt så lång tid som att konstruera den. Verifieringsproblemen ökar för såväl asic- som FPGA-konstruktörer.
Vad är den största utmaningen för dagens kretskonstruktörer? Verifiering, svarar många. Verifieringen är inte längre en bisyssla till huvuduppgiften - att konstruera. Idag är det snarast tvärtom.
Verktygsleverantören Viewlogic har nyligen gjort en undersökning som visar att hela 46 procent av projekttiden ägnas åt verifiering. Konstruktionen svänger man däremot ihop på 26 procent av totaltiden medan resterande tid ägnas åt ospecificerat arbete. Andra undersökningar visar att verifiering kan ta ännu mer tid i anspråk, två tredjedelar av projekttiden är ingen ovanlig siffra.
Varför har då verifiering blivit så betungande? Orsaken är naturligtvis att kretsarna blir allt större. Stora kretsar betyder ju fler grindar och ledningar att verifiera.
Men det är inte alls enbart konstruktörer av miljongrindarskretsar som dignar under verifieringsoket. En typisk normalkrets på 50 000 grindar kräver i genomsnitt hela sex layoutiterationer innan timingkraven är uppfyllda. Och då är ändå klockfrekvensen ganska modest - 50 MHz. Allt enligt Viewlogics undersökning. Här är det naturligtvis timingverifieringen före layout som inte håller måttet.
Varannan krets fallerar
Även Quickturn, marknadsledande inom logikemulatorer, visar på sorglig statistik för 50 000-grindarsasicar. Mer än varannan krets som enbart verifieras med traditionell simulering kommer tillbaka från kiselfabriken med så allvarliga fel att den måste göras om. En ny vända kostar hundratusentals kronor och projektet sinkas dessutom med flera månader. Enligt Quickturn är problemet då den funktionella verifieringen.
Och pratar man 50 000 grindar så behöver ju konstruktionen inte förverkligas i en asic. Nu för tiden finns det gott om programmerbara logiska kretsar som är betydligt större än så. Marknadens största programmerbara krets erbjuder idag 150 000 grindar, och före sekelskiftet lär grindantalet tredubblas. Verifiering är därför ett växande problem även för CPLD- och FPGA-konstruktörer. Men de har ändå en stor fördel jämfört med asickollegorna - eventuella fel i den färdig kretsen får inte lika dramatiska konsekvenser. Fallerar kretsen kan man ju alltid programmera om den.
Fast visst måste även programmerbara kretsar snabbt komma på plats så att slutprodukten når marknaden i tid. Och då är snabb och effektiv verifiering ett absolut måste.