slideshow 1 slideshow 2 slideshow 3 slideshow 4

Podział magistral

   Do wyboru jest wiele magistral. Aby przybliżyć problem przedstawiono ogólne informacje o magistralach używanych w sprzęcie elektronicznym.

   Magistrale w zależności od zastosowań można podzielić na wiele kategorii. Jedną nich jest podział na magistrale zewnętrzne i wewnętrzne.

   Wewnętrzne magistrale systemowe to magistrale używane w układzie scalonym lub w modelu wgranym w układ FPGA. Używa się ich do wymiany danych pomiędzy blokami wewnątrz układu takimi jak procesor, kontroler VGA czy USB. Istnieje wiele typów magistral. Na początku magistrala miała charakter zbliżony do klasycznych magistral równoległych używanych w komunikacji między układami. Jednak z czasem, w celu poprawienia osiągów układów scalonych nastąpiło wyraźne oddzielenie się magistral wewnątrz układowych od standardów używanych na zewnątrz układu.

   Jedną z cech ułatwiająca łączenie magistral wewnątrz układów jest niewymuszony ale jednak brak bramek trójstanowych. Takie samo podejście można przyjąć w przypadku magistral zewnętrznych jednak dwukrotne poszerzenie magistrali danych na ogół jest zbyt kosztowne. W przypadku magistral bez buforów trójstanowych, w układach scalonych, dostęp realizuje się poprzez dwa oddzielne jednokierunkowe porty. Inna cecha to szerokość magistrali. Nierzadko zdarza się, że magistrala ma ponad 100 linii danych i adresowych. W układach scalonych szerokość magistrali nie jest krytycznym problemem przy tworzeniu struktury krzemowej dlatego też wiele standardów opiera się właśnie na szerokiej magistrali. Jednak coraz częściej zaczyna się obserwować trend minimalizowania szerokości połączeń wewnątrz układu. Spowodowane jest to tym, że przy dużych układach szeregowy interfejs zajmuje stosunkowo mało powierzchni krzemu więc niewielkim kosztem można znacznie ułatwić tworzenie całego układu.

   Za przykład magistral wewnętrznych może posłużyć magistrala AMBA firmy ARM czy magistrala Wishbone bardzo popularna w darmowych modelach dostępnych na stronie
www.opencores.org. Podczas tworzenia prostych projektów nie ma potrzeby używania żadnej skomplikowanej magistrali komunikacyjnej wewnątrz układu FPGA.

   Wybierając magistralę jaką należy zastosować w prostym układzie trzeba określić kilka czynników. Dopiero po dokładnej analizie można określić jaki interfejs będzie najlepszy. Pewne pomocne wskazówki umieszczono poniżej:

  • Wskazane jest stosowanie magistral wewnętrznych synchronicznych. Ułatwia to projektowanie układu, a następnie jego symulacje i optymalizacje. Wprawdzie coraz popularniejsze asynchroniczne rozwiązania pobierają o ok. połowę mniej mocy jednak ze względu na stopień skomplikowania nie są używane w prostych modelach w FPGA
  • W przypadku gdy bloki pracują w dwóch różnych domenach zegarowych najłatwiej jest użyć FIFO wygenerowane w przypadku firmy Xilinx narzędziem CoreGenerator
  • Gdy z jakiś powodów należy użyć modelu w którym magistrala została określona prze dostawcę, konieczne jest albo przestawienie się na ten typ komunikacji lub wymagane jest użycie konwertera zwanego wrapper’em
  • Z reguły nie stosuje się transmisji danych wewnątrz układów FPGA w postaci szeregowej, Ze względu na charakter układu FPGA w większości przypadków nie przyśpiesza to wymiany danych pomiędzy modułami

   W przypadku magistral zewnętrznych ilość standardów umożliwiających połączenie układów jest dużo większa niż w przypadku magistral wykorzystywanych wewnątrz układów scalonych czy układów FPGA. Prawie każdy elektronik słyszał o magistralach ISA, PCI, RS232, USB czy SPI. Od początku istnienia cyfrowych układów elektronicznych istniały magistrale wymiany danych pomiędzy modułami. Bardzo szybko okazało się że standardy w tym przypadku są bardzo opłacalne. Standaryzacja magistral, czyli sposoby wymiany danych, poziomów napięć, ograniczeń czasowych bardzo przyśpieszyła rozwój elektroniki. Jest to sprawa oczywista. Niestety na przestrzeni lat nie udało się stworzyć jednej uniwersalnej magistrali wymiany danych, W prawdzie na rynku istnieją wiodące standardy takie jak PCI jednak w tym przypadku każda z nich nadaje się do innych zastosowań. Analizując obecny trend w zewnętrznych magistralach systemowych zauważyć można rozwój ukierunkowany na szybkie szeregowe interfejsy oparte na wspólnej warstwie fizycznej, będącej rozwinięciem standardu LVDS czy CML. Dotyczy to rynku multimediów czyli obejmuje standardy DVI, HDMI czy nowy Display Port oraz inne standardy lub dziedziny gdzie coraz częściej stosuje się serializery/deserializery zwane serdes’ami. We wspomnianych interfejsach często występuje kilka linii szeregowych, jednak nie będzie nadużyciem jeśli magistrale te zostaną zakwalifikowane do magistral szeregowych [2].
   W przypadku wolnozmiennych sygnałów nadal popularnych jest wiele typów przeróżnych interfejsów.

Fijak Logic od 2009r