15 Proces projektowania cyfrowego układu scalonego

background image

1

Pytanie nr 15

„Proces projektowania

cyfrowego układu scalonego

(Design Flow)”

Grzegorz Golaś 127386

background image

Układ scalony

Układ scalony – (ang. intergrated circuit, chip) to zminiaturyzowany

układ elektroniczny zawierający w swym wnętrzu od kilku, do setek

milionów podstawowych elementów elektronicznych; tranzystorów, diod,

rezystorów, kondensatorów.

Zwykle jest on zamknięty w hermetycznej obudowie - szklanej,

metalowej, ceramicznej lub wykonanej z tworzywa sztucznego.

 

Ze względu na sposób wykonania układy scalone dzieli się na:

monolityczne, w których wszystkie elementy wykonane są w

monokrystalicznej strukturze półprzewodnika,

hybrydowe - na płytki wykonane z izolatora nanoszone są warstwy

przewodnika oraz materiału rezystywnego, tworząc układ połączeń

elektrycznych oraz rezystory. Do tak utworzonych połączeń dołącza się

indywidualne, miniaturowe elementy elektroniczne (w tym układy

monolityczne).

background image

Układ scalony (2)

Ze względu na technologię wykonania rozróżnia się układy:

cienkowarstwowe

grubowarstwowe

Większość stosowanych obecnie układów scalonych jest wykonana w technologii

monolitycznej.

 

Ze względu na stopień scalenia występuje, w zasadzie historyczny, podział na

układy:

małej skali integracji (SSI – small scale of integration) poniżej 20 elementów,

średniej skali integracj (MSI – medium scale of integration) 20 – 200 elementów,

dużej skali integracji (LSI – large scale of integration) 200 – 2000 ,

wielkiej skali integracji (VLSI – very large scale of integration) 2000 – 20000

elementów,

ultrawielkiej skali integracji (ULSI – ultra large scale of integration) powyżej

20000 elementów.

Ponieważ w układach monolitycznych praktycznie wszystkie elementy wykonuje

się jako tranzystory, odpowiednio tylko przyłączając ich końcówki, dlatego też

często mówi się o gęstości upakowania tranzystorów na mm

2

.

background image

Układy cyfrowe

Układ cyfrowy – układ elektroniczny, który realizuje operacje na

wartościach, którym przypisano wartości liczbowe – w

najprostszym przypadku logiczne, którym odpowiadają wartości 1

