Statistická statická analýza časování - Statistical static timing analysis
Konvenční statická analýza časování (STA) je algoritmus analýzy zásob pro návrh digitálních obvodů za posledních 30 let. V posledních letech však zvýšená variabilita polovodičových součástek a propojení přinesla řadu problémů, které nelze vyřešit tradiční (deterministickou) STA. To vedlo k rozsáhlému výzkumu statistická statická analýza časování, který nahrazuje normální deterministické načasování bran a propojuje se s rozděleními pravděpodobnosti a dává spíše rozdělení možných výsledků obvodu než jediný výsledek.
Srovnání s konvenčními STA
Deterministická STA je populární z dobrých důvodů:
- Nevyžaduje žádné vektory, takže nezmešká cesty.
- Doba chodu je lineární ve velikosti obvodu (pro základní algoritmus).
- Výsledek je konzervativní.
- Obvykle používá několik poměrně jednoduchých knihoven (obvykle zpoždění a výstupní sklon jako funkce vstupního sklonu a výstupního zatížení).
- Je snadné ji rozšířit na přírůstkový provoz pro použití při optimalizaci.
STA, i když je velmi úspěšná, má řadu omezení:
- Nelze snadno zpracovat korelaci v rámci matrice, zvláště pokud je zahrnuta prostorová korelace.
- Potřebuje mnoho rohy zvládnout všechny možné případy.
- Pokud existují významné náhodné variace, pak je pro zachování konzervativnosti vždy příliš pesimistické na to, aby to vedlo ke konkurenčním produktům.
- Díky změnám, které řeší různé korelační problémy, jako je CPPR (Common Path Pessimism Removal), je základní algoritmus pomalejší než lineární čas, neinkrementální nebo obojí.
SSTA útočí na tato omezení víceméně přímo. Nejprve SSTA používá citlivosti k nalezení korelací mezi zpožděními. Poté tyto korelace používá při výpočtu, jak přidat statistické rozdělení zpoždění.
Neexistuje žádný technický důvod, proč by nebylo možné vylepšit deterministický STA tak, aby zvládl korelaci a citlivost, a to udržováním vektoru citlivosti s každou hodnotou, jak to dělá SSTA. Historicky se to zdálo jako velká zátěž pro STA, zatímco bylo jasné, že je to pro SSTA potřeba, takže si nikdo nestěžoval. Níže uvádíme kritiku SSTA, kde je tato alternativa navržena.
Metody
Existují dvě hlavní kategorie algoritmů SSTA - metody založené na cestě a bloky.
Algoritmus založený na cestě[1] sečte zpoždění brány a drátu na konkrétních cestách. Statistický výpočet je jednoduchý, ale před provedením analýzy je třeba určit cesty zájmu. Existuje potenciál, že některé další cesty mohou být relevantní, ale nebudou analyzovány, takže výběr cesty je důležitý.
Blokový algoritmus[2] generuje časy příchodu (a požadované) časy pro každý uzel a pracuje dopředu (a dozadu) z taktovaných prvků. Výhodou je úplnost a není třeba vybírat cesty. Největším problémem je, že je nutná statistická max (nebo min) operace, která rovněž zohledňuje korelaci, což je těžký technický problém.
Nyní jsou k dispozici nástroje pro charakterizaci buněk SSTA, jako například Altos Design Automation Nástroj Odrůda.
Kritika
Na SSTA byla vznesena řada kritik:
- Je to příliš složité, zejména s realistickými (negaussovskými) distribucemi.
- Je těžké se spojit s optimalizačním tokem nebo algoritmem.
- Je těžké získat data, která algoritmus potřebuje. I když tyto údaje můžete získat, je pravděpodobné, že budou časově proměnlivé, a proto nespolehlivé.
- Pokud jej zákazníci fabu používají vážně, omezuje to změny, které fabrika může provést, pokud změní statistické vlastnosti procesu.
- Výhoda je relativně malá ve srovnání se zvýšenou deterministickou STA, která také bere v úvahu citlivost a korelaci.[3]
Nástroje, které provádějí statickou analýzu časování
FPGA
- Altera Quartus II
- Xilinx ISE
ASIC
- Synopsys Primetime (Synopsys PrimeTime )
- Systém časování kadence (Cadence Tempus )
- IBM EinsTimer
- ANSYS Path FX (ANSYS Path FX )
Viz také
Reference
- ^ Orshansky, M .; Keutzer, K., 2002, Obecný pravděpodobnostní rámec pro analýzu načasování nejhorších případů, Design Automation Conference, 2002. Proceedings. 39., sv., Vydání, 2002, strany: 556–561.
- ^ Visweswariah, C .; Ravindran, K .; Kalafala, K .; Walker, S.G .; Narayan, S .; Beece, D.K .; Piaget, J .; Venkateswaran, N .; Hemmett, J.G., 2006, Inkrementální bloková statistická analýza časování prvního řádu, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,, sv. 25, vydání 10, říjen 2006, strany: 2170–2180
- ^ Noel Menezes. „Dobrý, špatný a statistický“ (PDF). ISPD 2007.