Wyniki 1-1 spośród 1 dla zapytania: authorDesc:"Przemysław Ogorzałek"

Zastosowanie dekompozycji w projektowaniu układów cyfrowych


  Podstawowym elementem każdego układu FPGA są różnej wielkości bloki pamięci. Występują one w postaci komórek logicznych i bloków pamięci ROM. Sercem komórki logicznej jest LUT (Look-Up Table) - niewielki blok pamięci o rozmiarze 2 N × M, gdzie N to liczba bitów wejściowych, a M - wyjściowych. Bity wejściowe stanowią adres tych zmiennych przechowywanych w pamięci, które mają zostać przekazane na wyjście komórki. Oprócz tego komórki logiczne są wyposażone w przerzutnik opóźniający i dodatkowe układy wejścia/wyjścia ułatwiające komunikację między komórkami. Te ostatnie nie są jednak istotne z punktu widzenia projektanta, ponieważ nie ma on wpływu na ich użycie. Zajmują się tym algorytmy syntezy kompilatora. Alternatywą dla komórek logicznych w przypadku implementacji układów kombinacyjnych modelowanych tablicami prawdy są bloki pamięci ROM, które pełnią podobną rolę jak LUT, jednak liczba bitów wejściowych i wyjściowych tych bloków jest zdefiniowana przez użytkownika. Programowanie układu FPGA polega na wypełnieniu używanych bloków pamięci danymi, a następnie skonfigurowaniu połączeń między nimi. Zajmują się tym narzędzia syntezy, dostarczone przez producenta wykorzystywanej platformy. Zadaniem projektanta jest odwzorowanie układu w języku opisu sprzętu (VHDL lub Verilog), natomiast kompilator dokonuje syntezy układu i alokacji zasobów. Ponieważ w komórce logicznej w praktyce nie są wykonywane żadne działania, a jedynie zostaje podany na wyjście wektor przechowywany w pamięci, proces minimalizacji funkcji logicznej staje się zbędny. Konieczne jest natomiast podzielenie tablicy prawdy opisującej działanie układu na kilka tablic dostatecznie małych w taki sposób, aby można było umieścić je w zastosowanych blokach pamięci. Proces ten jest nazywany dekompozycją funkcji logicznej. Trzeba podkreślić, że narzędzie to można wykorzystywać jedynie w przypadku układów kombinacyjnych, w których wektor wyjściowy zależy tylko od wartości b[...]

 Strona 1