1 Dr Galina Cariowa Legenda v Procedura projektowania

  • Slides: 49
Download presentation
1 Dr Galina Cariowa

1 Dr Galina Cariowa

Legenda v Procedura projektowania układów kombinacyjnych. v Podział układów VLSI. 2

Legenda v Procedura projektowania układów kombinacyjnych. v Podział układów VLSI. 2

Procedura projektowania Opracowanie opisu formalnego Specyfikacja Napisz, jeśli jeszcze nie istnieje, specyfikację układu Wygeneruj

Procedura projektowania Opracowanie opisu formalnego Specyfikacja Napisz, jeśli jeszcze nie istnieje, specyfikację układu Wygeneruj tablicę prawdy lub początkowy zestaw równań boolowskich, które definiują wymagane zależności między wejściami a wyjściami układu Optymalizacja Wykonaj dwupoziomową lub wielopoziomową optymalizację. Narysuj schemat lub dostarcz listę połączeń układu z wykorzystaniem bramek AND, OR i NOT. Wybór i realizacja w technologii Przekształć schemat logiczny lub listę połączeń w nowy schemat lub w nową listę połączeń zgodnie z wymaganiami dostępnej technologii implementacji układu Weryfikacja Sprawdź poprawność końcowego projektu 3

Wyświetlacz segmentowy (specyfikacja) Przykład. Projekt dekodera kodu BCD na kod wyświetlacza 7 – segmentowego.

Wyświetlacz segmentowy (specyfikacja) Przykład. Projekt dekodera kodu BCD na kod wyświetlacza 7 – segmentowego. Każda cyfra wyświetlacza diodowego jest zbudowana z 7 segmentów LED (dioda elektroluminescencyjna). Każdy segment może zostać podświetlony za pomocą sygnału cyfrowego. Dekoder BCD na podstawie cyfry dziesiętnej w kodzie BCD generuje sygnały wyjściowe dla poszczególnych segmentów wyświetlacza, aby wyświetlił on tę cyfrę. 4

Wyświetlacz segmentowy (specyfikacja) Siedem wyjść dekodera (a, b, c, d, e, f, g) odpowiada

Wyświetlacz segmentowy (specyfikacja) Siedem wyjść dekodera (a, b, c, d, e, f, g) odpowiada określonym segmentom wyświetlacza. 5

Wyświetlacz segmentowy (specyfikacja) Dekoder kodu BCD ma cztery wejścia oznaczone symbolami A, B, C,

Wyświetlacz segmentowy (specyfikacja) Dekoder kodu BCD ma cztery wejścia oznaczone symbolami A, B, C, D, które odpowiadają cyfrze kodu BCD, i siedem wyjść, a, b, c, d, e, f, g, które sterują poszczególnymi segmentami wyświetlacza. 6

Wyświetlacz segmentowy (opracowanie opisu formalnego) Tablica prawdy układu kombinacyjnego: Każda cyfra BCD powoduje zapalenie

Wyświetlacz segmentowy (opracowanie opisu formalnego) Tablica prawdy układu kombinacyjnego: Każda cyfra BCD powoduje zapalenie odpowiednich segmentów wyświetlacza. (np. 0101 odpowiada 5, która jest wyświetlana za pomocą segmentów a, c, d, f oraz g). Tablica prawdy zakłada, że sygnał odpowiadający logicznej 1 włącza dany segment, a sygnał odpowiadający logicznemu 0 go wyłącza. Nieużywanym kombinacjom binarnym przypisujemy stan wyłączenia wszystkich 7 segmentów.

Wyświetlacz segmentowy (Optymalizacja) Informację z tablicy prawdy przenosimy do siedmiu tablic Karnaugha. 8

Wyświetlacz segmentowy (Optymalizacja) Informację z tablicy prawdy przenosimy do siedmiu tablic Karnaugha. 8

Wyświetlacz segmentowy Niezależna implementacja: AND – 27, OR – 7. Wspólne iloczyny – 14.

Wyświetlacz segmentowy Niezależna implementacja: AND – 27, OR – 7. Wspólne iloczyny – 14. 9

Wybór i realizacja w technologii 10

Wybór i realizacja w technologii 10

Podział układów ze względu na stopień scalenia 11

Podział układów ze względu na stopień scalenia 11

Podstawowe metody projektowania układów VLSI 12

Podstawowe metody projektowania układów VLSI 12

Podstawowe metody projektowania układów VLSI układy programowane przez użytkownika układy zamawiane przez użytkownika (full-custom)

Podstawowe metody projektowania układów VLSI układy programowane przez użytkownika układy zamawiane przez użytkownika (full-custom) PAL PLA Gate Array FPGA PLD MAX TLU MUX układy projektowane przez użytkownika (semi-custom) Standard Cell Design Gates 13

