Poziom transferu rejestru - Register-transfer level
W cyfrowych obwodów , poziom zarejestrować przenoszenia ( RTL ) jest abstrakcją Wzór wzory A synchroniczny układ cyfrowy w warunkach przepływu sygnałów cyfrowych ( danych ) między rejestrami sprzętowymi , a operacje logiczne przeprowadzono na tych sygnałów.
Abstrakcja na poziomie transferu rejestru jest używana w językach opisu sprzętu (HDL), takich jak Verilog i VHDL, do tworzenia reprezentacji wysokiego poziomu obwodu, z których można wyprowadzić reprezentacje niższego poziomu i ostatecznie rzeczywiste okablowanie. Projektowanie na poziomie RTL jest typową praktyką we współczesnym projektowaniu cyfrowym.
W przeciwieństwie do projektowania kompilatora oprogramowania, gdzie poziom transferu rejestru jest pośrednią reprezentacją i na najniższym poziomie, poziom RTL jest zwykłym wejściem, na którym pracują projektanci obwodów. W rzeczywistości, w syntezie obwodów, czasami używany jest język pośredni między reprezentacją poziomu transferu rejestru wejściowego a docelową listą sieci . W przeciwieństwie do netlist, dostępne są konstrukcje takie jak komórki, funkcje i rejestry wielobitowe. Przykłady obejmują FIRRTL i RTLIL.
Opis RTL
Obwód synchroniczny składa się z dwóch rodzajów elementów: rejestrów (logika sekwencyjna) i logiki kombinacyjnej . Rejestry (zaimplementowane zwykle jako przerzutniki D ) synchronizują pracę układu do zboczy sygnału zegarowego i są jedynymi elementami układu, które posiadają właściwości pamięci. Logika kombinowana wykonuje wszystkie funkcje logiczne w obwodzie i zazwyczaj składa się z bramek logicznych .
Na przykład na rysunku pokazano bardzo prosty obwód synchroniczny. Falownik jest połączony z wyjściem, Q rejestru do wejścia Rejestru, D, w celu utworzenia układu, w którym zmienia swój stan w każdym narastającym zboczu zegara CLK. W tym obwodzie logika kombinacyjna składa się z falownika.
Projektując cyfrowe układy scalone z językiem opisu sprzętu (HDL), projekty są zwykle opracowywane na wyższym poziomie abstrakcji niż na poziomie tranzystorów ( rodziny logiczne ) lub na poziomie bramek logicznych. W HDL projektant deklaruje rejestry (które w przybliżeniu odpowiadają zmiennym w językach programowania komputerowego) i opisuje logikę kombinacyjną za pomocą konstrukcji znanych z języków programowania, takich jak if-then-else i operacje arytmetyczne. Poziom ten nazywany jest poziomem transferu rejestru . Termin odnosi się do faktu, że RTL skupia się na opisie przepływu sygnałów pomiędzy rejestrami.
Jako przykład, wspomniany powyżej obwód można opisać w VHDL w następujący sposób:
D <= not Q;
process(clk)
begin
if rising_edge(clk) then
Q <= D;
end if;
end process;
Używając narzędzia EDA do syntezy, ten opis może być zwykle bezpośrednio przetłumaczony na równoważny plik implementacji sprzętu dla ASIC lub FPGA . Syntezy narzędzie wykonuje również optymalizację logiczny .
Na poziomie transferu rejestru można rozpoznać niektóre typy obwodów. Jeśli istnieje cykliczna ścieżka logiki od wyjścia rejestru do jego wejścia (lub od zestawu wyjść rejestrów do jego wejść), obwód nazywa się maszyną stanu lub można powiedzieć, że jest logiką sekwencyjną . Jeśli istnieją ścieżki logiczne z jednego rejestru do drugiego bez cyklu, nazywa się to potoku .
RTL w cyklu projektowania obwodów
RTL jest używany w fazie projektowania logiki cyklu projektowania układów scalonych .
Opis RTL jest zwykle konwertowany na opis obwodu na poziomie bramki za pomocą narzędzia do syntezy logicznej . Wyniki syntezy są następnie wykorzystywane przez narzędzia rozmieszczania i wyznaczania tras do tworzenia fizycznego układu .
Narzędzia symulacji logiki mogą wykorzystywać opis RTL projektu do weryfikacji jego poprawności.
Techniki szacowania mocy dla RTL
Najdokładniejsze narzędzia do analizy mocy są dostępne dla poziomu obwodu, ale niestety, nawet w przypadku modelowania na poziomie przełącznika, a nie urządzenia, narzędzia na poziomie obwodu mają wady, takie jak są albo zbyt wolne, albo wymagają zbyt dużej ilości pamięci, co utrudnia obsługę dużych chipów. Większość z nich to symulatory, takie jak SPICE i były używane przez projektantów od wielu lat jako narzędzia do analizy wydajności. Ze względu na te wady, narzędzia do szacowania mocy na poziomie bramki zaczęły zyskiwać pewną akceptację tam, gdzie szybsze, probabilistyczne techniki zaczęły zdobywać przyczółek. Ale ma to również swój kompromis, ponieważ przyspieszenie osiąga się kosztem dokładności, zwłaszcza w obecności skorelowanych sygnałów. Z biegiem lat zdano sobie sprawę, że największe sukcesy w projektowaniu o niskim poborze mocy nie mogą pochodzić z optymalizacji na poziomie obwodów i bramek, podczas gdy optymalizacja architektury, systemu i algorytmów ma zwykle największy wpływ na zużycie energii. W związku z tym nastąpiła zmiana skłonności twórców narzędzi w kierunku wysokopoziomowych narzędzi do analizy i optymalizacji mocy.
Motywacja
Powszechnie wiadomo, że bardziej znaczące redukcje mocy są możliwe, jeśli optymalizacje są dokonywane na poziomach abstrakcji, takich jak poziom architektoniczny i algorytmiczny, które są wyższe niż poziom obwodu lub bramki. Zapewnia to wymaganą motywację dla programistów do skupienia się na rozwoju nowe narzędzia do analizy mocy na poziomie architektury. To w żaden sposób nie oznacza, że narzędzia niższego poziomu są nieistotne. Zamiast tego każda warstwa narzędzi stanowi podstawę, na której można zbudować kolejny poziom. Abstrakcje technik estymacji na niższym poziomie można zastosować na wyższym poziomie z niewielkimi modyfikacjami.
Zalety szacowania mocy na poziomie RTL lub architektonicznym
- Projektanci używają opisu poziomu transferu rejestru (RTL) projektu, aby dokonywać optymalizacji i kompromisów na bardzo wczesnym etapie procesu projektowania.
- Obecność bloków funkcjonalnych w opisie RTL sprawia, że złożoność projektu architektonicznego jest znacznie łatwiejsza do opanowania nawet w przypadku dużych układów, ponieważ RTL ma wystarczająco większą ziarnistość niż opisy na poziomie bramy lub obwodu.
Odpowiedniki bramek
Jest to technika oparta na koncepcji odpowiedników bramek. Złożoność architektury chipa można opisać w przybliżeniu w kategoriach równoważników bramek, gdzie liczba równoważników bramek określa średnią liczbę bramek odniesienia, które są wymagane do realizacji określonej funkcji. Całkowitą moc wymaganą dla danej funkcji szacuje się przez pomnożenie przybliżonej liczby równoważników bramki przez średnią moc pobieraną na bramkę. Bramką referencyjną może być dowolna bramka np. 2-wejściowa bramka NAND.
Przykłady techniki równoważnika bramek
- Modelowanie mocy niezależne od klasy: Jest to technika, która próbuje oszacować obszar chipa, prędkość i rozpraszanie mocy na podstawie informacji o złożoności projektu pod względem ekwiwalentów bramek. Funkcjonalność jest podzielona na różne bloki, ale nie ma rozróżnienia co do funkcjonalności bloków, tzn. jest zasadniczo niezależna od klasy. Jest to technika stosowana przez Chip Estimation System (CES).
-
Kroki:
- Zidentyfikuj bloki funkcjonalne, takie jak liczniki, dekodery, mnożniki, pamięci itp.
- Przypisz złożoność pod względem ekwiwalentów bramek. Liczba GE dla każdego typu jednostki jest albo pobierana bezpośrednio jako dane wejściowe od użytkownika, albo jest zasilana z biblioteki.
-
Kroki:
- Gdzie E typ jest założoną średnią rozpraszaną energią przez odpowiednik bramki, gdy jest aktywny. Współczynnik aktywności A int oznacza średni procent przełączeń bramek na cykl zegara i może zmieniać się w zależności od funkcji. Pojemnościowe obciążenie, C L jest kombinacja rozprowadzających obciążenia oraz okablowania. Do obliczenia pojemności okablowania można użyć szacunkowej średniej długości przewodu. Jest to zapewniane przez użytkownika i sprawdzane krzyżowo za pomocą pochodnej zasady czynszu.
-
Założenia:
- Pojedyncza bramka referencyjna jest brana pod uwagę jako podstawa wszystkich szacunków mocy, nie biorąc pod uwagę różnych stylów obwodów, strategii taktowania lub technik układu.
- Zakłada się, że odsetek przełączeń bramek na cykl zegara, oznaczony współczynnikami aktywności, jest stały, niezależnie od wzorców wejściowych.
- Typowa energia przełączania bramek charakteryzuje się całkowicie losowym, jednolitym rozkładem białego szumu (UWN) danych wejściowych. Oznacza to, że oszacowanie mocy jest takie samo, niezależnie od tego, czy obwód jest bezczynny, czy przy maksymalnym obciążeniu, ponieważ ten model UWN ignoruje wpływ różnych rozkładów wejściowych na zużycie energii przez bramki i moduły.
-
Założenia:
- Modelowanie mocy zależne od klasy: To podejście jest nieco lepsze niż poprzednie podejście, ponieważ uwzględnia niestandardowe techniki szacowania dla różnych typów bloków funkcjonalnych, próbując w ten sposób zwiększyć dokładność modelowania, co nie miało miejsca w poprzedniej technice, takiej jak logika , pamięć, interkonekt i zegar, stąd nazwa. Szacowanie mocy odbywa się w bardzo podobny sposób jak w przypadku niezależnym. Podstawowa energia przełączania opiera się na trzywejściowej bramce AND i jest obliczana na podstawie parametrów technologicznych, takich jak szerokość bramki, tox i szerokość metalu dostarczonych przez użytkownika.
- Gdzie przewód C oznacza pojemność okablowania linii bitowej na jednostkę długości, a komórka C oznacza obciążenie spowodowane pojedynczą komórką zwisającą z linii bitowej. Pojemność zegara jest oparta na założeniu sieci dystrybucyjnej H-drzewa . Aktywność jest modelowana za pomocą modelu UWN. Jak widać z równania, pobór mocy każdego komponentu jest powiązany z liczbą kolumn (N col ) i wierszy (N row ) w tablicy pamięci.
-
Niedogodności:
- Aktywności obwodu nie są dokładnie modelowane, ponieważ zakłada się ogólny współczynnik aktywności dla całego chipa, który również nie jest godny zaufania, jak podaje użytkownik. W rzeczywistości czynniki aktywności będą się różnić w całym chipie, dlatego nie jest to bardzo dokładne i podatne na błędy. Prowadzi to do problemu, że nawet jeśli model podaje prawidłowe oszacowanie całkowitego zużycia energii przez chip, rozkład mocy pod kątem modułu jest dość niedokładny.
- Wybrany współczynnik aktywności daje prawidłową całkowitą moc, ale podział mocy na logikę, zegar, pamięć itp. jest mniej dokładny. Dlatego to narzędzie nie różni się zbytnio ani nie jest ulepszone w porównaniu z CES.
-
Niedogodności:
Wstępnie scharakteryzowane biblioteki komórek
Technika ta dodatkowo dostosowuje szacowanie mocy różnych bloków funkcjonalnych poprzez posiadanie oddzielnego modelu mocy dla logiki, pamięci i połączeń, sugerując metodę aproksymacji współczynnika mocy (PFA) do indywidualnego scharakteryzowania całej biblioteki bloków funkcjonalnych, takich jak mnożniki, sumatory itp. modelu z pojedynczą bramką dla bloków „logicznych”.
Moc nad całym chipem jest przybliżona wyrażeniem:
Gdzie K i jest PFA stałą proporcjonalności, która charakteryzuje I th element funkcjonalny jest miarą złożoności sprzętowej i oznacza częstotliwość aktywacji.
Przykład
G i oznaczając złożoność sprzętu mnożnika jest związana z placu wejściowego długości słowa tj N 2 , gdzie N jest długością słowa. Częstotliwość aktywacji to szybkość, z jaką mnożenia są wykonywane przez algorytm oznaczony przez a stała PFA , jest wyodrębniana empirycznie z poprzednich projektów mnożników i wykazuje, że wynosi około 15 fW/bit2 Hz dla technologii 1,2 µm przy 5 V. Otrzymany model mocy dla mnożnika na podstawie powyższych założeń to:
Zalety:
- Dostosowanie jest możliwe pod względem dowolnych parametrów złożoności, które są odpowiednie dla tego bloku. Np. dla mnożnika odpowiedni był kwadrat długości słowa. W przypadku pamięci używana jest pojemność pamięci w bitach, a dla sterowników we/wy wystarczająca jest sama długość słowa.
Słabość:
- Istnieje domniemane założenie, że dane wejściowe nie wpływają na aktywność mnożnika, co jest sprzeczne z faktem, że stała PFA ma na celu uchwycenie wewnętrznej aktywności wewnętrznej związanej z operacją mnożenia, ponieważ przyjmuje się ją za stałą.
Eksperymentowany jest błąd estymacji (względem symulacji na poziomie przełącznika) dla mnożnika 16x16 i obserwuje się, że gdy zakres dynamiczny wejść nie zajmuje w pełni długości słowa mnożnika, model UWN staje się wyjątkowo niedokładny. To prawda, dobrzy projektanci starają się zmaksymalizować wykorzystanie długości słowa. Mimo to błędy w zakresie 50-100% nie są rzadkością. Rysunek wyraźnie sugeruje wadę modelu UWN.
Zobacz też
- Ścieżka danych
- Automatyzacja projektowania elektronicznego (EDA)
- Poziom systemu elektronicznego
- Maszyna skończona ze ścieżką danych
- Konstrukcja układu scalonego
- Obwód synchroniczny
- Algorytmiczna maszyna stanu