Układy cyfrowe informacje ogólne Mariusz Rawski rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/



Podobne dokumenty
Paweł Tomaszewicz, dr inŝ. tomaszewicz.zpt.tele.pw.edu.pl

Elektronika cyfrowa i mikroprocesory. Dr inż. Aleksander Cianciara

Systemy wbudowane. Układy programowalne

Programowalne Układy Logiczne. Wykład I dr inż. Paweł Russek

Systemy na Chipie. Robert Czerwiński

Elementy cyfrowe i układy logiczne

PROJEKTOWANIE UKŁADÓW VLSI

Katedra Mikroelektroniki i Technik Informatycznych

Cyfrowe układy scalone

Cyfrowe układy scalone

Język opisu sprzętu VHDL

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych

ZASTOSOWANIA UKŁADÓW FPGA W ALGORYTMACH WYLICZENIOWYCH APPLICATIONS OF FPGAS IN ENUMERATION ALGORITHMS

Technika Cyfrowa 2 wykład 1: programowalne struktury logiczne - wprowadzenie

Wykład 2. Mikrokontrolery z rdzeniami ARM

MIKROELEKTRONIKA [gr.], dział. elektroniki zajmujący się działaniem, konstrukcją Fifth i technologią Level układów scalonych.

Ochrona własności intelektualnej projektów w układach FPGA poprzez szyfrowanie danych konfiguracyjnych

Układy FPGA. Programowalne Układy Cyfrowe dr inż. Paweł Russek

Systemy wbudowane. Paweł Pełczyński

Elektronika i techniki mikroprocesorowe

Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego

Mechatronika i szybkie prototypowanie układów sterowania

Architektura Systemów Komputerowych. Bezpośredni dostęp do pamięci Realizacja zależności czasowych

Technika mikroprocesorowa

METODY ZINTEGROWANEGO PROJEKTOWANIA SPRZĘTU I OPROGRAMOWANIA Z WYKORZYSTANIEM NOWOCZESNYCH UKŁADÓW PROGRAMOWALNYCH

Elektrotechnika II Stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

Wykorzystanie standardu JTAG do programowania i debugowania układów logicznych

DLA SEKTORA INFORMATYCZNEGO W POLSCE

Szybkie prototypowanie w projektowaniu mechatronicznym

Zagadnienia egzaminacyjne INFORMATYKA. stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

PRZEWODNIK PO PRZEDMIOCIE

Układy logiczne układy cyfrowe

Opis przedmiotu zamówienia CZĘŚĆ 1

Cyfrowe układy scalone

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński

Mechatronika i inteligentne systemy produkcyjne. Paweł Pełczyński ppelczynski@swspiz.pl

Opracował: Jan Front

Kierunek Informatyka stosowana Studia stacjonarne Studia pierwszego stopnia

JĘZYKI PROGRAMOWANIA STEROWNIKÓW

Technika cyfrowa Inżynieria dyskretna cz. 2

Układy logiczne układy cyfrowe

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

FPGA, CPLD, SPLD. Synteza systemów reprogramowalnych 1/27. dr inż. Mariusz Kapruziak pok. 107, tel

Systemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych

Informatyka Studia II stopnia

Spis treści 1. Wstęp 2. Ćwiczenia laboratoryjne LPM

Opis przedmiotu zamówienia

Sterowniki Programowalne (SP)

Programowalne scalone układy cyfrowe PLD, CPLD oraz FPGA

Adam Korzeniewski - p. 732 dr inż. Grzegorz Szwoch - p. 732 dr inż.

Podstawy techniki cyfrowej i mikroprocesorowej - opis przedmiotu

Bezpieczeństwo informacji oparte o kryptografię kwantową

PROGRAMOWALNE STEROWNIKI LOGICZNE

Automatyczne testowanie w układach FPGA

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

Komputerowe systemy wspomagania projektowania układów cyfrowych

Rok akademicki: 2030/2031 Kod: EIT s Punkty ECTS: 4. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

WPROWADZENIE Mikrosterownik mikrokontrolery

Wykład 6. Mikrokontrolery z rdzeniem ARM

Kierunek Inżynieria Akustyczna, V rok Programowalne Układy Cyfrowe. Platforma sprzętowa. Rajda & Kasperek 2014 Katedra Elektroniki AGH 1