Podział układów VLSI Wielkie standardy – układy produkowane głównie z inicjatywy producenta. ASIC –

Podział układów VLSI Wielkie standardy – układy produkowane głównie z inicjatywy producenta. ASIC – (application specific inegrated circuits) to układy na zamówienie klienta. 14

Wielkie standardy Standardowe układy – uniwersalne elementy o strukturze niemodyfikowalnej po wyprodukowaniu. bramki i

Wielkie standardy Standardowe układy – uniwersalne elementy o strukturze niemodyfikowalnej po wyprodukowaniu. bramki i układy funkcjonalne rodzin TTL, ECL, MOS, mikroprocesory, pamięci. 15

Podział układów ASIC W zależności od technologii i techniki projektowania specjalizowane układy scalone klasyfikujemy

Podział układów ASIC W zależności od technologii i techniki projektowania specjalizowane układy scalone klasyfikujemy w następujących kategoriach: v Układy na zamówienie z pełnym cyklem projektowania (full-custom); v Układy na zamówienie z ograniczonym (niepełnym) cyklem projektowania ( semi-custom); v Układy programowane przez użytkownika 16 (PLD).

Układy ASIC 17

Układy ASIC 17

Układy na zamówienie z pełnym cyklem projektowania (full-custom): W tej metodzie wykonuje się cały

Układy na zamówienie z pełnym cyklem projektowania (full-custom): W tej metodzie wykonuje się cały projekt układu, wykonuje się „ręcznie” projektowanie każdego elementu układu, wzajemnego rozmieszczenia elementów i połączeń między nimi. Ze względu na wysokie koszty, metoda ta jest uzasadniona dla układów gęsto upakowanych, szybkich i sprzedawanych w wielkich ilościach. 18

Zalety metody full-custom: 1. Największa uniwersalność. 2. Możliwość minimalizacji powierzchni układu. 3. Pełna swoboda

Zalety metody full-custom: 1. Największa uniwersalność. 2. Możliwość minimalizacji powierzchni układu. 3. Pełna swoboda projektanta. Wady metody full-custom: 1. Wysoki koszty. 2. Czasochłonna. 3. Skomplikowana. 4. Raz wyprodukowany układ nie może zmienić swojej funkcji. 19

Układy semi-custom W grupie układów projektowanych przez użytkownika wyróżnić można: a) układy wykorzystujące komórki

Układy semi-custom W grupie układów projektowanych przez użytkownika wyróżnić można: a) układy wykorzystujące komórki standardowe b) (standard cell design); b) układy na płytkach wstępnie przygotowanych jak matryce bramek AND (gate arrays). 20

Metoda semi-custom Cechą charakterystyczną układów Semi - custom jest wielokrotne wykorzystywanie raz zaprojektowanych bloków

Metoda semi-custom Cechą charakterystyczną układów Semi - custom jest wielokrotne wykorzystywanie raz zaprojektowanych bloków funkcjonalnych, które są przechowywane w bibliotece. Bloki takie są zwane komórkami bibliotecznymi. Wielkości struktur scalonych oraz ich parametry elektryczne są z góry narzucone. 21

Metoda standard-cells Projektant ma do dyspozycji bibliotekę gotowych już wcześniej zaprojektowanych bramek logicznych, z

Metoda standard-cells Projektant ma do dyspozycji bibliotekę gotowych już wcześniej zaprojektowanych bramek logicznych, z których składa układ. Te części projektu są łączone ze sobą tworząc projekt układu scalonego. 22

Układy standard - cells Projektowanie matryc komórek polega na składaniu układu z gotowych bramek,

Układy standard - cells Projektowanie matryc komórek polega na składaniu układu z gotowych bramek, multiplekserów, liczników, itp. , a następnie przesłaniu tak zaprojektowanego układu do producenta, który korzystając z biblioteki masek wytwarza zamówione układy 23

Zalety metody standard - cells: Mniejsze nakłady finansowe Wady: 1. Mniejsza gęstość upakowania. 2.

Zalety metody standard - cells: Mniejsze nakłady finansowe Wady: 1. Mniejsza gęstość upakowania. 2. Układy standard cells są wolniejsze od układów full-custom. 24

Metoda Gate arrays Projektant ma gotowe płytki dla każdego nowego projektu i wykonuje jedynie

Metoda Gate arrays Projektant ma gotowe płytki dla każdego nowego projektu i wykonuje jedynie połączenia pomiędzy elementami logicznymi znajdującymi na gotowej matrycy bramek o określonych rozmiarach. Wiele czynności składających się na proces wytwarzania jest wspólnych, więc mogą być wykonany w wielu projektach. 25

