Retiming - Retiming
![]() | tento článek potřebuje další citace pro ověření.Listopad 2010) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Retiming je technika přesunu strukturálního umístění západky nebo se registruje v a digitální obvod zlepšit jeho výkon, oblast a / nebo Napájení charakteristiky takovým způsobem, aby byla zachována jeho funkční chování na jejích výstupech. Retiming poprvé popsal Charles E. Leiserson a James B. Saxe v roce 1983.[1]
Tato technika používá a řízený graf kde vrcholy představují asynchronní kombinační bloky a směrované hrany představují řadu registrů nebo západek (počet registrů nebo západek může být nula). Každý vrchol má hodnotu odpovídající zpoždění kombinačním obvodem, který představuje. Poté se můžete pokusit optimalizovat obvod tlačením registrů z výstupu na vstup a naopak - podobně tlačení bublin. Lze použít dvě operace - odstranění registru z každého vstupu vrcholu při přidávání registru ke všem výstupům a naopak přidání registru ke každému vstupu vrcholu a odstranění registru ze všech výstupů. Ve všech případech, pokud budou pravidla dodržena, bude mít obvod stejné funkční chování jako před změnou času.
Formální popis
Počáteční formulace problému s retimováním, jak ji popsali Leiserson a Saxe, je následující. Vzhledem k řízený graf jehož vrcholy představují logické brány nebo kombinační zpožďovací prvky v obvodu, předpokládejme, že existuje směrovaná hrana mezi dvěma prvky, které jsou připojeny přímo nebo prostřednictvím jednoho nebo více registrů. Nech hmotnost každé hrany být počet registrů přítomných podél okraje v počátečním obvodu. Nechat být šíření zpoždění skrz vrchol . Cílem retimingu je spočítat celé číslo zpoždění hodnota pro každý vrchol takový, že vyřazená váha každá hrana je nezáporná. Existuje důkaz, že se tím zachová výstupní funkce.[2]
Minimalizace doby hodin s tokem sítě
Nejběžnějším použitím retimingu je minimalizace hodiny. Jednoduchou technikou pro optimalizaci periody hodin je hledání minimální proveditelné periody (např. Pomocí binární vyhledávání ).
Proveditelnost hodinového období lze zkontrolovat jedním z několika způsobů. The lineární program níže je proveditelné právě tehdy je proveditelné časové období. Nechat být minimální počet registrů na libovolné cestě z na (pokud taková cesta existuje) a je maximální zpoždění na jakékoli cestě z na s registry W (u, v). Duál tohoto programu je a problém s minimálními náklady na oběh, které lze efektivně vyřešit jako problém se sítí. Omezení tohoto přístupu vyplývají z výčtu a velikosti souboru a matice.
Dáno | a období cílového času | |
Nalézt | ||
Takový | ||
-li |
Minimalizace doby hodin pomocí MILP
Alternativně proveditelnost hodinového období lze vyjádřit jako smíšené celé číslo lineární program (MILP). Bude existovat řešení a platná funkce zpoždění budou vráceny, pouze pokud je lhůta proveditelná.
Dáno | a období cílového času | |
Nalézt | a | |
Takový | ||
Další formulace a rozšíření
Alternativní formulace umožňují minimalizaci počtu registrů a minimalizaci počtu registrů při omezení zpoždění. Počáteční článek obsahuje rozšíření, která umožňují uvažovat o sdílení fanoušků a obecnější model zpoždění. Následující práce se zabývaly zahrnutím zpoždění registrů,[3] modely zpoždění závislé na zatížení,[3] a držet omezení.[4]
Problémy
Retiming našel průmyslové využití, i když sporadické. Jeho primární nevýhodou je, že kódování stavu obvodu je zničeno, což podstatně ztěžuje ladění, testování a ověřování. Některé retimingy mohou také vyžadovat komplikovanou inicializační logiku, aby byl obvod spuštěn ve stejném počátečním stavu. A konečně, změny v topologii obvodu mají důsledky v dalších logických a fyzických krocích syntézy, které provedou designové uzavření obtížný.
Alternativy
Plánování zkosení hodin je související technika pro optimalizaci sekvenčních obvodů. Zatímco retiming přemisťuje strukturální polohu registrů, plánování zkosení hodin posune jejich časovou polohu naplánováním času příjezdu hodinových signálů. Dolní mez dosažitelné minimální doby periody obou technik je maximální střední doba cyklu (tj. Celkové kombinační zpoždění podél libovolné cesty dělené počtem registrů podél ní).
Viz také
Poznámky
- ^ Charles E. Leiserson, Flavio M. Rose, James B. Saxe (1983). Msgstr "Optimalizace synchronních obvodů retimováním". Třetí konference Caltech o integraci ve velkém měřítku. Springer: 87–116. doi:10.1007/978-3-642-95432-0_7.CS1 maint: více jmen: seznam autorů (odkaz)
- ^ Charles E. Leiserson James B. Saxe (červen 1991). "Retimování synchronních obvodů". Algorithmica. Springer. 6 (1): 5–35. doi:10.1007 / BF01759032.
- ^ A b K. N. Lalgudi, M. C. Papaefthymiou, Retimování obvodů spouštěných hranou u obecných modelů zpoždění, Transakce IEEE na počítačově podporovaném návrhu integrovaných obvodů a systémů, sv. 16, č. 12, str. 1393-1408, prosinec 1997.
- ^ M. C. Papaefthymiou, Asymptoticky efektivní retimování v rámci nastavení a omezení omezení, IEEE / ACM International Conference on Computer-Aided Design, 1998.
Reference
- Leiserson, 1C. E.; Saxe, J. B. (1983). "Optimalizace synchronních systémů". Journal of VLSI and Computer Systems. 1 (1): 41–67.