zadanie 5 projekt licznika - scalak | micro & … projektowania systemów scalonych ke agh str....

7
Laboratorium Projektowania Systemów Scalonych KE AGH str. 1 Laboratorium Projektowania Systemów Scalonych Katedra Elektroniki Akademia Górniczo-Hutnicza w Krakowie Zadanie 5 Projekt licznika wykorzystanie komórek standardowych

Upload: hahanh

Post on 21-Mar-2018

235 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: Zadanie 5 Projekt licznika - Scalak | Micro & … Projektowania Systemów Scalonych KE AGH str. 1 Laboratorium Projektowania Systemów Scalonych Katedra Elektroniki Akademia Górniczo-Hutnicza

Laboratorium Projektowania Systemów Scalonych

KE AGH str. 1

Laboratorium Projektowania Systemów Scalonych

Katedra Elektroniki

Akademia Górniczo-Hutnicza w Krakowie

Zadanie 5

Projekt licznika wykorzystanie komórek standardowych

Page 2: Zadanie 5 Projekt licznika - Scalak | Micro & … Projektowania Systemów Scalonych KE AGH str. 1 Laboratorium Projektowania Systemów Scalonych Katedra Elektroniki Akademia Górniczo-Hutnicza

Laboratorium Projektowania Systemów Scalonych

KE AGH str. 2

1. Cel

Zapoznanie się studenta z projektowaniem hierarchicznym wykorzystując komórki

standardowe na przykładzie projektu licznika. Szybkie układanie komórek, rysowanie ścieżek.

2. Zadanie

Zaprojektować schemat logiczny układu licznika dla wybranego z tabeli 1 tematu.

Narysować schemat układu wykorzystując elementy z dostępnej biblioteki komórek

standardowych. Wykonać symulację potwierdzającą poprawne działanie (np. analiza

transient).

Narysować topografię licznika. Ułożyć komórki w kilku rzędach i wykonać ścieżki łączące

wejścia i wyjścia elementów oraz zasilanie.

Wyekstrahować netlistę z layout'u z parametrami pasożytniczymi: R i C. Przeprowadzić

symulacje postlayoutowe w celu wyznaczenia parametrów czasowych (czas propagacji, czas

narastania i opadania sygnału wyjściowego) oraz średniego pobru mocy przy obciążeniu

licznika pojemnością 10fF.

Tabela 1. Tematy zadań do realizacji.

1 3-bit. licznik synchroniczny zliczający co 1 lub co 2 w górę w zależności od stanu wejścia sterującego

2 3-bit. licznik synchroniczny zliczający co 1 lub co 2 w dół w zależności od stanu wejścia sterującego

3 3-bitowy licznik synchroniczny zliczający „1 wprzód 2 w tył” (np.: 0, 1, 7, 0, 6, 7, 5,…)

4 3-bitowy licznik synchroniczny zliczający „1 w tył 2 wprzód” (np.: 0, 7, 1, 0, 2, 1, 3,…)

5 3-bitowy licznik synchroniczny góra/dół

6 3-bitowy programowalny (od 0 do N) licznik synchroniczny (dodatkowe wejścia programujące)

7 3-bitowy licznik synchroniczny z programowaniem wartości początkowej (liczy od ustawionej na dodatkowych wejściach wartości N do 7 i znów od N)

8 Licznik synchroniczny zliczający od 7 do 14 w NKB (na wyjściu kolejne liczby w kodzie binarnym)

9 Licznik synchroniczny zliczający od 7 do 14 w kodzie Grey’a

10 Licznik synchroniczny zliczający od 0 do 7 w NKB z synchronicznym kasowaniem

11 Licznik synchroniczny zliczający od 0 do 7 w kodzie Grey’a z synchronicznym kasowaniem

12 Licznik synchroniczny zliczający od 0 do 7 w NKB z synchronicznym ustawianiem

13 Licznik synchroniczny zliczający od 0 do 7 w kodzie Grey’a z synchronicznym ustawianiem

14 Licznik synchroniczny zliczający w górę w NKB od 0 do 14 co 2

15 Licznik synchroniczny zliczający w dół w NKB od 14 do 0 co 2

16 Licznik synchroniczny modulo 6 w górę z kasowaniem (może być asynchroniczne)

17 Licznik synchroniczny modulo 6 w dół z ustawianiem (może być asynchroniczne)

18 Asynchroniczny licznik 3-bitowy zliczający góra/dół

19 Asynchroniczny licznik modulo 12 z kasowaniem

20 Asynchroniczny licznik zliczający od 5 do 15 z kasowaniem (powrót do liczby 5)