RAPORT. Gryfów Śląski

dr hab. Joanna Jędrzejowicz Podstawy informatyki i komputeryzacji Gdańska Wyższa Szkoła Humanistyczna

Urządzenia techniki komputerowej. Cyfrowe układy funkcjonalne

Podstawy techniki cyfrowej

Popularne pamięci FLASH firmy GigaDevice

Układy programowalne

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Wstęp do Informatyki. Klasyfikacja oprogramowania

Zbudować 2wejściową bramkę (narysować schemat): a) NANDCMOS, b) NORCMOS, napisać jej tabelkę prawdy i wyjaśnić działanie przy pomocy charakterystyk

Układy programowalne. Wykład z ptc część 5

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

PROGRAMMABLE DEVICES UKŁADY PROGRAMOWALNE

Część 2. Funkcje logiczne układy kombinacyjne

Lista zadań nr 1. Zagadnienia stosowanie sieci Petriego (ang. Petri net) jako narzędzia do modelowania algorytmów sterowania procesami

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TECHNIKA CYFROWA 2 TZ1A

T. Łuba, B. Zbierzchowski Układy logiczne Podręcznik WSISiZ, Warszawa 2002.

Układy programowalne. Wykład z ptc część 5

Układy kombinacyjne Y X 4 X 5. Rys. 1 Kombinacyjna funkcja logiczna.

