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
112
L. Znamirowskistructures 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.
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.
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,
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)
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
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
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
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.
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".
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ą:
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).
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), ... ].
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.
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.
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]).
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:
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
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.
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 b1 0 o 0 1 o a b 1
Poniew aż odbicie lustrzane MX zdefiniowane je st zależnością:
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
132
L. Znamirowskico 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.
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)
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
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
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
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.
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.
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.
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.
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