Page 3: Zadanie 5 Projekt licznika - Scalak | Micro & … Projektowania Systemów Scalonych KE AGH str. 1 Laboratorium Projektowania Systemów Scalonych Katedra Elektroniki Akademia Górniczo-Hutnicza

Laboratorium Projektowania Systemów Scalonych

KE AGH str. 3

3. Wynik

Przedstawić topografię do sprawdzenia prowadzącemu zajęcia.

Napisać krótkie sprawozdanie zawierające: cel projektu, schemat licznika, wyniki symulacji

postlayoutowych – parametry licznika: czasy, średni pobór mocy (w określonych warunkach

pracy), wymiary i powierzchnia. Nie jest wymagane umieszczanie topografii

w sprawozdaniu, natomiast koniecznie należy podać ścieżkę i nazwę biblioteki z ostateczną

wersją projektu.

Sprawozdanie można wysłać mailem, po uzgodnieniu z prowadzącym zajęcia, wpisując

w temacie listu: SUiSE_zad5_imię_nazwisko.

4. Realizacja zadań – informacje pomocnicze

4.1. Ustawienia wstępne

Aby uzyskać dostęp do biblioteki komórek standardowych należy ją dodać do listy bibliotek

swojego projektu. W tym celu można skorzystać z Library Path Edytor dostępnego w głównym

menu Tools (rys.1.), gdzie należy wpisać nazwę biblioteki i ścieżkę do niej. Drugą możliwością jest

dopisanie biblioteki do pliku cds.lib w katalogu projektu:

DEFINE biblioteka /home/student/biblioteka

Rys. 1. Okno edytora ścieżek bibliotecznych

4.2. Rysowanie topografii z wykorzystaniem komórek standardowych

W bibliotece "biblioteka" znajduje się kilka przerzutników i bramek (proszę sprawdzić jakie)

oraz trzy komórki pomocnicze. Ogólnie, komórki standardowe są tak zaprojektowane aby ułatwić i

przyspieszyć rysowanie topografii naszego układu. Mają ustalone wymiary, sposób prowadzenia

linii zasilających i masy oraz wejść i wyjść. Na temat komórek standardowych można poczytać

w "Projektowanie układów scalonych" A. Gołda, A. Kos, strona 124 lub innej literaturze.

W naszym przypadku komórki mają wysokość 4,72 µm oraz minimalną szerokość zależną od

ilości tranzystorów i połączeń. Linie zasilani i masy zostały umieszczone, odpowiednio, u góry i u

dołu komórek, a na brzegach położono stosowne piny. Wejścia i wyjścia są umieszczone w

dowolnych miejscach i wyprowadzone metalem 3 – piny zrobione z metalu 3. W komórkach użyto

metalu 1 i 2. Na rysunku 2 przedstawiono komórkę bramki NAND oraz jej topografię wewnętrzna.

Page 4: Zadanie 5 Projekt licznika - Scalak | Micro & … Projektowania Systemów Scalonych KE AGH str. 1 Laboratorium Projektowania Systemów Scalonych Katedra Elektroniki Akademia Górniczo-Hutnicza

Laboratorium Projektowania Systemów Scalonych

KE AGH str. 4

a) b)

Rys. 2. Komórka standardowa 4-wej. bramki NAND (a) i jej topografia wewnętrzna (b)

Niektóre warstwy w komórkach zostały celowo zmniejszone ale jeżeli komórki będą układane

obok siebie na styk, to te warstwy będą się uzupełniały. Jedynie skrajne komórki rzędu muszą być

uzupełnione. W tym celu dostępne są komórki cell_L i cell_R. Dodatkowo zaprojektowano celę

fill_03, która może być umieszczona w środku pomiędzy innymi komórkami i zapewnia ciągłość

odpowiednich warstw. Jej szerokość to 0,3 µm. Ona może nachodzić na inne komórki, tak aby

wypełnić brakujące miejsce. Pozostałe cele należy układać na styk. Kolejne rzędy komórek mogą

się stykać ale muszą być odwrócone do „góry nogami” z powodu położenia linii zasilania i masy.

Rysunek 3 przedstawia przykładowe ułożenie kilku komórek w dwóch rzędach.

Rys. 3. Przykładowe ułożenie kliku komórek

Projektowanie topografii można rozpocząć od jej półautomatycznej generacji. Następnie

w opcjach wyświetlania (Display Options – klawisz E) należy zaznaczyć: Pin Names oraz

Instances Pins. Start i Stop w Display Levels ustawić na zera. Po takich ustawieniach będą

widoczne obrysy komórek oraz piny i ich nazwy (jak na Rys. 3), a nie będzie widoczna topografia

komórek.

W celu szybkiego poukładania komórek można skorzystać z operacji wyrównywania