lub 0 (Algebra Boole'a). Układy cyfrowe dzielą się na dwie główne

grupy:

układy kombinacyjne,

 układy sekwencyjne.

Układ kombinacyjny – charakteryzuje się tym, że stan wyjść

zależy wyłącznie od stanu wejść; stan wyjść opisują funkcje

boolowskie.

Układ sekwencyjny charakteryzuje się tym, że stan wyjść zależy

od stanu wejść x oraz od poprzedniego stanu, zwanym stanem

wewnętrznym, pamiętanego w zespole rejestrów (pamięci).

background image

Rys. 1. Schemat budowy układu
sekwencyjnego

Układy cyfrowe (2)

Wśród układów sekwencyjnych zaś
wyróżnia się układy asynchroniczne
i synchroniczne.
Przy czym najczęściej układy
cyfrowe są synchroniczne, co
oznacza, że zmiany stanów są
wyzwalane przez jeden lub więcej
sygnałów zegarowych.

background image

Układy cyfrowe (3)

Najczęściej układy cyfrowe operują na dwóch stanach: 0 i 1.

W celu eliminacji wpływu czynników zewnętrznych (szumy,

spadki napięć etc.) ustalane są przedziały odpowiadające

logicznemu “0” i “1” często pojawia się także tzw. stan

zabroniony, lub nieokreślony (dla sygnałów nie należących

do żadnego z przedziałów “0” i “1”).

Zamiennie z 0 i 1 stosuje się też pojęcia stan wysoki H

(high) oraz stan niski L (low).

background image

Projektowanie układu scalonego

Do projektowania układów cyfrowych używa się często

języków opisu sprzętu HDL (Hardware Description

Language). Istnieją dwa zasadnicze sposoby opisu układów:

behawioralny – projektant definiuje zależności pomiędzy

wyjściami a wejściami układu, natomiast realizacją układu

zajmuje się kompilator;

funkcjonalny – projektant definiuje bloki funkcjonalne oraz

zależności między nimi; przy czym bloki funkcjonalne mogą

być bardzo proste (realizujące np. funkcje podstawowych

bramek logicznych), jak również bardzo skomplikowane (np.

pamięci, rejestry, sumatory itp.).

background image

Projektowanie układu scalonego (2)

Środowiska do przetwarzania jęzków HDL mają szerokie

możliwości. Oprócz syntezy układów, umożliwiają różnorakie

optymalizacje (np. minimalizacja funkcji, upraszczanie

obwodów przez użycie „prefabrykantów”), testowanie

zaprojektowanych układów oraz ich funkcjonalną symulację.

Najpopularniejszymi używanymi językami HDL są:

•VHDL,

•Verilog,

•Inne.

background image

Narzędzia wspomagania projektowania

Początkowo układy scalone projektowano ręcznie, co straciło sens

wraz z pojawieniem się układów o dużej skali integracji. Wobec

konieczności

automatyzacji

projektowania

pojawiły

się

odpowiednie

narzędzia

komputerowego

wspomagania

projektowania CAD (Computer-Aided Design):

DA (Design automation) systemy automatycznego projektowania,

EDA (Electronic Design Automation) systemy automatycznego

projektowania układów elektronicznych.

Zastosowanie tych narzędzi pozwala na realizację dwóch zadań:

syntezę – Umożliwia przejście od opisu do implementacji

fizycznego układu,

symulację – pozwala sprawdzić poprawność projektu bez

konieczności wykonywania urządzenia

background image

Narzędzia wspomagania projektowania
(2)

Zastosowanie systemów CAD skraca czas projektowania
układów scalonych i ma ogromne znaczenie ekonomiczne.
Narzędzia CAD pozwalają na:

 szybkie projektowanie,

 wykrywanie błędów w projekcie,

 szybkie wprowadzanie zmian,

 weryfikację,

 testowanie,

 symulację projektu.

background image

Design flow

Przykładowa procedura projektowania układu cyfrowego opartego na bramkach

logicznych:

1. Przygotowanie specyfikacji.

2. W razie konieczności dokonanie podziału systemu na mniejsze części i

przygotowanie specyfikacji dla każdej części.

3. Na podstawie specyfikacji stworzenie grafu automatu stanów, na którym

zaprezentowano wszystkie możliwe stany systemu, kombinacje sygnałów

wejściowych (warunki) określające zmiany stanów oraz wyjścia dla każdego

stanu.

4. Minimalizacja liczby stanów (jest to krok opcjonalny i nie jest konieczny we

wszystkich przypadkach).

5. Wyznaczenie zmiennych boolowskich reprezentujących wszystkie stany RTL

(Register Transfer Level).

6. Wyprowadzenie stanów następnych oraz wyjść.

7. Optymalizacja stanów następnych i wyjść w celu minimalizacji liczby

wymaganych bramek.

8. Wybór odpowiedniego rozmieszenia bramek w konkretnym układzie scalonym

oraz układów scalonych na płytce drukowanej.

9. Wykonanie połączeń pomiędzy układami scalonymi.

background image

Przykładowy proces projektowania

• Proces

projektowania
ma charakter
ewolucyjny.
Rozpoczyna się
od ustalenia
wymagań,
następnie projekt
jest rozwijany i
testowany.

background image

Projektowanie Hierarchiczne

Jest techniką projektowania opierającą się na kolejnych podziałach

poszczególnych modułów na mniejsze części (sub-moduły). Proces

dzielenia trwa do momentu, w którym poziom skomplikowania

mniejszych elementów pozwala na łatwe ich opracowanie.

Zaprezentowane wcześniej główne etapy projektowania mogą posiadać

hierarchiczną strukturę.

Przykładem hierarchicznego podziału struktury może być 4-bitowy

sumator CMOS podzielony na poszczególne komponenty. Pierwszym

krokiem jest podzielenie go na jednobitowe sumatory, które są następnie

dzielone na bity przeniesienia oraz sumy. Ostatnim krokiem jest

podzielenie ich na bramki logiczne. Na tym poziomie hierarchii

zaprojektowanie prostych obwodów realizujących założenia funkcji

Boolowskich jest znacznie prostsze niż w przypadku wyższych poziomów

hierarchii.

background image

Projektowanie hierarchiczne (2)

background image

Modułowość i regularność

Modułowość

Modułowość w procesie projektowania oznacza, że wszystkie bloki funkcjonalne
tworzące większy system muszą mieć ściśle zdefiniowane funkcje oraz granice.
Zastosowanie tej reguły pozwala na niezależne projektowanie każdego modułu z
osobna. Modułowość umożliwia równoległe prowadzenie prac nad poszczególnymi
elementami systemu. Dodatkową zaletą jest możliwość zastosowania
poszczególnych modułów w innych projektach.

Regularność

Regularność oznacza uproszczenie systemu poprzez stosowanie, w miarę
możliwości, identycznych bloków. Regularność może występować na wszystkich
poziomach projektowania. Dzięki niej możliwe jest zredukowanie liczby różnych
zastosowanych modułów, które muszą zostać zaprojektowane oraz sprawdzone.

background image

Zlokalizowanie

Zlokalizowanie
Określenie granic poszczególnych modułów systemu sprawia, że wnętrze każdego
modułu przestaje być istotne dla innych modułów. Reguła zlokalizowania
zapewnia, że połączenia występują w większości pomiędzy sąsiadującymi ze sobą
modułami przy jednoczesnym unikaniu połączeń długodystansowych. Jest to
bardzo istotne w celu unikania nadmiernych opóźnień. Operacje, które są
szczególnie narażone na opóźnienia powinny być przeprowadzane lokalnie, bez
konieczności dostępu do odległych modułów lub sygnałów.

background image

Najważniejsze metody projektowania

Podział na mniejsze bloki

funkcjonalne (opcjonalnie)

Główna idea systemu

Weryfikacja poziomów

systemu

Metoda Bottom-Up

(Full Custom)

Metoda Top-Down

(Standard Cell)

background image

Metoda projektowania Bottom-Up (Full
Custom

Metoda projektowania Bottom-Up bazuje (głównie) na
ręcznej konstrukcji bloków obwodów na poziomie
tranzystorów oraz topologii maski. Są one następnie łączone
w celu sformowania kompletnego projektu. Dzięki
elastyczności na niższych poziomach projektowania, takich
jak

optymalizacja

rozmiarów

tranzystorów

oraz

minimalizacji elementów biernych, metoda Bottom-Up jest
bardzo użyteczna w projektowaniu modułów cyfrowych o
bardzo wysokiej gęstości oraz osiągach, jak również
zintegrowanych obwodach analogowych oraz mieszanych.

background image

Metoda projektowania Bottom-Up (Full
Custom (2)

Tworzone są schematy poszczególnych bloków funkcjonalnych
(
połączenia tranzystorów obwodu wykonane w edytorze).
Przeprowadzana jest symulacja połączeń tranzystorów
(
sprawdzenie funkcjonalności bloków np. SPICE)
Wykonywane jest projekt rozmieszczenia elementów
Ekstrakcja (maskowanie) (wymiary urządzenia oraz parametry
pasożytnicze są zależne od rozplanowania maski)
Sprawdzenie zgodności maski ze schematem obwodu
Symulacja końcowa

background image

Metoda projektowania Top_Down
(Standard Cell)

Metoda projektowania Top-Down odgrywa ważną rolę przy
automatycznej,

wspomaganej

komputerowo

syntezie

układów logicznych przy użyciu języków HDL. Syntetyzowana
logika jest przekształcana na standardowe komórki biblioteki
lub na FPGA. Metoda Top-Down stosowana jest tylko do
projektów cyfrowych posiadających stosunkowo krótkie cykle
produkcyjne oraz umiarkowane wymagania względem
efektywności układu.

background image

Biblioteki

Zawierają dostępne

elementy oraz funkcje

Synteza logiczna oraz odwzorowanie bibliotek

Stworzenie opisu poziomu bramek przy użyciu

biblioteki komórek

Kod struktury (HDL)

Szczegółowy kod opisujący strukturę

poziomu bramek

Kod RTL (HDL)

Wyznaczenie zmiennych

boolowskich reprezentujących

wszystkie stany

 
 
 
 
 
 
 

 

Symulacja końcowa

Zasymulowanie końcowego układu logicznego w celu

zweryfikowania rzeczywistych opóźnień oraz możliwości układu

Rozmieszczenie elementów oraz ścieżek

Stworzenie struktury obwodu przy użyciu odpowiednich narzędzi

Symulacja cyfrowa

Weryfikacja logicznej funkcjonalności obwodu

Poziom opisu sieci bramek

    

Metoda projektowania Top_Down
(Standard Cell) (2)

background image

Wytwarzanie

Masowa produkcja zaprojektowanego

układu

Testowanie

Weryfikacja osiągów układu oraz

zidentyfikowanie możliwości

wprowadzenia ewentualnych poprawek

Prototyp

Wyprodukowanie próbek układu

Stworzenie pliku w formacie

umożliwiającym opis kolejnych etapów

produkcji układu dla wytwórcy (Tape-

out)

Weryfikacja rozmieszczenia

Symulacje mające na celu zbadanie

funkcjonalności i osiągów całego układu

Rozmieszczenie elementów oraz ścieżek

całego układu (Top Level)

Produkcja

Etap ten zazwyczaj wymaga wielu modyfikacji w celu spełnienia
wymagań projektowych, wyprodukowania prototypu oraz wielokrotnego
testowania w celu skorygowania ewentualnych wad projektu.


Wyszukiwarka

Podobne podstrony:
15 Proces projektowania cyfrowego układu scalonego
15 Proces projektowania cyfrowego układu scalonego
Wykorzystanie modelu procesow w projektowaniu systemow informatycznych
1 PROCES PROJEKTOWO KONSTRUKCYJNY
Projektowanie analogowych układów scalonych
15 PROCESY NAUCZANIA
Projekt rzeczywistego układu hydraulicznego
EKONOMIKA BUDOWNICTWA, PROCES PROJEKTOWY, Budownictwo stalowe obejmuje zasadniczo budowle i konstruk
Cyfrowe Układy Scalone Serii MCY74 N
14 Proces projektowo konstrukcyjny
Model procesu projektowania, Uczelnia, PKM
15 sygnał analogowy i cyfrowy
1 Proces projektowaniaid 9643 Nieznany
Projekt rzeczywistego ukladu hydraulicznego
8 procesów w projektach zarządzanych według PRINCE2, Chrzest966, MAP
Od lampy do układu scalonego 2009
wykład2 (cz1) Proces projektowania

więcej podobnych podstron