Zbiór naszych prezentacji
We would like to present an outline of our project which is ”FPGA Mezzanine Card DSP Module”.
Plan of our presentation consists of:
Origin of our project comes from the JET experiment, which is a plasma physics experiment, that from our point of view, produces huge ammount of data to be processed.
JET is equipped with many diagnostics systems some of which are pointed out here.
Data mining system has been proposed that is scalable using FPGA Mezzanine Card Standard.
Our project is to be used as a part of this data mining system. Namely to boost up the X-ray spectrometer calculations by using the DSP FMC accelerator module.
A quick overview of the FMC standard
This standard defines two shapes of FMC plugin module, single width, and double width. We focus on single width module. An example is shown on the picture here. The idea is very simple like in other Mezzanine cards -- to add functionality to the carrier cards by pluging in the FMC module.
For the plug-in purposes, FMC standard specifies Samtec’s SEARAY™ connector set.
Standard also defines two pinout versions for this connector
Low–Pin count and High–Pin count.
Low-pin count comes with 160 pins. High-pin count comes with 400 pins.
The main differences are pointed out here on the page
Low–Pin count is a subset of high–pin count
and is mechanically compatible with High–Pin connector.
The pinout consist mainly of dedicated:
To fulfill the aim of the project we came up with some basic assumptions:
General solution scheme is shown here on a picture. We can see two processors – connected via point to point link, by a switch, by FPGA and possibly by ethernet.
FPGA and the switch in the end, are connected to the FMC header for exchanging data with the carier board.
To realize our basic solution scheme many different DSP's and FPGA's can be used.
In place of DSP we had chosen, possibly today's fastest, TMS C66 78 from Texas Instruments.
DSP's insides are shown on the picture here.
This DSP has fast interfaces like:
Computing power of all 8-cores is calculated to be 160 GFLOPs
In place of FPGA we had chosen Spartan-6 from Xilinx.
FPGA was chosen to be possibly the smallest and yet having possiblity to connect it to fast interfaces like PCI express, Serial RApid-IO and DDR 3 interface.
Above to that, FPGA comes handy to utlize free IOs as FMC's user-defined singals – that is where 190 IO's are useful
Architecture we came up with is shown on the picture, additionally possible transfer speeds are also shown.
In few words:
This is the first semester of this project and schematics are almost complete. We aim to design schematics before the end of February.
This might need some redesigning in the future however, becuse chosen DSP still has an experimental staus
3 last steps lies ahead of us:
This is a 3D model of the propsoed PCB from diffretent POVs.
Attachment | Wielkość |
---|---|
FPGA Mezzanine Card DSP Module [2011].pdf | 4.17 MB |
Konfiguracja sprzętowa zalezna jest od połączenia jednostek w MMS. Smartfony typowo wyposażone są w interfesj USB [lub IDOCK w przypadku Apple], który jest połączeniem szeregowym. W takiej konfiguracji uzytkownik musiałby podłączać się do każdego urządzenia z osobna, co prowadzi do zbyt licznej fizycznej ingerencji przez użytkownika w system połączeń. W założeniu MMS ma być widziany przez użytkownika jako "czarna skrzynka". W takiej konfiguracj zbyt mało całego MMS mieści się ów "czarnej skrzynce".
Rozwiązaniem poprzedniego problemu mógłby być HUB USB - co zminiejszałoby fizyczną ingerencję uzytkownika w MMS - podłączałby tylko jeden kabel. Takie rozwiązanie prowadzi jednak do zbyt dużej ilość okablowania po stronie projektowanego MMS - problemy ze skalowalnością.
Jedynym pasujuącym dla użytkownika rozwiązaniem są interfesjy bezprzewodowe. Jednostki FMS również mogą być wyposażone w interfesjy bezprzewodowe co rozwiązywałoby dostatecznie problem ze skalowalnością.
Niestety jednostki FMS typowo nie muszą być dużymi modułami. Mogą to być low-cost'owe rozwiązania nie zawierające fizycznych ani logicznych warstw RF - a np. tylko interfejs I2C do komunnikacji z czujnikiem znajdującym się na FMS. Rozwiązaniem mogłoby być tworzenie FMS opartych o interfejs Ethernet tak by dało się jednostki FMS podłączać do adaptorów RF - dostępnych jako "off-the-shelf". Niestety implementacja fizycznej i loginczej warstwy Ethernetu nie jest rozwiązaniem najtańszym.
Dlatego najlepszym rozwiązaniem jest unwiersalna platforma M2M. Jednostki FMS są podłączone poprzez różne liczne [prsote i tanie w implemntacji] interfesjy tj. SPI, I2C, UART. Jednostka M2M w sposób transparentny łączy się z użytkownikiem wykorzystując interfesjy RF, stanowiać w ten sposób most.
Urządzenia stanowiące na dzisiejszy dzień MMS:
Na potrzeby grantu tworzona jest nowa wersja Armputera zawierająca nowy interfesj WIFI oraz szybszy procesor, ethernet oraz pamięci. Wersja V3 będzie kompatybilna z nakładkami stworzonymi dla wersji V2
Postępy oraz plany zw. z trzecią wersją Armputera zostały zaprezentowane na kilku kolenych slajdach. W planach jest obecnie powtórne zweryfikowanie schematów gdyż pojawiała się na rynku opcja kupienia w pojedynczych sztukach układu warstwy fizycznej integrujących w jednym układzie scalonym BLE + WIFI.
Attachment | Wielkość |
---|---|
MMS_v3.pdf | 1.21 MB |
Prezentacja dotyczy:
W ninniejszej części zostanie przedstawione rozumowanie oraz badanie rynku [na rok 2010] mające na celu wybranie najważniejszych elementów w projekcie tj: wstępnej koncepcji oraz wymagań projektowych, jak i kontrolera projektu planowanego jako jeden z układów spośród: FPGA, uP, uC albo DSP wraz z wymaganym dla niego środowiskiem programistycznym.
W prezentacji zostanie przedstawione:
Ideą jest stworzenie:
Karta w zamierzeniu ma stanowić:
Firmy oraz rodziny układów, które zostay uwzględnione do badań.
Układy z danych rodzinych zostały poddane tokowi eliminacji poprzez zadane kryterią jakimi są:
Z badań wynika, iż istnieją dwie możliwe drogi progamistyczne zadanych kontrolerów:
Płyta powinna być łatwo testowalna i programowalna, stąd kolejnym kryterium jest wybór takiego kontrolera dla którego istnieje tani programatror/debugger/emulator.
Z badań wynika, iż istnieją takie rozwiązania - niestety jednak:
Ewenenmentem są wybrane układy firmy Texas Instruemnts, gdzie programator [oparty o USB] XDS100 jest tani, a nawet jego schematy wraz z listą elementów są udostępnione publicznie.
Kolejne kryterium stanowi by wybrany układ kontrolera umożliwiał połączenie dedykowane lub ułatwiające tworzenie systmu wieloporcesorowego.
Takie połączenie umożliwiją prezentowane układy/rodziny kontrolerów i są połączenia operte o interfejsy tj. Ethernet oraz dedykowane [jak Host Port Interface lub Universal Parallel Port].
Kolejnym kryterium [5,6,7] są:
względem ceny [peryferia+wydajność do ceny].
Lista podsumowywująca wyłania kilka możliwych rozwiązań. Kolrami łososiowym, żółtym, zielonym oraz niebieskim wyróżniono rozwiązania z możliwie największą wydajnością i bogactwem interfejsów względem ceny.
Przyjęte kryteria nie wyłoniły jednoznacznego "zwycięzcy" - wymienione rozwiązania plasują się identycznie cenowo jak i wydajnościowo. Za roziwązaniem z użyciem L138 opwiada się jednak doskonale stowrzona do niego dokumentacja wraz ze wsparciem w postaniu forum. Ponadto jest to jedyny na liście uP hybrydowy integrujący w jednym układzie scalonym rdzeń ARM oraz osobny rdzeń DSP połączonych wew. szyną, gdzie DSP działa jako coprocesor.
Z przeprowadzonych badań nad "tanimi" rozwiązanimi dla konotrolera można pokusić się o następujące stwierdzenia [na rok 2010]. Rozwiązanie z użyciem L138 plasuję się w połowie stawki... tam gdzie L138 traci niższą mocą obliczeniową tam nadrabia ciekawymi rozwiąaniami jak liczne "popularne" interfejsy czy dodatkowo zintergrowanym DSP na pokładzie układu scalonego.
Tak wygląda w postaci blokowej architektura L138.
Tak wyglądają możliwości aplikacyjne z nim związane.
Na najbliższy rok planowane są:
Attachment | Wielkość |
---|---|
Multi-Computing Multi-Computing - Part 1.pdf | 3.72 MB |
Prezentacja dotyczy:
W ninniejszej części zostanie przedstawiony tok tworzenia architektury karty wraz z najważniejszymi połączeniami układów elektronicznych.
W prezentacji zostanie przedstawione:
Generalnie MCPCC jest kartą samodzielną lub kartą PCI stanowiącą platformę dla:
Na rysunku widzimy podstawową koncpecję, gdzie dostep do peryferiów oraz interfejsów płyty jest współdzielony przez kontroler wraz z układem FPGA - co ma umozliwać stworzenie połączeń typu sieciowego. Sprawdzone zostanie m.in. wydajność rozwiązania sprzętowego, gdzie FPGA stanowi koprocesor do działań nad strumieniem Video.
W poprzedniej prezentacji wybrany został hybrydowy kontroler uP+DSP L138. Jego zaletami poza wysokim współczynniem wydajności do ceny są zaimplementowane sprzętowo interfesjy na bazie których można stworzyć w pełni funkcjonalny "mini-komputer" tzw. "single board computer" lub kartę przetważania Video [jedno nie wyklucza drugiego]. Ponadto układ ten posiada dwa dedykowane interfesjsy do połączeń wieloprocesorowych:
Architektura tworzona jest z myślą o jak najlepszym wykorzsytaniu interfesjów L138 i stworzenia optymalnych połączeń nieograniczjących funkcjonalności rozwiązania.
Głównymi przemyśleniami są: w jaki sposób połączyć dane interfesjy naszego uP tak aby stworzyć jak najwydajniejszy system wieloprocesorowy i zarazem zrobić to najmniejszymu kosztami. W przypadku gdy tworzymy system wiloprocesorowy [z zachowaniem umiaru w kosztach], to najmniejszym takim sytemem będzie system dwu-procesorowy [w zasadzie jest on cztero-procesorowy gdyż na pokładzie L138 znajduję się dodatkowo rdzeń DSP]. Jako, że nie jestesmy w stanie w pełni przewidzieć czy dana archotektura jest najlepsza, to warto pierw opracować prototyp tylko z dwoma uP by nie popaść w nic nieprzynoszące koszta i zweryfikować skalowalność rozwiązania.
Na obrazku widzimy, iż pierwszą ideą tworzącą naszą architekturę jest wykorzystanie 2 uP, gdzie wykorzystamy interfesj HPI jako połączenie bezpośrenide.
Mając już dwa uP możemy pomysleć nad innymi mozliwościami połączeń takimi jak współdzielona pamięć. Takie połączenie może stanowić kolejny mechanizm w wymianie informacji pomiędzy procesorami w systemi wieloporcesorowym.
Kolejnymi pomysłami jest stowrzenie magistrali oraz możliwości połączenia przez Ethernet.
Nasza architektura tworzona jest tak by wykorzystać wszystkie mozliwości jakie daje L138 do stworzenia systemu wieloprocesorowego tak aby projektant oprogramowania mógł wykorzystać najwydajnieszy sposób połacznia dla zadanego [swojego] algorytmu/zadania.
L138 posida sprzętowe wsparcie dla wielu interfejsów ciekawych z punktu widzenia platformy rozwojowej. Niestety nie są one dostepne wszystkie naraz - są one komutowane i mogą być komutowane podczas działania online. Niestety niktóre interfejsy [w zalezności do czego i jak są podłączone] nie mogą być współdzielone np. UART z I2C. Nie mogą przeto być komutowane a muszą być wybrane na stałe. Ponadto na róznych interfejsach które nawet dałoby się podłączyć równolegle podczas komutacji może dojć do nieprzewidywanych zachowań.
Stąd pomysł na podłączenie jak największej ilośći pinów uP do FPGA, które w prostym ujęciu stanowi powielacz pinów, a wew. FPGA może zachodzić "inteligętna" komutacja.
Lub nawet zamiast tylko komutacji przejęcie sterowania na dowolnym interfesjem poprzez stowrzenie kontrolerów/arbitrów - otrzymujących sterowanie/dane z uP lub pełniące funkcję DMA.
By propopnowane rozwiązanie uzykało pełny potencjał, tj. każdy interfesj L138 mógłbyć fizycznie dostepny, należałoby użyć FPGA o ponad 740 funkcjonalnych pinach. Takie FPGA są poza zakresem obsługiwanych w darmowych wersjach środowisk do tworzenia firmware dla FPGA [na rok 2011]. By sprostac wymaganiowi na niskie koszta zostało ustalone, iż nie wszystkie możliwości L138 zostaną zaimplementowane. Prowadzi to do zrezygnowania z wielu połączeń, które miały pierwotnie przechodzić przez FPGA.
Do projektu zostanie wykorzystany największy pod względem ilości dostęnych IO oraz jednocześnie wspierany przez darmowe wersje oprgoramaowania [na rok 2011] do tworzenia firmware - Cyclone II. Główe parametry widoczne są na rysunku.
Tak prezentuję się architektura. Przez FPGA zostaną przepuszczone [współdzielone] interfejsy:
Dedykowanymi dla danego uP będzie połączenie z:
Po opracowaniu architektury [co wymagało zweryfikowania fubkcjonalności L138 wraz z wybranym FPGA], można przejść do opracowywania PCB oraz fimrware na FPGA. Jako, że wiele interfejsów jest "przepuszczona" przez FPGA, a interfesjy te mają wymagania/rygory czasowe w których transmisja musi się mieścić, to należy pierw opracować firmware by uzyskać opóxnienia czasowe zw. z architekturą wew. FPGA. Opóźnienia te należy wziąść pod uwagę razem z opóźnieniami ścieżek zasymulowanych w oprogramowaniu tj. HyperLynx lub Altium Desinger.
Attachment | Wielkość |
---|---|
Multi-Computing PC Card PC Card - Part 2.pdf | 178.51 KB |