Lista zadań nr 5. Ścieżka projektowa Realizacja każdego z zadań odbywać się będzie zgodnie z poniższą ścieżką projektową (rys.

Układy programowalne w technice cyfrowej

Specjalność: Komputerowe systemy sterowania i diagnostyki

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

Badanie właściwości wysokorozdzielczych przetworników analogowo-cyfrowych w systemie programowalnym FPGA. Autor: Daniel Słowik

Cyfrowy rejestrator parametrów lotu dla bezzałogowych statków powietrznych. Autor: Tomasz Gluziński

Rok akademicki: 2016/2017 Kod: EAR s Punkty ECTS: 4. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Efekty kształcenia dla kierunku Elektronika i Telekomunikacja studia I stopnia profil ogólnoakademicki

Efekty kształcenia na kierunku AiR drugiego stopnia - Wiedza Wydziału Elektrotechniki, Automatyki i Informatyki Politechniki Opolskiej

Temat: Pamięci. Programowalne struktury logiczne.

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC,

ID1UAL1 Układy arytmetyczno-logiczne Arithmetic logic systems. Informatyka I stopień ogólnoakademicki stacjonarne

Opisy efektów kształcenia dla modułu

Bezpieczeństwo informacji oparte o kryptografię kwantową

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Opisy efektów kształcenia dla modułu

Katedra Optoelektroniki i Systemów Elektronicznych. Profil dyplomowania i Specjalność Komputerowe Systemy Elektroniczne

Wykład I. Wprowadzenie do baz danych

POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji Zakład Podstaw Telekomunikacji.

Modularny system I/O IP67

Elementy cyfrowe i układy logiczne

Transkrypt:

CAD Układy cyfrowe informacje ogólne rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/

... Rok 1847 George BOOLE The Mathematical Analysis of Logic algebra sygnałów binarnych algebra boolowska Algebry Boole'a są specjalnym typem struktur algebraicznych wykorzystywanych w matematyce teoretycznej, informatyce oraz elektronice cyfrowej. Najprostsza algebra Boole'a ma tylko dwa elementy, "0" i "1" i stanowi narzędzie matematyczne do opisu układów cyfrowych. 2

... Rok 1958... Jack Kilby z Texas Instruments zbudował pierwszy układ scalony (1 tranzystor, 3 rezystory i 1 kondensator) za co otrzymał Nagrodę Nobla z fizyki w 2000. Pierwsze układy scalone zawierały mniej niż 20 tranzystorów. Obecnie, chociaż wielkość układu liczy się w milimetrach kwadratowych, obwód może zawierać do kilkuset milionów tranzystorów. 3

... Obecnie Telefonia komórkowa Usługi szerokopasmowe (wideo na żądanie, wideokonferencje, szybki dostęp do Internetu, e-commers, e-banking, podpis elektroniczny, telepraca, telenauczanie) UKŁAD CYFROWY Kompresja obrazów Kompresja sygnałów audio i mowy ludzkiej Rozpoznawanie mowy Kryptografia Zastosowania militarne Astronautyka 4

Dlaczego sygnały cyfrowe Jak odtworzyć sygnał oryginalny Transmitowany sygnał s(t) jest zakłócany przez szum n(t), w wyniku czego odbierany jest zniekształcony sygnał r(t) Szum może pochodzić z wielu źródeł Odtworzenie sygnału cyfrowego jest łatwiejsze 5

Konwersja sygnału Próbkowanie kwantowanie w czasie czyli reprezentacja sygnału ciągłego za pomocą ciągu wartości nazywanych próbkami Kwantyzacja przypisanie wartości analogowych do najbliższych poziomów reprezentacji, co wiąże się z nieuniknioną i nieodwracalną utratą informacji Kodowanie przypisanie wartości binarnych wartościom skwantowanych próbek 6

Tranzystor V S V G S V D S Rosnące V GS Wzmacniacz technologia analogowa 7

Tranzystor jako przełącznik V BRAMKI = 0 V Prąd nie płynie V BRAMKI > V PROGOWE Prąd płynie Przełącznik technologia cyfrowa 8

Realizacja w technologii CMOS Widok w edytorze topografii Maski produkcyjne Przekrój Źródło: PODSTAWY MIKROELEKTRONIKI http://vlsi.imio.pw.edu.pl/pmk/ 9

Bramki logiczne Bramki logiczne budowane są z tranzystorów Schemat Topografia Inwerter Jaką funkcję realizuje ta bramka 4 wejściowa bramka NAND 10

Struktury scalone Układ scalony IC (integrated circuit ) zbudowany jest z warstw domieszkowanego krzemu, metalu, dwutlenku krzemu naniesionych jedna na drugą. Niektóre warstwy tworzą tranzystory inne połączenia. Wskaźnikiem technicznego zaawansowania procesu wytwarzania układów scalonych jest minimalna długość kanału tranzystora wyrażona w mikrometrach lub nanometrach długość kanału jest nazywana rozmiarem charakterystycznym (lub technologicznym) W zależności od stopnia rozbudowania, układy scalone dzieli się na: SSI (small scale integration) - zawierający do 10 bramek przeliczeniowych MSI (medium scale integration) - układ zawiera do 100 bramek przeliczeniowych (wymiary się nie zmieniają), LSI (large scale integration) od 100 do 1000 bramek przeliczeniowych w jednej strukturze, VLSI (very large scale integration) ponad 10 000 do 1 mln bramek przeliczeniowych 11

wytworzenie podłoża plastra monokrystalicznego półprzewodnika. proces epitaksji wytwarzanie cienkiej warstwy półprzewodnika o przeciwnym typie przewodnictwa maskowanie wytworzenie maski, która umożliwi selektywne domieszkowanie (wykorzystuje się fotolitografię lub wycinanie wiązką elektronową) domieszkowanie dyfuzja domieszek lub implantacja jonów wykonanie połączeń warstwy przewodzące montaż i testowanie Proces produkcyjny [Źródło :"integrated circuit: manufacturing steps in sequence." Online Art. Encyclopædia Britannica Online. 11 Sept. 2007] 12

Technologie wytwarzania układy programowane przez użytkownika (PLD) układy projektowane przez użytkownika (semi-custom) układy zamawiane przez użytkownika (full-custom) Full-custom układy zamawiane przez użytkownika. Semi-custom układy projektowane przez użytkownika. Standars-cell układ jest konstruowany z komórek standardowych wybieranych z biblioteki zawierającej podstawowe bramki logiczne, multipleksery 2 na 1czy 1-bitowe pełne sumatory. Gate array układ budowany jest z macierzy jednakowych komórek zwanych komórkami podstawowymi spełniającymi funkcję bramki logicznej; dopasowanie polega na zaprojektowaniu połączeń między komórkami. FPLD układy programowane przez użytkownika. Off-the-shelf układy standardowe o ustalonej i ograniczonej funkcjonalności 13

Komputerowe projektowanie SPECYFIKACJA FUNKCJONALNA (HDL) SIEĆ LOGICZNA SYNTEZA FUNKCJONALNA OPTYMALIZACJA LOGICZNA OPIS RTL ODWZOROWANIE TECHNOLOGICZNE BIBLIOTEKA KOMÓREK TRANSLACJE SPECYFIKACJI SYNTEZA FIZYCZNA 14

projektowanie jest proste Język opisu sprzętu Ograniczenia projektowe Synteza automatyczna FLEX Szczęśliwy inżynier 15

Systemy CAD Specyfikacja HDL Synteza funkcjonalna Niestety tradycyjne procedury syntezy nie są w stanie sensownie przetworzyć milionów bramek w zamierzenia konstruktora Synteza logiczna Odwzorowanie technologiczne FPGA 16

Systemy komercyjne i uniwersyteckie Komercyjne systemy projektowania nie nadążają za rozwojem technologii. Dlatego powstają uniwersyteckie systemy syntezy logicznej niewygodne do bezpośredniego projektowania, ale generują wyniki niekiedy 10-krotnie lepsze I to jest główną przyczyną tego, że wykład ten wbrew niektórym opiniom ma ogromne znaczenie dla praktyki projektowania układów cyfrowych 17

Podział układów cyfrowych Układy programowalne Standard Cell Full Custom 18

Układy programowalne PLD FPGA GAL PAL FPGA FLEX EPLD Programmable L ogic Devices Field Programmable Gate Arrays 19

Jak było do niedawna? Do niedawna użytkownik mógł wykorzystać: układy SSI lub MSI do implementacji względnie małego układu logicznego za pomocą wielu układów scalonych albo VLSI do implementacji bardziej złożonych systemów jedną z technologii full-custom lub semicustom do realizacji wyspecjalizowanych układów układy projektowane przez użytkownika (semi-custom) ASIC układy zamawiane przez użytkownika (full-custom) 20

Prosty układ jako przykład y = x 1 x 2 x 3 + x 1 x 3 + x 2 x 3 W technologii MSI potrzeba kilku elementów scalonych np. z serii 74XXX i obwodu drukowanego W technologii full-custom wystarczy ogólna charakterystyka działania, dostawca zaprojektuje indywidualny ułożenie w krzemie każdego tranzystora i połączeń W technologii semi-custom można wcześniej skomponować układ z elementów bibliotecznych tworząc gotowy schemat rozmieszczenia i połączeń; dostawca wykona strukturę scaloną zgodnie ze schematem 21

Czy można inaczej? y = x 1 x 2 x 3 + x 1 x 3 + x 2 x 3 x 1 x 2 x 3 D C B A MATRYCA OR (PROGRAMOWALNA) MATRYCA AND (PROGRAMOWALNA) y Q 3 Q 2 Q 1 Q 0 22

Jak to możliwe? Obecnie dostępna jest inna możliwości tworzenia systemów cyfrowych UKŁADY PROGRAMOWALNE Układy posiadające możliwość reprogramowania i rekonfiguracji. Osiągają pojemność pozwalającą realizować w jednym układzie systemy o złożoności setek tysięcy bramek FPLD PLD Fabryka na biurku układy programowane przez użytkownika (PLD) 23

Układy programowalne wyrównują szanse 24

Budowa układów MAX I/O OUTPUT ENABLE SYSTEM CLOCK PRESET D P Q ARRAY CLOCK CL EAR C TO I/O CONTR OL BLOCK From in puts From P IA Expander Product Terms I/O and Ma crocell Feedback AND Array 8 8 macro cell macro cell 8 macro cell PLD 25

Budowa układów FLEX I/O Element (IOE) IOE IOE IOE IOE IOE IOE IOE Fast Track Interconnect IOE IOE IOE Embedded Array Block IOE Logic Element (LE) IOE IOE IOE Embedded Array Block Logic Array Block (LAB) Cascade Out IOE IOE IOE IOE IOE IOE Logic Array DATA1 DATA2 DATA3 DATA4 Cascade In Carry IN Look-Up Table (LUT) Carry Chain Cascade Chain PR Q CLR Programmable Register LE Out Carry Out Preset Clear Clock 26

Pojemność Cechy układów FPLD i ASIC Nawet ok. 1 mln bramek w jednym układzie FPLD, znacznie więcej niż SSI i MSI lecz mniej niż w układach specjalizowanych. Mechanizmy zapewniające programowalność wprowadzają pewną nadmiarową logikę, która nie może być wykorzystana przez użytkownika. Jednakże duża część powierzchni krzemu nawet w układach ASIC nie może być wykorzystana z powodu konieczności zapewnienia powierzchni połączeniowych z końcówkami układu scalonego. Wykorzystanie tej traconej powierzchni dla zaimplementowania mechanizmów programowalności może sprawić, że nadmiar ten będzie mniejszy. Szybkość działania FPLD ponad 200 MHz, znacznie więcej niż SSI i MSI lecz znacznie mniej niż w układach ASIC. Programowalne połączenia wprowadzają dodatkową rezystancję zaś punkty programowalne dodatkową pojemność. Pomimo tych niedogodności szybkość układów jest wystarczająca dla większości zastosowań. Wprowadza się ponadto specyficzne mechanizmy niwelujące te mankamenty w sytuacjach wymagających dużych szybkości 27

Czas realizacji projektu Cechy układów FPLD i ASIC c.d. Kilka dni lub tygodni dla FPLD w porównaniu do kilku tygodni a zazwyczaj miesięcy dla układów ASIC. Czas projektowania systemu z wykorzystaniem układów FPLD ogranicza się w zasadzie do opracowania projektu na wysokim poziomie abstrakcji z wykorzystaniem odpowiednich systemów CAD, które to systemy dostępne są praktycznie dla każdego. Na czas realizacji projektu składa się więc jedynie czas potrzebny na prototypowanie i symulacje podczas, gdy inne fazy, w tym bardzo czasochłonna faza generacji testów, przygotowania maski, produkcji struktury krzemowej, pakowania i testowania są pomijane. Czas prototypowania i symulacji Podczas, gdy proces wytwarzania układów ASIC trwa tygodnie a nawet miesiące od momentu ukończenia projektu do momentu dostarczenia gotowego produktu, w przypadku układów FPLD wymaga to jedynie czasu na opracowanie projektu. W układach FPLD modyfikacje mogą być łatwo wprowadzane w trakcie procesu projektowania znacznie skracając tzw. czas time-to-market. Układy FPLD zapewniają niskie koszty prototypowania, zaś układy ASIC zapewniają niski koszt masowej produkcji. To sprawia, że często proces prototypowania wykonuje się w układach FPLD zaś dla dużych serii przenosi się projekt na platformę ASIC. 28

Testowanie Cechy układów FPLD i ASIC c.d. Wszystkie układy scalone muszą być poddane procesowi testowania, który jest inny dla każdego projektu układu scalonego. Powtarzalność struktury FPLD sprawia, że raz opracowany test dla danego rodzaju układu może być stosowany dla wszystkich układów danej rodziny inaczej, niż dla układów ASIC. Użytkownik nie musi tworzyć testu dla każdego specyficznego projektu jak w przypadku ASIC, ponieważ testy opracowane przez producenta układów zapewniają poprawne realizację każdego projektu użytkownika. Raz zweryfikowany układ może być produkowany w dowolnej ilości jako przetestowany układ. Łatwość modyfikacji Zamiast dopasowywać układ poprzez proces fabrykacji w przypadku układów FPLD można to zrobić poprzez elektryczne modyfikacje. W układach FPLD funkcja układu może być zmieniana poprzez zmianę programu konfigurującego. W przypadku układów ASIC każda zmiana wymaga przeprowadzenia na nowo całego procesu fabrykacji. Przeprogramowanie układu FPLD wymaga zaledwie milisekund. Czasami można to zrobić nawet bez wyjmowania układu z systemu (programowanie w systemie). 29

Niskie ryzyko Cechy układów FPLD i ASIC c.d. Podobnie jak w przypadku układów SSI i MSI projektant ponosi małe ryzyko związane z procesem projektowania. Ten sam układ FPLD może być wielokrotnie wykorzystywany do realizacji różnych funkcji i być użyty w różnych projektach. W przypadku układów ASIC funkcjonalność jest na stałe ustalona. To sprawia, że decyzje o wielkości serii układów ASIC muszą być przemyślane już przed datą udostępnienia układów. Koszt Układy FPLD najlepiej wykorzystać do celów prototypowania i małych serii zaś dla dużych serii najlepiej wykorzystać układy ASIC. Układy FPLD oferują niższy koszt związany z tworzeniem projektu i modyfikacjami, jednakże większa powierzchnia krzemu i mniejsza pojemność zwiększają koszty wytwarzania. Technologia FPLD jest opłacalne przy seriach nie większy niż kilka czy kilkanaście tysięcy układów. Dla serii większych należy wykorzystywać układy ASIC. 30

Układy FPLD vs. ASIC Pojemność, Szybkość, Złożoność, Koszt PLD CPLD FPGA ASIC Full Custom Koszt projektu, Czas implementacji projektu 31

Obszary zastosowań układów FPLD Logika scalająca (glue logic) Szczególnie w początkowym okresie wykorzystywane do zastępowania logiki scalającej składającej się z wielu modułów, takich jak: dekodery, rejestry, automaty FSM. Standardowy mikrop roceso r Adres Dane Dekod ery adresu Multipleksery Interfejs pamięci Interfejs wyś wietlacza up Sterowanie Rejestry UART A/D i D/A kontroler FPLD Typowym przykładem są interfejsy dla mikroprocesorów i mikrokontrolerów umożliwiające współpracę z innymi podsystemami takimi, jak pamięci czy układy peryferyjne. 32

Akceleratory sprzętowe Dla wielu zastosowań układy FPLD pozwalają na osiągnięcie wydajności znacznie przewyższającej tą oferowaną przez mikroprocesory tradycyjne lub sygnałowe. Jest to możliwe szczególnie wtedy, gdy istnieje szansa zastosowania obliczeń równoległych. Akceleratory wykorzystuje się w przetwarzaniu: grafiki, Adres dźwięku, sekwencji wideo. Standardow y mikroprocesor Zalety FPLD: realizacja różnych funkcji w tym samym sprzęcie, łatwość modernizacji, łatwość rozbudowy o nowe funkcje up Dane Sterowanie Koprocesor graficzny FPLD Moduł kontroli dostępu do pamięci obr azu Generator adresów Pemięć danych Pemięć wy ników 33

Niestandardowe systemy przetwarzania danych Często złożone systemy i algorytmy mogą być przedstawione z wykorzystaniem koncepcji przepływu danych (dataflow) i zrealizowane jako ścieżka przetwarzania danych kontrolowana własnym układem sterującym. Obszary zastosowań: przetwarzanie sygnałów cyfrowych i obrazu, sieci neuronowe, inne obliczeniowo skomplikowane algorytmy. Układ ste rowania Wejścia Zalety FPLD: opłacalne w przypadku małych serii, łatwość opisu w języku HDL. FPLD Ścieżka danych Wyjścia 34

Wirtualny sprzęt Dzięki rekonfigurowalności zasoby sprzętowe na żądanie użytkownika mogą wykonywać różne zadania. Postrzega on wtedy zasoby jako większe niż są one w rzeczywistości. aplikacja główna + sprzęt rekonfigurowalny różne konfiguracje zasobów przechowywane w pamięci konfiguracji, ładownie konfiguracji potrzebnej w danej chwili, Pamięć konfiguracji Konfiguracja 1 Konfiguracja 2 Konfiguracja 3 (aktywna) System zarządzający Konfiguracja 4 Konfiguracja 5 FPLD 35

Obliczenia rekonfigurowalne Systemy realizujące jądra procesorów opracowane przez użytkownika, których zestaw instrukcji i architektura jądra może być modyfikowana w zależności od potrzeb uruchamianego oprogramowania. Zestaw i nstru kcji wykonyw anych z wy korzystaniem jądra proceso ra int main (){ flat flag; prinf(); fft(flag);... } Procesor z modułem steru jącym i zestawem instrukcji podstawowy ch wymagana dynamiczna rekonfigurowalność FPLD nie konkurują z wydajnością procesorów dedykowanych, ale udostępniają platformę z optymalnym podziałem funkcji między sprzęt i oprogramowanie Zalety: połączenie elastyczności oprogramowania z wydajnością sprzętu dodatkowe moduły funkcjonalne położone blisko jądra procesora szybka komunikacja kosynteza sprzętowo/programowa 36

Projektowanie z wykorzystaniem FPLD Układy FPLD udostępniają zasoby składające się z identycznych komórek logicznych (logic cells) i mechanizmy łączenia ich ze sobą. Wielkość dostępnych zasobów i złożoność projektów realizowanych w układach wymagają narzędzi umożliwiających translację funkcji zadanych przez użytkownika w sieć zbudowaną z komórek logicznych i programowalnych połączeń formującą docelowy projekt. Oprogramowanie umożliwia automatyczną translację projekt dla różnych architektur FPLD. Systemy projektowe integrują różne etapy projektowania w jednolite środowisko projektowe. Systemy umożliwiają projektowanie na wysokim poziomie abstrakcji, ale jednocześnie umożliwiają projektantowi analizowanie fizycznego rozmieszczenia projektu w układzie FPLD a nawet zmianę szczegółów projektu na najniższym bramkowym poziomie abstrakcji. 37

System projektowania umożliwia: opis projektu, translację opisu w celu realizacji projektu, weryfikację projektu, programowanie układu, powtórne wykorzystanie projektów (reusability) 38

Etapy procesu projektowania 39

Opis projektu Koncepcja systemu cyfroweg o Opis projektu: - schemat - opis HDL Implementacja: - transformacja opisu - synteza logiczna - partitioning/fitting - ruting - plik programujący Symulacja funkcjonalna - weryfik acja pop rawnoś ci - ewentualne os zacowanie paramertów czasowych Symulacja czasowa - parametry czas owe po etapie rozlokaowania logiki w układzie Weryfikacj a w systemie - analiza współpracy z innymi elementami sprzetowymi I oprogramowaniem Programowanie układu Projekt układu może być podany w formie schematu graficznego lub w postaci pliku tekstowego zawierającego zapis w jednym z języków opisu sprzętu HDL. Wśród projektantów występuje spór o to, która z metod jest lepsza. FLEX Weryfikacj a projektu Jakie możliwości ma projektant: modelowanie układu zarówno na poziomie strukturalnym (sprzętowym) jak i behawioralnym (funkcjonalnym), megafunkcje, repliki układów cyfrowych (np. serii 74XX), produkty wirtualne, jako uniwersalne i sparametryzowane bloki konstrukcyjne do tworzenia złożonych systemów. 40

Implementacja projektu Koncepcja systemu cyfroweg o Opis projektu: - schemat - opis HDL Implementacja: - transformacja opisu - synteza logiczna - partitioning/fitting - ruting - plik programujący Symulacja funkcjonalna - weryfik acja pop rawnoś ci - ewentualne os zacowanie paramertów czasowych Symulacja czasowa - parametry czas owe po etapie rozlokaowania logiki w układzie Etap obejmuje: Programowanie układu translację opisu wysokopoziomowego (np. HDL) na opis niskiego poziomu (np. równania boolowskie) umożliwia dalsze przetwarzanie projektu przez narzędzia optymalizujące, syntezę logiczną optymalizacja projektu pod względem zajętości zasobów, szybkości systemu, poboru mocy, itd., odwzorowanie technologiczne realizacja zoptymalizowanych równań przy wykorzystaniu dostępnych bloków budulcowych, partitioning ewentualny podział projektu na części, fitting znalezienie najlepszego rozmieszczenia bloków budulcowych z uwzględnieniem dostępnych zasobów, generację pliku programującego. FLEX Weryfikacj a w systemie - analiza współpracy z innymi elementami sprzetowymi I oprogramowaniem Weryfikacj a projektu 41

Weryfikacja projektu Koncepcja systemu cyfroweg o Opis projektu: - schemat - opis HDL Implementacja: - transformacja opisu - synteza logiczna - partitioning/fitting - ruting - plik programujący Symulacja funkcjonalna - weryfik acja pop rawnoś ci - ewentualne os zacowanie paramertów czasowych Symulacja czasowa - parametry czas owe po etapie rozlokaowania logiki w układzie Weryfikacj a w systemie - analiza współpracy z innymi elementami sprzetowymi I oprogramowaniem Weryfikacja projektu odbywa się na różnych etapach przetwarzania projektu. Programowanie układu symulacja funkcjonalna zweryfikowanie poprawności logicznej projektu, przeprowadzana przed etapem podziału (partitioning) i rozmieszczenia (fitting) symulacja czasowa po etapie podziału i rozmieszczenia system uzupełnia informacje o projekcie o dane na temat zależności czasowych, co umożliwia dokładne przeanalizowanie projektu pod względem niepożądanych efektów związanych z opóźnieniami wprowadzanymi przez rzeczywiste struktury cyfrowe, weryfikacja w systemie umożliwia przetestowanie układu w warunkach w jakich będzie on rzeczywiście pracował. FLEX Weryfikacj a projektu 42

Programowanie układu Koncepcja systemu cyfroweg o Opis projektu: - schemat - opis HDL Implementacja: - transformacja opisu - synteza logiczna - partitioning/fitting - ruting - plik programujący Symulacja funkcjonalna - weryfik acja pop rawnoś ci - ewentualne os zacowanie paramertów czasowych Symulacja czasowa - parametry czas owe po etapie rozlokaowania logiki w układzie Po stworzeniu pliku programującego układ jest konfigurowany i natychmiast gotowy do pracy. Programowanie układu Większość technologii programowalnych wymaga odpowiedniego urządzenia programującego. Układy programowane w systemie nie muszą wykorzystywać fizycznego urządzenia programującego a wymagają jedynie pewnych inteligentnych mechanizmów umożliwiający załadowanie konfiguracji do układu bez konieczności wyjmowania go z systemu, a nawet bez konieczności wyłączania systemu. Tego typu konfiguracja możliwa jest przy wykorzystaniu mikroprocesora, mikrokontrolera, czy złącza JTAG. FLEX Weryfikacj a w systemie - analiza współpracy z innymi elementami sprzetowymi I oprogramowaniem Weryfikacj a projektu 43

Technika produktów wirtualnych Układy reprogramowalne oraz języki opisu sprzętu stały się postawą koncepcji produktu wirtualnego - systemu, funkcji lub układu, który nie istnieje w rzeczywistości materialnej, ale potencjalnie może być zrealizowany w każdej chwili. Rynek własności intelektualnej IP (Intellectual Property) zawartej w układach zaprojektowanych i oferowanych do sprzedaży w postaci kodów źródłowych języków HDL. 44

Firmy i stowarzyszenia projektujące wirtualne układy dla urządzeń reprogramowalnych - ALTERA MEGAFUNCTION PARTNERS PROGRAM - XILINX ALLIANCE CORE - COMMON LICENSE CONSORTIUM - IP CATALYST PROGRAM - EXEMPLAR LOGIC-VENDOR INCENTIVE PROGRAM (VIP) - D & R DESIGN-REUSE. - TILAB - insilicon CORPORATION - SIBER CORE TECHNOLOGIES - DIGITAL COMMUNICATION TECHNOLOGIES - ARC CORES - VIRTUAL IP GROUP INC. - IP SEMICONDUCTORS - ALCATEL TECHNOLOGY LICENSING W Polsce: - Evatronix 45

Oferta IP dla potrzeb DSP Digital Signal Processing Building Blocks Correlators Demodulation DSP Processors DSP ProtoType & Development Hardware Products Filters Modulation Transforms Trig Functions Math Functions Accumulators Adders & Subtracters Arithmetic & Logic Unit Comparators Complementers Dividers & Reciprocal Functions Format Conversions Integrator Multipliers Square Root 46

47

48

Evatronix S.A. Sztuka komputerowego tworzenia Rola wirtualnych komponentów w projektowaniu systemów scalonych 49

Komponenty wirtualne firmy Evatronix W roku 2002 Evatronix S.A. opracowała wirtualny komponent kontroler Ethernet MAC (Media Access Control) 10/100Mbit. Komponent ten został zastosowany w......airbus A380 gdzie pełni rolę podstawowej arterii wymiany danych pomiędzy wszystkimi urządzeniami sterującymi i kontrolnym samolotu A380. 50

Wyzwania i szanse Realizacje różnych układów np. kryptograficznych, DSP, w strukturach PLD/FPGA (jako produkty własności intelektualnej), z zastosowaniem nowoczesnych metod syntezy logicznej, a w szczególności Uniwersyteckich Systemów Syntezy Logicznej, to ze względu na dynamikę rozwoju technologii mikroelektronicznych i metod komputerowej syntezy - szanse przede wszystkim dla aktualnie studiujących! 51