• Nie Znaleziono Wyników

Komputerowe wspomaganie kreślenia masek struktur ASIC

N/A
N/A
Protected

Academic year: 2022

Share "Komputerowe wspomaganie kreślenia masek struktur ASIC"

Copied!
32
0
0

Pełen tekst

(1)

ZESZYTY NAUK OW E POLITECHNIKI ŚLĄSKIEJ 1992

Seria: INFORM A TY KA z. 20 N r kol. 1190

Lech ZNAM IROW SKI

KOMPUTEROWE WSPOMAGANIE KREŚLENIA MASEK STRUKTUR ASIC

Streszczenie. W pracy przedstawiono narzędzia program ow e otwartego syste­

mu oprogram ow ania do komputerowego wspomagania kreślenia masek cyfrowych struktur A SIC/V LSI, pozwalające generować opis struktury chipu na podstawie bi­

blioteki standardowych, sprawdzonych komórek struktur elementarnych VLSI.

Przyjęto standardowy format opisu struktury C IF (Caltech Interm ediate Form ).

W ykorzystując cechy formatu CIF przedstawiono zasady i w ym agania dla edy­

tora graficznego korzystającego pośrednio z opisu struktur w wymienionym form a­

cie, dokonując wyboru edytora niespecjalizowanego. Przyjęto zasadę wykorzys­

tania ogólnie dostępnych edytorów współpracujących z translatoram i formatów graficznych w środowisku systemu operacyjnego M Ś-DOS.

THE CAD SYSTEM TOOLS FOR ASIC STRUCTURES LAYOUT DRAWING

S um m ary. The CAD system tools for ASIC digital structures layout generation using well checked standard cells library are presented. The system generates standard format chip description. The format applied to structure description is C IF (Caltech Interm ediate Form).

T he m odular structure o f software system is covered with w ide used text edi­

tors and standard graphics editors (DXF - Drawing eXchange file Form at) cooper­

ating with format translators in the MS-DOS environment.

CAO POUR DESSINER DES MASQUES DES STRUCTURES ASIC

Résum é. Dans ce travail, il a été présenté un groupe d ’outils du système logi­

ciel ouvert constituant le CAO, pour la génération et le dessin des masques des

(2)

112

L. Znamirowski

structures d ’intégration à grande échelle/ASIC avec application de la librairie des cellules bien vérifiées.

Le C IF (Caltech Intermediate Form) est langage interm édiare appliqué pour la description des structures VLSI/ASIC.

La conception du système modulaire de la program m ation, donne une possi­

bilité de l ’usage des éditeurs de textes et des éditeurs graphiques standard (langage interm édiare DXF - Drawing eXchange file Format) coopérant avec le traducteur de la description des structures, dans l ’environnement du système d ’exploitation M S-DOS.

1. Wprowadzenie

Projektow anie struktur ASIC (Application Spécifie Integrated Circuits) przy aktual­

nych możliwościach technologii wymaga wyboru właściwego narzędzia wspomagania projektowania. Na to narzędzie składa się system komputerowy w raz z dedykowanym oprogram owaniem pracującym w pewnym środowisku programowym.

Systemy wspom agania projektowania, jeśli przyjąć kryterium porów nania polegające na ocenie elastyczności, można podzielić na dwie grupy: systemy otw arte i systemy "tum- key" - zamknięte. W pierwszym przypadku użytkownik ma możliwość ingerowania w strukturę oprogram ow ania, organizowania "systemu operacyjnego" oprogramowania, może w ym ieniać i modyfikować moduły program owe systemu na niskim poziom ie oprog­

ramowania. W systemach "pod klucz", oprogram owanie jest zwykle wydajniejsze, a cena, jak ą płaci użytkownik, jest ograniczeniem jego możliwości ingerencji w system, co jest

niekorzystne w przypadku prac nad wykorzystywaniem nowych modeli, nowych interfej­

sów technologii, testowania czy włączania w system nowych modułów programowych (wym aga to ciągłych kontaktów użytkownik - producent systemu).

Przedstaw ione w pracy narzędzia program owe zakładają w ykorzystanie procesorów rodziny Intel 80XXX, pracę w środowisku powszechnie stosowanego systemu operacyj­

nego M S-DOS, pow szechnie stosowanych edytorów, bazy danych oraz ilustrują sposób wykorzystania specjalizowanych modułów do realizacji zadail "nowych" dla środowiska, co składa się na otw arty system CAD problem owo zorientowany na projektow anie struk­

tur VLSI typu ASIC. Należy podkreślić, że nie przedstawiono tu narzędzi programowych do symulacji projektowanych układów i weryfikacji projektów masek, chociaż są to istot­

ne elementy systemu wspomagania projektowania, stanowią one bowiem same w sobie obszerne zagadnienia wym agające odrębnego rozważenia.

(3)

Komputerowe wspomaganie kreślenia

113

2. Projektowanie układów scalonych ASIC

2.1. System wspomagania projektowania

O gólne podejście związane z projektowaniem [NEW T1, M EAD1, F IL II, KUZM 1, RUBI1, G O T O l, SH E R 1, KOZM1] układów scalonych, a w tym i struktur, od początku (1960 rok) wykazywało tendencje rozdzielenia projektu od technologii, w jakiej je st reali­

zowany, co doprowadziło do opracowania i zaakceptowania interfejsu stanowiącego trans­

lator pomiędzy projektem a jego realizacją. Stanowią go reguły określające postać (for­

maty C IF, GD SII, LUCIE) i warunki, jakie spełnia projekt (reguły projektowania kons­

trukcyjne i elektryczne) i jakie akceptuje producent (często je st to grupa producentów działająca w ramach usługowych organizacji, zdolnych do akceptacji takich standardów - MOSIS, EU RO CH IP).

Zwykle wiec, kończące projekt "Formaty transferowe", stanowią dane wejściow e do fabrykacji układu scalonego.

N a metodykę projektowania struktur VLSI składają się cztery [G O T O l] fazy:

a) ocena wykonalności, b) projektowanie, c) weryfikacja, d) wykonanie.

W rzeczywistości poszczególne fazy są znacznie rozbudowane, szczególnie w zakresie wspomagania projektowania na etapie projektu symulacja i w eryfikacją na różnych pozio­

mach opisu oraz generacją danych dla testów, natomiast w zakresie wykonania, badaniami wyrobu z wykorzystaniem testów pośrednich i końcowych [JAKU1, K O L O l, Z IE L I, FEUG1].

Blokowy schemat systemu automatyzacji (przyjęty jako ramowy dla niniejszej pracy) projektowania, a ściśle systemu CAD wspomagania projektowania struktur ASIC (zawie­

rający także elementy kompilatora krzemowego) [W ONG1, GAJS1, ZN A M 2, ZNAM 3]

przedstawiony na rys. 1, ilustruje wzajemne powiązania zadań projektowych na tle specja­

lizowanych narzędzi CAD [NEW T1, GAJS1, KUZM 3].

System korzysta z dużej biblioteki struktur, współpracując ciągle z bazą danych i e- dytoram i, realizując zadania związane z projektowaniem struktury schematu, w eryfikacji logicznej i układowej, projektowaniem struktury fizycznej, weryfikacji struktury.

(4)

114 L. Znamirowski

W ynikiem projektu je st wygenerowana dokumentacja projektu, wydruki symulacji oraz projekt w postaci plików wykorzystujących formaty transferowe (interfejs projektu).

Baza danych wykorzystywana w procesie projektowania dostarcza danych potrzebnych dla różnych poziomów opisu abstrakcyjnego struktur [DUTT1, DUVA1].

2.2. Fabrykacja (Silicon Foundry)

Proces fabrykacji obejmuje [W ONG1, SZE1, PROC1, DUTT2]] sekwencje operacji związane z wytwarzaniem masek do naświetlania rezystu (warstwy kopiowej) albo lito­

grafii wiązką elektronów (lub innych bezpośrednich metod litografii), procesy obróbki płytki, testy ostrzow e, montaż struktury (realizacja systemu polączert chipu z obudową - packaging) i testy końcowe. Zwykle z danym typem technologii związane są wymagania technologiczne, które na poziomie projektu uwzględnia się przez realizację reguł projek­

towych konstrukcyjnych i elektrycznych [MEAD1, M ALY1, NEW K1, S T R O I].

2 .2 .1 . Procesy technologiczne

Procesy technologiczne w fabrykacji struktur składają się z ciągu operacji, uporządko­

wanych w zależności od typu procesu w sekwencję prowadzącą do uzyskania "technolo­

gicznych obrazów" masek, ciąg zaś procesów ma prowadzić do wytworzenia działającej struktury [M ALY1, M EAD1, ZNAM 4],

W trakcie fabrykacji realizowane muszą być w ymagania związane z powtarzalnością i dokładnością geom etrii, właściwości fizykochemicznych m ateriałów, stabilności para­

metrów procesów.

Skala rodzaju urządzeń realizujących aktualnie procesy je st bardzo szeroka, obejmuje stosowanie specjalizowanych pieców, reaktorów plazmowych, urządzeń litografii optycz­

nej, litografii wiązką elektronową i litografii rentgenowskiej, źródeł promieniowania ultrafioletowego i rentgenowskiego, systemów próżniow ych, laserów i złożonych syste­