Zalety metody gate arrays (semi-custom): 1. Możliwość wcześniejszego wyprodukowania płytek zawierających matryce komórek bez

Zalety metody gate arrays (semi-custom): 1. Możliwość wcześniejszego wyprodukowania płytek zawierających matryce komórek bez połączeń. 2. Mniejszy czas projektowania układu od rozpoczęcia projektu do otrzymania gotowego ukladu. 3. Najtańsza metoda. Wada: Marnotrawstwo powierzchni układu –wiele komórek zwykle pozostaje niewykorzystanych. 26

Układy FPLD Czas potrzebny do otrzymania prototypów nowo zaprojektowanego układu w stylu Full-custom lub

Układy FPLD Czas potrzebny do otrzymania prototypów nowo zaprojektowanego układu w stylu Full-custom lub Semicustom jest rzędu co najmniej kilku tygodni. W przypadku małych serii układów specjalizowanych (do kilku tysięcy) najbardziej opłacalne jest zastosowanie przez użytkownika układów programowanych FPLD Field Programmable Logic Devices, (programowalne moduły logiczne). 27

Układy programowane przez użytkownika (PLD): Układy programowalne to układy typu matrycowego lub komórkowego, jednak

Układy programowane przez użytkownika (PLD): Układy programowalne to układy typu matrycowego lub komórkowego, jednak z możliwością programowania połączeń elektrycznych. Producent dostarcza „prefabrykaty” projektantowi, który może je zaprogramować u siebie „na biurku”. 28

Układy programowane przez użytkownika (PLD): Układy PLD - gotowe wyprodukowane układy scalone, których właściwości

Układy programowane przez użytkownika (PLD): Układy PLD - gotowe wyprodukowane układy scalone, których właściwości funkcjonalne są definiowane nie przez producenta, lecz przez końcowego użytkownika. Najważniejsza cecha układów PLD: Możliwość nadawania układom przez programowanie określonych przez użytkownika cech funkcjonalnych. 29

Zalety metody PLD: 1. Krótki czas opracowania prototypu; 2. Łatwość jego modyfikacji; 3. Dostępne

Zalety metody PLD: 1. Krótki czas opracowania prototypu; 2. Łatwość jego modyfikacji; 3. Dostępne są „z półki”; 4. Szybkość działania; 5. Doskonałe parametry pojemności. 6. Jedyne rozwiązanie dla urządzeń unikatowych. Wady metody PLD: Duży koszt jednostkowy. 30

Wykres zależności pomiędzy metodami projektowania, a czasem projektowania, kosztem i prawdopodobieństwem sukcesu (tj. poprawnego

Wykres zależności pomiędzy metodami projektowania, a czasem projektowania, kosztem i prawdopodobieństwem sukcesu (tj. poprawnego działania pierwszej zaprojektowanej wersji układu bez przeróbek i poprawek) 31

Ukłądy ASIC charakteryzuje: 1. Wyższa niezawodność 2. Mniejsza pracochłonność 3. Mniejszy koszt 4. Nowe

Ukłądy ASIC charakteryzuje: 1. Wyższa niezawodność 2. Mniejsza pracochłonność 3. Mniejszy koszt 4. Nowe funkcje 5. Lepsze parametry 6. Ochrona myśli technicznej 32

Komórki W przypadku technologii z niepełnym cyklem projektowania i technologii opartych na matrycach bramkowych

Komórki W przypadku technologii z niepełnym cyklem projektowania i technologii opartych na matrycach bramkowych układy są konstruowane przez połączenie komórek. Biblioteka komórek – zbiór komórek dostępnych dla danej technologii implementacji. Każda komórka jest dokładnie opisana. Biblioteka opisanych komórek stanowi fundament procesu wyboru i realizacji układów w określonej technologii (ang. technology – mapping) 33

Biblioteka komórek Biblioteki komórek mogą składać się: 1) z bramek jednego typu, takich jak

Biblioteka komórek Biblioteki komórek mogą składać się: 1) z bramek jednego typu, takich jak bramki typu NAND; 2) z bramek wielu typów. Komórki w określonej technologii projektowania są zorganizowane w postaci jednej lub kilku bibliotek. 34

Biblioteka komórek Układ, który początkowo składa się z bramek AND, OR i NOT, w

Biblioteka komórek Układ, który początkowo składa się z bramek AND, OR i NOT, w trakcie etapu wyboru technologii jest przekształcany w taki układ, w którym występują tylko komórki z zastosowanej biblioteki. 35

Specyfikacja komórek Schemat logiczny funkcji realizowanej przez komórkę. Wymagania dotyczące powierzchni zajmowanej przez komórkę,

