Statisk tidsanalys
Statisk tidsanalys (STA) är en simuleringsmetod för att beräkna den förväntade timingen för en synkron digital krets utan att kräva en simulering av hela kretsen.
Högpresterande integrerade kretsar har traditionellt kännetecknats av den klockfrekvens som de arbetar med. Att mäta förmågan hos en krets att arbeta med den specificerade hastigheten kräver förmåga att under konstruktionsprocessen mäta dess fördröjning i flera steg. Dessutom fördröjningsberäkning införlivas i den inre slingan av timingoptimerare vid olika faser av designen, såsom logisk syntes , layout ( placering och routing ), och på platsoptimeringar som utförs sent i designcykeln. Även om sådana tidsmätningar teoretiskt kan utföras med hjälp av en rigorös kretssimulering , är ett sådant tillvägagångssätt sannolikt för långsamt för att vara praktiskt. Statisk tidsanalys spelar en viktig roll för att underlätta snabb och någorlunda noggrann mätning av kretstid. Hastigheten kommer från användningen av förenklade tidsmodeller och genom att mestadels ignorera logiska interaktioner i kretsar. Detta har blivit en stöttepelare i design under de senaste decennierna.
En av de tidigaste beskrivningarna av en statisk tidtagningsmetod baserades på Program Evaluation and Review Technique (PERT), 1966. Modernare versioner och algoritmer dök upp i början av 1980-talet.
Syfte
I ett synkront digitalt system är det meningen att data ska röra sig i låst steg och avancera ett steg för varje tick av klocksignalen . Detta framtvingas genom att synkronisera element som flip-flops eller latches , som kopierar deras indata till sin utgång när klockan uppmanas att göra det. Endast två typer av tidsfel är möjliga i ett sådant system:
- A Max time violation , när en signal kommer för sent och missar tiden då den ska avancera. Dessa är mer allmänt kända som inställningsöverträdelser/kontroller som faktiskt är en delmängd av maxtidsöverträdelser som involverar ett cykelskifte på synkrona banor.
- A Min time violation , när en insignal ändras för tidigt efter klockans aktiva övergång. Dessa är mer allmänt kända som hållöverträdelser/kontroller som faktiskt är en delmängd av korttidsöverträdelser i synkron väg.
Tiden när en signal kommer fram kan variera på grund av många orsaker. Indata kan variera, kretsen kan utföra olika operationer, temperaturen och spänningen kan ändras, och det finns tillverkningsskillnader i den exakta konstruktionen av varje del. Huvudmålet med statisk tidsanalys är att verifiera att trots dessa möjliga variationer kommer alla signaler varken att anlända för tidigt eller för sent, och därför kan korrekt kretsfunktion säkerställas.
Eftersom STA kan verifiera varje väg, kan den upptäcka andra problem som fel , långsamma vägar och klockskevhet .
Definitioner
- Den kritiska vägen definieras som vägen mellan en ingång och en utgång med maximal fördröjning. När kretstiden väl har beräknats med någon av teknikerna nedan kan den kritiska vägen lätt hittas genom att använda en spårningsmetod .
- Ankomsttiden för en signal är den tid som förflutit för en signal att anlända till en viss punkt . Referensen, eller tiden 0,0, tas ofta som ankomsttiden för en klocksignal. För att beräkna ankomsttiden krävs fördröjningsberäkning av alla komponenter i vägen. Ankomsttider, och faktiskt nästan alla tider i timinganalys, hålls normalt som ett par värden - den tidigaste möjliga tidpunkten då en signal kan ändras, och den senaste.
- Ett annat användbart koncept är tidsåtgång . Detta är den senaste tidpunkten då en signal kan anlända utan att göra klockan längre än önskat. Beräkningen av den erforderliga tiden fortsätter enligt följande: vid varje primär utgång ställs de erforderliga tiderna för uppgång/fall in enligt specifikationerna som tillhandahålls till kretsen. Därefter utförs en bakåtgående topologisk genomgång, som bearbetar varje grind när de erforderliga tiderna vid alla dess fanouts är kända.
- Slacket som är förknippat med varje anslutning är skillnaden mellan den erforderliga tiden och ankomsttiden . Ett positivt slack s vid någon nod innebär att ankomsttiden vid den noden kan ökas med s utan att påverka den totala fördröjningen av kretsen. Omvänt negativ slack att en väg är för långsam, och vägen måste snabbas upp (eller referenssignalen försenas) om hela kretsen ska fungera med önskad hastighet.
Corners och STA
Ganska ofta kommer designers vilja kvalificera sin design under många förhållanden. Beteendet hos en elektronisk krets är ofta beroende av olika faktorer i dess omgivning som temperatur eller lokala spänningsvariationer. I ett sådant fall måste antingen STA utföras för mer än en sådan uppsättning villkor, eller så måste STA vara beredd att arbeta med en rad möjliga fördröjningar för varje komponent, i motsats till ett enda värde.
Med rätt teknik karakteriseras mönstren av tillståndsvariationer och deras ytterligheter registreras. Varje extremt tillstånd kan betecknas som ett hörn . Extremer i cellegenskaper kan betraktas som "process-, spännings- och temperaturhörn (PVT)" och extremer i nettokarakteristika kan betraktas som "extraktionshörn". Sedan hänvisas varje kombinationsmönster av PVT-extraktionshörn till som ett "timinghörn" eftersom det representerar en punkt där timingen kommer att vara extrem. Om designen fungerar vid varje extremt tillstånd, är designen också kvalificerad för alla mellanliggande punkter under antagandet om monotont beteende.
Användningen av hörn i statisk tidsanalys har flera begränsningar. Det kan vara överdrivet optimistiskt, eftersom det förutsätter perfekt spårning: om en grind är snabb antas alla grindar snabba, eller om spänningen är låg för en grind, är den också låg för alla andra. Hörn kan också vara alltför pessimistiska, för det värsta fallet kan sällan inträffa. I en IC, till exempel, kanske det inte är ovanligt att ha ett metallskikt i den tunna eller tjocka änden av dess tillåtna intervall, men det skulle vara mycket sällsynt att alla 10 skikten har samma gräns, eftersom de tillverkas oberoende av varandra. . Statistisk STA, som ersätter förseningar med distributioner och spårning med korrelation, erbjuder ett mer sofistikerat tillvägagångssätt för samma problem.
De mest framträdande teknikerna för STA
I statisk timinganalys anspelar ordet static på det faktum att denna timinganalys utförs på ett ingångsoberoende sätt och avser att hitta kretsens värsta tänkbara fördröjning över alla möjliga ingångskombinationer. Beräkningseffektiviteten (linjär i antalet kanter i grafen) av ett sådant tillvägagångssätt har resulterat i dess utbredda användning, även om det har vissa begränsningar. En metod som vanligtvis kallas PERT används populärt i STA. PERT är dock en felaktig benämning, och den så kallade PERT-metoden som diskuteras i större delen av litteraturen om timinganalys avser den kritiska vägmetoden (CPM) som används flitigt i projektledning. Medan de CPM-baserade metoderna är de dominerande som används idag, har andra metoder för att korsa kretsdiagram, såsom djup-först-sökning , använts av olika tidsanalysatorer.
Gränssnittstidsanalys
Många av de vanliga problemen vid chipdesign är relaterade till gränssnittstid mellan olika komponenter i designen. Dessa kan uppstå på grund av många faktorer, inklusive ofullständiga simuleringsmodeller, brist på testfall för att korrekt verifiera gränssnittstid, krav på synkronisering, felaktiga gränssnittsspecifikationer och bristande konstruktörsförståelse för en komponent som levereras som en "svart låda". Det finns specialiserade CAD-verktyg som uttryckligen är utformade för att analysera gränssnittstid, precis som det finns specifika CAD-verktyg för att verifiera att en implementering av ett gränssnitt överensstämmer med funktionsspecifikationen (med hjälp av tekniker som modellkontroll ) .
Statistisk statisk tidsanalys (SSTA)
Statistisk statisk tidsanalys (SSTA) är en procedur som blir alltmer nödvändig för att hantera komplexiteten i process- och miljövariationer i integrerade kretsar.
Se även
- Dynamisk timingverifiering
- Elektronisk designautomation
- Integrerad kretsdesign
- Logikanalysator —för verifiering av STA
- Logisk simulering
- Simulering
- Tidsmarginal
- Värsta tänkbara exekveringstid
- Signoff (elektronisk designautomation)
Anteckningar
- Electronic Design Automation For Integrated Circuits Handbook , av Lavagno, Martin och Scheffer, ISBN 0-8493-3096-3 En undersökning av området. Den här artikeln härrörde från volym II, kapitel 8, 'Static Timing Analysis' av Sachin Sapatnekar, med tillstånd.
- Static Timing Analysis for Nanometer Designs , av R. Chadha och J. Bhasker, ISBN 978-0-387-93819-6 , Springer, 2009.