mów optycznych.

Typy technologii można przedstawić na podstawie zbioru powtarzalnych dla danej technologii procesów. W tym zakresie rysuje się silna tendencja budowy modeli procesów [A N T O l, D U TT1, DU TT2, S T R O I, 1TE1, BLOD1], opracowania program ów kompilu­

jących m odele procesów w model technologii i na tej podstawie prowadzenia złożonych badań symulacyjnych nad uzyskiem, kom presją komórek struktur elem entarnych [BARKI, FERR1] weryfikowaną symulacją oraz modeli ciągów procesów "realizujących" zaprojek­

towane struktury [STRO I]. Opracowano także propozycje interfejsów pozwalających przedstaw iać, podobnie ja k dla warstw, geom etrię (maski), tak w przypadku procesów,

(5)

K om puterow e wspomaganie kreślenia . 115

K o m p u te ro w e w s p o m a g a n ie p r o j e k t o w a n ia s t r u k t u r V LSI

S Y S T B l ZARZA02ANIA BAZA DANYCH

PROJEKTOWANIE STRUKTURY SCHEMATU J e ż y k i o p is u w y s o k ie g o p o z io m u C f c is fu n k jo n a ln o - z e c h o w a w c z y C 0 l s t r a n s f e r ó w m le d z y r e j e s t r o w y c h O bwody lo g ic z n e

C p l s e le m e n tó w I U k ła d ó w Komor k I s ta n d a r d o w e

^ ^ o ^ e k t o » g n ^ e j ^ l i ^ o w ^ a t w ^ ^ e s t o w ^ n v ę ^

W E R Y F IK A C JA LO G IC Z N A I UKŁADOWA S y m u la t o r fu r tc e J o n a in o - z a c h o w a w c z y S y m u la t o r lo g ic z n y

S y m u la t o r t lm ln g u S y m u la t o r u k lą d o w y S y m u la t o r g r a f i c z n y s t r u k t u r S y m u la t o r p r o c e s u

_DOKUCmACJA_

L i s t i n g i Scnematy Rwjwstracje

PROJEKTOWANIE STRUKTURY F IZ Y C Z N E J

G e n e r a t o r s t r u k t u r r e g u la r n y c h B i b l i o t e k a komorefc s p r a w d z o n y c h U m ie s z c z a n ie , k o m p r e s j a , ł ą c z e n ie

W E R Y F IK A C JA STRU KTU RY

W e r y f i k a c j a r e g u ł p r o j e k t o w y c h E k s t r a k t o r u k lo dow y W e r y f i k a c j a e le k t r y c z n a W e r y f i k a c j a s t r u k t u r y v s . l o g i k i

WTOeUKI tONTOXK

n*J*«tracf* otrazu

■tsuttiry

FO RM ATY TRAN SFERO W E

G e n e r a c j a o p is u s t a n d a r d o w e g o ' fo r m a t y C I F , GOS I I . E D I F . SCALĘ I I n .