Specyfikacja komórek Schemat logiczny funkcji realizowanej przez komórkę. Wymagania dotyczące powierzchni zajmowanej przez komórkę, często znormalizowanej względem powierzchni małej komórki (np. inwertera). Obciążenie wejściowe, wyrażone w obciążeniach standardowych. Opóźnienia sygnału z każdego wejścia komórki do każdego wyjścia komórki. Jeden lub wiele przykładowych zastosowań komórki w implementacjach. Jeden lub wiele modeli komórki w postaci opisów w HDL. 36

Specyfikacja komórek c. d. A także (opcjonalnie, jeśli narzędzie automatycznie generuje rozmieszczenie elementów układu):

Specyfikacja komórek c. d. A także (opcjonalnie, jeśli narzędzie automatycznie generuje rozmieszczenie elementów układu): v Rozmieszczenie elementów układu scalonego dla komórki. v Plan rozmieszczenia wejść, wyjść oraz połączeń zasilania i masy komórki. 37

Przykład biblioteki komórek, wykorzystywanej w procesie wyboru technologii 38

Przykład biblioteki komórek, wykorzystywanej w procesie wyboru technologii 38

Przykład biblioteki komórek c. d. 39

Przykład biblioteki komórek c. d. 39

Obliczanie opóźnienia komórki (wpływ obciążenia na opóźnienie komórki) Wyjście komórki 2 NAND steruje komórkami:

Obliczanie opóźnienia komórki (wpływ obciążenia na opóźnienie komórki) Wyjście komórki 2 NAND steruje komórkami: inwerterem, 4 NAND, 4 NOR. Suma obciążeń standartowych wejściowych: Opóźnienie komórki 2 NAND, sterującej komórkami inwerter, 4 NAND, 4 NOR: 40

Techniki wyboru i realizacji w określonej technolocii Przekształcenie projektu układu z użyciem bramek typu

Techniki wyboru i realizacji w określonej technolocii Przekształcenie projektu układu z użyciem bramek typu AND, OR oraz inwerterów w projekty oparte na stosowaniu komórek dostępnych w technologiach realizacji układu. 41

Procedura konwersji AND (OR) do NAND (NOR) Generacja układu zbudowanego z bramek NAND (lub

Procedura konwersji AND (OR) do NAND (NOR) Generacja układu zbudowanego z bramek NAND (lub NOR) o nieograniczonej liczbie wejść. 42

Procedura konwersji AND(OR) do NAND (NOR) Krok 3: Nie zmieniając funkcji logicznej: Reguła przepychania

Procedura konwersji AND(OR) do NAND (NOR) Krok 3: Nie zmieniając funkcji logicznej: Reguła przepychania inwertera przez węzeł układu 43

Procedura konwersji AND-OR do NAND (NOR) 44

Procedura konwersji AND-OR do NAND (NOR) 44

Przykład 1. Zrealizować funkcję za pomocą układu zawierającego tylko bramki NAND. Inwerter 5 zostaje

Przykład 1. Zrealizować funkcję za pomocą układu zawierającego tylko bramki NAND. Inwerter 5 zostaje przepchnięty za węzeł x Usuwamy pary 45 inwerterów (1, 2) i (3, 4)

Przykład 2. Zrealizować funkcję za pomocą układu zawierającego tylko bramki NOR. Usuwamy pary inwerterów

Przykład 2. Zrealizować funkcję za pomocą układu zawierającego tylko bramki NOR. Usuwamy pary inwerterów (1, 2) i (1, 3). Usuwamy pary inwerterów na wejściu D 46

Procedura konwersji AND (OR) do NAND (NOR) 1. W pierwszym przykładzie koszt wejść bramkowych

Procedura konwersji AND (OR) do NAND (NOR) 1. W pierwszym przykładzie koszt wejść bramkowych zaimplementowa nego układu wynosi 12, a w drugim -14. 2. W pierwszym przykładzie maksymalna liczba szeregowo połączonych bramek wynosi 3 bramki , natomiast w drugim- aż 5. Z tego wynika że maksymalne opóźnienie między zmianą sygnału na wejściu a zmianą na wyjściu jest najprawdopodobniej większe. implementacja z użyciem bramek NAND jest mniej kosztowna 47

Procedura projektowania układu Weryfikacja funkcjonalna układu Ręczna analiza układu Symulacja komputerowa logicznego Weryfikacja ma

Procedura projektowania układu Weryfikacja funkcjonalna układu Ręczna analiza układu Symulacja komputerowa logicznego Weryfikacja ma wykazać, czy końcowy układ jest zgodny z początkowej specyfikacją. Weryfikacja ma za zadanie zapobiegać wytwarzaniu i praktycznemu stosowaniu błędnie zaprojektowanych układów. 48

Dziękuję za uwagę 49

Dziękuję za uwagę 49