elementów. Z menu wybieramy Edit → Advanced → Align. W oknie które się otworzy można

ustawić parametry i sposób wyrównywania obiektów oraz punkty/linie odniesienia. Następnie

zaznaczamy te obiekty, które mają być poukładane i zatwierdzamy przyciskiem Apply.

Page 5: Zadanie 5 Projekt licznika - Scalak | Micro & … Projektowania Systemów Scalonych KE AGH str. 1 Laboratorium Projektowania Systemów Scalonych Katedra Elektroniki Akademia Górniczo-Hutnicza

Laboratorium Projektowania Systemów Scalonych

KE AGH str. 5

Innym sposobem ułatwiającym układanie komórek jest funkcja szybkiego wyrównywania:

Edit → Quick Align (skrót klawiszowy A). W ybieramy krawędź komórki, która ma być

przesunięta (zaznaczona na fioletowo), następnie wybieramy krawędź innego obiektu do którego

wybrana komórka ma być wyrównana. Rysunek 4 przedstawia kolejne kroki takiego wyrównywania.

Rys. 4. Działanie instrukcji Quick Align – kolejne etapy wyrównywania komórek

Po ułożeniu komórek należy połączyć ich wejścia i wyjścia zgodnie ze schematem. Do łączenia

można wykorzystać metale 3, 4 i 5 prowadząc połączenia również po komórkach. Nie wolno

korzystać z metali 1 i 2 ponieważ zostały one użyte w komórkach. Nie zaleca się korzystania

z metalu 6 ponieważ wymaga on nieco innych reguł DRC. Tę warstwę metalu zwykle stosuje się

do rozprowadzenia zasilania w układzie scalonym ze względu na jej grubość.

Ścieżki połączeniowe można łatwo rysować korzystając z polecenia Create → Shape → Path

(skrót klawiszowy P). Należy wybrać odpowiednią warstwę z zasobnika i rozpocząć rysowanie. Na

rysunku 5 przedstawiono rysowanie ścieżki z metalu 3.

Rys. 5. (a) Rysowanie ścieżki z metalu3

Rysowana ścieżka automatycznie przyjmuje szerokość elementu, od którego rozpoczęto jej

rysowanie ale to można zmienić.

Page 6: Zadanie 5 Projekt licznika - Scalak | Micro & … Projektowania Systemów Scalonych KE AGH str. 1 Laboratorium Projektowania Systemów Scalonych Katedra Elektroniki Akademia Górniczo-Hutnicza

Laboratorium Projektowania Systemów Scalonych

KE AGH str. 6

Po naciśnięciu prawego przycisku myszy otwiera się menu podręczne z różnymi opcjami

dotyczącymi rysowania ścieżek, np. szerokość ścieżek, wstawianie przelotek itp. Zaleca się

stosowanie minimalnej szerokość ścieżek sygnałowych, ale linie zasilające powinny być szersze.

Na rysunku 6 przedstawiono zmianę parametrów rysowanej ścieżki w menu podręcznym.

Rys. 6. Menu podręczne rysowania ścieżki - zmiana szerokości

W trakcie rysowania ścieżek pomocne będzie wyświetlanie realizowanego połączenia za

pomocą kolorowych linii (net). Tę opcję można włączyć (w Layout GXL) wybierając z menu:

Connectivity → Incomlete Nets i następnie jedną z trzech opcji Show/Hide (Rys. 7).

Rys. 7. Włączanie wyświetlania linii połączeń (nets)

Page 7: Zadanie 5 Projekt licznika - Scalak | Micro & … Projektowania Systemów Scalonych KE AGH str. 1 Laboratorium Projektowania Systemów Scalonych Katedra Elektroniki Akademia Górniczo-Hutnicza

Laboratorium Projektowania Systemów Scalonych

KE AGH str. 7

Narysowane w ten sposób ścieżki można przesuwać lub rozciągać (stretch). Jeśli chcemy

ścieżkę rozciągnąć to klikamy na jej środkową linię (Rys. 8) i w trakcie tej operacji pojawiają

się cienkie białe linie oznaczające minimalną odległość do tej samej warstwy (Rys. 9).

Rys. 8. Wybór fragmentu ścieżki do rozciągania

Rys. 9. Zaznaczenie minimalnej odległości od ścieżki w trakcie jej przeciągania

Do rysowania połączeń w Virtuoso GXL można wykorzystać automatyczne łączenie

elementów, jednak zaleca się wtedy najpierw wykonać połączenia zasilania (vdd) i masy (gnd) np.

metalem 1 oraz sygnałów zegarowych (odpowiednim metalem 3 lub/i 4), a następnie z menu

głównego wybrać Route → Automatc Routing .