G e n e r a c j a d a n y c h d l a e l e k t o l ( t o g r a f i l / t a s m y d l a w y k o n a n ia m asek

G e n e r a t o r y d a n y c h d l a t e s t o w a n ia

Rys. 1. Typow y system automatyzacji procesu projektowania struktur ASIC (elementy kom pilatora krzemowego)

Fig. 1. Typical design automation system for ASIC (elements o f a Silicon Com piler)

(6)

116 L. Znamirowski

hierarchiczny opis profili wytwarzanych struktur półprzewodnikowych dla celów symu­

lacji przyrządów i procesów (Intel) [DUVA1, ED IF1, DUTT2, IEEE1].

W śród szeregu podstawowych typów technologii wyróżnić można następujące: bipo­

larną, NM O S, CM OS oraz ich wersje ulepszone [M ALY1, SW IT1, M A R C lj, a także technologie układów szybkich GaAs [ABE1, NEVI1], stosowaną ju ż w chwili obecnej do wykonywania układów LSI/VLSI.

N a podstaw ow e procesy w ramach danej technologii składają sie: litografia (realizo­

w ana różnym i technikami), dyfuzja, implantacja, trawienie, utlenianie, osadzanie warstw [M ALY1, PRO C1, B E L I, SZE1] oraz cala grupa procesów pomocniczych. Procesy te mają swoją reprezentację w postaci przygotowywanych w trakcie projektu w arstw opisują­

cych geom etrię obszarów na płytce, dla których proces ma aktywnie oddziaływać w fab­

rykowanej strukturze ("obrazy technologiczne").

Rozeznanie w tym zakresie je st istotne, gdyż określa konstrukcję opisu struktur w ra­

mach przyjętego typu technologii [M EAD1, M ALY1, ZNAM 4].

2 .2 .2 . Realizacja projektu

Przygotow ane projekty poddawane są testom konstrukcyjnym realizowanym przez program y typu ekstraktorów schematów [BELI], symulatorów [NAGE1, SELB1, LIGH1, ROSI2, V H D L1], program ów kontroli geometrycznych i elektrycznych reguł projektowa­

nia (checkerów) [NEW T1], Uzyskane maski można poddać kompresji struktur [GAJS1]

(por. [ZNA M 4]) (uzupełnionej ponownie testami [MEAD1]) w celu zm niejszenia zajmo­

wanej pow ierzchni. Zw ykle tak przygotowany projekt jest poddany testom poprzedzają­

cym fabrykację (producent układów scalonych, MOSIS, EU RO CH IP lub inna organizacja dysponująca środkam i realizacyjnymi).

2 .2 .3 . M ontaż struktur (Packaging)

W ykonana struktura, zależnie od przyjętego wariantu upakowania, jest mocowana w obudowie. Problem om występującym w związku z obudowaniem struktury poświęcona je st obszerna literatura związana z zagadnieniami termicznymi, term osprężystością, wielo- liniami, typami obudów oraz wielowarstwowymi strukturami połączeń szybkich układów wielochipowych (VHSIC multichip carriers) [PALU2, B U L L I, ZNAM 1, STA1].

2.3. Środowisko programowe kompilatora krzemowego

W śród szeregu stosowanych strategii projektowania układów VLSI, jeśli ja k o kry­

terium porównania przyjm iemy stopień automatyzacji projektowania, strategia zmierzająca

(7)

K om puterowe wspomaganie kreślenia . 117

do m ożliwie zautomatyzowanych operacji związanych z generacją topografii struktury na podstawie opisu struktury na wysokim poziomie abstrakcji opisu nosi nazwę kompilacji krzem ow ej. Term in kom pilator krzemowy został wprowadzony w późnych latach 70 [JOHA1, GAJS1] w celu określenia systemów wspomagania projektowania chipu w yko­

rzystujących zrealizowane wcześniej projekty komórek. I chociaż koncepcja sięgania do bibliotek pozostaje aktualna [IEEE1, NEWK1] i niezastąpiona [GAJS1, H O LD 1, KOZM - 1], w spółczesne specjalizowane kompilatory krzemowe realizują znacznie rozbudowane funkcje w zakresie oprogram owania narzędziowego projektanta w stosunku do swych pop­

rzedników [RUBI1, W ONG 1, EINS1, FEUE1],

R ozbudow ane systemy oprogramowania pracujące na maszynach cyfrowych o dużej szybkości i wydajności (duża i szybka pamięć operacyjna, hardw are’ow e zarządzanie zasobami pam ięci, struktury równolegle, procesory graficzne) umożliwiają efektywną pracę projektanta na różnych poziomach abstrakcji opisu projektu. Ściślej mówiąc, syste­

my takie dysponują zbiorami programów [IEEE1, B E L I, KUZM 3, ITE1] realizującymi specjalizowane funkcje wspomagające pracę projektanta w zakresie:

- numerycznych modeli przyrządów półprzewodnikowych [SELB1, N A GE1, K U ZM 2, M A RC3],

- sym ulatorów behawioralnych, logicznych, logiczno-czasowych, układo­

w ych, planarnych tranzystorów MOS [GAJS1, NEW T1, ATT1, LIGH1, W EEK 2, N A G E1, SELB1],

- program ów rozmieszczania i autoruterów [SHER1],

- checkerów reguł projektowania topografii i reguł elektrycznych [M EAD1, N EW K 1],

- extractorów [NEW T1],

- program ów kompresji struktur [GAJS1], - generatorów struktur [GAJS1],

- interfejsów program owych do wymiany danych [RUBI1],

- kom pilatorów języków opisu struktur na różnych poziomach abstrakcji dla celów symulacji i syntezy [VHDL1, BORR1],

- specjalizowanych edytorów struktur [M EAD1, KUZM 3],

- program ów konwersji opisu projektu do formatów symulacji procesów technologicznych [DUVA1],

- program ów obsługi bibliotek zapisanych w bazie danych dla celów projek­

tow ania [DU TT1, DUVA1].

Aby efektyw nie wykorzystać oprogramowanie, które zresztą zwykle je st tworzone w różnych środowiskach i w różnym czasie, a dla celów integracji wym aga możliwości

(8)

118 L. Znam irowski

wymiany inform acji najczęściej dwustronnej, zachodzi potrzeba dysponowania oprogra­

mowaniem uzupełniającym, spełniającym rolę interfejsów program owych dla wymiany da­

nych.

D o grupy takich program ów można zaliczyć przedstawione dalej w pracy translatory form atów [PAW L1, ZNAM 2] opisu struktur ASIC w formatach C IF oraz D X F [MEAD1, A U T 0 2 ],

3. Opis struktur VLSI (ASIC)

Przyjęty tu opis struktur VLSI (ASIC) je st opisem jaw nym , tzn. przyjm uje sie, że struktury w yrażane są obrazami je przedstawiającymi. Jest to sposób nie dający oszczęd­

ności pam ięci zajmowanej przez projekt (chociaż w porównaniu z innymi formatami, form at C IF je st oszczędny) ma natomiast zalete dużej poglądowości i stwarza projektan­

towi możliwość ingerencji w projekt w każdym elemencie struktury. Ponadto konieczne środki program ow e są proste: sprowadzają sie bowiem do edytorów tekstowego i graficz­

nego, translatorów form atów , a także dla niewielkich projektów, prostej bazy danych.

3.1. Formaty transferowe opisu struktur

Przyjęte w praktyce standardowe formaty stosowane w dziedzinie projektow ania struk­

tur VLSI (ASIC) można zaliczyć do grup: formatów transferowych (M aski/O brazy struk­

tur) - C IF [M EAD1] (The Caltech Intermediate Form ), GDS II [RUBI1] (Calm a & Ge­

neral Electric), LU C IE [PAIL1]] (Langage Universitaire de Conception de circuits In­

tégré pour l’Enseignem ent), DXF [A U T02] (Drawing eXchange file Form at) oraz for­

matów opisu schematów elektrycznych (pozwalających również opisywać elem enty topo­

grafii struktur) ED IF [EDIF1] (The Electronic Design Interchange Form at), SPICE [NAGE1] (Simulation Program with Integrated Circuits Emphasis - Berkeley).

Przedstaw ione formaty nie wyczerpują innych sposobów reprezentow ania obrazów wykorzystywanych do opisu struktur [ASIC1], przyjęte są jednak powszechnie.

Zaklasyfikowanie danego formatu do odpowiedniej grupy je st w zasadzie umowne, gdyż zakresy stosowania wzajemnie przenikają się.

Szczególnie rozpowszechniony je st w zakresie projektowania struktur VLSI format C IF, który dalej zostanie przedstawiony szczegółowo.

Należy zwrócić uwagę na to, że właściwy wybór formatów transferowych projektów je st bardzo istotny ze względu na ich techniczną realizacje, którą w przypadku wykony­

(9)

K omputerowe w spom aganie kreślenia 119

wania krótkich serii czy pojedynczych układów dla celów badawczych lub dydaktycz­

nych, mogą zapewnió międzynarodowe stowarzyszenia bazujące na korporacji producen­

tów układów scalonych. W Stanach Zjednoczonych jest to MOSIS [SM IT1, RUBI1]

MOS Implementation Service (formaty CIF oraz GDS II), a w Europie EU RO CH IP [E U R O l, D E L O l] (C IF, LU CIE oraz GDS II).

3.2. Fo r m a t C I F opisu struktur

Tekstowy form at opisu struktur C IF charakteryzuje się tym, że zapisane struktury zajmują stosunkowo mało pamięci (porównując z innymi formatami). M echanizm formatu jest tak pom yślany, że stanowi rodzaj program u generującego obraz, w ykorzystując struk­

tury program ow e o nazw ie transform acji, które działając na wcześniej definiowanych m akrostrukturach, w sposób przejrzysty generują złożone obrazy. Przyjęty zbiór prym ity­

wów graficznych, ukierunkowany na potrzeby projektów struktur, daje możliwość efek­

tywnej edycji zarówno "ręcznej", ja k i opartej na przetwarzaniu plików CIF.

W ym iary i odległości przedstawiane są jako liczby całkowite. Jednostką je st jedna setna m ikrona (por. DODATEK 1; [a] = 10[nm]).

Podobnie ja k w procesie technologicznym, integralną częścią opisu są w arstw y, w ra­

mach których opisuje się lokalizację prymitywów.

Dalej przedstaw iono ścisły form alnie opis formatu CIF. Składnia dopuszcza blanki przed i po kom endzie, blanki lub inny rodzaj separatora (wyjątki w definicji upperChar i blank). Składnia odzw ierciedla fakt, że definicje symboli nie mogą być zagnieżdżone.

3 .2 .1 . Syntaktyka form atu CIF

P lik G I F składa się z sekwencji znaków stanowiących listę komend zakończonych znacznikiem (komendą) końca. Komendy oddziela się średnikami.

Przy definiowaniu składni przyjęto standardową notację Wirtha:

= zdefiniowano jako

| lub (pionowa kreska)

’ ’ oznaczenie symbolu term inalnego ( w obrębie " ")

{ } nawias wskazujący powtórzenie dowolną ilość razy włączjąc zero razy [ ] nawias w skazujący, że zawartość może być powtórzona zero lub jednokrotnie ( ) nawias określający grupę

kropka kończąca definicję.

Poniżej, dla tak określonej konwencji oznaczeń, przedstawiono syntaktykę [M EAD1]

formatu opisu CIF.

(10)

120 L. Znamirowski

cifFile command

prim Com m and

polygonCommand boxCom mand roundFlashCom m and wireCom mand layerComm and defStartCommand defFinishCom m and defDeleteCom m and callCommand

userExtensionCommand com mentCommand endCommand

transformation

path point

slnteger integer integerD shortnam e c

userText com m entText

semi sep digit

{{blank} [command] semi} endCommand {blank}.

primCommand | defDeleteCommand | defStartCommand semi {{blank} [primCommand] semi} defFinishCom m and.

polygonCommand | boxCommand | roundFlashCommand

| wireCommand | layerCommand | callCommand | userExtensionCommand | commentCommand.

"P" path.

"B" integer sep integer sep point [sep point],

"R" integer sep point.

"W" integer sep path.

"L" {blank} shortname.

”D" {blank} "S" integer [sep integer sep integer],

"D" {blank} "F".

"D" {blank} "D" integer.

"C" integer transformation, digit userText.

"(" co m m en tT ex t")".

"E".

{{blank} ("T" point | "M" {blank} "X" | "M" {blank}

"Y M | "R ” point)}, point {sep point}, slnteger sep slnteger.

{sep} ["-"] integerD.

{sep} integerD.

digit {digit}, c [c] [c] [c], digit | upperChar.

{userChar}.

{commentChar} | commentText "(" com m entText ")" com­

mentText.

{blank} {blank}.

upperChar | blank.

"0" | "1" | "2” | "3" | "4" | "5" | "6 ” | ”7" | ”8" | "9".

(11)

K omputerowe w spom aganie kreślenia

121

upperChar blank

= "A" | "B" | "C" | ... | "Y" | "Z".

= dowolny znak ASCII z wyjątkiem digit, upperChar,

userChar ' com m entChar

")", lub

= dowolny znak ASCII z wyjątkiem

= dowolny znak ASCII z wyjątkiem "(" lub ")".

3 .2 .2 . Sem antyka formatu CIF

Założeniem konstrukcji formatu je st możliwość tw orzenia plików, które nie stosują zbyt dużej liczby prym itywów , w związku z czym ograniczono się do kilku prostych struktur: wielokąta, kola, ścieżki i prostokąta kreślonych przez komendy "rysujące":

P (polygonCom m and), R (roundFlashCommand), W (wireCommand) i B (boxCom m and).

Ponieważ maski zawierają wiele takich prymitywów, konieczne było w prow adzenie mak- rostruktur i wywołań tych makrostruktur, co radykalnie nie tylko oszczędza pam ięć, zm niejsza objętość plików, ale także czyni pliki czytelniejszymi.

Prym itywy rozmieszczane są na warstwach, które ustawiane są specyfikacjami L (la- yerCom m and) poprzedzającymi listę prymitywów. Przyjęto konwencje, zgodnie z którą pierwsza litera nazwy warstwy oznacza technologie (np. NP - nazwa maski warstwy poli- krzemu w procesie nM OS, NI - nazwa maski warstwy implantacji w procesie nM OS, CPO L - nazwa maski warstwy polikrzemu w procesie CMOS czy CME1 - nazwa maski warstwy metalu 1 w procesie CM OS). M akrostruktury definiowane są w obrąbie symboli komend DS (defStartComm and) ... DF (defFinishComm and), posiadają swój num er (oz­

naczany dalej symbolem Num erStruktury), skale (a/b), a z ciała definicji m ogą być wy­

woływane inne m akrostruktury. W prowadzona komenda DD (defDeleteCommand) może być wykorzystana do deaktywowania od numeru będącego argumentem komendy i num e­

rów większych wprowadzonych wcześniej definicji symboli, co w prosty sposób umoż­

liwia realizacje multiprojektów (komenda DD poniżej numeru argum entu umożliwia wy­

korzystywanie innych m akrostruktur, natomiast pozwala "zapomnieć" wprowadzone wcześniej definicje określone numerami równymi i większymi od swego argum entu).

Komendy w ywołania C (callCommand) i transformacji (transform ation) - (T, MX, MY, R) umożliwiają w prosty sposób umieszczanie w realizowanym rysunku istniejących struktur po ich przetransform owaniu.

Praktyka generacji biblioteki podstawowej VLSI wskazuje na fundamentalne znaczenie prostego prym ityw u Box w budowie, sprawdzaniu, stosowaniu w procesie technologicz­

nym, przetw arzaniu, translacji struktur. Omówimy ten prymityw.

Zgodnie z syntaktyką komendy, mamy jej postać tekstową:

(12)

122 L. Znam irowski

boxCom m and = "B" integer sep integer sep point [sep point], co m ożna w sensie jej znaczenia (w pełnym rozwinięciu) zapisać w postaci:

B długość(L) szerokość(W ) xc(C) yc(C) a, a,,,

gdzie przez xc oznaczono w spółrzędną x środka Boxu, yc - współrzędną y środka Boxu, aj - współrzędną rzutu w ektora kierukowego Boxu na oś x oraz 2^ -współrzędną rzutu wek­

tora kierunkow ego Boxu na oś y.

W przypadku braku w aktualnej komendzie Box param etrów a , i przyjm uje się w ektor kierunkow y o w spółrzędnych a, = l , ^ = 0 .

Rys. 2. Struktura Box Fig. 2. Box representation

Przykład

Strukturę Box, którą zapiszemy w postaci:

B 30 20 35,10;

w postaci graficznej przedstawiono na rys. 2.

W yw ołania symboli i transform acje stosowane w form acie C IF oraz przeliczanie war­

tości liczbowej odległości opisywanych w tym form acie przedstawiono w D O DATKU 1.

3 .2 .3 . Struktura pliku CIF

S truktura pliku spełniać musi podstawowe w ymaganie polegające na tym , aby defi­

nicje symboli poprzedzały ich wywołania.

P oczątek definicji symbolu nie może pojawić się w definicji innego symbolu. Format C IF nie dopuszcza zagnieżdżania definicji symboli. Po zdefiniowaniu m akrostruktur, ich wywołaniach w raz z transform acjam i, bezpośrednio zdefiniowanych prym ityw ach, plik CIF kończy się komendą E (endCommand).

(13)

Kom puterowe wspom aganie kreślenia . 123

4. Edytor graficzny rysunku struktur

Konstrukcja w arstw ow a rysunków struktur, stosowane prym ityw y obrazow e i koniecz­

ne operacje na nich pozwalaj a sprecyzować wymagania, ja k ie powinien spełniać edytor graficzny.

Przyjęto rozw iązanie polegające na wykorzystaniu uniwersalnego edytora graficznego, eksponując potrzebne komendy w wydzielonym "M enu".

Takim eaytorem może być edytor uniwersalnego program u AutoCAD [A U T 02].

Komendy związane z edycją obrazów masek można zebrać w następujące grupy:

A. Komendy sterujące menu [Otwarcie plików w celu utworzenia nowego rysunku, Edyc-

M ENU EDYTORA GRAFICZNEGO A. Komand]/ sterująca m an u

K om en dy u s ta w ia n ia param etró w o b ra zu ( stero w ania d is p la y e m )

C. K om endy a k t y w n e j e d y c ji obra zu C. I. K om endy

g eneracji r y s u n k u C. 2. K om end y

e d y c ji C. 3. K om endy

stero w a n ia w a r s tw a m i

Rys. 3. "Menu" dla edycji opisu struktur VLSI Fig. 3. ."M enu" o f VLSI structures description editor

ja istniejącego rysunku, W yprowadzenie rysunku na plotter, ... ], B. Kom endy ustaw ia­

