Systemy na Chipie Robert Czerwiński
Cel kursu Celem kursu jest zapoznanie słuchaczy ze współczesnymi metodami projektowania cyfrowych układów specjalizowanych, ze szczególnym uwzględnieniem układów logiki programowalnej FPGA, narzędzi wspomagania projektowania oraz języków opisu sprzętu. Drugi "filar" przedmiotu obejmuje podstawy obsługi i programowania systemów mikroprocesorowych.
Organizacja kursu Wykład: 30h Laboratorium 15h/grupę 3 spotkania po 5h Termin indywidualne dostosowane do potrzeb uczestników Podział na dwie grupy: System na Chipie firmy Xilinx: ZYNQ-7000 Zaprojektowanie własnego mikroprocesora
Program szczegółowy Od mikroprocesora do systemu na chipie definicje i pojęcia Mikroprocesor (omówienie na przykładzie problemu): Bloki funkcjonalne mikroprocesora Cykle pracy System przerwań i układy peryferyjne Układy sprzętowego wspomagania przetwarzania danych (na podstawie układów FPGA) Architektura, podstawowe elementy struktury Struktury specjalne w układach FPGA Systemy na chipie Bloki funkcjonalne Komunikacja i magistrale Kosynteza sprzętowo-programowa Proces projektowania złożonych układów cyfrowych w języku opisu sprzętu Verilog
Oczekiwania wobec współczesnych systemów WYSOKA INTEGRACJA SKALOWALNOŚĆ ELASTYCZNOŚĆ NISKI KOSZT NISKA MOC
Przykładowe problemy Telefon system aplikacje wyświetlanie obsługa interfejsów komunikacja (gsm, bluetooth, etc.) etc. Samochód (asystent kierowcy) obsługa czujników analiza obrazu decyzje i komunikacja z kierowcą etc.
Mikroprocesor Mikroprocesor to automat sekwencyjny (najczęściej synchroniczny) działający wg programu
Mikrokontroler PAMIĘĆ PROGRAMU PAMIĘĆ DANYCH UKŁADY CZASOWO- LICZNIKOWE KONTROLER PRZERWAŃ MIKROPROCESOR WE URZĄDZENIA CYFROWE A/C C/A WY URZĄDZENIA CYFROWE WE URZĄDZENIA ANALOGOWE WY URZĄDZENIA ANALOGOWE
System na Chipie (SoC; ang. System-on-a-Chip) definicja?
SoC definicja i kontrowersje SYSTEM*: układ elementów mający określoną strukturę i stanowiący logicznie uporządkowaną całość CHIP*: miniaturowy układ scalony SoC (literalnie): układ elementów mający określoną strukturę i stanowiący logicznie uporządkowaną całość wykonany w postaci miniaturowego układu scalonego *Słownik języka polskiego, PWN
SoC Definicja literalna a rzeczywistość, czyli teoria chaosu SoC IP Core System Program To czym różni się SoC od mikrokontolera?
SoC Z czego może składać się SoC: mikroprocesor, mikrokontroler, rdzeń DSP (układy SoC mogą zawierać kilka jednostek; MPSoC ang. Multiprocessor System-on-Chip) bloki pamięci: RAM ROM EEPROM lub FLASH układy zarządzania systemem zegarowym, pętle PLL peryferyjne układy czasowo-licznikowe kontrolery transmisji szeregowej lub równoległej UART SPI USB Ethernet FireWire przetworniki analogowo-cyfrowe lub cyfrowo-analogowe moduły zarządzania zasilaniem
SoC Magistrale obecnie najczęściej oparte na specyfikacji AMBA (magistrala systemowa ARMa; między innymi umożliwia transmisję DMA pomiędzy pamięcią i interfejsami bez udziału procesora) GPU (ang. Graphic Processing Unit) moduły graficzne Mostki (northbridge, southbrige) Moduły radiowe: etc. GSM (LTE) Wi-Fi GPS Bluetooth
IP Core (ang. intellectual property core) Moduły wielokrotnego użytku w postaci tzw. wartości intelektualnej Mogą stanowić samodzielne rozwiązanie, ale najczęściej służą do budowy większych systemów (w postaci ASIC, ASSP czy FPGA), w tym systemów na chipie SoC Dwa podstawowe typy: tzw. soft core tzw. hard core
IP Core soft core Model modułu opisany najczęściej na poziomie RTL w języku opisu sprzętu (Verilog lub VHDL) Model taki podlega syntezie u producenta krzemu Może być modyfikowany przez producenta (bez gwarancji ze strony dostawcy IP core a) Drugą część stanowią modele opisane na poziomie tzw. netlisty Opisują model pod kątem określonej technologii lub na trochę bardziej ogólnym poziomie (tzw. generic gates) Model ten chroni własność dostawcy uniemożliwiając (lub mocno ograniczając) możliwości tzw. reverse engineeringu.
IP Core hard core Model opisany na poziomie niskopoziomowej reprezentacji technologicznej Oferują przewidywalną jakość (szybkość, powierzchnia chipu) Oferują też możliwość opisania modułów analogowych i mieszanych analogowo-cyfrowych Muszą być dobrze opisane wymagają dobrej znajomości technologii Producenci układów nie mogą zmienić funkcjonalności, ale nawet nie bardzo mogą łatwo przerobić modelu na inną technologię
System wbudowany (ang. embedded system) Tu też chaos definicyjny pojęcie szersze od SoC Układy SoC są używane w obszarze embedded systems System wbudowany jest systemem komputerowym specjalnego przeznaczenia System wbudowany jest integralną częścią obsługiwanego przez niego sprzętu komputerowego Ma ograniczone zadania do wykonania, wynikające z roli, którą pełni w urządzeniu (nie jest to system ogólnego przeznaczenia) może zawierać oprogramowanie dedykowane jedynie temu urządzeniu (firmware) system operacyjny wraz ze specjalizowanym oprogramowaniem
SoC możliwości ASIC (ang. application specific integrated circuit) lub ASSP (ang. application specific standard product) PSoC (ang. Programmable SoC), AP SoC (ang. All Programmable PSoC; pojęcie Xilinx a), FPGA Soft mikroprocesor Hard mikroprocesor Dla uczestników kursu oznacza to zastosowanie układu FPGA ze sprzętowym mikroprocesorem Xilinx ZYNQ: ARM Cortex-A9 (dwa rdzenie) W układzie FPGA Xilinx Artix-7/Kintex-7 FPGA z mikroprocesorem typu soft Wg własnego projektu IP Core: otwarty (np. Xilinx PicoBlaze), licencjonowany (np. Xilinx MicroBlaze; ARM Cortex-M1)
Problem Do szczegółowego omówienia zagadnień związanych z programem kursu posłuży problem mnożenia macierzy!