Systemy na Chipie

Transkrypt

Systemy na Chipie
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
wobec współczesnych systemów
ELASTYCZNOŚĆ
SKALOWALNOŚĆ
NISKI KOSZT
NISKA MOC
WYSOKA
INTEGRACJA
Oczekiwania
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
działający wg programu
(najczęściej synchroniczny)
Mikrokontroler
PAMIĘĆ
PROGRAMU
PAMIĘĆ
DANYCH
UKŁADY
CZASOWOLICZNIKOWE
KONTROLER
PRZERWAŃ
MIKROPROCESOR
WE
URZĄDZENIA
CYFROWE
A/C
C/A
WE
URZĄDZENIA
ANALOGOWE
WY
URZĄDZENIA
ANALOGOWE
WY
URZĄDZENIA
CYFROWE
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!