nia param etrów obrazu [Powieksz/pom niejsz (ZOOM ), Przeglądaj duże rysunki bez po­

większania (PA N ), Rysuj wypełnianie kolorem (F IL L ),... ], C. 1. K omendy generacji rysunku [Nanieś ścieżkę (TRACE), Nanieś tekst (TEXT), Ustaw param etry skoku kursora (SNAP), ... ], C. 2. Komendy edycji [Usuń element (ERASE), Przesuń (M O VE), ...

], C. 3. K omendy sterowania warstwami [Ustaw warstwę (LAYER), Ustaw kolor (CO L­

O R ) ], D. Komendy typu MACRO [Utwórz substrukturę (BLOCK), W staw sub- strukturę (IN SERT), ... ], E. Komendy formatowania [Form at DX F (W yprow adź/C zy­

taj rysunek w form acie D XF) ], F. Komendy specjalne [W prowadź własne menu (M ENU), Zapisz projekt na dysk (SAVE), Kończ edycję bez zapisu na dysk (QUIT), ... ].

(14)

124 L. Znam irowski

W pow yższym menu (rys. 3) zaznaczono najistotniejsze komendy dla założonych zad ad edycji. W nawiasach dla porównania przytoczono nazwy komend uniwersalnego edytora graficznego program u AutoCAD [A U T 02],

W ybór je st podyktowany wieloma możliwościami realizacji menu z jednej strony oraz m ożliw ością wykorzystania wymiennych plików D X F opisu rysunku do wymiany z in­

nymi program am i z drugiej. W dalszym ciągu przedstawiono komendy najczęściej wyko­

rzystyw ane w edycji obrazów struktur.

4.1. K o m e n d a kreślenia ścieżki T R A C E

K om enda T R A C E pozwala kreślić ścieżki o określonej param etrem kom endy szero­

kości. Jako punkt początkowy określa się punkt o współrzędnych środka ścieżki, podobnie je st dla końca ścieżki. W ygodne dla oceny poprawności realizowanego projektu je st stoso­

w anie komendy wypełniającej kolorem ścieżki FILL (on/off). Przy przyjętej konstrukcji opisu struktur elem entarnych otrzym uje się obraz masek dla kolejnych faz procesu, masek umieszczonych jed n a na drugiej (obraz z przesłanianiem warstw Layerów leżących niżej) dla obserw atora patrzącego na płytkę krzemową z góry.

W przypadku gdy wypełnianie kolorem jest nieaktywne (FILL off), display prezentuje barw ny obraz rzutu konturów ścieżek na powierzchnię płytki.

W edycji struktur VLSI praktycznie je st korzystać z komendy T R A C E w celu gene­

racji prostokątów w prost odpowiadających strukturom Box dla form atu CIF.

Form at komendy je st następujący:

Com m and: TR A C E T race width < c u r r e n t> : fpodać szerokość ścieżki) From point: (określić punkfl

T o point: (określić punkt) T o point: (określić punkfl

T o point: ( < Enter > zakończenie ścieżki)

Podkreśleniem oznaczono dane dialogu wprowadzane przez operatora.

W iersze dialogu kończone są naciśnięciem klawisza < E n te r > .

4.2. K o m e n d y struktury B L O C K

4 .2 .1 . Kom enda BLOCK

Kom enda BLOCK tworzy blok (strukturę mogącą zawierać wiele prym itywów) dla opracowyw anego rysunku i może być na tym rysunku w ielokrotnie wstawiana.

(15)

K om puterow e w spom aganie kreślenia . 125

Form at komendy:

Com m and: BLOCK Block nam e(or ?): (nazwa bloku)

Podajac param etr komendy (nazwa bloku), można wprowadzić nazw ę nowo definio­

wanego bloku lub znakiem < ? > uzyskać wydruk listy bloków dla aktualnie realizow ane­

go rysunku. W trakcie definiowania bloku określić należy punkt bazowy bloku, który przy wstawianiu bloku komenda INSERT je st zrównywany (pokryw a się) z punktem

"Insertion point" komendy INSERT.

Przykład:

Com mand: BLOCK Block name (or ?): CELL Insertion base point: 20.26

Select objects: (określić go)

W wyniku w ykonania komendy utworzony zostaje blok o nazwie C ELL, przy czym jego punkt bazowy ma w spółrzędne (20.0,26.0).

4 .2 .2 . K om enda INSERT F orm at kom endy je st następujący:

Com mand: IN SERT Block name (or ?): (nazwa bloku) Insertion point: (wskazać punkt)

X scale factor < 1 > /C om er / XYZ: (liczba lub punkf) Y scale factor (default=X ): (liczba)

Rotation angle < 0 > : (liczba lub punkt)

K om enda umożliwia wstawienie od punktu "Insertion point" w aktualnie realizowanym rysunku, obrazu zawartego w uprzednio zdefiniowanym bloku o nazwie (nazwa blbku) względem punktu bazowego bloku, przy czym je st przyjęta zasada, że jeśli nie definio­

wano w yraźnie współrzędnych punktu bazy to przyjm uje się je jako (0 .0 ,0 .0 ).

Komenda INSERT może być także wykorzystana do wstawiania rysunku (nie dekla­

rowanego jako struktura bloku) w rysunek. W tej sytuacji jako nazwę bloku wstawianego należy podać nazw ę pliku zawierającego wstawiany rysunek.

W ielokrotne w stawianie realizować można wygodnymi komendami M IN SERT lub ARRAY, natom iast komendą WBLOCK w trakcie edycji większej struktury możemy za­

pisywać fragm enty struktury jako osobne rysunki.

Uzupełniając listę najczęściej wykorzystywanych komend, należy wym ienić komendy:

obrotu ROTATE, odbicia M IRROR, MOVE, SAVE, QUIT, LIM ITS, STA TU S, ZO OM , G RID, LA YER, a także komendy konwersji formatu zapisu rysunku D X FIN i DX FO U T.

(16)

126 L. Znam irowski

4.3. Fo r m a t D X F opisu struktur

Obrazy przyjm owane przez edytor AutoCADa przechowywane sa w form acie wew­

nętrznej bazy danych (pliki z rozszerzeniem .DW G).

D la celów wymiany danych z otoczeniem przyjęty je st form at DX F (Drawing

ex­

change file Form at).

F orm at ten określa pliki tekstowe o czytelnej dla człowieka postaci, je st zorganizo­

w any przejrzyście i pisanie translatorów formatów lub w ykorzystywanie go przez inne specjalizowane program y wspomagania projektowania nie nastręcza trudności.

Oceniając sytuacje z punktu widzenia użytkownika, plik D X F odzwierciedla elementy rysunku (prym itywy obrazowe) i bloki, czyli ujete jako całości grupy elem entów rysunku.

Ma to sw oją reprezentacje w strukturze pliku DXF.

Plik D X F złożony je st z części wyszczególnionych niżej jako sekcje i koniec pliku:

- se k cja N A G Ł Ó W K A (H EA D ER section).

W sekcji zgrom adzone sa parametry określone wartościami zmiennych związanych z pre­

zentowanym na displayu rysunkiem. Sa to dane zbliżone do postaci inform acji genero­

wanych komenda STATUS.

- se k cja T A B L IC (TA B LES section).

W sekcji zgrom adzone są deklaracje dotyczące struktury rysunku (nazwy warstw - Layer, rodzaje czcionki - Style, rodzaje linii - Ltype, tablice VIEW ).

- se k cja B L O K Ó W (B LO C K S section).

W sekcji zebrano definicje bloków (Block Definition) wykorzystywanych na rysunku.

M ogą wystąpić odwołania do bloków z sekcji ENTITIES.

- se k cja E L E M E N T Ó W (EN T IT IE S section).

W sekcji występują prym ityw y i ewentualne odwołania do bloków. Ten segment stanowi rodzaj interpretera generującego obraz na displayu edytora.

- K O N IE C P L IK U (END O F F IL E ).

F orm at D X F realizowany je st z zestawienia mniejszych elementów zwanych grupami w strukturą opisaną wyżej. Grupa składa sie z dwu linii. Pierw sza linia zaw iera tzw. kod grupy - liczbą typu integer (np. dla FORTRANU odpowiada formatowi 13), natomiast druga linia grupy określa ryp wartości grupy zależny od kodu grupy (np. kod 0-9 wyzna­

cza typ wartości jako napis, kod grupy 10-59 wyznacza typ wartości jako liczbą zmienno­

przecinkow ą, ... [A U T 02]).

(17)

K om puterowe wspomaganie kreślenia . 127

F orm at D X F szczegółowo definiuje związek kodów grupy i typów wartości w rozbiciu na te typy, które podnoszą cechy parametrów rysunku (np. Typ linii, nazwa warstwy, w spółrzędna x, y, z, czcionka, ... [A U T02]).

Prym ityw em formatu DXF odpowiadającym prymitywowi Box w form acie C IF jest TRA CE. Sposób tworzenia TRA CE w pliku DXF oraz strukturę pliku DXF przedstaw io­

no w DODATK U 2.

5. Translacja formatów (przykład)

Translacje formatu DXF na format CIF i odwrotnie realizowane w trakcie edycji obrazów masek wnoszą pewne problemy [PAWL1, ZNAM 2], które należy rozstrzygnąć przy opracowywaniu program ów translacji.

Problem y te wynikają z faktu, że różne formaty nie zawsze mają odpowiadające sobie listy elem entów oraz komend. To pociąga za sobą konieczność wprowadzenia wirtualnych elementów dopasowujących elementy i komendy w taki sposób, aby zwolnienie translacji było m ożliwie małe i zapewniało możliwie oszczędne gospodarowanie pam ięcią. Podobne problem y występują przy operowaniu nazwami symboli. Typy liczb w ystępujące w for­

matach wym agają wprow adzenia procedur konwersji liczb.

U w zględniając fakt, że interpretacja pliku DXF w edytorze graficznym wnosi w kon­

sekwencji sekwencyjną realizację obrazu, co w pewnych przypadkach (stan pracy zapew­

niający wypełnianie kolorem obrazów na warstwach) powoduje niebezpieczeństwo (mimo bezbłędnej struktury danych) generacji obrazów paradoksalnych (niewłaściwe przenikanie warstw), zachodzi konieczność sortowania elementów zapisanych na warstwach na po­

trzeby ekspozycji zawartości pliku DXF na displayu edytora.

O statnim z ważniejszych problemów jest przeliczanie odległości związanych ze skalą struktur dla różnych reprezentacji. Zagadnienie to przedstawiono w DODATKU 1.

Powyższe problem y szczegółowo rozpatrzono w pracy [PAWL1] w trakcie opracowy­

wania translatorów formatów, pozostawiając użytkownikowi możliwość świadom ego wy­

boru przypadków alternatywnych poprzez wprowadzenie parametrów translacji.

Przykład

Przedstawim y opis struktury TRA CE z rys. 5 w formacie C IF, przyjm ując [X] = 2 .5 - M (przy [o r] = 0 .0 1 M ) .

K orzystając z zależności (7.1) do (7.4) (DODATEK 1), otrzym ujem y wprost:

(18)

128 L. Znamirowski

(di? W ) i — 250(b/a)(D DXF)j.

P rzyjm ując b = l , a = 1 2 5 , nadając tworzonemu symbolowi nazwę (NumerStruktury)

"100", otrzym am y opis w formacie CIF w postaci następującej:

DS 100 125/1;L N P;B 4 12 26,58;.

6. Podsumowanie

Przedstaw iony w pracy wybór narzędzi programowych oraz formatów opisu masek struktur ASIC składa się na graficzny system ich generacji i edycji.

Z e względu na to, iż niektóre biblioteki standardowych, sprawdzonych kom órek struk­

tur elementarnych VLSI zostały częściowo opublikowane [M EAD1, N EW K 1], przy odpo­

wiednim doborze oprogram owania podstawowego oraz opracowania modułów specjalizo­

wanych (moduły te z praktycznego punktu widzenia ich funkcji mogą być bardzo proste [ZNAM 2]), projektow anie struktur ASIC można sprowadzić do zagadnienia wykonalnego środkami niekoniecznie najwyżej specjalizowanymi, w rozsądnym czasie.

Oczywiście, w przypadku projektowania struktur FCD (Fuli Custom D esign), system oprogram ow ania musi być wyposażony w narzędzia wyszczególnione w pkt. 2 .3 , tym niemniej projektowanie w "technologii" VLSI struktur ASIC (biblioteka standardowych kom órek sprawdzonych) nie musi być domeną wysoce profesjonalnego środowiska. To, niestety, z drugiej strony automatycznie wymusza pewien brak projektantów układów ASIC [SM IT1, E U R O l, M E A D lj.

W chwili obecnej można powiedzieć, że style projektowania struktur ASIC narzuca zinformatyzowane otoczenie projektanta. Projektowanie układów scalonych w początko­

wym natomiast okresie (lata sześćdziesiąte [NEWT1] i później), wraz z rozwojem techno­

logii, w ymuszało rozwój podstawowych i specjalizowanych narzędzi program owych.

Z drugiej strony zarysowała się logiczna tendencja do pełnego rozgraniczenia projektu od technologii, poprzez precyzyjne zdefiniowanie interfejsu pomiędzy zakończonym pro­

jektem a jego technologiczną realizacją. Kompilacja krzemowa, a także stosowanie symu­

latorów procesów technologicznych są tego najlepszym przykładem , wyraża to również tendencja do tworzenia organizacji typu MOSIS czy EUROCHIP realizujących projekty.

Przedstaw iony w pracy system generacji i edycji masek struktur ASIC wym aga wzbo­

gacenia go o kolejne moduły programowe, wśród których należy na pierwszym miejscu wymienić program autorutera realizującego automatyczne łub półautom atyczne ciągnięcie połączeń pom iędzy strukturami umieszczanymi w projekcie oraz program y kontroli geo­

(19)

K omputerowe w spom aganie kreślenia 129

metrycznych reguł projektowania i ekstrakcji schematu elektrycznego. Algorytm działania autorutera, uw zględniając zachowanie geometrycznych reguł projektowania, realizuje pop­

rawne połączenia, jednak w praktyce, w rozbudowanych projektach zwykle niezbędna jest dodatkowa, "ręczna" edycja maski, co podkreśla praktyczny aspekt konieczności stosowa­

nia drugiej grupy z wymienionych wyżej programów w celu w eryfikacji zmodyfikowanej maski. Program y te usprawniają również prace projektanta przy tworzeniu rozbudowa­

nych masek nowych struktur nie występujących w bibliotece.

7. DODATEK 1 - Format CIF

7.1. Wy wołania i transformacje w formacie C I F

Odwołując sie do definicji syntaktycznej komendy wywołania C, mamy:

callCommand = "C" integer transformation,

transformation = {{blank} ("T" point | "M" {blank} "X" |

"M" {blank} "Y" | ”R" point)}.

point = slnteger sep slnteger.

slnteger = {sep} integerD.

integer = {sep} integerD.

integerD = digit {digit}, sep / = upperChar | blank.

digit = "0" | "1" | " 2 " | "3" | "4" | "5 ” | "6" | ”7" | "8" | "9".

upperChar = "A" | "B" | "C" | ... | "Y" | "Z".

blank = dowolny znak ASCII z wyjątkiem digit, upperChar, "(", ")", lub

Interpretacja sem antyczna je st następująca: wywołanie C sprowadza się do wstawienia w realizowany rysunek makrostruktury o numerze określonym parametrem typu integer występującym za symbolem wywołania C, przy czym makrostrukturę poddaje się trans­

formacji "transform ation".

Przykład

Komenda C 217 T 0,0;

poleca wstawić symbol (makrostrukturę) 217 jej bazą w punkt (0.0, 0.0) rysunku bez żadnych operacji na symbolu.

(20)

130 L. Znam irowski

O kreślona w definicji wywołania transformacja dopuszcza cztery możliwe sytuacje, które przedstaw iają elem entarne przekształcenia na elementach zawartych w w ywoływa­

nym symbolu:

T point - Przesunięcie. Umieścić punkt bazowy (0,0) symbolu w punkcie o współrzędnych "point",

MX - Odbicie lustrzane. Przekształcić współrzędne x umieszczanej struk­

tury mnożąc j e przez -1,

MY - Odbicie lustrzane. Przekształcić współrzędne y umieszczanej struk­

tury mnożąc je przez -1,

R point - Obrót. Dokonać obrotu symbolu ("jego osią x") w kierunku wyzna­

czonym wektorem kierunkowym (czyli współrzędnymi rzutów wek­

tora kierunkowego "point").

Jeśli wartości w spółrzędnych punktów elementów struktury przed transform acją ozna­

czyć przez x oraz y , a po transform acji x ' oraz y ', ogólnie transform ację m ożna zapisać relacją:

[x ’, y \ 1] = [x, y , 1] T, gdzie T je st m acierzą transformacji.

W przypadku kilku transformacji w komendzie wywołania, wyliczenie w spółrzędnych punktów po transform acji sprowadza się do obliczenia macierzy:

T = T,T2T3T4,

gdzie przez Tt , T2, T3, T4 oznaczono kolejne elementarne transformacje.

7 .1 .1 . Przesunięcie i odbicia lustrzane

D la przesunięcia T mamy przekształcenie postaci następującej:

x ’ = x + a

y’ = y + b,

co daje macierz transform acji Tob-

T =

1

a b

1 0 o 0 1 o a b 1

Poniew aż odbicie lustrzane MX zdefiniowane je st zależnością:

(21)

K om puterow e wspom aganie kreślenia . 13

x ’ = -x y ’ = y,

natom iast odbicie lustrzane M Y : x ’ = x

y ’ = -y.

daje to m acierze transform acji:

-1 0 0 0 1 0 0 0 1

oraz odpowiednio

1 0 0

0 -1 1

0 0 1

7 .1 .2 . Obrót

O brót R przedstaw iono na rys. 4. Na podstawie rysunku możemy napisać:

x - cosa x ' + sina y ’ y ’= t g a x ’ + ( l/c o s a )y ,

y

Rys. 4. Transform acja Fig. 4. Rab Transformation

(22)

132

L. Znamirowski

co daje:

x ’ = cosa x • sina y y ' = sin a x + cosa y.

Jeśli oznaczyć:

c= \ja 2+b2 , to możemy zapisać:

cosa = a/c, sina = b/c,

a zatem zachodzi:

I * ' , y \ U =• [ * . y, U

gdzie je st macierzą transformacji.

ale blc 0 - b /c a/c 0

0 0 1

= [ * , y, 1] K b

7.2. Przeliczanie wartości liczbowej odległości

Opis topografii struktury pojawiający się w różnych formatach, a reprezentujący sytu­

ację na powierzchni płytki krzemowej, stwarza konieczność wyboru odpowiednich współ­

czynników skali z jednej strony i wygodnych jednostek miary z drugiej. Zw iązane je st to z oczywistym wymaganiem, aby przy zmianie parametrów technologicznych ilość zmian w opisie elem entów bibliotecznych była minimalna. Dla opisu struktur przechowywanych w bazie danych nie ma to specjalnego znaczenia, natomiast jest bardzo istotne dla działań projektanta (weryfikacja, nowe struktury, kontrola rozbudowywanych struktur bibliotecz­

nych).

Liczby {np.: L, W, xc,yc w opisie Box [B L(dlugość) W (szerokość) xc,yc (współrzędne środka)]} występujące w formacie CIF (a ściślej, w opisie pomiędzy symbolami DS i DF) jeśli oznaczyć je jako (distę^jj, określają dla ustalonej skali i jednostki miary, odległości i długości na powierzchni płytki krzemowej.

Skala w yrażona stosunkiem liczb a/b występujących w obrębie symboli komend DS ... DF:

DS N um erStruktury a/b; L ND; B (distCIF), (distcl[-)2 (disk,,.), (dist,.,,.)4; ... D F;, je st tak dobrana, aby (disk-,,.), (w przykładowym fragmencie m akrostruktury są to tylko

param etry prym ityw u Box, umieszczonego na warstwie ND) były liczbami całkowitymi możliwie małymi, możliwie bez zer na najmniej znaczących pozycjach.

(23)

Komputerowe wspom aganie kreślenia 133

D iagram y reprezentujące struktury przedstawia się na wykresach o jednostce długości [X]. Przez [X] oznaczono jednostkę długości w yrażona w [ju] (mikronach) związaną z możliwościami technologicznymi procesu i urządzeń przy produkcji struktur. Przedsta­

wianie struktur w formie takich diagramów ma istotne znaczenie przy zm ianie [X], gdyż opis struktury może pozostać nie zmieniony, podobnie ja k diagram , a zm ianie ulega tylko skala a/b.

Związek odległości (długości) na powierzchni płytki krzemowej z liczbami określo­

nymi w ramach formatu C IF (DS ... D F;) może być określony arbitralnie [M EAD1, NEWK1],

Zdefiniowano go następującą relacją:

d, = (disW M /3] (7.1)

gdzie:

di - mające wymiar w [p] przedstawia odległość lub długość na pow ierz­

chni płytki krzemu,

[|3] - je st jednostką miary długości dla opisu pomiędzy symbolami DS ...

D F;.

W ybór [/3] wynika z możliwości technologicznych i został zdefiniowany relacją:

W) = (a /b ) M (7.2)

gdzie:

a,b - liczby określające współczynnik skali w opisie CIF,

[a] - jednostka miary długości przyjęta dla opisu "na zew nątrz” definicji DS ... D F ;. Wartość [a] (początek lat osiemdziesiątych) przyjęta

% została jako 10 [nm] (10" [m]).

Ponieważ diagram y reprezentujące struktury przedstawia się na wykresach o jednostce miary długości [X] (lata osiemdziesiąte [X] = 2.5 |ju]). odległości (długości) na pow ierz­

chni płytki krzemu w yrażone w jednostkach równych wielkości [X] można wyznaczyć z zależności:

d| = (D);[XJ (7.3)

gdzie:

(D)j - w artość liczbowa odległości (długości) dla jednostki miary [X].

O statnia relacja natychmiast sugeruje wybór jednostki miary długości dla edytora gra­

ficznego, gdyż ja k widać, wystarczy przyjąć

(D); = (DDXF)i (7.4)

(24)

134 L. Znamirowski

gdzie:

( ^dxf)i • wartość liczbowa odległości (długości) dla jednostki m iary [X], czyli wprost liczby na displayu edytora graficznego.

W idać stad, że zm iana [X] w celu zachowania nie zm ienionego diagram u opisującego strukturę (diagram taki nosi też nazw ę rzutu zbiorczego lub zbiorczego w ydruku struk­

tury) oraz zachow ania nie zmienionego opisu CIF (a ściśle w artości odległości/długości pom iędzy symbolami DS i DF), a więc dla nie zmienionych (DDXF)i oraz ( d i s t ^ ([a] - stała), w ym aga jedynie w opisach struktury w formacie CIF właściwego w yboru skali, określonego stosunkiem liczb a/b.

8. DODATEK 2 - Format DXF

8.1. Struktura pliku D X F

Struktura pliku w formacie DX F, w której oznaczono grupy w yróżniające poszcze­

gólne sekcje, je st następująca:

0 {początek sekcji NAGŁÓW KA

SECTION 2 H EAD ER

ci

Lista grup sekcji NAGŁÓW KA

0

ENDSEC_____________koniec sekcii NAGŁÓW KA)

0 {początek sekcji TABLIC

SECTION 2 TABLES

L ista grup sekcji TABLIC

0

(25)

Komputerowe wspom aganie kreślenia . 135

ENDTAB 0

EN DSEC_____________koniec sekcji TABLIC)

0 {początek sekcji BLOKÓW

SECTION 2 BLOCKS

Lista grup sekcji BLOKÓW

0

ENDSEC_____________koniec sekcii BLO K Ó W )

0 {początek sekcji ELEM ENTÓW

SECTION 2 ENTITIES

Lista grup sekcji ELEM ENTÓ W

0

_______ ENDSEC_____________koniec sekcii ELEM ENTÓW ! 0

EOF {KONIEC PLIK U}.

Najistotniejsza inform acja o rysunku przechowywana w form acie D X F zaw arta je st w sekcjach bloków i elementów.

8.2. Postać T R A C E w pliku D X F

Edycja pliku D X F może być realizowana wprost edytorem tekstowym na odpow ied­

nich grupach w sekcjach BLOKÓW i ELEM ENTÓW z zachowaniem zasad opisu ele­

mentów obrazu zgodnych ze strukturą pliku DXF. Ponieważ uniwersalny edytor Auto- CA D a w ykorzystujem y do edycji struktur VLSI, ze względu na przyjętą zasadę budowy elem entów bibliotecznych, wykorzystującą tylko prymitywy Box w form acie C IF, można przyjąć, że w ystarczy w ramach formatu D X F operow ać tylko prym ityw am i TRA CE w ich najprostszej postaci (prostokąty). Przykładowo przedstawim y postać opisu ścieżki

(26)

136 L. Żnamirowski

przedstawiającej prostokąt na warstwie NP, co zilustruje reprezentacje tej ścieżki w pliku DXF i na displayu edytora.

Załóżm y, że w celu naniesienia TRACĘ wykonano komende:

Command: tracę < En ter >

Tracę width < 0 .1 0 0 0 > :2 < E nter>

Front point: 13.26 < Enter > {punkt P (rys. 5)}

To point: 13.32 < E n te r > {punkt K (rys. 5)}

To point: < E n ter>

W ykonanie tej komendy wygenerowało ścieżkę, która w pliku DXF ma postać:

0 T R A C Ę

8 N P 10 12.0

20 26.0

11 14.0

21 26.0

12 12.0

22 32.0

13 14.0

23.

32.0

Sposób zapisu TR A C Ę w pliku wprowadza numeracje wierzchołków prostokąta (od 0 do 3), przyporządkowując odpowiednim współrzędnym odpowiednie grupy i tak:

N u m er p u n k tu W spółrzędna K od g ru p y W artość g ru p y

0 X 10 12.0

y 20 26.0

1 X 11 14.0

y 21 26.0

2 X 12 12.0

y 22 32.0

3 X 13 14 0

y '•> *• 32.0

(27)

K omputerowe wspomaganie kreślenia . 137

Obraz graficzny utworzonej w ten sposób TRACĘ przedstawiono na rys. 5.

Rys. 5. Konstrukcja-opisu TRACE Fig. 5. TRA CE description

LITERATURA

[ABE1] M. Abe, T. M im ura, N. Yokoyama, H. Ishikawa: New Technology Tow ards GaAs LSI/VLSI for Com puter Application, IEEE Transactions o f Microwave T heory and Techniques, Vol. MTT-30, No. 7, July 1982.

[A N T O l] P. Antognetti, D. A. Antoniadis, R. W. Dutton, W. G. Oldham (Eds.): P ro ­ cess a n d Device S im ulation for M O S-V LSI C ircu its, M artinus N ijhoff Pub lishers, Boston-Dordrecht 1983.

[BARK1] J. R. Barker, D. K. Ferry: On Physics and Modeling o f Small Sem iconductor Devices - I. Solid-State Electronics, Vol. 23, No. 6-A, pp. 519-530, Perga- mon Press 1980.

[BLOD1] J. Blôdel, R. W. Hartenstein, W. Nebcl, M. Ryba: A Technology Description Method for Generalized Layout/Circuit Relations, M icroprocessing and M ic­

roprogram m ing, No. 23, pp. 15-20, North-Holland 1988.

[BORR1] D. Borrione (Ed.): F rom H D L D escriptions to G u a ra n te e d C o rre c t C irc u it D esigns, Proceedings o f the 1FIP WG 10.2 W orking Conference on From H D L Descriptions to Guaranteed Correct Circuit D esigns, G renoble, North- H olland, Septem ber 1986.

[D E L O I] H. D elori, A. Guyot, J. F. Paillotin: French MPC Activity Report, CM P, G renoble 1989.

(28)

138 L. Znamirowski

[DUTT1] R. W . Dutton: D ata Requirements and Program Interfaces for Simulating Integrated-Circuit Technology, IEEE Electro-Technology Review 1984.

[DU TT2] R. W . D utton, S. E. Hansen: Process Modelling o f Integrated Circuit Device Technology, Proceedings o f the IEEE, Vol. 69, No. 10, O ctober 1981.

[DUVA1] S. G. Duvall: An Interchange Form at for Process and Device Simulation, IE E E Transactions on Computer-Aided Design, Vol. 7, No. 7, July 1983.

[EINS1] N. G. Einspruch (Ed.): V LSI H an d b o o k , Academic Press, New Y ork 1985.

[FERR1] D. K. F erry, L. A. Akers, E. W. Greeneich: U ltra L a rg e Scale M icroelec­

tro n ic s, Prentice-Hall, Englewood Cliffs 1988.

[FEUE1] M . Feuer: VLSI Design Automation: An Introduction, Proceedings o f the IEEE, Vol. 71, No. 1, January 1983.

[FEUG 1] R. J. Feugate, S. M. McIntyre: In tro d u c tio n to V LSI T esting, Prentice Hall, Englewood Cliffs 1988.

[F IL II] A. Filipkow ski: P ro jek to w an ie układów scalonych, W ydawnictwa Politech­

niki W arszawskiej, W arszawa 1983.

[GAJS1] D. D. Gajski: Silicon C om pilation, Addison-W esley, Reading, Massachusetts 1988.

[G O T O l] S. Goto (Ed.): Design M ethodologies, Advances in CAD for V LSI, Vol. 6, N orth-H olland, Amsterdam 1986.

[HOLD1] T. Holden: K now ledge Based CAD a n d M icroelectronics, N orth-H olland, Amsterdam 1987.

[JAKU1] A. Jakubowski, W. M arciniak, H. Przewłocki: P o m iary elek try czn e w diag­

nostyce p ro d u k c ji u kładów scalonych LSI i V L SI, W N T, W arszawa 1991.

[JOHA1] D . Johannsen: Bristle blocks: A Silicon Com piler, Proc. 16th Design Automa­

tion C onf., pp. 310-313, June 1985.

[K O L O l] J. F. Kołodziejski: Problemy projektowania łatwo testowalnych układów sca­

lonych, Prace Instytutu Technologii Elektronowej, z. 3, W arszawa 1985.

[KOZM 1] K. A. Koźmiński, A. Świt: Automatyzacja projektowania układów scalonych V LSI, Cz. I. Style i metody projektowania, Elektronika, Rok XXIX, nr 1, styczeń 1988.

[KUZM 1] W . Kuźmicz: P ro je k to w an ie analogow ych układów scalonych, W NT, W ar­

szawa 1981.

[KUZM 2] W . Kuźmicz: M odelow anie num eryczne p rzy rzą d ó w półprzew odnikow ych, Biblioteka Elektroniki (20), z. 3, VLSI kierunki, bariery i granice wzrostu, PW N , W arszawa 1988.

[KUZM 3] W . Kuźmicz: Training in Custom VLSI Design on Apple M acintosh Compu­

ters, T he Proceedings o f the Second Eurochip W orkshop on VLSI Design T raining, 30 Sept.- 2 O ct., pp. 58-62, G renoble 1991.

(29)

K om puterow e wspomaganie kreślenia . 139

[LIGH1] M . R. Lightner: Modeling and Simulation o f VLSI Digital System s, Proceed­

ings o f the IEEE, Vol. 75, No. 6, June 1987.

[MALY1] W . Maly: Atlas o f IC Technologies: An Introduction to V L SI Processes, T he Benjamin/Cummings, Menlo Park 1987.

[MARC1] W . M arciniak: Przyrządy półprzewodnikowe i układy scalone, W N T, W ar­

szawa 1987.

[MARC3] W . M arciniak: M odele elementów w układach scalonych M O S ITE, Prace Instytutu Technologii Elektronowej CEM I, PW N, W arszawa 1985.

[M EAD1] C. M ead, L. Conway: Introduction to V LSI System s, Addison-W esley, Reading, Massachusetts 1980.

[NAGE1] L. W . Nagel: SPICE2: A Com puter Program to Simulate Sem iconductor C ir­

cuits, U niversity o f California at Berkeley, ERL-M 520, May 1975.

[NEW K1] J. A. New kirk, R. Mathews: T he V LSI D esigner’s L ib ra ry , Addison - W esley, Reading, Massachussetts 1983.

[NEW T1] A. R. N ewton, A. L. Sangiovanni-Vincentelli: CAD Tools for ASIC Design, Proceedings o f the IEEE, Vol. 75, No. 6, June 1987.

[NEVI1] L. J. Nevin: GaAs High Speed Digital ICs, Intern. Solid-State Conf. D igest o f Techn. Papers, Vol. 26, pp. 31-37, February 1983.

[PAIL1] J-P. Paillotin: Le Systèm e LUCIE, Institute IM AG, G renoble 1985.

[PALU2] O. A .Palusinski, M. Scheinfein, L. Znam irowski, J. C. Liao, F. Q uintero, P.

Teschan: Electrical M odeling/Simulation, VLSI Packaging and Interconnection Research, SRC Ann. Project R ev., University o f Arizona, Tucson 1986.

[PAWL1] R. Pawłowski: Opracować i uruchomić program translacji form atów opisu struktur układów VLSI dla celów komputerowego wspomagania projektowania, Praca dyplomowa, Instytut Informatyki Politechniki Śląskiej, Gliwice 1991.

[ROSI2] A. T. Rosiński: Symulacja na poziomie przesłań międzyrejestrowych jako metoda badania i weryfikacji układów scalonych VLSI, Biblioteka Elektroniki (20), z. 3, VLSI kierunki, bariery i granice wzrostu, PW N, W arszaw a 1988.

[RUBI1] S. M. Rubin: C o m p u te r Aids for V LSI D esign, Addison - W esley, Reading, M assachusetts 1987.

[SELB1] S. Selberherr: Analysis a n d S im ulation of S em icoductor Devices, Springer- V erlag, W ien 1984.

[SH ER I] A. T. Sherman: V L SI P lacem ent a n d R outing: T he P I P ro je c t, Springer- V erlag, New York 1989.

[SMIT1] M. J. S. Smith, C. Portm ann, R. Jorgenson, D. W. M attos, R. H alverson, J.

K. Chung, P. Tsachang, C. Anagnostopoulos, R. Rao, P. Valdenaire, H.

Ching: Analog CMOS Integrated Circuit Design: Research and U ndergradu­

ate Teaching, IEEE Transactions on Education, Vol 32, No. 3, August 1989.

(30)

140 L. Znamirowski

[STA1] C .J. Stangham , B. M. M acdonald: Electrical Characterization o f Packages for H igh Speed Integrated Circuits, 35th Electronic Comp. C onf., Proceedings, pp. 356-364, W ashington 1985.

[STR O I] A. J. Strojwas, S. W. Director: VLSI: Linking Design and M anufacturing, IE E E Spectrum , October 1988.

[SW IT1] A. Świt, J. Półtorak: P rz y rz ą d y półprzew odnikow e, W N T, W arszawa 1979.

[SZE1] S. M . Sze (Ed.): V LSI T echnology, M cGraw-H ill, New York 1983.

[W EEK2] W . T. Weeks: A. J. Jim inez, G , W. M ahoney, D. M ehta, H. Quassemradeh, T . R. Scott: Algorithms for ASTAP - A Network Analysis P rogram , IEEE Trans, on Circuit Theory, Vol. CT - 20, pp. 628-634, N ovem ber 1973.

[W ONG1] D . G. W ong: D igital System s D esign, Edward Arnold, London 1985.

[Z IE L I] R. Zielonko, A. Królikowski: M etody pom iarow o-diagnostyczne analogo­

wych u k ła d ó w elektronicznych, W NT, W arszawa 1988.

[ZNAM 1] L. Znam irow ski: Com puting Line Param eters from the C apacitance M easure­

ments. E rror Propagation Studies, in: O. A .Palusinski, M. Scheinfein, L.

Znam irow ski, J. C. Liao, F. Quintero, P. Teschan: Electrical Modeling/

Sim ulation, VLSI Packaging and Interconnection Research, SRC Ann. Pro­

je c t R ev., University o f Arizona, Tucson 1986.

[ZNAM 2] L. Znam irowski: Komputerowe wspomaganie projektowania struktur VLSI, Laboratorium 5, Laboratorium Komp. Systemów Aut. Prac. Inż., Instytut Inform atyki, Pol. Śląska, Gliwice 1988.

[ZNAM 3] L. Znam irowski: System oprogram ow ania wspomagającego graficzne prace projektow e w mikroelektronice, Laboratorium 4, Laboratorium Komp. Syste­

mów Aut. Prac Inż., Instytut Informatyki, Pol. Śląska, Gliwice 1990.

[ZNAM 4] L. Znam irowski: Komputerowe wspomaganie generacji złożonych masek struktur ASIC (w tym Zeszycie).

[M A V O l] J. M avor, M . A. Jack, P. B. Denyer: In tro d u c tio n to M O S L S I Design, Addison-W esley 1983.

[GLAS1] L. A. G lasser, D. W . Dobberpuhl: T he D esign a n d A nalysis o f V LSI C ir­

cu its, Addison-W esley 1985.

[W EST1] N. W este, K. Eshraghian: P rinciples o f C M O S V LSI D esign - A System s P erspective, Addison-W esley 1985.

[M UKH1] A. M ukherjee: In tro d u c tio n to nM O S & C M O S V L SI S ystem s Design, Prentice-Hall 1986.

[ASIC1] ASIC Layout System s/D esigners’ Buying G uide, Com puter Design, Vol. 27, No. 11, June 1, 1988.

(31)

K om puterow e wspom aganie kreślenia . 141

[A U T 02] AutoCA D Release 10, Reference M anual, Autodesk, Inc., Oakland 1989.

[BELI] Biblioteka E le t troniki (20) Zeszyty 1 do 6, VLSI kierunki, bariery i granice w zrostu, PW N , W arszawa od 1986.

[ED IF1J E D IF - Electronic Design Interchange Form at, Version 2 0 0, ED IF Steering Com m ittee, 1987.

[E U R O l] EU RO CH IP Inform ation, Service Organisation o f the CEC VLSI Design Ac­

tion, S. Augustin, March 1991.

[IEEE1] IEE E Transactions on Com puter-Aided Design [of Integrated Circuits and Sys­

tems], Roczniki.

[ITE1] Prace Instytutu Technologii Elektronowej CEM I, PW N , Roczniki.

[PROC1] Praca zbiorowa: P rocesy technologiczne w elek tro n ice półprzew o d n ik o w ej, W N T, W arszawa 1980.

[VHDL1] E le ctro n ic H a rd w a re D escription "the V H SIC H a rd w a re D esc rip tio n L a n ­ gu ag e (V H D L)", US Government Printing Office, W ashington 1988.

Recenzent: Doc. d r hab. inż. W iesław Kuźm icz

W płynęło do Redakcji 3 stycznia 1992 r.

Abstract

Set o f program m ing tools and standard formats for ASIC structures description pre­

sented ir the paper com poses a graphics system for masks generation and edition. , Considering published standard cell library, with cells which are well checked, and working cell for VLSI elem entary structures [M EAD1, NEW K1], when the proper choice o f a standard software takes place, with worked out specialized program m ing tools (these modules can be very sim ple ones [ZN AM 1]), the problem o f layout draw ing for ASIC structures can be reduced to a feasible task in a sensible tim e with unnecessary high ad­

vanced tools.

O f course, in the case o f design the Full Custom chips, the CAD system has to be equipped with tools specified in section 2.3 (simulators, placement and autorouters, ex­

tractors, ERC and DRC checkers, ... etc.), nontheless, the design o f the ASIC structures in VLSI "technology" not neccesarily has to be the domain o f a very professional envi­

ronm ent. But on the other hand this forces a lack o f an ASIC chip designers [SM IT1, E U R O l, M EA D1],

F o r this m om ent it can be said, that the design methodology is forced by CAD tools environm ent, at the beginning o f the Integrated Circuits design (nineteen sixties years

Cytaty

Powiązane dokumenty

Aby zdefiniować znak literałowy, należy wprowadzić dowolny znak inny niż znaki pokazane w tej tabeli, łącznie ze spacją i symbolami... (Faktycznie uŜywany znak zaleŜy od

- szukanie zer wielomianu n-tego stopnia w zadanym przedziale - liczenie wyznacznika metodą rekurencyjną i/lub

Grafem zorientowanym (grafem skierowanym) nazywamy par¸e (V, E) gdzie V jest pewnym zbiorem zwanym zbiorem wierzchoÃlk´ow, natomiast E jest zbiorem pewnych par

Następnie nałóż maskę na włosy, owiń ręcznikiem (możesz najpierw owinąć włosy folią) i trzymaj tak przez minimum pół godziny.. Jeśli mieszanka zostanie na głowie dłużej

W obszarze przewiduje się przygotowanie pomieszczeń do prowadzenia procesów badawczych polegających na kontroli wyrobów medycznych: półmasek ochronnych FFP2 i FFP3 oraz

Jednak w etnologii słowa „maska” używa się niejednokrotnie także w szerszym sensie, na przykład na oznaczenie nakrycia, które niekoniecznie nakrywa twarz, albo też

pracuje w Katedrze Sztuki Wydziału Nauczycielskiego Politechniki Radomskiej, obecnie na Wydziale Sztuki Politechniki Radomskiej na stanowisku asystenta w  Katedrze Mediów Cyfro-

zować wszelkie formy zaburzeni Owe , w których obrębie występują osady litolo- gicznie zróżnicowane. Podstawowe dane, jakie należy uzyskać o stwierdzonych