1 Dr Galina Cariowa Legenda v Procedura projektowania

















































- Slides: 49
1 Dr Galina Cariowa
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 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. 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 określonym segmentom wyświetlacza. 5
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 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 Niezależna implementacja: AND – 27, OR – 7. Wspólne iloczyny – 14. 9
Wybór i realizacja w technologii 10
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 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 – (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 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 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 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 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 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 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 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, 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. 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 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 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 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 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 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 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 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 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 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 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 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ę, 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): 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 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: 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 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 NOR) o nieograniczonej liczbie wejść. 42
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
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 (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 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 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

















































