metode razme²£anja in povezovanja logi£nih primitivov
TRANSCRIPT
Univerza v Ljubljani
Fakulteta za ra£unalni²tvo in informatiko
Miha Janeº
Metode razme²£anja in povezovanja
logi£nih primitivov kvantnih celi£nih
avtomatov
DOKTORSKA DISERTACIJA
Mentor: prof. dr. Miha Mraz
Ljubljana, 2012
povzetek
Univerza v LjubljaniFakulteta za ra£unalni²tvo in informatiko
Miha JaneºMetode razme²£anja in povezovanja logi£nih primitivov kvantnih
celi£nih avtomatov
Zaradi nenehnega razvoja se miniaturizacija integriranih vezij, realiziranih v CMOS teh-
nologiji, pribliºuje svojim mejam. Zato se je pojavilo ve£ predlogov novih tehnologij, ki bi
dejavnike za omejitve CMOS tehnologije izkoristile sebi v prid. Eden izmed predlogov so
naprave na osnovi kvantnih celi£nih avtomatov (QCA). Njihov osnovni gradnik je povr-
²inska celica s ²tirimi kvantnimi pikami in z dvema elektronoma, ki se lahko znotraj celice
razporedita v dve legi. Elektrostati£ni vplivi omogo£ajo prenos podatkov med celicami.
S tem so kvantni celi£ni avtomati primerni za dvovrednostno procesiranje. Raziskovalci
so iz celic sestavili logi£ne primitive, kot so majoritetna vrata, negator in prenosna linija.
Tako so postavili temelje za gradnjo kompleksnih struktur QCA. Za njihovo snovanje
je tako kot v primeru CMOS tehnologije nujno formalizirati metodologijo snovanja in
vpeljati ra£unalni²ko podporo.
V disertaciji obravnavamo avtomatizacijo snovanja �zi£ne razmestitve strukture kvan-
tnih celi£nih avtomatov. Snovanje je sestavljeno iz stopenj razme²£anja in povezovanja
logi£nih primitivov. Razvili smo metode za avtomatsko razme²£anje in povezovanje logi£-
nih primitivov QCA in tako vpeljali ra£unalni²ko podporo na podro£je snovanja struktur
QCA. Analizirali smo obstoje£e algoritme za snovanje integriranih vezij v CMOS tehno-
logiji in jih priredili za snovanje struktur QCA. Za razme²£anje logi£nih primitivov QCA
smo uporabili algoritem simuliranega ohlajanja. Za povezovanje razme²£enih primitvov
smo razvili algoritem, ki temelji na iskanju po labirintu in iskanju po liniji.
Pravilno delujo£e strukture je moºno zasnovati le z uporabo na£rtovalskih pravil, ki
dolo£ajo potrebne lastnosti strukture. Na£rtovalska pravila morajo zato biti upo²tevana
tudi v ra£unalni²kem orodju za avtomatsko snovanje struktur QCA. V disertaciji smo
iii
iv Povzetek
de�nirali na£rtovalska pravila, ki jim mora zado²£ati pravilno delujo£a struktura. De�-
nirana na£rtovalska pravila upo²tevajo �zikalne zna£ilnosti QCA, zato lahko z njegovo
uporabo zasnujemo tehnolo²ko izvedljive strukture.
Za potrebe ovrednotenja lastnosti avtomatsko zasnovanih struktur QCA smo dolo£ili
ustrezne metrike. Na njihovi osnovi smo ocenili kvaliteto avtomatsko zasnovanih struk-
tur. Na podlagi vpeljanih metrik smo tudi primerjali avtomatsko zasnovane in obstoje£e
ro£no zasnovane strukture QCA.
Implementirali smo ra£unalni²ko orodje za avtomatsko snovanje struktur QCA. Z
njegovo uporabo smo zasnovali razli£ne strukture QCA in analizirali rezultate snova-
nja. Pravilno delovanje vseh zasnovanih struktur smo veri�cirali s simulacijo v orodju
QCADesigner.
Klju£ne besede: kvantni celi£ni avtomati, nekonvencionalno procesiranje, ra£unalni²ko
podprto snovanje, razme²£anje, povezovanje, na£rtovalska pravila
abstract
University of LjubljanaFaculty of Computer and Information Science
Miha JaneºMethods for placement and routing of quantum-dot cellular
automata logic gates
Due to continuous development, the miniaturization of the integrated circuits in CMOS
technology is approaching its limit. Thus emerged several proposals for new technolo-
gies that would take advantage of the e�ects which hinder the operation of miniaturized
CMOS circuits. One of the proposed novel technologies is the quantum-dot cellular au-
tomaton (QCA). Its basic building block is a QCA cell with four quantum dots and two
electrons which can assume two con�gurations within a cell. Electrostatic e�ects enable
the transfer of data between cells. Therefore, the QCA can perform binary processing.
Researchers constructed various logic gates composed of QCA cells, including the ma-
jority gate, the inverter and the wire. This enables the construction of complex QCA
structures. As in the design of CMOS circuits, the QCA design methodology must be
formalized and computer aided design must be introduced.
In this thesis we address the automatization of the layout design of QCA structures.
Layout design consists of placement and routing of logic gates. We developed the methods
for automatic placement and routing of QCA logic gates, thus introducing the computer
aided design of QCA structures. We analyzed existing algorithms for layout design in
CMOS technology and adapted them for layout design of QCA structures. For placement
of QCA logic gates we used the simulated annealing algorithm. For routing of placed
gates we developed the algorithm based on the maze router and the line probe search.
Correctly operating structures can be designed only by using the design rules that
determine the necessary structure characteristics. Thus, the design rules must be consi-
dered by the computer tool for automatic QCA layout design. In thesis we de�ned the
design rules that must be satis�ed by correctly operating structure. The de�ned design
v
vi Abstract
rules take into account the physical characteristics of QCA, thus their use enables the
design of manufacturable structures.
In order to evaluate the characteristics of automatically designed QCA structures we
de�ned appropriate metrics. They were used to assess the quality of automatically desi-
gned structures. Based on the introduced metrics we compared automatically designed
and manually designed QCA structures.
We implemented the computer tool for automatic layout design of QCA structures.
We used the tool to design several QCA structures and we analyzed the results. Correct
operation of all designed structures was veri�ed by the simulation in QCADesigner tool.
Keywords: quantum-dot cellular automata, unconventional computing, computer aided
design, placement, routing, design rules
zahvala
Zahvaljujem se vsem, ki so kakorkoli pomagali pri izdelavi pri£ujo£ega dela, ²e posebej
mentorju prof. dr. Mihi Mrazu in sodelavcem v Laboratoriju za ra£unalni²ke strukture
in sisteme.
� Miha Janeº, Ljubljana, april 2012
vii
kazalo
Povzetek iii
Abstract v
Zahvala vii
1 Uvod 1
1.1 Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 Osnove kvantnih celi£nih avtomatov 5
2.1 Standardni model QCA celice . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Kvantni celi£ni avtomat . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3 Nadzor preklopa stanja v QCA celici z urinim signalom . . . . . . . . . . 13
2.4 Implementacija QCA ure . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.5 Fizi£na realizacija QCA celice . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.6 Osnovne �zikalne lastnosti QCA . . . . . . . . . . . . . . . . . . . . . . . 22
2.7 Modeliranje QCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.8 Logi£ni primitivi QCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.8.1 Linija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.8.2 Negator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.8.3 Majoritetna vrata . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.9 Logi£ne strukture QCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.10 Na£rtovalsko programsko orodje QCADesigner . . . . . . . . . . . . . . . 38
2.11 Raziskave na podro£ju QCA . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.11.1 Zgodovina raziskav . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.11.2 Raziskave na podro£ju razme²£anja in povezovanja v QCA . . . . 44
ix
x Kazalo
3 Izhodi²£a za razme²£anje in povezovanje logi£nih primitivov v QCA 49
3.1 Osnove �zi£nega snovanja logi£ne strukture . . . . . . . . . . . . . . . . . 49
3.1.1 Snovanje geometrije strukture . . . . . . . . . . . . . . . . . . . . . 50
3.1.2 Razme²£anje logi£nih primitivov . . . . . . . . . . . . . . . . . . . 53
3.1.3 Povezovanje logi£nih primitivov . . . . . . . . . . . . . . . . . . . . 54
3.2 Fizi£no snovanje logi£ne strukture na osnovi QCA . . . . . . . . . . . . . 56
3.3 Zasnova geometrije strukture . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.4 Opisi ciljev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.4.1 Razdelitev logi£nih primitivov v urine cone . . . . . . . . . . . . . 59
3.4.2 Dolo£anje ²tevila potrebnih urinih faz . . . . . . . . . . . . . . . . 60
3.4.3 Razme²£anje primitivov v posamezne urine cone . . . . . . . . . . 61
3.4.4 Medsebojno povezovanje logi£nih primitivov v strukturi . . . . . . 61
4 Na£rtovalska pravila 63
4.1 Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.2 Zahteve pri na£rtovalskih pravilih . . . . . . . . . . . . . . . . . . . . . . . 64
4.3 Na£rtovalska pravila za realizacijo logi£nih primitivov v eni urini coni . . . 66
4.4 Na£rtovalska pravila za realizacijo kriºanja linij . . . . . . . . . . . . . . . 72
4.5 Minimalna potrebna razdalja med razli£nimi logi£nimi primitivi . . . . . . 77
5 Metrike 81
5.1 Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.2 �tevilo potrebnih urinih faz za izra£un rezultata . . . . . . . . . . . . . . 83
5.3 Vsota dolºin vseh linij . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.4 �tevilo kotnih linij . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.5 Porabljena povr²ina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.6 �tevilo kriºanj linij . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
6 Algoritmi za razme²£anje in povezovanje v CMOS tehnologiji 89
6.1 Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.2 Algoritmi za razme²£anje v CMOS tehnologiji . . . . . . . . . . . . . . . . 90
6.3 Uporaba simuliranega ohlajanja za razme²£anje . . . . . . . . . . . . . . . 91
6.4 Algoritmi za povezovanje v CMOS tehnologiji . . . . . . . . . . . . . . . . 93
6.4.1 Uporaba iskanja po labirintu . . . . . . . . . . . . . . . . . . . . . 94
Kazalo xi
6.4.2 Uporaba iskanja po liniji . . . . . . . . . . . . . . . . . . . . . . . . 96
7 Postopki snovanja �zi£ne razmestitve QCA strukture 101
7.1 Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
7.2 Razdelitev logi£nih primitivov v urine cone . . . . . . . . . . . . . . . . . 102
7.3 Uporaba simuliranega ohlajanja za razme²£anje v QCA tehnologiji . . . . 104
7.4 Povezovanje logi£nih primitivov . . . . . . . . . . . . . . . . . . . . . . . . 109
8 Analiza rezultatov avtomatiziranega snovanja 119
8.1 Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
8.2 Avtomatsko zasnovane strukture kvantnih celi£nih avtomatov . . . . . . . 120
8.2.1 Struktura enobitnega polnega se²tevalnika . . . . . . . . . . . . . . 120
8.2.2 Struktura dvobitnega polnega se²tevalnika . . . . . . . . . . . . . . 134
8.2.3 Struktura 4/1 multiplekserja . . . . . . . . . . . . . . . . . . . . . 144
8.3 Procesna zahtevnost iskanja re²itve . . . . . . . . . . . . . . . . . . . . . . 154
8.4 Primerjava razvitih metod z ºe obstoje£imi metodami snovanja QCA . . . 154
8.5 Moºnosti za izbolj²ave iskanja re²itve . . . . . . . . . . . . . . . . . . . . . 155
9 Opis razvite aplikacije 161
9.1 Izbira programskega jezika in razvojnega okolja . . . . . . . . . . . . . . . 161
9.2 Shema aplikacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
9.3 Opis vhodnih in izhodnih podatkov . . . . . . . . . . . . . . . . . . . . . . 163
9.4 Uporaba aplikacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
10 Zaklju£ek 171
Literatura 175
1 Uvod
1.1 Uvod
Danes delovanje ve£ine digitalnih elektronskih naprav omogo£ajo integrirana vezja, rea-
lizirana na osnovi CMOS tehnologije. Zaradi nenehnega razvoja in potreb po u£inkovi-
tej²ih napravah se vezja stalno manj²ajo. Po Moorovem zakonu se ²tevilo tranzistorjev
(osnovnih gradnikov vezja) na enaki povr²ini vsaki dve leti podvoji [1]. Z miniaturizacijo
se ve£a tudi hitrost delovanja vezja, vendar se s pribliºevanjem tranzistorjev nanometr-
skim velikostim pojavljajo tudi teºave, pogojene s kvantnimi efekti [2]. Za premostitev
teh teºav so se za£ele porajati ideje o napravah, ki jih zakoni kvantne �zike ne bi omejevali,
temve£ bi jih naprave celo izkori²£ale. Kot ena izmed moºnih alternativ CMOS tehno-
logiji so se pojavili kvantni celi£ni avtomati (angl. Quantum-dot Cellular Automata -
QCA) [3]. Ta tehnologija za procesiranje izkori²£a kvantno tuneliranje, ki postavlja mejo
za miniaturizacijo klasi£nih tranzistorjev. Na tej osnovi naj bi nove naprave porabile
manj energije, pri tem pa bi bile manj²e in hitrej²e od dana²njih.
Osnovni gradnik kvantnega celi£nega avtomata je vpeljal C. S. Lent leta 1993. Gre
za povr²insko celico z dvema elektronoma in s ²tirimi kvantnimi pikami, razporejenimi
1
2 1 Uvod
v ogli²£a kvadrata. Posamezen elektron se nahaja v eni izmed pik. Zaradi delovanja
Coulombove sile se elektrona v izolirani celici razporedita v eno od dveh diagonalnih
leg. Slednji sovpadata s pomenom dvovrednostnega logi£nega stanje celice. Procesira-
nje in prenos podatkov med celicami v avtomatu omogo£ajo medsebojni elektrostati£ni
vplivi. Manj²e ²tevilo celic sestavlja logi£ni primitiv, ki izvaja dolo£eno logi£no opera-
cijo, podobno kot logi£na vrata implementirana s CMOS tehnologijo. Najpomembnej²i
predstavljeni primitivi so majoritetna vrata, negator in prenosna linija (angl. QCA wire)
[4]. Z majoritetnimi vrati je moºno realizirati logi£ni operaciji konjunkcije in disjunkcije,
tako da na²teti logi£ni primitivi tvorijo funkcijsko poln nabor dvoji²kih logi£nih funkcij.
Za realizacijo procesno uporabnega sistema je potrebno sestaviti kompleksno strukturo
iz velikega ²tevila logi£nih primitivov, ki so medsebojno povezani z linijami. Manj²e
strukture, kot sta se²tevalnik in mnoºilnik [4, 5, 6], lahko zasnujemo ro£no, za snovanje
ve£jih pa je nujno potrebno vpeljati metodologijo snovanja in ustrezno avtomatizirano
podporo.
Izum polprevodni²kih tranzistorjev sredi dvajsetega stoletja je omogo£il izdelavo ele-
ktronskih integriranih vezij. V prvih letih njihove izdelave so posamezni proizvajalci
razvili lastne na£ine snovanja. Z manj²anjem tranzistorjev, ve£anjem njihove gostote na
£ipu in posledi£no kompleksnej²imi vezji, se je pojavila potreba po formalizaciji enotne
metodologije snovanja. Slednjo sta skupaj z na£rtovalskimi pravili vpeljala avtorja Mead
in Conway [7]. To je vzpostavilo skupen jezik med snovalci sistemov in proizvodnimi stro-
kovnjaki, kar je omogo£ilo razvoj algoritmov za snovanje obseºnej²ih integriranih vezij.
Z uporabo metodologije in ob upo²tevanju na£rtovalskih pravil lahko sistemski arhitekti
zasnujejo kompleksno vezje, ki bo zado²£alo danim zahtevam in ga bo moºno izdelati.
Pod pojmom snovanja lo£ujemo med logi£nim in �zi£nim segmentom [8, 9, 10, 11]. Pri
prvem ustvarimo logi£no shemo vezja, rezultat �zi£nega segmenta pa je �zi£na razmesti-
tev realizacije vezja. Pri£ujo£e delo obravnava �zi£no snovanje, katerega osnovni cilj je
ustrezna razmestitev in povezava gradnikov vezja, ki realizirajo entitete v logi£ni shemi.
Hkrati z razvojem tehnologije za izdelavo integriranih vezij so se razvijale in nad-
grajevale tudi metode njihovega snovanja. Cilj metod razme²£anja (angl. placement) je
dolo£iti poloºaje gradnikov na £ipu, tako da bo vezje moºno �zi£no realizirati, pri tem
pa se optimizirajo razli£ni kriteriji. Tipi£ni so skupna dolºina povezav, dolºina povezav
na kriti£ni poti, gostota povezav, poraba energije in ostali. Metode povezovanja (angl.
routing) ob upo²tevanju na£rtovalskih pravil poveºejo ustrezne gradnike in pri tem mi-
1.1 Uvod 3
nimizirajo skupno dolºino povezav. Pri iskanju optimalne razmestitve in povezanosti
glede na dane pogoje je ve£ina tovrstnih problemov NP-teºkih. Pri snovanju se zato
uporabljajo temu primerne tehnike, kot so aproksimacijski algoritmi in razli£ne hevri-
stike. Tehnike iskanja razmestitve obsegajo simulirano ohlajanje [12], analiti£ne metode
[13, 14] ter metode na osnovi sil (angl. force-directed) [15] in na osnovi razdelitve (angl.
partitioning) [16]. Za povezovanje se med drugimi uporabljata Leejev algoritem [17] in
algoritem A* [18].
Metode za snovanje ra£unalni²kih vezij pospe²ujejo razvoj ra£unalnikov, hkrati pa
ra£unalnike izkori²£ajo za u£inkovito delovanje. Zaradi ogromnega ²tevila tranzistorjev
na £ipu je ro£no snovanje velikih sistemov postalo nemogo£e. S pove£evanjem proce-
sne mo£i se je razvijalo tudi ra£unalni²ko podprto snovanje integriranih vezij. �tevilna
programska orodja podpirajo logi£no in �zi£no snovanje ter testiranje. Njihov namen je
£imbolj avtomatizirati procese modeliranja, simulacije in veri�kacije od zasnove vezja do
za£etka njegove proizvodnje. Tako se lahko zasnujejo in simulirajo vse bolj kompleksna
vezja, ki jih je moºno �zi£no implementirati z razvojem proizvodne tehnologije.
Za snovanje vezij z velikim ²tevilom gradnikov sta tako kot v primeru CMOS tehnolo-
gije tudi pri kvantnih celi£nih avtomatih nujni formalizirana metodologija in ra£unalni²ka
podpora [19, 20, 21, 22, 23, 24, 25, 26]. Raziskave na tem podro£ju so smiselne ²e preden
je na voljo tehnologija proizvodnje, saj lahko pripomorejo k njenemu razvoju. �e pred
za£etkom proizvodnje se dolo£ijo ra£unsko uporabni in dejansko izvedljivi sistemi. S si-
mulacijo in analizo alternativnih procesnih platform lahko dolo£imo njihove zmoºnosti
in jih primerjamo z zmoºnostmi obstoje£e tehnologije.
Snovanje �zi£ne razmestitve realizacije strukture kvantnih celi£nih avtomatov je se-
stavljeno iz procesov razme²£anja in povezovanja. Pri prvem se na podlagi dolo£enih
kriterijev na povr²ino razme²£ajo logi£ni primitivi, ki se jih nato v procesu povezovanja
poveºe z linijami, sestavljenimi iz celic kvantnih celi£nih avtomatov. Razme²£anje in po-
vezovanje primitivov kvantnih celi£nih avtomatov je v marsi£em podobno razme²£anju
in povezovanju logi£nih gradnikov CMOS vezja. Oba procesa imata enak namen, ven-
dar tudi precej²nje razlike, zato metodologije s podro£ja CMOS ni mogo£e neposredno
uporabiti na novi platformi. Pomembni razliki sta med drugimi speci�£en urin signal
[27, 28, 29] in omejeno ²tevilo kriºanj linij [30, 31, 32, 33] pri kvantnih celi£nih avtoma-
tih. Kljub temu pa je metodologijo zaradi podobnosti moºno prilagoditi [34], pri £emer je
v pomo£ obseºna raziskanost snovanja integriranih vezij. Analiza ºe razvitih algoritmov
4 1 Uvod
bo pripomogla pri primerjavi in postavljanju standardov za nove metodologije.
2 Osnove kvantnih celicnih
avtomatov
2.1 Standardni model QCA celice
Koncept QCA celice (angl. QCA cell) sta vpeljala Lent in Tougaw v za£etku devetdesetih
let prej²njega stoletja [3]. Standardni model QCA celice sta ista avtorja predstavila v
delu [35]. Sestavljajo ga ²tiri kvantne pike, simetri£no razporejene v ogli²£a kvadrata,
kot je shemati£no prikazano na sliki 2.1(a). Kvantne pike predstavljajo krogi s premerom
D. Kvadrat s stranico b, ki vsebuje kvantne pike, ozna£uje logi£no mejo celice in ni del
�zi£ne realizacije [36]. Velikost modelirane QCA celice je dolo£ena z velikostjo stranice
b. Vodoravna in navpi£na razdalja med sredi²£ema pik je v obeh primerih enaka a.
Dolºina stranice kvadrata b je dvakrat ve£ja kot razdalja med sredi²£ema kvantih pik
[36]. Relacijo med stranico kvadrata in razdaljo med sredi²£ema pik izraºa ena£ba
b = 2a. (2.1)
�e se ve£je ²tevilo celic nahaja na dolo£eni povr²ini, potem z izrazom (2.1) dolo£ena
razdalja b zagotavlja, da med celicami ne bo pri²lo do nezaºelenih vplivov. Zato jo pri
obravnavi QCA celice uporablja ve£ avtorjev [36, 37, 5, 38, 6, 39].
5
6 2 Osnove kvantnih celi£nih avtomatov
Slika 2.1 Standardni model QCA celice. Slika (a) prikazuje geometrijo celice, slika (b) pa z indeksi ozna£ene kvantne
pike in tunelirne poti med njimi.
Kvantna pika je podro£je, v katerem je lahko lokaliziran elektri£ni naboj [40]. Obdana
je s pregradami elektri£nega potenciala (angl. potential barrier), ki se lahko spu²£ajo ali
dvigajo. Dovolj visoke potencialne pregrade zadrºijo kvantni delec, ki nosi elektri£ni
naboj, znotraj kvantne pike. V primeru QCA celice je nosilec naboja elektron.
V standardnem modelu QCA celice se nahajata dva mobilna elektrona. Lastnost
mobilnosti pomeni, da se lahko ob spu²£enih pregradah gibljeta med kvantnimi pikami
znotraj celice. Potencialne pregrade obkroºajo tudi vse pike znotraj celice in so dovolj
visoke, da elektrona ne moreta uiti izven omenjenih pik [27]. Zato se lahko posamezen
elektron nahaja le znotraj ene izmed prostih kvantnih pik v celici, ali pa prehaja med
dvema pikama v procesu kvantnega tuneliranja (angl. quantum tunneling). Kadar sta oba
elektrona lokalizirana v kvantnih pikah, je stanje QCA celice dolo£eno z lego elektronov.
Celica je izolirana takrat, ko na elektrone ne delujejo zunanji vplivi. Izolirana ce-
lica ima minimalno energijo, kadar je razdalja med elektronoma najve£ja, saj je tedaj
njuna medsebojna odbojna sila najmanj²a. QCA celica z minimalno energijo se nahaja v
osnovnem stanju (angl. ground state) [35]. Elektrona sta medsebojno najbolj oddaljena,
ko se nahajata vsak v svoji kvantni piki na eni od dveh diagonal v QCA celici. V stan-
dardnem modelu se QCA celica tako lahko nahaja v dveh razli£nih osnovnih stanjih, ki
sta dolo£eni z dvema legama elektronov. Taki legi, pri katerih ima QCA celica minimalno
energijo, sta prikazani na slikah 2.2(a) in 2.2(b). V izolirani celici sta obe legi energijsko
ekvivalentni in imata zato enako moºnost pojavitve. Tedaj je lokalizacija elektrona v
katerikoli kvantni piki enako verjetna, kar je shemati£no prikazano na sliki 2.2(c). QCA
2.1 Standardni model QCA celice 7
celica se takrat nahaja v nevtralnem stanju [4]. V tem stanju je verjetnost, da je lega
elektronov tak²na kot na sliki 2.2(a), enaka verjetnosti, da je lega elektronov tak²na kot
na sliki 2.2(b).
Slika 2.2 Dve energijsko minimalni razporeditvi elektronov v QCA celici ((a), (b)) in nevtralno stanje (c). Gostota
naboja v kvantni piki je predstavljena s £rnim krogom.
Lent [3] je de�niral pojem polarizacije (angl. polarization), ki ozna£uje stopnjo poraz-
delitve gostote naboja v kon�guracijah na sliki 2.2. Ve£ja ko je gostota naboja v kvantni
piki, bolj verjetno je, da je elektron zajet v njej. Stanju na sliki 2.2(a) je pripisana po-
larizacija P = −1, stanju na sliki 2.2(b) P = +1 in stanju na sliki 2.2(c) polarizacija
P = 0.
Izolirana QCA celica se nahaja v nevtralnem stanju s polarizacijo P = 0 [4]. Na
lege in premike elektronov znotraj celice vplivajo notranje in zunanje sile, kot je vpliv
Coulombovih sil zaradi prisotnosti elektronov v sosednjih celicah. Takrat se elektrona v
celici glede na zunanje vplive razporedita v stanje s polarizacijo -1 ali +1. Stanje celice
je moºno od£itati in interpretirati kot logi£no vrednost. Lent [3] je stanju s polarizacijo
-1 pripisal logi£no vrednost 0 in stanju s polarizacijo +1 logi£no vrednost 1. S tem se
osnovni gradnik QCA lahko uporabi za predstavitev dvovrednostno kodiranih podatkov.
Vsaka QCA celica tako lahko hrani en bit informacije.
Za procesiranje je poleg predstavitve podatkov potrebno zagotoviti tudi prehajanje
med stanji. To je v QCA celici omogo£eno s tuneliranjem mobilnih elektronov med
kvantnimi pikami. Zaradi zunanjih vplivov lahko elektrona prehajata med sosednjima
kvantnima pikama na isti vodoravni premici in med sosednjima pikama na isti navpi£ni
premici znotraj QCA celice, ni pa moºno tuneliranje po diagonali. Moºne tunelirne poti
so na sliki 2.1(b) ozna£ene s t. Zaradi potencialnih pregrad okrog celice se elektrona
stalno nahajata znotraj njenega obmo£ja. Z razporeditvijo ve£jega ²tevila QCA celic na
povr²ini in z vpisom vhodnih podatkov v izbrane vhodne QCA celice, je po dolo£enem
£asu moºno od£itati stanja izhodnih celic, ki predstavljajo rezultat procesiranja.
8 2 Osnove kvantnih celi£nih avtomatov
Slika 2.3 Rotirana QCA celica. Slika (a) prikazuje geometrijo rotirane celice, slika (b) pa z indeksi ozna£ene kvantne
pike in tunelirne poti med njimi.
Tougaw [4] je poleg standardnega modela predstavil rotirano QCA celico (angl. ro-
tated QCA cell), prikazano na sliki 2.3(a). Dve kvantni piki se nahajata na navpi£ni osi
in dve na vodoravni osi skozi center celice. Ta celica je identi£na celici na sliki 2.1, le
da je rotirana za 45◦. Razdalje z enako oznako na slikah 2.1(a) in 2.3(a) imajo enako
dolºino. �e obstaja tunelirna pot med kvantnima pikama z indeksoma i in j na sliki
2.1(b), obstaja tudi pot med pikama z enakima indeksoma na sliki 2.3(b). Za rotirano
celico veljajo enake lastnosti in pravila delovanja, kot za standardno QCA celico. Tudi
rotirana celica ima najmanj²o energijo, ko je razdalja med elektronoma v njej najve£ja.
Eno stanje z minimalno energijo je lega elektronov v kvantnih pikah na navpi£ni osi in
drugo energetsko ekvivalentno stanje lega v pikah na vodoravni osi. Obe legi elektro-
nov v rotirani QCA celici in njeno nevtralno stanje so prikazani na sliki 2.4. Tougaw je
stanju na sliki 2.4(a) pripisal polarizacijo -1 in logi£no vrednost 0, stanju na sliki 2.4(b)
pa polarizacijo +1 in logi£no vrednost 1. Na sliki 2.4(c) je prikazano nevtralno stanje s
polarizacijo 0.
Slika 2.4 Dve energijsko minimalni razporeditvi elektronov v rotirani QCA celici ((a), (b)) in nevtralno stanje (c).
2.2 Kvantni celi£ni avtomat 9
2.2 Kvantni celi£ni avtomat
QCA je zasnovan na arhitekturi celi£nih avtomatov [3]. Celi£ni avtomat je prostorsko
in £asovno diskreten dinami£en sistem [41], de�niran s £etverico (L, S, N , f) [42]. Ima
dolo£en prostor [41], ki ga predstavlja dvodimenzionalna pravokotna mreºa (angl. grid)
L. Kon£no mreºo velikosti n × m sestavlja n vrstic in m stolpcev. Element mreºe z
indeksom i je ozna£en s celicai in se imenuje podro£je (angl. site) ali celica (angl. cell).
Celica celicai se nahaja v stanju si, ki pripada kon£ni mnoºici stanj S. �as v celi£nih
avtomatih je diskreten. V £asovni to£ki t se dolo£i novo stanje si(t) celice celicai glede
na njeno stanje si(t− 1) v prej²nji £asovni to£ki t− 1 in glede na stanja kon£nega ²tevila
sosednjih celic. Sosedstvo celice celicar z indeksom r je dolo£eno z mnoºico indeksov
N(r), za katero velja
N(r) = {i ∈ L|r − i ∈ N}. (2.2)
Kon£na mnoºica N vsebuje indekse, za katere velja
∀c ∈ N,∀r ∈ L : r + c ∈ L. (2.3)
�tevilo sosednjih celic je enako |N |. Sosedstvo je vnaprej de�nirano in obsega celice,
ki so obi£ajno name²£ene skupaj v prostorskem smislu, zato je celi£ni avtomat lokalno
povezana struktura. Stanja celic se skozi £as spreminjajo po dolo£enih pravilih, de�niranih
s preslikavo f : S|N | → S. Stanje celice v £asu t je dolo£eno s preslikavo Ct : L → S,
s katero je za vsako celico v mreºi L dolo£eno stanje iz mnoºice S. Sprememba stanja
celice z indeksom r je dolo£ena z izrazom
Ct+1(r) = f({Ct(i)|i ∈ N(r)}). (2.4)
Z modelom celi£nega avtomata je moºno izvajati procesiranje. Na podlagi vhodnih
podatkov se dolo£ijo za£etna stanja celic v £asu t = 0. Po preteku dolo£enega ²tevila k
£asovnih korakov se rezultat procesiranja izra£una na podlagi stanj celic v £asu t = k.
Kvantni celi£ni avtomat deluje po podobnem principu kot celi£ni avtomat. Prostor
QCA predstavlja pravokotna mreºa, sestavljena iz kvadratnih podro£ij. Vsako podro£je
v mreºi je lahko prazno, ali pa je na njem name²£ena QCA celica. Vsaka QCA celica se
lahko nahaja ali v nevtralnem stanju, ali v enem izmed dveh stanj, ki ju interpretiramo
kot logi£ni vrednosti 0 in 1. Stanja QCA celic se spreminjajo po zakonih kvantne meha-
nike. Sosednost je dolo£ena z radijem, znotraj katerega ena QCA celica vpliva na ostale.
10 2 Osnove kvantnih celi£nih avtomatov
Zaradi lokalnega vpliva kvantnih �zikalnih zakonov je QCA lokalno povezana struktura.
QCA struktura ima vhodne QCA celice na enem robu pravokotne mreºe in izhodne
celice na nasprotnem robu. V splo²nem naj bodo vhodi na levi strani in izhodi na desni
strani mreºe. Procesiranje se pri£ne z vpisom za£etnega stanja v vhodne QCA celice.
Med vhodnimi in izhodnimi celicami se nahajajo notranje celice, ki imajo lahko dolo£eno
nespremenljivo �ksno stanje z logi£no vrednostjo 0 ali 1, ali pa so na za£etku procesiranja
v nevtralnem stanju (slika 2.2(c)). Tok podatkov poteka od vhodnih do izhodnih celic,
torej od leve proti desni strani mreºe. Po dolo£enem ²tevilu korakov se od£itajo stanja
izhodnih QCA celic na desnem robu mreºe, ki predstavljajo rezultat procesiranja.
Obi£ajno so QCA celice name²£ene v sredi²£e kvadratnega podro£ja v pravokotni
mreºi. Slika 2.5 prikazuje tri QCA celice v mreºi velikosti 3 × 3, kjer je vsaka QCA
celica name²£ena v sredi²£e podro£ja v mreºi. Stranica QCA celice je ozna£ena z b in
Slika 2.5 Tri QCA celice v mreºi velikosti 3 × 3. Vsaka QCA celica je name²£ena v sredi²£e podro£ja v mreºi. Stranica
QCA celice je ozna£ena z b, stranica podro£ja v mreºi pa s c. Razdalje med istoleºnimi robovi QCA celice in
podro£ja v mreºi so ozna£ene z d1.
stranica podro£ja v mreºi s c. Katerokoli podro£je v mreºi lahko vsebuje QCA celico,
2.2 Kvantni celi£ni avtomat 11
zato mora veljati b ≤ c. Na sliki 2.5 je vsaka QCA celica name²£ena v sredi²£e podro£ja
v mreºi, zato so razdalje med njunima levima, desnima, zgornjima in spodnjima roboma
enake. Vse na²tete razdalje so ozna£ene z d1. Razdalje na sliki 2.5 povezuje enakost
c = b+ 2d1. (2.5)
Linije v QCA so sestavljene iz zaporedja QCA celic. Sestavljajo jo lahko navadne ali
rotirane celice. Na sliki 2.6 sta prikazani vodoravna linija iz navadnih celic v srednji vrstici
mreºe in navpi£na linija v desnem stolpcu mreºe, ki jo sestavljajo rotirane QCA celice.
V tem primeru je za prenos signala iz vodoravne na navpi£no linijo potrebno zadnjo
Slika 2.6 Vodoravna linija iz navadnih QCA celic v srednji vrstici mreºe in navpi£na linija iz rotiranih celic v desnem
stolpcu mreºe. QCA celica v sredi²£u mreºe je zamaknjena navzdol.
QCA celico v vodoravni liniji zamakniti za polovico stranice podro£ja v mreºi navzgor
ali navzdol. Tedaj se sredi²£e QCA celice nahaja na meji med dvema podro£jema v
mreºi. Primer zamaknjene QCA celice je prikazan na sliki 2.6. QCA celica, ki bi se
v vodoravni liniji nahajala na podro£ju v sredi²£u mreºe, je zamaknjena za c2 navzdol.
Razdalje z enako oznako na slikah 2.5 in 2.6 imajo enako dolºino. Na sliki 2.6 je razdalja
12 2 Osnove kvantnih celi£nih avtomatov
med levima robovoma podro£ja v mreºi in QCA celice na njem enaka d1, tako kot na
sliki 2.5. Podobno je tudi razdalja med desnima robovoma enaka d1. Razdalja med
zgornjim robom zamaknjene QCA celice in zgornjim robom podro£ja v sredi²£u mreºe
je ozna£ena z d2. Enako dolºino ima razdalja med spodnjim robom zamaknjene QCA
celice in spodnjim robom podro£ja na dnu srednjega stolpca v mreºi. Za koli£ine na sliki
2.6 poleg ena£be (2.5) velja tudi
b+ 2d2 = 2c. (2.6)
Na sliki 2.7 je prikazan preprost QCA, sestavljen iz petintridesetih QCA celic, ki
so name²£ene na podro£ja v mreºi velikosti 10 × 10. QCA vsebuje tri vhodne celice,
x1
x2
x3
y1
y2
vhodnecelice izhodni
celici
P=+1
P=-1
celici sfiksnimstanjem
notranjecelice
Slika 2.7 Primer preprostega QCA.
ozna£ene z x1, x2 in x3. Dve izhodni celici sta ozna£eni z y1 in y2, ostale QCA celice
2.3 Nadzor preklopa stanja v QCA celici z urinim signalom 13
pa so notranje. V vhodne celice se vpi²ejo vhodni podatki in po dolo£enem £asu se iz
izhodnih celic od£ita rezultat procesiranja. Notranje celice so razdeljene na dve vrsti [4]:
celice s �ksno dolo£enim za£etnim stanjem: tak²ne celice imajo stalno polarizacijo
-1 ali +1 in so v QCA name²£ene z namenom, da neprestano vplivajo na sosednje
celice;
delovne celice, katerih stanje se med procesiranjem lahko spreminja: med procesi-
ranjem se njihova stanja dolo£ijo glede na vplive sosednjih QCA celic, tako da je
skupna energija QCA minimalna.
Procesiranje poteka od vhodnih QCA celic na levem robu mreºe do izhodnih celic na
njenem desnem robu. Razporeditev elektronov v notranjih celicah s£asoma dolo£i stanje
v izhodnih celicah.
2.3 Nadzor preklopa stanja v QCA celici z urinim signalom
Kvantnomehanski sistem se nahaja v osnovnem stanju takrat, ko ima najmanj²o moºno
energijo. Vsako stanje z ve£jo energijo je vzbujeno stanje (angl. excited state). Slednje
je obi£ajno kratkotrajno, ker sistem z oddajanjem energije prehaja proti osnovnemu
stanju. Lahko pa sistem doseºe lokalni energetski minimum, ki ni enak minimalni moºni
energiji. Tedaj se nahaja v dolgotrajnem vzbujenem stanju, imenovanem metastabilno
stanje (angl. metastable state).
Ob predstavitvi QCA je Lent [3] uvedel koncept procesiranja z osnovnim stanjem
(angl. computing with the ground state). Z vpisom stanja v vhodne QCA celice se v
sistem vnese energija in ta preide iz za£etnega osnovnega v vzbujeno stanje z ve£jo ener-
gijo. Po £asu t se QCA ustali v kon£nem osnovnem stanju, iz katerega se razbere rezultat
procesiranja. Princip procesiranja z osnovnim stanjem dolo£a, da je za rezultat proce-
siranja pomembno le kon£no osnovno stanje sistema, ki je neodvisno od mehanizmov
oddajanja energije ob prehodu iz vzbujenega v osnovno stanje. Sprva je Lent predlagal,
da se za£etna stanja nenadno vpi²ejo v vhodne QCA celice in se jih nato ne spreminja,
dokler se sistem ne ustali v kon£nem osnovnem stanju. Tak²no prehajanje stanj imenu-
jemo za grobo preklapljanje (angl. abrupt switching) z disipacijo energije v okolje (angl.
dissipative coupling to the environment).
Pri preu£evanju dinamike delovanja QCA z grobim preklapljanjem sta Tougaw in Lent
[35] naletela na problem metastabilnih stanj. Med grobim preklapljanjem stanj lahko
14 2 Osnove kvantnih celi£nih avtomatov
sistem zaide v dolgotrajno metastabilno stanje, kar nepredvidljivo pove£a £as umirjanja
t. Vendar uporabnost QCA s stali²£a procesiranja zahteva, da se sistem po vnaprej
znanem konstantnem £asu ustali v osnovnem stanju, ki edino dolo£a logi£no pravilen
rezultat procesiranja.
Re²itev z uporabo adiabatnega preklapljanja (angl. adiabatic switching) sta avtorja
predlagala v [27]. Pri tem pristopu je prehajanje stanj nadzorovano in poteka postopno.
Za£etna stanja se v vhodne celice ne vpi²ejo nenadno, ampak vpis poteka zadosti po£asi,
kar prepre£i pojav metastabilnih stanj. Postopno prehajanje sestavlja ve£ faz, v katerih
se iz QCA celice odstrani staro stanje in se jo pripravi za dolo£itev novega. Tak²en
preklop stanja se lahko izvede v katerikoli £asovni to£ki in se lahko med procesiranjem
ve£krat ponovi. �e je preklop izveden dovolj po£asi, sistem gladko preide iz predhodnega
stanja v trenutno osnovno stanje. Adiabatno preklapljanje tako zagotavlja, da se QCA
stalno nahaja v trenutnem osnovnem stanju, dolo£enim s stanjem vhodnih QCA celic
in trenutno fazo preklopa. S tem je prepre£ena moºnost, da bi sistem QCA za²el v
metastabilno stanje [27].
Kontrola preklopa se izvaja z nadzorom tuneliranja mobilnih elektronov med kvan-
tnimi pikami v QCA celici, implementiranim z urinim signalom (angl. clock signal), ki
dolo£a vi²ine potencialnih pregrad med pikami. Pri dvignjenih pregradah je tuneliranje
onemogo£eno, pri spu²£enih pregradah pa lahko elektrona prosto tunelirata med pikami.
V fazi onemogo£enega tuneliranja se stanje QCA celice ne more spremeniti. V tej fazi ce-
lica sluºi kot vhodna QCA celica, ki s svojim zaklenjenim stanjem vpliva na spremembo
stanja sosednjih celic. Ko je potrebno spremeniti stanje celice glede na njene sosede,
mora urin signal preiti v fazo omogo£enega tuneliranja.
Urin signal vsebuje fazo z dvignjenimi potencialnimi pregradami in fazo s spu²£enimi
pregradami. Prehod med tema dvema fazama ni izveden v trenutku, pa£ pa med njima
potekata ²e fazi spu²£anja in dviganja pregrad. Tako torej urin signal skupno sestavljajo
²tiri urine faze (angl. clock phase). Vi²ine potencialnih pregrad med kvantnimi pikami
v posamezni urini fazi so ponazorjene z diagramom na sliki 2.8. �tiri faze QCA ure, kot
jih je predstavil in poimenoval Lent [27], so:
Faza preklopa (angl. switch phase - S ): Na za£etku faze preklopa so potencialne
pregrade spu²£ene, kar omogo£a tuneliranje elektronov med kvantnimi pikami v
QCA celici. Takrat se celica nahaja v nevtralnem stanju. Skozi fazo se pregrade
2.3 Nadzor preklopa stanja v QCA celici z urinim signalom 15
dvigujejo, dokler ne doseºejo zgornje meje, pri kateri je tuneliranje onemogo£eno.
Polarizacija celice prehaja od P = 0 proti dolo£eni vrednosti P = −1 oziroma
P = +1, ki je odvisna od polarizacije vhodnih in sosednjih celic. V tej fazi se torej
vr²i dejansko procesiranje.
Faza zadrºevanja (angl. hold phase - H ): Vi²ina potencialnih pregrad je stalno na
najvi²ji ravni, zato se razporeditev elektronov v QCA celici ne spreminja. Celica
lahko sluºi kot vhodna celica za sosede, v katerih preklop stanja kontrolira urin
signal v fazi preklopa. Po drugi strani pa ima lahko celica vlogo izhodne celice
celotnega QCA, pri £emer je moºno razbrati njeno stanje in ga interpretirati kot
logi£no vrednost.
Faza spro²£anja (angl. release phase - R): V tej fazi se potencialne pregrade
spu²£ajo in celica ponovno preide v nevtralno stanje. Faza spro²£anja sluºi izbrisu
starega stanja iz QCA celice.
Faza spro²£enosti (angl. relaxed phase - L): Potencialne pregrade so spu²£ene in
elektrona lahko neovirano tunelirata med kvantnimi pikami. QCA celica ostaja v
nevtralnem stanju s polarizacijo P = 0.
potek urinega signala
viš
ine p
regra
d
preklop zadrževanje sproščanje sproščenost
Slika 2.8 Vi²ine potencialnih pregrad med kvantnimi pikami znotraj QCA celice v posamezni fazi QCA urinega signala.
Vse urine faze trajajo enako dolgo in si sledijo v zaporedju, prikazanem na sliki 2.8.
Urin signal je cikli£en, tako da si vse ²tiri urine faze periodi£no sledijo v navedenem
zaporedju. Minimalni £as trajanja enega cikla Tcikel je sorazmeren s ²tevilom celic N , ki
jih kontrolira urin signal [27]:
Tcikel ∝ N. (2.7)
Tem ve£ QCA celic kontrolira urin signal, dalj²a mora biti njegova perioda, tako da bo
zaporedno procesiranje potekalo pravilno.
16 2 Osnove kvantnih celi£nih avtomatov
Generiranje urinega signala omogo£a elektroda, ki je name²£ena pod plastjo substrata
s QCA celicami. Ena elektroda lahko kontrolira eno samo QCA celico ali pa ve£jo
skupino celic. Poleg tega se lahko pod plastjo substrata nahaja ve£je ²tevilo elektrod, od
katerih vsaka kontrolira svojo skupino celic. Urina cona (angl. clocking zone) je omejeno
obmo£je v mreºi, sestavljeno iz mnoºice sosednjih kvadratnih podro£ij. Dolo£ena je z
obmo£jem, pod katerim se nahaja ena elektroda. Vsaka elektroda dolo£a natanko eno
urino cono. Preklope stanj vseh QCA celic v isti urini coni nadzoruje ista elektroda.
Na podlagi navedenih dejstev je Lent zasnoval cevovodno (angl. pipelined) arhitek-
turo QCA z adiabatnim preklapljanjem, v kateri je QCA razdeljen na particije. Med
particijami in urinimi conami obstaja bijektivna preslikava, tako da vse QCA celice v
isti particiji spadajo v isto urino cono. Posamezna elektroda sedaj generira enega od
²tirih urinih signalov, ki so med seboj fazno zamaknjeni. Ko se prvi signal nahaja v fazi
preklopa, je drugi v fazi spro²£enosti, tretji v fazi spro²£anja in £etrti v fazi zadrºevanja.
Vsak signal posebej ²e vedno poteka v zaporedju, ki je prikazano na sliki 2.8. So£asen
potek ²tirih medsebojno fazno zamaknjenih urinih signalov ponazarja graf na sliki 2.9.
Vsaka particija v cevovodni arhitekturi QCA deluje kot procesni sistem z vhodi in
izhodi. Vzemimo za primer sosednje particije P1, P2 in P3. Preklope stanj QCA celic
v P1 nadzoruje urin signal US1, preklope stanj v P2 signal US2 in preklope v P3 signal
US3 . Ko se US1 nahaja v fazi zadrºevanja in US2 v fazi preklopa, sluºijo celice v P1
blizu skupnega roba s P2 kot vhodne celice za P2. Stanja celic v P2 se dolo£ijo glede
na stanja vhodnih celic. Signal US3 je v fazi spro²£enosti, zato da ne moti prehajanja
stanj celic v P2. Tako se lahko s celicami v P2 izoblikuje vmesni rezultat procesiranja. V
naslednjem £asovnem koraku je US1 v fazi spro²£anja, US2 v fazi zadrºevanja in US3 v
fazi preklopa. Sedaj so celice v P2 blizu skupnega roba s P3 vhodne celice za P3. Opisani
postopek se ponavlja, dokler kon£ni rezultat procesiranja ni zapisan v izhodnih celicah
celotnega QCA.
V primeru na sliki 2.10 je mreºa razdeljena na pet urinih con UC1, UC2, UC3, UC4 in
UC5. Tudi QCA je razdeljen na pet particij P1, P2, P3, P4 in P5, tako da je vsaka QCA
celica v particiji Pi name²£ena na neko podro£je v urini coni UCi. Za pravilno smer toka
podatkov od vhodnih do izhodnih celic QCA morajo elektrode pod zaporednimi urinimi
conami generirati ustrezno zamaknjene urine signale. Vzemimo, da prehajanja stanj v
UC1 nadzoruje signal US1, v UC2 signal US2, v UC3 signal US3 in v UC4 signal US4.
Zaradi cikli£nosti mora preklop v coni UC5 nadzorovati signal US1. Naj bo signal US1
2.3 Nadzor preklopa stanja v QCA celici z urinim signalom 17viš
ine p
regra
d
potek urinega signala
urin signal 1 ( )US1
urin signal 2 ( )US2
urin signal 3 ( )US3
urin signal 4 ( )US4
Slika 2.9 Potek ²tirih medsebojno fazno zamaknjenih urinih signalov. Signal 2 je za eno fazo zamaknjen od signala 1,
signal 3 je za eno fazo zamaknjen od signala 2 in za dve fazi od signala 1, itd.
v fazi preklopa. Tedaj mora biti US2 v fazi spro²£enosti, US3 v fazi spro²£anja in US4
v fazi zadrºevanja.
Cevovodno delovanje omogo£a spro²£anje QCA celic, ki so ºe opravile procesiranje
in vmesni rezultat posredovale celicam v naslednji particiji. Proste celice se uporabijo
za nadaljnje procesiranje. Kadar se urin signal v k particijah nahaja v fazi preklopa, se
v QCA so£asno izvaja k neodvisnih procesiranj. S tem se pove£a prepustnost celotnega
QCA. Zakoni termodinamike omejujejo ²tevilo QCA celic, ki lahko hkrati preidejo v
novo logi£no pravilno stanje. Zato je potrebno QCA celice porazdeliti v ve£ manj²ih
skupin, v katerih lahko vse celice hkrati preidejo v novo stanje. Razdelitev QCA v urine
cone dopu²£a so£asni preklop manj²im skupinam celic in tako pove£uje moºnost uporabe
QCA. Z uporabo QCA ure se lahko dolo£i smer toka podatkov v QCA. Ura sluºi tudi za
18 2 Osnove kvantnih celi£nih avtomatov
UC1
UC2
UC3
UC4
UC5
Slika 2.10 Primer cevovodne arhitekture QCA. Mreºa velikosti 10c × 10c je razdeljena na pet urinih con, poimenovanih
UC1, UC2, UC3, UC4 in UC5. Vse imajo enako obliko pokon£nega pravokotnika s ²irino 2c in vi²ino 10c.
Podro£ja v isti coni so obarvana z isto barvo. Tok podatkov poteka od levega proti desnemu robu mreºe,
torej od UC1 do UC5.
oja£itev signala, ki poteka po QCA celicah [43, 44]. Energija signala se manj²a zaradi
disipacije v okolje. �e signal nima dovolj energije, pride do izgube informacije. Ura
dovaja energijo tako, da pri preklopu obnovi stanje v popolno polarizacijo. S tem se tudi
popolnoma obnovi informacija, ki jo signal nosi po QCA celicah.
2.4 Implementacija QCA ure
Vpeljavo QCA urinega signala sta predlagala Lent in Tougaw v [27]. Generirajo ga pod
QCA celicami name²£ene elektrode, ki ustvarjajo elektri£no polje. Smer in jakost polja
dolo£ata vi²ino potencialnih pregrad med kvantnimi pikami znotraj celice [29]. Cikli£no
spreminjanje smeri in jakosti polja ustreza cikli£nemu QCA signalu s ²tirimi fazami.
Urin signal generirajo elektrode, ki z ustvarjanjem elektri£nega oziroma magnetnega
polja dolo£ajo vi²ino potencialnih pregrad med kvantnimi pikami. Elektrode se nahajajo
2.4 Implementacija QCA ure 19
pod plastjo substrata s QCA celicami [29, 45], kot je prikazano na sliki 2.11.
Slika 2.11 Elektrode, ki ustvarjajo elektri£no oziroma magnetno polje, potekajo pod plastjo substrata s QCA celicami.
Vse QCA celice nad isto elektrodo pripadajo isti urini coni.
Elektrode pod plastjo substrata s QCA celicami sestavljajo vezje, ki omogo£a ustvar-
janje ustrezno fazno zamaknjenega urinega signala v vsaki urini coni. Tako vezje je mo-
go£e zasnovati z uporabo obstoje£ih na£rtovalskih pravil za snovanje CMOS vezja. Vezje
je lahko izdelano iz silicijevih elektrod, poloºenih na plast, ki je name²£ena pod plastjo
substrata in poteka vzporedno z njo [20]. Kompleksno urino vezje pa lahko onemogo£i
prednosti, ki jih ponuja QCA tehnologija glede na sedanje CMOS sisteme. Po£asno kom-
pleksno urino vezje ne bi dovoljevalo izkori²£anja visoke hitrosti preklopa stanj v QCA
celicah. Poleg tega je lahko ²irina elektrode nekajkrat ve£ja od velikosti uporabne QCA
celice. Zaradi teh dejstev je potrebno pri snovanju QCA upo²tevati tudi realizacijo vezja
za generiranje urinega signala. Kot alternativno implementacijo urinega vezja so predla-
gali realizacijo z ogljikovimi nanocevkami s ²irino velikostnega reda nanometra [46], za
kar pa mora tehnologija ²e dozoreti.
Realizacijo z uro nadzorovane QCA celice na osnovi kovinskih otokov je predlagal
Toth [47] in eksperimentalno izvedel Orlov s sodelavci [48]. V ta namen so izdelali celico
s ²estimi kovinskimi otoki. Shemo urinega vezja za nadzor preklopa molekularnih QCA
celic je predstavil Hennessy [29]. V objavljeni shemi urin signal omogo£a elektri£no polje,
20 2 Osnove kvantnih celi£nih avtomatov
ki ga ustvarjajo ºice pod QCA celicami. Vpeljavo ure v molekularni QCA obravnava
tudi Lent [49]. Pri magnetni implementaciji QCA je urin signal realiziran z uporabo
magnetnega polja [50]. V [51] so avtorji eksperimentalno izdelali z uro nadzorovana
logi£na vrata v tehnologiji magnetnega QCA. Eksperimente z uporabo bakrenih elektrod
s ²irinami od 1 do 2,4 µm in dolºino 500 µm so predstavili v delu v [45]. Pri tem so
uporabili QCA celice velikosti 57 × 95 × 30 nm in 62 × 102 × 30 nm.
2.5 Fizi£na realizacija QCA celice
Vsak logi£ni primitiv, ki je zgrajen na osnovi QCA, je sestavljen izklju£no iz QCA ce-
lic. Za prakti£no uporabo je seveda nujno QCA celico �zi£no izdelati. Ob predstavitvi
modela koncepta QCA je Lent [3] predlagal realizacijo celice s polprevodniki, kasneje pa
so se pojavile nove ideje za izdelavo. Realizacija QCA celice je odvisna od tehnologije
implementacije QCA. Vse realizacije ne temeljijo na standardnem modelu QCA celice,
vendar delujejo po istem principu. Vsem je skupno dejstvo, da se celica lahko nahaja v
razli£nih stanjih. Posamezna QCA celica se vedno nahaja v natanko enem stanju. Ka-
terokoli stanje je moºno vpisati v vhodno celico in ga od£itati iz izhodne celice. Stanje
QCA celice se lahko spremeni zaradi notranjih in zunanjih vplivov, pravila prehoda iz
starega v novo stanje pa dolo£ajo zakoni kvantne mehanike.
Danes so splo²no znani ²tiri razli£ni tipi realizacije QCA celice. Vsaka od njih ima
svoje prednosti in slabosti, ki so orisane v naslednjih alinejah:
Polprevodni²ki QCA (angl. semiconductor QCA): Uporaba polprevodnikov [3]
je bila prva ideja za realizacijo QCA celice. Njena prednost je v moºnosti izko-
ri²£anja visoko razvite tehnologije izdelave polprevodni²kih naprav [52]. Lent je
predlagal realizacijo standardne QCA celice velikosti velikostnega reda 10 nm v
GaAs/AlGaAs sistemu, v katerem so tudi izvedli eksperimente [53, 54]. Realizi-
rali so tudi QCA celico na osnovi silicija [55]. Do tega trenutka tehnologija ²e ne
omogo£a masovne proizvodnje polprevodni²ke QCA celice tak²nega velikostnega
reda. �tevilni avtorji uporabljajo polprevodni²ko QCA celico kot prototipni model
v svojih raziskavah. Lent [3] je prve izra£une izvedel na modelu s parametri a = 20
nm, b = 40 nm in D = 10 nm.
Realizacija s kovinskimi otoki (angl. metal-island QCA): V tej realizaciji je
kvantna pika izdelana iz aluminijevega otoka. Dve piki, med katerima sme tuneli-
2.5 Fizi£na realizacija QCA celice 21
rati elektron, sta povezani z Al/AlOx/Al vezjo. Izdelavo QCA celice s kovinskimi
otoki je predlagal Lent [56], realiziral pa jo je Orlov s sodelavci [57]. S predstavljeno
realizacijo so izvedli ve£ eksperimentov [58, 59, 60, 61, 62, 63]. Opisana realizacija
je bila izvedena predvsem kot dokaz, da je moºno QCA celice �zi£no izdelati. Re-
alizacija ima namre£ zelo omejene moºnosti skalabilnosti. Aluminijev otok je v
velikostnem redu enega µm, zato lahko celica deluje le pri izjemno nizki tempera-
turi blizu absolutne ni£le. Amlani [58, 64] je izvedel eksperiment s parametri a = 3
µm, b = 6 µm in D = 1, 4 µm.
Molekularni QCA (angl. molecular QCA): Molekularno realizacijo sta predlagala
Lent in Tougaw [35]. Vsaka celica je zgrajena iz ene same molekule velikostnega
reda 1 nm [64, 65, 66]. Tako majhna celica prina²a pomembne prednosti mole-
kularne realizacije pred ostalimi. Med prednostmi so velika gostota QCA celic v
sistemu, velika hitrost preklopa stanja in delovanje pri sobni temperaturi. Mole-
kularna realizacija prina²a tudi naravno simetri£nost celice in moºnost masovne
izdelave s postopkom samosestavljanja (angl. self-assembly). Trenutno ²e ni raz-
vite tehnologije, ki bi omogo£ala name²£anje posamezne molekule in interakcijo
med molekulo in okoljem. Lent [66] je predlagal uporabo molekule 1,4-dialil butan
radikal kation, pri kateri so dolo£ene vrednosti a = 0, 7 nm, b = 1, 4 nm in D = 0, 5
nm.
Magnetni QCA (angl. magnetic QCA): Idejo realizacije z nanomagneti sta vpe-
ljala in jo eksperimentalno realizirala Cowburn in Welland [67]. QCA celica je v
tem primeru sestavljena iz enega samega nanomagneta velikosti od 10 do 100 nm
[50, 51, 68]. Magnetna celica ne sovpada ve£ s standardnim modelom, ²e vedno
pa deluje po enakem principu. Celica se lahko nahaja v dveh razli£nih stanjih,
dolo£enih z magnetizacijo nanomagneta. Elektrostati£ne sile, ki v standardnem
modelu omogo£ajo interakcijo med celicami, so v magnetnem modelu nadome²£ene
z magnetnimi silami. Prednost magnetne realizacije je v tem, da lahko tudi rela-
tivno velike QCA celice delujejo pri sobni temperaturi, njena slabost pa je po£asen
preklop. Ker je magnetna QCA celica v celoti enaka nanomagnetu, parametri a, b
in D tu nimajo pomena. V delu [68] so avtorji modeliranje osnovali na QCA celici,
dolo£eni z nanomagnetom v obliki kvadra velikosti 20 nm × 60 nm × 120 nm.
Fizi£no je QCA sestavljen iz ve£ plasti. Na spodnji plasti se nahaja vezje, ki generira
22 2 Osnove kvantnih celi£nih avtomatov
urin signal. Nad njim je plast substrata, na katerem so name²£ene QCA celice. V ve£-
nivojski realizaciji QCA [69] se nad prvo plastjo substrata nahaja ²e ve£ enakih plasti.
Ve£nivojski QCA je sestavljen iz ²tirih plasti substrata. Na prvi plasti QCA celice sesta-
vljajo logi£no vezje. Naslednji dve plasti sta namenjeni za vertikalno povezavo (angl. via)
od spodnje do najbolj zgornje plasti substrata. Vertikalno povezavo sestavljajo navadne
QCA celice. Zaradi predstavitve v dvodimenzionalnem prostoru jih ozna£ujemo s simboli
s slike 2.12(a). Vse celice v vertikalni povezavi se nahajajo na navpi£ni osi, ki poteka
(a) (b)
Slika 2.12 Prikaz celice v vertikalni povezavi (a). Prikaz celice na zgornji plasti (b).
od spodnje do zgornje plasti substrata. Najbolj zgornja plast substrata je namenjena za
name²£anje QCA celic v linijah, ki se kriºajo z linijami na prvi plasti. Celice na zgornji
plasti ozna£ujemo s prikazom na sliki 2.12(b).
2.6 Osnovne �zikalne lastnosti QCA
Velikost elektri£nega naboja enega elektrona, ozna£ena s qelektron, je podana z ena£bo
qelektron = −e, (2.8)
kjer je e elementarni naboj. Vrednost elementarnega naboja je pribliºno 1,602 × 10−19
C. Ker mora biti QCA celica elektrostati£no nevtralna [70], je vsaki kvantni piki prirejen
naboj qpika z velikostjo
qpika =e
2. (2.9)
Vsota nabojev v celici s ²tirimi kvantnimi pikami in dvema elektronoma je enaka
4qpika + 2qelektron = 0, (2.10)
kar zagotavlja elektrostati£no nevtralnost celice.
Vsaka kvantna pika je ozna£ena z indeksom iz mnoºice {1, 2, 3, 4}. Razmestitev z
indeksi ozna£enih pik v standardnem modelu QCA celice je prikazana na sliki 2.1(b),
2.6 Osnovne fizikalne lastnosti QCA 23
razmestitev pik v rotirani celici pa na sliki 2.3(b). Skupen naboj qi pike i je odvisen od
prisotnosti elektrona v tej piki. Kadar je elektron popolnoma lokaliziran v piki i, je njen
naboj
qi = qpika + qelektron = −e2, (2.11)
£e pa ni mogo£e, da se elektron nahaja v tej piki, je njen naboj enak qpika:
qi = qpika =e
2. (2.12)
Gostota naboja ρi v kvantni piki i se izra£una z ena£bo
ρi =qi − qpika
−e. (2.13)
Vrednosti gostote se nahajajo na intervalu [0, 1]. V robnih primerih, ko je verjetnost
lokalizacije elektrona v piki i enaka 0 oziroma 1, je tudi gostota naboja ρi enaka 0
oziroma 1. Polarizacija P v standardnem modelu QCA celice je po [70] de�nirana kot
P =(ρ1 + ρ3)− (ρ2 + ρ4)
ρ1 + ρ2 + ρ3 + ρ4. (2.14)
Procesiranje z osnovnim stanjem je zelo ob£utljivo na temperaturo okolja. �e ter-
mi£ne �uktuacije povzro£ijo pove£anje skupne energije celic v QCA, tako da je ta ve£ja
od energije njegovega osnovnega stanja, se lahko stanja celic neºeleno spremenijo, kar
privede do logi£no nepravilnega rezultata. Energija vzbujanja (angl. excitation energy)
je zunanja energija, ki povzro£i neºeleno spremembo stanja celice. Pri robustnem delo-
vanju QCA ne sme priti do neºelenih zunanjih vplivov ºe pri majhni energiji, zato mora
biti energija vzbujanja £im ve£ja. �eleno je, da je njena vrednost veliko ve£ja od kbT
[27], kjer je kb = 1, 381× 10−23 J/K Boltzmannova konstanta in T temperatura okolja v
kelvinih. Manj²a kot je QCA celica, ve£ja je razlika med energijama osnovnega in vzbu-
jenega stanja. Zato je ve£ja energija vzbujanja, s tem pa je moºna vi²ja temperatura
okolja, v katerem deluje QCA. Lent je izra£unal maksimalno temperaturo, pri kateri naj
bi standardna polprevodni²ka QCA celica z razdaljo med kvantnima pikama a = 20 nm
²e delovala. Ta zna²a komaj 7 K, medtem ko bi lahko molekularna celica z a = 2 nm
delovala tudi pri 700 K.
Lent [27] je predstavil primer linije, sestavljene izN zaporedno name²£enih QCA celic,
po kateri se prena²a signal z logi£no vrednostjo 1. V osnovnem stanju linije se vse celice
nahajajo v stanju z logi£no vrednostjo 1. Pri kon�guraciji v vzbujenem stanju se prvihm
celic v liniji nahaja v stanju z vrednostjo 1 in ostalih N −m celic v stanju z vrednostjo 0.
24 2 Osnove kvantnih celi£nih avtomatov
Energijo vzbujanja, ki je potrebna za neºeleno spremembo stanja celice in s tem prehod
iz osnovnega v vzbujeno stanje, je Lent ozna£il z Ek. Slednja je neodvisna od vrednosti
m in dolºine linije N , se pa z ve£jim N ve£a ²tevilo moºnih napa£nih kon�guracij in s
tem entropija vzbujenega stanja. Lent je izra£unal zgornjo mejo ²tevila QCA celic v liniji
znotraj ene urine cone Nmax, ki zna²a
Nmax = eEk/kbT . (2.15)
2.7 Modeliranje QCA
Za modeliranje in simulacijo delovanja QCA je bilo razvitih ve£ razli£nih modelov. Med
seboj se razlikujejo v bolj ali manj natan£ni �zikalni obravnavi sistema QCA. Neka-
teri poenostavljeno upo²tevajo le zakone klasi£ne mehanike, drugi pa vklju£ujejo tudi
kompleksnej²o kvantnomehansko analizo. Nekateri modeli ne omogo£ajo simulacije di-
nami£nega delovanja sistema, temve£ le veri�kacijo logi£ne funkcionalnosti. Simulacije
obna²anja razli£nih modelov imajo razli£ne ra£unske kompleksnosti. Za analizo modelov
z eksponentno zahtevnostjo se uporabljajo tehnike z manj²o ra£unsko kompleksnostjo, s
katerimi se izra£unajo pribliºne vrednosti dejanskega rezultata. V nadaljevanju so opi-
sani trije modeli QCA in sicer polklasi£ni model, bistabilna aproksimacija in model na
osnovi koheren£nega vektorja.
Eden izmed enostavnih modelov je polklasi£ni model (angl. semiclassical model), ki
ga je predstavil Macucci [71]. Elektrone obravnava kot klasi£ne delce, vendar pri tem
omogo£a njihovo tuneliranje med kvantnimi pikami, kar je posebnost kvantne mehanike.
Elektrostati£na energija QCA je v polklasi£nem modelu izraºena z energijo sistema to£-
kovnih nabojev
E =∑i =j
qiqj4πε0εrrij
, (2.16)
kjer je qi skupen naboj pike i, qj skupen naboj pike j, ε0 = 8, 854 × 10−12 F/m dielek-
tri£nost vakuuma, εr relativna dielektri£nost medija in rij razdalja med pikama i in j.
S pregledom vseh moºnih kombinacij vrednosti nabojev v pikah se izra£una minimalna
energija. Tako se ugotovi, kdaj se sistem nahaja v osnovnem stanju in kak²na je takrat
kombinacija vrednosti nabojev v pikah. Na podlagi slednje se dolo£i polarizacije celic v
simuliranem QCA. Zaradi eksponentne £asovne zahtevnosti je simulacija z uporabo pol-
klasi£nega modela primerna le za QCA z majhnim ²tevilom celic, za simuliranje velikih
2.7 Modeliranje QCA 25
QCA pa se uporabljajo hevristi£ne metode.
Bistabilni modeli (angl. bistable models) poenostavljeno obravnavajo vsako QCA
celico kot dvostanjski sistem. V takih modelih imata celici i in j ali enako ali pa nasprotno
polarizacijo. Elektrostati£na energija med kvantno piko v celici i in piko v celici j je
podana z ena£bo
Ei,j =qiqj
4πε0εrrij, (2.17)
kjer je qi skupen naboj pike v celici i, qj skupen naboj pike v celici j, ε0 dielektri£nost
vakuuma, εr relativna dielektri£nost medija in rij razdalja med pikama i in j. Vsota
izraza (2.17) po vseh pikah v celicah i in j dolo£a energijo sistema celic i in j:
Ei,j =∑i,j
Ei,j . (2.18)
Z uporabo izrazov (2.17) in (2.18) se izra£unata energija E1i,j sistema celic i in j z isto
polarizacijo in energija E2i,j sistema celic i in j z nasprotnima polarizacijama. Energija
Eki,j se izra£una kot razlika
Eki,j = E2
i,j − E1i,j . (2.19)
Za vsako dvostanjsko celico i se lahko dolo£i Hamiltonova matrika Hi, ki predstavlja
njeno energijo [72]:
Hi =∑j
−12PjE
ki,j −γi
−γi 12PjE
ki,j
. (2.20)
Pj je polarizacija celice j, kjer vsota poteka po vseh celicah, ki so od celice i oddaljene
manj od vnaprej de�niranega efektivnega radija re. Z γi je ozna£ena vsota tunelirnih
energij elektronov znotraj celic, ki so od celice i oddaljene manj kot re. Simulacije na
osnovi bistabilnega modela se razlikujejo v metodah, s katerimi se na podlagi Hamiltonove
matrike Hi za vsako celico i izra£una njena polarizacija Pi.
Bistabilna aproksimacija (angl. bistable approximation) [72, 37] je bistabilen model,
ki temelji na nelinearni spremembi polarizacije QCA celice i glede na sosednje celice.
Aproksimacija ne upo²teva kvantnomehanske korelacije med celicami. Privzeto je adia-
batno preklapljanje in sistem, ki se stalno nahaja zelo blizu osnovnega stanja. Z uporabo
£asovno neodvisne Schrödingerjeve ena£be se izra£unajo re²itve izraza
Hiψi = Eiψi, (2.21)
26 2 Osnove kvantnih celi£nih avtomatov
kjer je Hi Hamiltonova matrika, podana z ena£bo (2.20), ψi vektor stanj celice i in Ei
energija, povezana s stanji. Re²itve izraza (2.21) dolo£ajo polarizacijo Pi celice i
Pi =
Eki,j
2γ
∑j Pj√
1 +Ek
i,j
2γ
∑j Pj
, (2.22)
kjer je γ tunelirna energija elektronov znotraj celice in∑
j Pj vsota polarizacij celic,
ki so od celice i oddaljene manj od vnaprej de�niranega efektivnega radija. Simulacija
se izvede z iterativnim ra£unanjem Pi za vsako celico v QCA, dokler je razlika med
rezultatoma zaporednih iteracij ve£ja od vnaprej predpisane toleran£ne vrednosti ϵ. Z
uporabo bistabilne aproksimacije je moºna hitra simulacija delovanja QCA z velikim
²tevilom celic, ki pa ni primerna za simulacijo dinamike. Zato se ta model lahko uporablja
predvsem za pogoste vmesne simulacije QCA med postopkom snovanja.
Za natan£nej²o analizo je bolj primerna simulacija z uporabo koheren£nega vektorja
(angl. coherence vector) [72]. Tudi ta je osnovana na bistabilnem modelu in za raz-
liko od bistabilne aproksimacije upo²teva £asovno odvisnost in kvantnomehanske pojave.
Koheren£ni vektor λ je vektorska predstavitev gostotne matrike ρ, ki statisti£no dolo£a
kvantna stanja celice. Komponenta λi je podana kot sled matrike, ki je produkt gostotne
matrike ρ in Paulijeve matrike σi. Izra£una se z izrazom
λi = tr(ρσi), i = {x, y, z}. (2.23)
Polarizacija Pi je z komponenta λi, torej
Pi = λz,i. (2.24)
Simulacija z uporabo koheren£nega vektorja je po£asnej²a od bistabilne aproksimacije,
vendar bolj natan£no obravnava dinamiko delovanja QCA.
2.8 Logi£ni primitivi QCA
Procesiranje je v tem delu obravnavano kot ra£unanje rezultata kompleksne logi£ne funk-
cije. Vhodi in izhodi procesiranja ustrezajo vhodom in izhodom logi£ne funkcije. Pro-
cesiranje je sestavljeno iz zaporedja logi£nih operacij in povezav med njimi. Rezultati
operacij v k-tem £lenu zaporedja se uporabijo kot vhodi operacij v £lenu k + 1. Zato so
za procesiranje potrebni elementi, ki lahko izra£unajo rezultate logi£nih operacij in omo-
go£ajo prenos podatkov. Logi£ni primitivi (angl. logic primitives) [73, 74] so realizacije
takih elementov.
2.8 Logi£ni primitivi QCA 27
V QCA je logi£ni primitiv razmestitev QCA celic na podro£jih v pravokotni mreºi.
Sestavljen je izklju£no iz QCA celic, ki so razdeljene na tri tipe, glede na vlogo v procesi-
ranju in sicer na vhodne, notranje in izhodne celice. �tevilo vhodov logi£nega primitiva
je enako ²tevilu vhodnih QCA celic nvhod in podobno je ²tevilo izhodov enako ²tevilu
izhodnih QCA celic nizhod.
Nosilec podatka je signal. Vhodni signali nosijo vhodne podatke, izhodni signali pa iz-
hodne podatke, ki predstavljajo rezultat procesiranja. Procesiranje se pri£ne s prihodom
vhodnih signalov v vhodne celice in se nadaljuje s tokom in preoblikovanjem podatkov
v notranjih celicah. Po zakasnitvi d, merjeni v ²tevilu prete£enih faz urinega signala, so
izhodni signali na voljo v izhodnih celicah.
Logi£ne vrednosti vhodnih in izhodnih signalov so elementi mnoºice B = {0, 1}.
Vsak signal s ima dolo£eno natanko eno logi£no vrednost v(s) ∈ B. Delovanje logi£nega
primitiva je opisano s preslikavo f : Bnvhod → Bnizhod , ki preslika logi£ne vrednosti
vhodnih signalov v logi£ne vrednosti izhodnih signalov.
Logi£ni primitivi v QCA so sestavljeni iz manj²ega ²tevila celic in izvajajo osnovne
Boolove operacije, kot so na primer logi£na konjunkcija (AND), disjunkcija (OR), ne-
gacija (NOT), negacija disjunkcije (NOR), negacija konjunkcije (NAND), itd. Poleg
realizacij osnovnih operacij omogo£ajo tudi prenos podatkov med njimi.
Poln funkcijski nabor je mnoºica logi£nih operacij, s katerimi je moºno realizirati
poljubno logi£no funkcijo. Med polne funkcijske nabore spadajo mnoºice {AND, OR,
NOT}, {NOR}, {NAND}, itd. Posebno pomembni so logi£ni primitivi, ki realizirajo
vse operacije v polnem funkcijskem naboru in povezave med njimi. Taki primitivi so
potrebni in zadostni za realizacijo katerekoli logi£ne funkcije. Za �zi£no implementacijo
je zaºeleno, da so primitivi relativno enostavni. Za QCA se je izkazalo, da je na tej osnovi
moºno sestaviti enostavne logi£ne primitive, ki realizirajo navedene pomembne elemente.
2.8.1 Linija
Prenos podatkov v QCA omogo£a logi£ni primitiv linija (angl. QCA wire). Ima en
vhod, ozna£en z x1 in en izhod y1. Linija skrbi za prenos signala od vhodne do izhodne
celice, ne da bi se pri tem spremenila njegova logi£na vrednost. Zato izvaja logi£no
operacijo identitete, torej y1 = x1. Realizirana je z namestitvijo QCA celic v sredi²£a
zaporednih podro£ij, kot je prikazano na sliki 2.13(a). Zaporedno name²£ene QCA celice
se polarizirajo z enako polarizacijo, kot jo ima vhodna celica. Tako se v izhodni celici
28 2 Osnove kvantnih celi£nih avtomatov
pojavi stanje, ki je enako stanju vhodne celice.
Linija je lahko sestavljena tudi iz rotiranih QCA celic. Takrat je logi£ni primitiv
poimenovan 45 stopinjska linija. Taka linija ²e vedno izvaja logi£no operacijo identitete,
£e je ²tevilo notranjih celic nnotranje liho. V nasprotnem primeru je stanje izhodne celice
enako negaciji stanja vhodne celice. V splo²nem torej 45 stopinjska linija izvaja operacijo
y1 =
x1, £e je nnotranje = 2k + 1,
x1, £e je nnotranje = 2k, k ∈ N.(2.25)
Polarizacije celic v 45 stopinjski liniji alternirajo med P = −1 in P = +1, kot je prikazano
v primeru linije na sliki 2.13(b).
x1 y1
(a)
x1 y1
(b)
Slika 2.13 Liniji v QCA. Vhodna celica vsake linije je ozna£ena z x1, izhodna celica pa z y1. Slika (a) prikazuje linijo,
sestavljeno iz navadnih QCA celic. Na sliki (b) je 45 stopinjska linija, sestavljena iz rotiranih QCA celic.
Celotna linija iz navadnih ali rotiranih QCA celic deluje pravilno, kadar je name²£ena
v eno samo urino cono, tako da je zakasnitev signala na njej d = 1. Pri tem pa je potrebno
upo²tevati maksimalno ²tevilo QCA celic v liniji znotraj ene urine cone, podano z ena£bo
(2.15). Dalj²e linije je potrebno razdeliti v ve£ urinih con.
Za prehod signala iz navadne na 45 stopinjsko linijo in obratno je potrebno QCA celico
na sti£i²£u linij zamakniti za polovico stranice podro£ja navzgor ali navzdol. Sredi²£e te
celice se namesto v sredi²£u podro£ja nahaja na meji med dvema podro£jema. Slika 2.14
prikazuje dve navadni vodoravni liniji in eno navpi£no 45 stopinjsko, ki se med seboj
stikajo. Signal potuje od vhodne celice x1 v zgornjem levem kotu mreºe do izhodne
celice y1 v spodnjem desnem kotu. QCA celica na zgornjem sti£i²£u linij je zamaknjena
2.8 Logi£ni primitivi QCA 29
za c2 navzdol, kjer je c dolºina stranice podro£ja v mreºi. Logi£na vrednost signala se
ob prehodu iz navadne linije ohrani in nato alternira med potekom po 45 stopinjski liniji
navzdol. Tudi prenos signala iz 45 stopinjske na navadno linijo je realiziran z zamaknjeno
celico, pri £emer se njegova logi£na vrednost ne spremeni. Na sliki 2.14 je QCA celica
na sti£i²£u navpi£ne 45 stopinjske in spodnje vodoravne linije zamaknjena za c2 navzgor.
Stanje izhoda y1 je odvisno od ²tevila QCA celic v 45 stopinjski liniji, kot je to dolo£eno
z izrazom (2.25). Vse celice na sliki 2.14 se nahajajo v isti urini coni.
x1
y1
Slika 2.14 Dve navadni vodoravni in ena navpi£na 45 stopinjska linija. Signal poteka od vhodne celice x1 po vodoravni
liniji proti desni, nato preide na navpi£no 45 stopinjsko linijo in poteka po njej navzdol, spodaj pa preide na
navadno vodoravno linijo in poteka po njej proti desni do izhodne celice y1. Celica na zgornjem sti£i²£u linij
je zamaknjena za c2 navzdol, celica na spodnjem sti£i²£u pa za c
2 navzgor.
Linija lahko prehaja iz spodnje na zgornjo plast in obratno preko vertikalne pove-
zave. Slednja poteka od spodnje plasti preko dveh plasti do zgornje, kot je prikazano na
sliki 2.15. S tem je onemogo£ena neºelena interakcija med celicami na spodnji plasti in
celicami, ki leºijo na na zgornji plasti. Linija iz slike 2.15 je dvodimenzionalno prikazana
na sliki 2.16.
V kompleksnej²ih procesnih sistemih se pogosto pojavi potreba po mehanizmu, ki
omogo£a spremembo smeri poteka signala. V primeru prehoda iz navadne vodoravne na
navpi£no 45 stopinjsko linijo se smer poteka obrne za 90◦, vendar nato signal poteka po
rotiranih QCA celicah. V QCA je moºno spremeniti smer poteka signala po navadnih
celicah s t.i. kotno linijo, prikazano na sliki 2.17. Tako kot navadna, ima tudi kotna
linija en vhod x1, en izhod y1 in izvaja logi£no operacijo identitete y1 = x1. Realizacija
kotne linije na sliki 2.17(a) spremeni smer poteka signala za 90◦ v smeri urinega kazalca,
realizacija na sliki 2.17(b) pa za 90◦ v nasprotni smeri. S stikanjem vodoravnih, navpi£nih
30 2 Osnove kvantnih celi£nih avtomatov
x1 y1
celici naspodnji plasti
celice nazgornji plasti
celice vvertikalni povezavi
Slika 2.15 Linija preide iz spodnje na zgornjo plast, nato poteka po zgornji plasti in nazadnje spet preide na spodnjo
plast.
x1y1
Slika 2.16 Dvodimenzionalni prikaz linije iz slike 2.15.
in kotnih linij je moºno prenesti signal od vhodne celice do celice, ki se nahaja na poljubno
izbranem podro£ju v mreºi. Kotna linija lahko vsebuje ve£ kotov, za njeno delovanje pa
je potrebna ena urina faza.
Pri izra£unavanju nekaterih logi£nih funkcij je potrebno isti signal pripeljati na ve£
vhodov. Primer tak²ne funkcije je f(X1, X2) = X1 ↑ (X1 ↑ X2), kjer mora signal X1
priti na vhoda dveh logi£nih primitivov, ki realizirata operacijo NAND (↑). Razvejitev
signala (angl. fan-out) je v QCA omogo£eno z razvejitveno linijo, ki je prikazana na sliki
2.18. Signal na vhodu x1 se v razvejitveni liniji podvoji, tako da sta na obeh izhodih
y1 in y2 prisotna signala z enako logi£no vrednostjo, kot jo ima vhodni signal. Logi£ni
primitiv torej izvaja operacijo y1 = y2 = x1. Razvejitev signala se izvede v eni urini fazi.
V kompleksnem logi£nem vezju se nahaja veliko ²tevilo povezav, ki prena²ajo signale
med logi£nimi primitivi. Zaradi tega se morajo povezave med seboj ve£krat kriºati. Za
snovanje in izdelavo kompleksnega QCA je torej potrebno vzpostaviti mehanizem, ki
2.8 Logi£ni primitivi QCA 31
(a) (b)
x1
x1
y1
y1
Slika 2.17 Logi£ni primitiv kotna linija omogo£a spremembo smeri poteka signala za 90◦. Realizacija na sliki (a)
spremeni potek v smeri urinega kazalca, realizacija na sliki (b) pa v nasprotni smeri.
x1
y2
y1
Slika 2.18 Razvejitvena linija.
omogo£a kriºanje. Logi£ni primitiv, ki omogo£a kriºanje dveh QCA linij, je predstavil
Tougaw [4]. Njegova zanimiva lastnost je, da se liniji kriºata v isti ravnini. Tougaw
je pokazal, da se vhodna signala x1 in x2 ohranita na navadni in na 45 stopinjski liniji
tudi po kriºanju, kot je prikazano na sliki 2.19. Za izhodna signala veljata ena£bi y1 =
x1 in y2 = x2. Na to£ki kriºanja vodoravne navadne in navpi£ne 45 stopinjske linije
je name²£ena rotirana QCA celica, kljub temu pa se signal nemoteno prena²a tudi po
navadni liniji. Zakasnitev signala v predstavljenem logi£nem primitivu je ena urina faza.
Ve£nivojsko kriºanje linij je izvedeno tako, da linija na zgornji plast poteka nad linijo
na spodnji plasti. Na to£ki kriºanja se nahaja ena celica na spodnji in ena na zgornji
plasti. Ker sta med spodnjo in zgornjo plastjo ²e dve vmesni plasti, med tema celicama
ni neºelene interakcije. Ve£nivojsko kriºanje je prikazano na sliki 2.20.
32 2 Osnove kvantnih celi£nih avtomatov
x1
y2
y1
x2
Slika 2.19 Kriºanje vodoravne navadne in navpi£ne 45 stopinjske linije v isti ravnini.
x1
y2
y1
x2
Slika 2.20 Kriºanje linije na spodnji in linije na zgornji plasti.
2.8.2 Negator
Pogosto se pri procesiranju pojavlja operacija negacije logi£ne vrednosti vhodnega si-
gnala. Realizirana je z negatorjem, ki ima en vhod in en izhod. Negacija je pomembna
tudi zaradi tega, ker je del polnega funkcijskega nabora {AND, OR, NOT}. V QCA je
lahko negator realiziran na ve£ razli£nih na£inov. Ena od moºnosti je 45 stopinjska linija
s sodim ²tevilom notranjih celic, kot je razvidno iz izraza (2.25). Ta re²itev ni prakti£na
takrat, ko se signal ºe nahaja na navadni liniji, saj je v tem primeru potrebno poskrbeti
za prenos signala med navadno in 45 stopinjsko linijo.
V QCA je moºno realizirati osnovni negator z enostavno diagonalno razporeditvijo
2.8 Logi£ni primitivi QCA 33
dveh QCA celic, prikazano na sliki 2.21(a). Tak²na razporeditev je geometrijsko ekviva-
lentna diagonalno postavljeni 45 stopinjski liniji, sestavljeni iz dveh rotiranih QCA celic.
Osnovni negator izvede logi£no operacijo y1 = x1 v eni urini fazi.
Glede na izra£une uporaba osnovnega negatorja pove£a moºnost, da QCA med pro-
cesiranjem preide v nezaºeleno metastabilno stanje [70]. To teºavo je moºno odpraviti z
razdelitvijo logi£nega primitiva na sliki 2.21(a) v dve urini coni, tako da x1 pripada prvi
in y1 drugi coni. Tedaj je zakasnitev signala pri negaciji enaka dvema urinima fazama,
kar pa ni zaºeleno za tako pogosto in enostavno operacijo. Izkazalo se je [4, 75], da
lahko v QCA operacijo logi£ne negacije y1 = x1 realizira robusten negator z zakasnitvijo
d = 1, prikazan na sliki 2.21(b). Signal poteka od vhodne celice x1, se nato podvoji in
x1
y1
x1 y1
(a) (b)
Slika 2.21 Realizacija osnovnega negatorja z dvema QCA celicama (a) in realizacija robustnega negatorja (b).
preide na zgornjo in spodnjo vodoravno linijo. Na desni strani se izvede negacija vre-
dnosti signala z diagonalno name²£eno QCA celico med zgornjo in spodnjo linijo. V tem
primeru je zaradi dveh linij negacija izvedena bolj robustno kot pri osnovnem negatorju.
Prednost robustnega negatorja je tudi v tem, da se vhodna in izhodna celica nahajata na
isti vodoravni premici. Tako lahko signal poteka po ravni vodoravni liniji, v nasprotju
z osnovnim negatorjem, kjer preide na za eno podro£je vi²je name²£eno linijo. O£itna
slabost robustne izvedbe v primerjavi z osnovno je ve£je ²tevilo uporabljenih QCA celic
in ve£ja zasedena povr²ina v mreºi.
2.8.3 Majoritetna vrata
Logi£ni primitiv majoritetna vrata (angl. majority gate) s tremi vhodi x1, x2, x3 in
izhodom y1 izvaja majoritetno ali ve£insko funkcijo
y1 =M(x1, x2, x3) = x1x2 ∨ x2x3 ∨ x1x3. (2.26)
34 2 Osnove kvantnih celi£nih avtomatov
Logi£na vrednost izhoda y1 je enaka vrednosti, ki jo ima ve£ina vhodov. Majoritetna
funkcija je komutativna, kar pomeni, da vrednost izhoda ni odvisna od vrstnega reda
vhodov. �e πi(x1, x2, x3) ozna£uje permutacijo z indeksom i v mnoºici permutacij treh
spremenljivk x1, x2, x3, potem za poljubna indeksa i in j velja
M(πi(x1, x2, x3)) =M(πj(x1, x2, x3)), 1 ≤ i, j ≤ 3!. (2.27)
Pomembna lastnost majoritetnih vrat je, da je z njimi mogo£e realizirati tako logi£no
konjunkcijo, kot tudi logi£no disjunkcijo. �e ima na primer vhod x3 �ksno logi£no
vrednost 0, se ena£ba (2.26) poenostavi v
y1 =M(x1, x2, 0) = x1x2, (2.28)
tako da je y1 rezultat konjunkcije vhodov x1 in x2. Zaradi komutativnosti je lahko vre-
dnost kateregakoli vhoda �ksirana na logi£no 0 in takrat je rezultat majoritetne funkcije
logi£na konjunkcija preostalih dveh vhodov. Kadar je vrednost enega izmed vhodov �-
ksirana na logi£no 1, je rezultat majoritetne funkcije logi£na disjunkcija preostalih dveh
vhodov. V primeru �ksne vrednosti x3 = 1, je ena£ba majoritetne funkcije
y1 =M(x1, x2, 1) = x1 ∨ x2. (2.29)
Realizacijo majoritetnih vrat v QCA sestavlja pet QCA celic, razme²£enih v obliki
kriºa. Prikazana je na sliki 2.22(a), na sliki 2.22(b) pa je pravilnostna tabela majorite-
tne funkcije. Vse celice so name²£ene v isti urini coni, tako da je zakasnitev signala v
0
1
0
1
0
1
0
1
x3
0
0
1
1
0
0
1
1
x2
0
0
0
0
1
1
1
1
x1 y1
0
0
0
1
0
1
1
1
(a)
x1
y1x2
x3
(b)
Slika 2.22 Majoritetna vrata (a) in pravilnostna tabela majoritetne funkcije (b).
2.9 Logi£ne strukture QCA 35
majoritetnih vratih d = 1.
Iz opisa logi£nih primitivov QCA v tem razdelku je razvidno, da negator in majori-
tetna vrata realizirata vse operacije v polnemu funkcijskemu naboru {AND, OR, NOT}.
S predstavljenimi linijami je omogo£ena poljubna povezava njunih vhodov in izhodov. Iz
tega sledi, da je z uporabo negatorjev, majoritetnih vrat in linij teoreti£no mogo£e reali-
zirati poljubno logi£no funkcijo. Na²teti primitivi so torej zadostni za sestavo procesorja
na osnovi QCA.
2.9 Logi£ne strukture QCA
Poljubna logi£na funkcija z nvhod vhodi in nizhod izhodi je opisana s preslikavo
f : Bnvhod → Bnizhod , (2.30)
kjer je B = {0, 1}. Sestavljena je iz logi£nih operacij, s katerimi se vrednosti vhodov
preslikajo v vrednosti izhodov. Za primer vzemimo funkcijo polovi£nega se²tevalnika
add(A,B) = (S,C) z vhodoma A, B (nvhod = 2) in izhodoma S, C (nizhod = 2). Vhoda
dolo£ata vhodna bita, ki ju je potrebno se²teti, izhod S je vsota vhodov po modulu 2, C
pa dolo£a prenos. Logi£no funkcijo opi²emo tako, da podamo logi£ne izraze za izra£un
vseh izhodov. Tako lahko funkcijo add(A,B) = (S,C) opi²emo z izrazoma
S = AB ∨AB,
C = AB. (2.31)
Izraza (2.31) vsebujeta le operacije iz nabora {AND, OR, NOT}, lahko pa bi izbrali tudi
kak²en drug funkcijsko poln nabor operacij. V primeru, da uporabljamo le operacijo
NAND, lahko funkcijo add(A,B) = (S,C) zapi²emo kot
S = ((A ↑ A) ↑ B) ↑ ((B ↑ B) ↑ A),
C = (A ↑ B) ↑ (A ↑ B). (2.32)
Opis funkcije polovi£nega se²tevalnika z izrazoma (2.31) vsebuje 3 operacije konjunkcije,
dve negaciji in eno disjunkcijo, opis (2.32) pa zahteva osem operacij NAND.
Logi£no funkcijo lahko torej izrazimo na ve£ na£inov z uporabo razli£nih funkcijsko
polnih naborov operacij. Za enoli£ni zapis funkcij se uporabljajo normalne oblike, kot
je na primer popolna disjunktivna normalna oblika. Funkcija se pred implementacijo
36 2 Osnove kvantnih celi£nih avtomatov
obi£ajno minimizira, tako da jo sestavlja £im manj²e ²tevilo operacij iz danega nabora.
Minimizacija se izvede v postopku logi£nega snovanja, ki ga v tem delu ne bomo obravna-
vali. Enoli£en zapis logi£ne funkcije je moºen tudi z uporabo pravilnostne tabele. Slednja
je za funkcijo polovi£nega se²tevalnika add(A,B) = (S,C) predstavljena s tabelo 2.1.
A B S C
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
Tabela 2.1 Pravilnostna tabela polovi£nega se²tevalnika add(A,B) = (S,C).
Logi£na shema je gra�£en prikaz funkcije, podane z logi£nimi izrazi. Ker lahko isto
funkcijo opisujejo razli£ni izrazi, logi£na shema ni enoli£na predstavitev logi£ne funkcije.
Sestavljajo jo vhodni in izhodni priklju£ki ter medsebojno povezani logi£ni operatorji.
Vhodni priklju£ki ustrezajo vhodom funkcije, izhodni priklju£ki izhodom in operatorji
logi£nim operacijam. V logi£ni shemi so operatorji prikazani z dogovorjenimi gra�£nimi
simboli. Na sliki 2.23(a) so prikazani simboli operatorjev, ki predstavljajo logi£ne ope-
racije iz nabora {AND, OR, NOT}. Slika 2.23(b) prikazuje logi£no shemo polovi£nega
se²tevalnika, opisanega z izrazoma (2.31).
(a) (b)
Slika 2.23 Gra�£ni simboli operatorjev, ki predstavljajo logi£ne operacije AND, OR in NOT (a). Logi£na shema polo-
vi£nega se²tevalnika add(A,B) = (S,C) z vhodnima priklju£koma A, B in izhodnima priklju£koma S, C
(b).
2.9 Logi£ne strukture QCA 37
Logi£na shema nastane v postopku logi£nega snovanja, ki ga v tem delu ne bomo
obravnavali. Logi£ne sheme zato ne bomo izdelovali, ampak bomo privzeli, da je ºe
podana.
Logi£na struktura (angl. logic structure) [76, 52] je realizacija dane logi£ne sheme in
s tem tudi logi£ne funkcije. Ker lahko funkcijo opisuje ve£ razli£nih shem, zanjo obstaja
tudi ve£ logi£nih struktur, dolo£ena struktura pa realizira natanko eno funkcijo. Logi£no
strukturo sestavljajo logi£ni primitivi, ki realizirajo operacije in povezave med njimi glede
na shemo. Ker so vsi primitivi v QCA zgrajeni s QCA celicami, je tudi logi£na struktura
QCA sestavljena izklju£no iz celic.
Z ad hoc postopkom se lahko zasnuje logi£na struktura tako, da se elementi v logi£ni
shemi neposredno realizirajo z logi£nimi primitivi. Tako je zasnovana struktura QCA z
ozna£enimi primitivi na sliki 2.24. Prikazana struktura je neposredna realizacija logi£ne
S
C
P=-1
P=-1
P=-1
P=+1
B
A
negator
majoritetnavrata
križanjelinij
razvejitvenalinija
kotnalinija
45 stopinjskalinija
navadnalinija
prehod iznavadne na
45 stopinjskolinijo
prehod iz45 stopinjske
na navadno linijo
Slika 2.24 Ad hoc zasnovana logi£na struktura polovi£nega se²tevalnika add(A,B) = (S,C) z vhodnima celicama A,
B in izhodnima celicama S, C. Ozna£eni so nekateri logi£ni primitivi.
38 2 Osnove kvantnih celi£nih avtomatov
sheme s slike 2.23(b) na osnovi QCA. Celice s �ksno polarizacijo dolo£ajo logi£no opera-
cijo, ki jo izvajajo majoritetna vrata. Pri polarizaciji P = −1 izvajajo operacijo AND,
pri P = +1 pa operacijo OR.
Strukturo je moºno realizirati tudi z uporabo ve£nivojskega kriºanja linij. V tem
primeru se namesto 45 stopinjske linije uporabi linijo na zgornji plasti, namesto prehoda
iz navadne na 45 stopinjsko linijo pa se namesti vertikalna povezava. Realizacija strukture
iz slike 2.24 z uporabo ve£nivojskega kriºanja linij je prikazana na sliki 2.25.
S
C
P=-1
P=-1
P=-1
P=+1
B
A
negator
majoritetnavrata
križanjelinij
razvejitvenalinija
kotnalinija
linija na zgornjiplasti
navadnalinija
prehod izspodnje na
zgornjoplast
prehod izzgornje na
spodnjo plast
prehod izzgornje na
spodnjo plast
Slika 2.25 Struktura iz slike 2.24, pri kateri je namesto kriºanja linij v isti ravnini uporabljeno ve£nivojsko kriºanje.
2.10 Na£rtovalsko programsko orodje QCADesigner
QCADesigner je orodje, namenjeno za ra£unalni²ko podporo pri snovanju logi£nih struk-
tur na osnovi QCA celic. Razvil ga je Walus s sodelavci [52, 37, 75] leta 2003. Programska
2.10 Na£rtovalsko programsko orodje QCADesigner 39
koda orodja je prosto dostopna na svetovnem spletu1. QCADesigner omogo£a vizualno
postavitev in simulacijo logi£nih struktur. V tem delu ga bomo uporabljali kot orodje za
simulacijo in veri�kacijo pravilnosti delovanja zasnovanih logi£nih struktur.
Enostavno delo z orodjem omogo£a gra�£ni uporabni²ki vmesnik, prikazan na sliki
2.26. Sestavljajo ga menijska vrstica, orodni vrstici na zgornjem in levem robu, okno
za prikaz informacij na spodnjem robu in delovna povr²ina na sredini. Uporaba ikon v
orodnih vrsticah omogo£a vizualno name²£anje QCA celic na delovno povr²ino in ma-
nipuliranje z njimi. Podprto je name²£anje navadnih in rotiranih celic in njihovo pre-
mikanje po povr²ini. Pri tem orodje opozarja na nedovoljene situacije, kot je na primer
prekrivanje dveh QCA celic na isti plasti.
Slika 2.26 Gra�£ni uporabni²ki vmesnik ra£unalni²kega orodja QCADesigner.
Za vse celice skupaj se pred name²£anjem dolo£i njihova velikost in premer kvantnih
pik. Ko je celica name²£ena na povr²ino, se ji predpi²e ena izmed ²tirih vlog v logi£ni
1http://www.mina.ubc.ca/qcadesigner
40 2 Osnove kvantnih celi£nih avtomatov
strukturi. Celica je lahko vhodna, izhodna, lahko ima �ksno polarizacijo ali pa nima
posebne vloge. Vloga celice se v vmesniku kaºe z njeno barvo in oznako.
Vsaki celici posebej ali pa celotni skupini celic se dolo£i pripadajo£a urina cona.
Tudi pripadnost urini coni se kaºe z barvo celice, £e slednja nima posebne vloge. Barva
vhodnih, izhodnih in celic s �ksno polarizacijo je nespremenljiva. Razen prej na²tetih so
celice, ki jih kontrolira isti urin signal, enako obarvane. Vse celice v isti urini coni imajo
enako barvo, poleg tega pa imajo enako barvo tudi vse celice v drugih urinih conah z
enako urino fazo. Tako so za ozna£evanje urinih con namenjene ²tiri razli£ne barve, kot
je prikazano na sliki 2.27(a). Prikazana vodoravna linija je razdeljena na ²est urinih con,
(a)
(b)
x1
0
y1
x2
Slika 2.27 Vodoravna linija, razdeljena v ²est urinih con. Celice z enako barvo kontrolira isti urin signal (a). Lo-
gi£na struktura, ki jo sestavljajo vhodni celici x1 in x2, celica s �ksno polarizacijo -1 (logi£na vrednost 0),
majoritetna vrata in izhodna celica y1. Vsaka celica je obarvana glede na njeno vlogo v strukturi (b).
ki si zaporedno sledijo od leve proti desni. Vsaka urina cona vsebuje tri celice. V conah
z zelenimi celicami je urin signal na za£etku procesiranja v fazi preklopa. V zaporedju
si nato sledijo cona z vijoli£nimi celicami v fazi spro²£enosti, cona s sinjimi celicami v
fazi spro²£anja in cona z belimi celicami v fazi zadrºevanja, nato pa se barve cikli£no
ponavljajo. Slika 2.27(b) prikazuje logi£no strukturo, ki jo sestavljajo dve vhodni celici,
ena izhodna, ena celica s �ksno polarizacijo in celice v majoritetnih vratih. Slednje se
2.10 Na£rtovalsko programsko orodje QCADesigner 41
nahajajo v isti urini coni in so obarvane z zeleno barvo. Vhodni celici sta modri, izhodna
rumena, celica s �ksno polarizacijo pa je oranºne barve.
QCADesigner omogo£a gradnjo ve£nivojskih logi£nih struktur. Nad prvo plastjo sub-
strata s QCA celicami se lahko namesti poljubno ²tevilo plasti z dolo£eno medsebojno
razdaljo. Dodatne plasti se obi£ajno uporabljajo za implementacijo ve£nivojskega kriºa-
nja linij. Na prvi plasti se nahaja logi£na struktura brez kriºanj linij. Na zgornjih dveh
plasteh so name²£ene celice v vertikalnih povezavah med prvo in £etrto plastjo, ki se
nahaja najvi²je. Slednja je namenjena za namestitev linij, ki se kriºajo z linijami na prvi
plasti. Gra�£ni vmesnik orodja QCADesigner omogo£a tri razli£ne vizualne prikaze celic,
ki se uporabljajo za prikaz celic na razli£nih plasteh. Predstavljeni so na sliki 2.28(a).
Kriºanje vodoravne linije na prvi plasti in navpi£ne na £etrti je prikazano na sliki 2.28(b).
Slika 2.28 Trije razli£ni vizualni prikazi celic. Prvi z leve se uporablja za prikaz celic na prvi plasti, srednji za prikaz celic
v vertikalni povezavi in desni za prikaz celic na £etrti plasti (a). Ve£nivojsko kriºanje linij. Vodoravna linija
se v celoti nahaja na prvi plasti. Navpi£na linija preide iz prve plasti po vertikalni povezavi do £etrte plasti.
Po njej poteka nad vodoravno linijo in nato po vertikalni povezavi preide nazaj na prvo plast (b).
Popoln opis logi£ne strukture lahko orodje zapi²e v strukturiranem formatu in ga
shrani v tekstovno datoteko. V njej so dostopni tudi nekateri parametri, ki jih v gra�£nem
uporabni²kem okolju ni mogo£e spreminjati. Tako je moºno zgraditi logi£no strukturo v
orodju QCADesigner tudi z zapisovanjem parametrov v tekstovno datoteko.
Poleg vizualnega snovanja logi£ne strukture je z orodjem moºna tudi simulacija nje-
nega delovanja. QCADesigner ponuja dva na£ina simulacije in sicer z uporabo bistabilne
aproksimacije in z uporabo koheren£nega vektorja. Pred izvedbo simulacije se dolo£ijo
42 2 Osnove kvantnih celi£nih avtomatov
njeni parametri, kot so efektivni radij, relativna dielektri£nost medija, itd. Po kon£ani
simulaciji se rezultati gra�£no predstavijo s prikazom na sliki 2.29. Predstavljeni so rezul-
tati simulacije delovanja majoritetnih vrat z vhodi x1, x2, x3 in izhodom y1. Vse celice v
majoritetnih vratih se nahajajo v eni urini coni. Gra� rde£e barve prikazujejo potek ²tirih
urinih signalov skozi £as. Urini signali so poimenovani CLOCK 0, CLOCK 1, CLOCK
2 in CLOCK 3. Visoko stanje urinega signala ustreza fazi spro²£enosti, nizko stanje pa
fazi zadrºevanja. Rumeni graf kaºe spremembo polarizacije izhodne celice v odvisnosti
od £asa. Zanima nas polarizacija v £asovnih intervalih, ko izhodno celico nadzoruje urin
signal v fazi zadrºevanja, torej kadar je v nizkem stanju. Polarizacija je takrat enaka
-1 ali +1 in jo lahko interpretiramo kot logi£no vrednost. Izhodno celico y1 nadzoruje
signal CLOCK 0, zato nas zanima njena polarizacija takrat, ko je CLOCK 0 v nizkem
stanju. Spreminjanje polarizacij vhodnih celic prikazujejo modri gra�. Te polarizacije
alternirajo med -1 in +1, kar ustreza logi£nima vrednostma 0 in 1. Tako tvorijo vse
moºne kombinacije vrednosti vhodov. Kot je razvidno s slike 2.29, se simulacija izvede
dvakrat za vsako kombinacijo vhodnih vrednosti. Polarizacija izhodne celice je odvisna
od kombinacije polarizacij vhodnih celic. Polarizacije vhodov in izhodov lahko zapi²emo
z logi£nimi vrednostmi in z njimi sestavimo tabelo, ki natanko ustreza pravilnostni tabeli
majoritetne funkcije.
2.11 Raziskave na podro£ju QCA
2.11.1 Zgodovina raziskav
Kvantni celi£ni avtomat je predstavil Lent s sodelavci leta 1993 [3]. Predstavili so QCA
celico, ki je osnovni gradnik kvantnega celi£nega avtomata in prikazali moºnost upo-
rabe celic za procesiranje. Delovanje QCA temelji na principih procesiranja z osnovnim
stanjem in robno gnanega procesiranja (angl. edge-driven computing). Slednje omejuje
interakcijo med QCA in okoljem, ki lahko poteka le preko vhodnih in izhodnih celic. Prin-
cip procesiranja z osnovnim stanjem dolo£a, da je za procesiranje sprejemljivo le stanje
QCA z najniºjim energijskim nivojem, imenovano osnovno stanje. Avtorji so pokazali
tudi moºnost realizacije QCA celice.
Tougaw in Lent [4] sta zasnovala QCA linijo, negator in majoritetna vrata. To je
omogo£ilo izvedbo logi£nih operacij negacije, konjunkcije in disjunkcije ter prenosa po-
datkov po liniji. Tako se je odprla pot za snovanje logi£nih struktur QCA na podlagi
2.11 Raziskave na podro£ju QCA 43
logična vrednost 1
logična vrednost 0
x1
y1
x2
x3
Slika 2.29 Gra�£ni prikaz rezultatov simulacije delovanja majoritetnih vrat z vhodi x1, x2, x3 in izhodom y1. Visoko
stanje vhodnega ali izhodnega signala ustreza logi£ni vrednosti 1, nizko stanje signala pa ustreza logi£ni
vrednosti 0.
44 2 Osnove kvantnih celi£nih avtomatov
logi£nih shem.
Pri gradnji ve£jih struktur so naleteli na problem metastabilnih stanj. Procesiranje se
je ustavilo v lokalnem energijskem minimumu namesto v osnovnem stanju. Metastabilna
stanja niso zaºelena, saj iz njih ni mogo£e razbrati uporabne logi£ne vrednosti. Dosedanje
grobo preklapljanje je nadomestilo adiabatno preklapljanje, omogo£eno z uvedbo ure za
nadzor preklopa [27].
Za simuliranje delovanja logi£nih struktur QCA so uporabili ve£ razli£nih simulacij-
skih modelov. Eden najpreprostej²ih je £asovno neodvisni polklasi£ni model [71]. Ker
ta ne upo²teva adiabatnosti, se za simuliranje QCA uporabljajo drugi modeli, med kate-
rimi sta posplo²eni Hubbardov model [3] in medceli£na Hartreejeva aproksimacija [77].
Raziskovali so tudi statisti£ne modele, kot sta uporaba Monte Carlo simulacije [78] in
Bayesovih mreº [79, 80].
Pojavili so se predlogi za razli£ne realizacije QCA celice. Najprej so bili predstavljeni
polprevodni²ki QCA [3], sledili so jim prevodni²ki QCA s kvantnimi pikami na osnovi
kovinskih otokov [56, 57], molekularni [35, 66] in nazadnje ²e magnetni QCA [67].
Niemier in sodelavci [19, 28, 81, 82, 20] so leta 2000 pri£eli raziskovati snovanje kom-
pleksnej²ih logi£nih struktur. V svojem doktoratu [20] je Niemier dolo£il nekatera na£r-
tovalska pravila, ki morajo biti upo²tevana pri snovanju.
Za snovanje kompleksnej²ih logi£nih struktur je bilo potrebno razviti ra£unalni²ko
orodje z gra�£nim uporabni²kim vmesnikom. Tako je leta 2003 Walus s sodelavci raz-
vil orodje QCADesigner [52, 37], ki snovalcem omogo£a vizualno postavljanje logi£nih
struktur QCA in njihovo simulacijo.
V zadnjem £asu so avtorji podali razli£ne predloge za snovanje logi£nih struktur QCA
[83, 5, 6]. Za formalizacijo procesa snovanja logi£nih struktur QCA so posku²ali uporabiti
znanje s podro£ja snovanja CMOS integriranih vezij [34]. Za£eli so re²evati probleme s
podro£ja razme²£anja in povezovanja v QCA [84, 21, 31, 30, 85, 86, 87, 32, 23, 88, 24,
89, 33].
2.11.2 Raziskave na podro£ju razme²£anja in povezovanja v QCA
S snovanjem kompleksnih logi£nih struktur QCA se je leta 2000 za£el ukvarjati Niemier
s sodelavci [19]. Zasnovali so enostaven mikroprocesor, ki je imel 12 bitne besede in
vseboval aritmeti£no logi£no enoto, akumulator, programski ²tevec, ukazni register in
nekaj kontrolne logike. Zaradi majhnega ²tevila enot je bila njegova �zi£na razmestitev
2.11 Raziskave na podro£ju QCA 45
zasnovana ro£no. Za zagotavljanje pravilne kontrole QCA celic z urinim signalom so
avtorji predlagali enako ²irino za vse urine cone. V posamezni urini coni naj bi se
nahajalo manj kot velikostnega reda 103 QCA celic. Za omogo£anje povratnih povezav
so vpeljali t. i. �trapezno geometrijo strukture� (angl. trapezoidal �oorplan). Za pomo£
pri snovanju in testiranju logi£nih struktur QCA so razvili ra£unalni²ko orodje Q-BART.
Omogo£alo je gra�£no postavljanje logi£nih primitivov in simulacijo delovanja zasnovane
logi£ne strukture. Simulacija ni upo²tevala urinega signala.
V £lanku [28] Niemier in Kogge podrobneje obravnavata probleme pri snovanju logi£-
nih struktur QCA, med katerimi so dolºina linij, ²irina urinih con, ²tevilo celic v urini
coni, povratne povezave in porabljena povr²ina.
Ista avtorja [81] obravnavata tudi cevovodnost (angl. pipelining), ve£nitnost (angl.
multithreading) in procesiranje v liniji (angl. processing-in-wire) pri QCA. Za primer sta
uporabila ro£no zasnovani mikroprocesor Simple 12 in predstavila dve splo²ni geometriji
strukture. Zasnovani mikroprocesor sta raz²irila v cevovodno delujo£i Simple 12 One-
Hot.
Niemier in sodelavci [82] so se ukvarjali tudi s snovanjem FPGA na osnovi QCA. Za
osnovni logi£ni gradnik so izbrali majoritetna vrata, ki so realizirala logi£no operacijo
NAND. Predstavili so tudi elemente za povezovanje logi£nih gradnikov, sestavljene iz
razli£nih ²tevil urinih con za zagotavljanje pravo£asnega prenosa signala.
V doktoratu [20] je Niemier povzel svoje objavljene raziskave. Obravnaval je snovanje
mikroprocesorja v QCA in predstavil na£rtovalska pravila. Dolo£il je ²tiri pogoje, ki jim
mora zado²£ati QCA za uspe²no uporabo:
logi£na polnost,
povezovanje na dvodimenzionalni povr²ini in povratne povezave,
deterministi£na proizvodnja in
moºnost izdelave �zi£ne razmestitve strukture na osnovi logi£ne sheme.
Po Niemierju je snovanje �zi£ne razmestitve strukture QCA raziskoval Antonelli s
sodelavci [84]. Proces snovanja je razdelil v tri faze in sicer razdelitev strukture v urine
cone (angl. partitioning), razme²£anje logi£nih primitivov (angl. placement) in njihovo
medsebojno povezovanje (angl. routing). V £lanku so se osredoto£ili le na prvo fazo.
Logi£no strukturo QCA so predstavili z usmerjenim acikli£nim grafom, v katerem vozli²£a
46 2 Osnove kvantnih celi£nih avtomatov
predstavljajo majoritetna vrata v strukturi, povezave v grafu pa ustrezajo povezavam
med majoritetnimi vrati. V procesu so morali zadostiti trem zahtevam:
zagotoviti isto£asen prihod vhodnih signalov do majoritetnih vrat,
minimizirati ²tevilo urinih ciklov in s tem zakasnitev signala v strukturi in
dolo£iti enako vi²ino za vse urine cone, dolo£eno s ²tevilom majoritetnih vrat in
linij v njej.
Problem so formulirali s celo²tevilskim linearnim programom in razvili hevristi£no me-
todo za njegovo re²evanje.
V £lanku [21] so avtorji posku²ali:
ugotoviti katere logi£ne primitive je moºno podvojiti in s tem zmanj²ati ²tevilo
kriºanj linij,
preurediti poloºaje logi£nih primitivov za zmanj²anje ²tevila kriºanj linij,
minimizirati dolºine povezav za prepre£evanje pojava urinega zamika (angl. clock
skew) in za prepre£evanje okvar in napak in
zmanj²ati porabljeno povr²ino za laºjo �zi£no sestavo strukture.
Avtorji so iskali razmestitev logi£nih primitivov z minimalno porabljeno povr²ino, mini-
malnim ²tevilom kriºanj linij in minimalno skupno dolºino linij. Pri tem so upo²tevali
naslednje omejitve:
£asovno omejitev (zakasnitev signala v urini coni mora biti manj²a od urine peri-
ode),
omejitev poloºajev priklju£kov (vhodno / izhodni priklju£ki se morajo nahajati le
na zgornji ali spodnji meji logi£nega bloka) in
omejitev smeri signala (signal mora potovati od vhodnih do izhodnih priklju£kov).
Usmerjeni graf logi£ne sheme so z dodajanjem vmesnih vrat (angl. feed-through gates)
preslikali v k-nivojski dvodelni graf. Tako so dobili vrste, v katerih se nahajajo logi£ni
primitivi. Ker se lahko v nekaterih vrstah pojavi veliko ²tevilo primitivov, so dolge vrste
razdelili na vrste enakomerne dolºine z algoritmom zvijanja vrst (angl. row-folding). Ker
2.11 Raziskave na podro£ju QCA 47
je problem minimizacije ²tevila kriºanj linij NP-teºak, so za njegovo re²evanje uporabili
teºi²£no hevristi£no metodo za minimizacijo kriºanj povezav v k-nivojskem dvodelnem
grafu.
V delu [31] so minimizirali ²tevilo kriºanj linij pri povezovanju po kanalu (angl. chan-
nel routing). Na podlagi priklju£kov na kanalu so sestavili graf vertikalnih omejitev (angl.
vertical constraint graph). Iz slednjega so odstranili cikle z re²itvijo problema mnoºice
uteºenih minimalnih povratnih povezav (angl. weighted minimum feedback edge set pro-
blem). Problem je NP-poln, zato so za njegovo re²itev predstavili hevristi£no metodo.
Chung s sodelavci [30] je na podlagi raziskav v delih [21, 31] razdelil algoritem snovanja
�zi£ne razmestitve strukture QCA na ²tiri faze:
razdelitev strukture na urine cone (angl. zone partitioning),
razme²£anje urinih con (angl. zone placement),
razme²£anje celic in podvajanje (angl. cell placement and duplication) in
povezovanje po kanalu (angl. channel routing).
Lim in sodelavci [85] so povzeli objave [21, 31, 30] in posku²ali ugotoviti:
kaj je ra£unsko uporabno in kaj je moºno dejansko implementirati,
katere zasnove struktur bodo uporabne ob napredku tehnologije in
kako primerjati QCA z dana²njimi ra£unalniki na osnovi silicija.
V £lanku [32] so avtorji postavili domnevo, da bo v molekularnih QCA teºko imple-
mentirati ravninsko kriºanje linij. Kriºanja so sku²ali odpraviti s podvojevanjem ustre-
znih logi£nih primitivov v strukturi. Problem so formulirali s celo²tevilskim linearnim
programom in ga re²evali s pomo£jo hevristi£ne metode.
Teodosio je v £lanku [23] in v svojem magisteriju [88] predstavil ra£unalni²ko orodje
QCA-LG. Orodje na osnovi opisa vezja v jeziku VHDL avtomati£no izdela �zi£no raz-
mestitev strukture QCA. To je mogo£e nato ²e ro£no optimizirati in simulirati z orodjem
QCADesigner. Vsa kriºanja linij v �zi£ni razmestitvi strukture se odstranijo s podvoje-
vanjem ustreznih logi£nih primitivov.
Vankamamidi in sodelavci [89] so sku²ali razdeliti strukturo QCA na mreºo z urinimi
conami, tako da bi lahko signal potekal v vodoravni in navpi£ni smeri. To bi lahko
zmanj²alo dolºino najdalj²e linije v posamezni urini coni.
48 2 Osnove kvantnih celi£nih avtomatov
Avtorji so v delu [24] obravnavali snovanje �zi£ne razmestitve strukture QCA s pou-
darkom na upo²tevanju dejavnikov, ki omogo£ajo snovanje izvedljivih struktur. Pri tem
so kritizirali nekatere dotedanje raziskave:
v delu [84] ne upo²tevajo geometrije �zi£ne razmestitve strukture in termodinami£-
nih dejavnikov;
v delu [85] ne izra£unajo dejanskih dolºin linij, kar lahko privede do strukture, ki
ne deluje logi£no pravilno;
v delu [23] se struktura s podvojevanjem logi£nih primitivov preslika v troji²ko
drevo, pri £emer se ²tevilo izhodnih linij logi£nih primitivov potroji. To privede do
eksponentnega pove£anja strukture QCA.
V £lanku [33] so avtorji predlagali ravninsko kriºanje linij z uporabo enega samega
tipa celic. V ta namen so vpeljali tri tipe 8 faznih urinih signalov. Kriºanje poteka
signalov so izvedli s £asovnim multipleksiranjem na podlagi nove urine sheme.
3 Izhodišca za razmešcanje in
povezovanje logicnih
primitivov v QCA
3.1 Osnove �zi£nega snovanja logi£ne strukture
Mnogo problemov lahko opi²emo z logi£nimi funkcijami. Kompleksne logi£ne funkcije je
v praksi izjemno teºko izra£unati brez uporabe tehnologije. Zato se funkcije realizirajo
z logi£nimi strukturami, ki se lahko �zi£no izdelajo. Pred izdelavo je potrebno logi£no
strukturo zasnovati. Pri tem se morajo upo²tevati dane zahteve in omejitve tehnologije,
hkrati pa se optimizirajo dolo£ene lastnosti logi£ne strukture.
Postopek snovanja logi£ne strukture se v grobem deli na dva dela [8]:
logi£no snovanje (angl. logic design) in
�zi£no snovanje (angl. physical design).
Rezultat logi£nega snovanja je logi£ni opis strukture, ki je podan z logi£no shemo in z
logi£nimi izrazi za izra£un izhodov. Funkcija se med postopkom optimizira glede na ve£
kriterijev. Eden od kriterijev, ki se v logi£nem snovanju minimizira, je na primer ²tevilo
operacij iz izbranega nabora. V tem delu logi£nega snovanja ne bomo obravnavali in
bomo privzeli, da je logi£ni opis strukture ºe podan.
49
50 3 Izhodi²£a za razme²£anje in povezovanje logi£nih primitivov v QCA
Osredoto£ili se bomo na �zi£no snovanje, katerega namen je dolo£iti razmestitev
gradnikov logi£ne strukture in jih med seboj povezati. Rezultat postopka je �zi£na
razmestitev strukture, ki natan£no dolo£a poloºaje logi£nih primitivov in lego povezav
med njimi. Na podlagi �zi£ne razmestitve je moºno simulirati delovanje strukture in
jo kon£no �zi£no izdelati. Predstavili bomo tri glavne stopnje �zi£nega snovanja in
sicer snovanje geometrije strukture (angl. �oorplanning), razme²£anje (angl. placement)
logi£nih primitivov in njihovo medsebojno povezovanje (angl. routing). Proces snovanja
logi£ne strukture je shemati£no prikazan na sliki 3.1.
logična funkcija
logično snovanje
fizično snovanje
logična
shema
simulacija in izdelava
fizična
razmestitev
strukture
snovanje geometrije
strukture
razmeščanje
povezovanje
{Slika 3.1 Proces snovanja logi£ne strukture. Na desni strani slike so prikazane tri glavne stopnje �zi£nega snovanja.
3.1.1 Snovanje geometrije strukture
V postopku logi£nega snovanja se dolo£ijo logi£ni operatorji, ki jih bodo realizirali logi£ni
primitivi. Slednji se porazdelijo (angl. partition) v skupine glede na izbran kriterij
[11]. Izbrali bomo tak²en kriterij porazdelitve primitivov v skupine, da ne bo obstajal
signal, ki bi potoval od izhoda enega do vhoda drugega primitiva v isti skupini. To
pomeni, da logi£ni primitivi v isti skupini med seboj niso povezani. Ozna£imo mnoºico
primitivov s P={p1, p2, ..., pN1} in mnoºico skupin s S={S1, S2, ..., SN2}. Podanih imamo
3.1 Osnove fizi£nega snovanja logi£ne strukture 51
N1 logi£nih primitivov, ki jih bomo porazdelili v N2 skupin. Vsaka skupina Si vsebuje
neko podmnoºico vseh primitivov Pi:
Si = {p|p ∈ Pi, Pi ⊆ P}. (3.1)
Mnoºice Pi so med seboj disjunktne za vse indekse i. �e med primitivoma pi in pj
obstaja povezava in pi ∈ Sk, potem mora veljati pj /∈ Sk.
Povr²ina, na katero bo name²£ena logi£na struktura, se razdeli na pravokotna po-
dro£ja [11]. Vsaki skupini ustreza eno podro£je, znotraj katerega bodo name²£eni vsi
primitivi v skupini. Ker imajo primitivi dolo£ene oblike, lahko dolo£imo tudi obliko
namestitvenega podro£ja, tako da bo lahko vsebovalo vse pripadajo£e primitive. Vze-
mimo mnoºico podro£ij B={b1, b2, ..., bN2}. Vsako podro£je bi ∈ B ima dolo£eni ²irino
wi in vi²ino hi. Slednji morata biti zadosti veliki, da se lahko v podro£je namestijo vsi
pripadajo£i logi£ni primitivi v skupini Si brez prekrivanja. Skupini Si ustreza podro£je
bi.
To£ko, v kateri se povezava priklju£i na vhod logi£nega primitiva, imenujemo vhodni
priklju£ek. Podobno je to£ka, v kateri se povezava priklju£i na izhod logi£nega primitiva,
imenovana izhodni priklju£ek. Na podlagi logi£ne sheme lahko sestavimo seznam povezav
E={e1, e2, ..., eN3} med vsemi priklju£ki v strukturi. Mnoºico E sestavljata disjunktni
podmnoºici E1 in E2, tako da velja E1 ∪ E2 = E in E1 ∩ E2 = ∅. Vsaka povezava
v E1 povezuje en izhodni priklju£ek na enem primitivu s poljubnim ²tevilom vhodnih
priklju£kov na enem ali ve£ preostalih primitivih. Povezava v E2 povezuje ali en vhodni
priklju£ek strukture in vhodne priklju£ke na logi£nih primitivih ali en izhodni priklju-
£ek na primitivu z enim izhodnim priklju£kom strukture. Razvejitev signala omogo£ajo
razvejitvene povezave. Ker priklju£ki v istem podro£ju med seboj niso povezani, vsaka
povezava ei ∈ E1 poteka od izhodnega priklju£ka v enem podro£ju do enega ali ve£ vho-
dnih priklju£kov v preostalih podro£jih. Tako si lahko mnoºico E1 predstavljamo tudi
kot seznam povezav med podro£ji.
Za primer vzemimo logi£no shemo na sliki 3.2. Mnoºico logi£nih primitivov P v tem
primeru sestavljajo p1, p2, p3, p4, p5, p6 in p7. Vhodni priklju£ki strukture so x1, x2,
x3, x4 in x5, izhodna priklju£ka pa sta y1 in y2. Mnoºico povezav E={e1, e2, ..., e12}
sestavljata podmnoºici E1={e6, e7, e8, e9, e10} in E2={e1, e2, e3, e4, e5, e11, e12}.
Vhodna podatka za snovanje geometrije strukture sta mnoºica pravokotnih podro£ij B
in mnoºica povezav E. Cilj postopka je razporediti podro£ja na povr²ino brez prekrivanja.
52 3 Izhodi²£a za razme²£anje in povezovanje logi£nih primitivov v QCA
Slika 3.2 Primer logi£ne sheme.
Pri tem je potrebno upo²tevati podane omejitve, kot sta na primer maksimalni dimenziji
celotne porabljene povr²ine. Rezultat postopka so natan£no dolo£eni poloºaji podro£ij na
povr²ini. �e koordinata (bxi, byi) ozna£uje koordinato spodnjega levega ogli²£a podro£ja
bi, je rezultat mnoºica koordinat
Bkoordinate = {(bxi, byi)|1 ≤ i ≤ N2}. (3.2)
Med podro£ji se lahko pusti nekaj proste povr²ine (angl. channel), na katero se namestijo
povezave [11]. Na prosti povr²ini se izvedejo tudi kriºanja povezav. Primer razdelitve
pravokotne povr²ine s stranicama w in h na tri podro£ja b1, b2 in b3 prikazuje slika 3.3.
Med podro£ji se nahaja prosta povr²ina za namestitev povezav.
Med procesom dolo£anja poloºajev podro£ij se optimizira ve£ kriterijev. Med njimi
sta velikost celotne porabljene povr²ine in ocena skupne dolºine povezav. Navedeni koli-
£ini se sku²ata minimizirati. Pomembna je tudi £imbolj enakomerna porazdelitev povezav
na povr²ini, saj obmo£ja z veliko gostoto povezav oteºujejo njihovo name²£anje. V sto-
pnji snovanja geometrije strukture se izra£unajo ocene optimalnih vrednosti kriterijev.
Vrednosti se lahko med procesom �zi£nega snovanja ²e spreminjajo.
3.1 Osnove fizi£nega snovanja logi£ne strukture 53
b1
b2
b3
w
h
( )bx , by2 2
( )bx , by1 1
( )bx , by3 3
Slika 3.3 Podro£ja b1, b2 in b3, name²£ena na pravokotno povr²ino s stranicama w in h. S sivo obarvana prosta povr²ina
je namenjena za namestitev povezav.
3.1.2 Razme²£anje logi£nih primitivov
Mnoºica B pravokotnih podro£ij z dolo£enimi dimenzijami in mnoºica S skupin z logi£-
nimi primitivi predstavljata osnovo za stopnjo razme²£anja. Podani sta tudi mnoºica
primitivov P in mnoºica E povezav med priklju£ki. Na podro£je bi ∈ B morajo biti
name²£eni primitivi iz mnoºice Si ∈ S. Cilj postopka razme²£anja je namestitev logi£nih
primitivov v ustrezna podro£ja. Pri tem se primitivi med seboj ne smejo prekrivati in
ne smejo segati izven meja pripadajo£ega podro£ja. Rezultat razme²£anja je mnoºica
koordinat
Pkoordinate = {(pxi, pyi)|1 ≤ i ≤ N1}, (3.3)
kjer (pxi, pyi) ozna£uje koordinato spodnjega levega ogli²£a logi£nega primitiva pi.
Slika 3.4 prikazuje razmestitev sedmih logi£nih primitivov p1, p2, p3, p4, p5, p6 in p7
v treh podro£jih b1, b2 in b3. Poloºaji podro£ij ustrezajo geometriji, predstavljeni na sliki
3.3. Primitivi so razdeljeni v skupine S1 = {p1, p2, p3}, S2 = {p4, p5} in S3 = {p6, p7},
tako da skupini Si ustreza podro£je bi.
Podobno kot pri snovanju geometrije strukture se tudi pri razme²£anju optimizirata
skupna dolºina povezav in porazdelitev gostote povezav na povr²ini. Poleg tega se mini-
54 3 Izhodi²£a za razme²£anje in povezovanje logi£nih primitivov v QCA
p1p2
p3
p4
p5
p6
p7
b1
b2
b3
( )px , py1 1 ( )px , py2 2
( )px , py3 3
( )px , py4 4
( )px , py5 5
( )px , py6 6
( )px , py7 7
Slika 3.4 Razmestitev sedmih logi£nih primitivov p1, p2, p3, p4, p5, p6 in p7 v treh podro£jih b1, b2 in b3.
mizirata ²tevilo kriºanj povezav in dolºine najdalj²ih povezav. Optimizirane vrednosti so
zaenkrat le ocene kon£nih vrednosti, ki se dokon£no dolo£ijo ²ele v stopnji povezovanja.
Optimalnost razmestitve primitivov je odvisna od zasnovane geometrije strukture.
�e re²itev ni zadovoljiva in je ni mogo£e izbolj²ati v fazi razme²£anja, se lahko ponovno
izvede postopek snovanja geometrije logi£ne strukture. Na ta na£in se dolo£i primernej²o
razporeditev podro£ij, na podlagi katere se znova poi²£e optimalno razmestitev logi£nih
primitivov.
3.1.3 Povezovanje logi£nih primitivov
Prvi vhodni podatek za fazo povezovanja je optimizirana razmestitev logi£nih primitivov
iz mnoºice P. Vsak primitiv pi ∈ P ima dolo£en poloºaj na povr²ini s koordinato (pxi,
pyi) ∈ Pkoordinate. Vhodni podatki so ²e mnoºica podro£ij B, mnoºica koordinat podro£ij
Bkoordinate in mnoºica povezav E = E1 ∪ E2. Vsaka povezava ei ∈ E1 povezuje en izhodni
priklju£ek na enem primitivu z enim ali ve£ vhodnih priklju£kov na ostalih primitivih.
Navedeni priklju£ki pripadajo povezavi ei. Mnoºica E2 vsebuje povezave med vhodno
izhodnimi priklju£ki logi£ne strukture in priklju£ki na logi£nih primitivih.
Namen povezovanja logi£nih primitivov je namestitev vseh povezav v mnoºici E na po-
3.1 Osnove fizi£nega snovanja logi£ne strukture 55
vr²ino. Vsaka povezava mora povezati vse pripadajo£e priklju£ke. Pri tem se upo²tevajo
dane omejitve, kot je na primer minimalna potrebna razdalja med dvema vzporednima
povezavama. Rezultat postopka je natan£no dolo£ena lega vsake povezave.
Del povezave, ki se nahaja znotraj podro£ja, poteka do njegovega roba v najkraj²i li-
niji. Povezave znotraj podro£ja se med seboj ne kriºajo, niti ne potekajo £ez obmo£ja, ki
jih zasedajo logi£ni primitivi. Del povezave v podro£ju povezuje priklju£ek na logi£nem
primitivu s to£ko na robu podro£ja. Na zunanjih robovih se nahajajo vhodni in izhodni
priklju£ki strukture. Povezave med priklju£ki strukture in ustreznimi priklju£ki na logi£-
nih primitivih potekajo znotraj podro£ja. Ko so name²£ene povezave znotraj podro£ij,
preostane ²e povezovanje ustreznih to£k na robovih podro£ij, ki se izvede z name²£anjem
povezav na prosto povr²ino. Na slednji se implementirajo kriºanja povezav [11].
Slika 3.5 prikazuje name²£ene povezave med logi£nimi primitivi p1, p2, p3, p4, p5,
p6 in p7. Razmestitev primitivov v podro£jih b1, b2 in b3 je enaka kot na sliki 3.4.
p1p2
p3
p4
p5
p6
p7
b1
b2
b3
e1 e2 e3 e4 e5
e6 e7 e10
e8
e9
e11
e12
Slika 3.5 Povezana razmestitev logi£nih primitivov s slike 3.4. Podro£ja so ozna£ena z bi, logi£ni primitiv s pi in
povezave z ei. Vhodni priklju£ki strukture se nahajajo na zgornjem robu podro£ja b1, izhodni pa na desnem
robu b3. Oboji so ozna£eni s £rnimi kvadratki. Vhodne priklju£ke na logi£nih primitivih ozna£ujejo modri
kvadratki in izhodne priklju£ke rumeni. Razvejitvi povezav e6 in e9 ozna£uje £rn krog. Prikazano je tudi
kriºanje povezav e8 in e9.
Prikazanih je dvanajst povezav iz mnoºice E={e1, e2, ..., e12}, ki jo sestavljata podmno-
56 3 Izhodi²£a za razme²£anje in povezovanje logi£nih primitivov v QCA
ºici E1={e6, e7, e8, e9, e10} in E2={e1, e2, e3, e4, e5, e11, e12}. Ozna£eni so tudi vhodni in
izhodni priklju£ki strukture ter vsi priklju£ki na logi£nih primitivih.
Rezultat povezovanja so tudi dokon£no dolo£ene optimizirane vrednosti kriterijev,
kot so skupna dolºina povezav, ²tevilo kriºanj povezav, porazdelitev gostote povezav
na povr²ini, itd. Kvaliteta rezultata faze povezovanja je odvisna od vhodnih podatkov.
Lahko se zgodi, da re²itev ni dovolj kvalitetna, ali pa celo sploh ni moºno namestiti
vseh povezav v skladu z zahtevami. Takrat se ponovno izvede postopek razme²£anja
logi£nih primitivov ali pa tudi snovanje geometrije strukture. I²£e se taka re²itev, da bo
pri ponovnem povezovanju moºno najti bolj²i rezultat.
3.2 Fizi£no snovanje logi£ne strukture na osnovi QCA
Cilj pri£ujo£e doktorske disertacije je vzpostavitev avtomatiziranega postopka �zi£nega
snovanja QCA logi£ne strukture. I²£emo metodo, ki bo realizirala ºeleni cilj z izvedbo
procesa �zi£nega snovanja logi£ne strukture. V obstoje£ih raziskavah [90, 37, 75, 91,
5, 92, 6, 93] so bile ro£no zasnovane nekatere enostavne QCA logi£ne strukture. Tako
snovanje je potekalo z ad hoc postopkom, ki ga ni mogo£e posplo²iti za uporabo pri
snovanju poljubne strukture. Za vpeljavo avtomati£nega snovanja bo potrebno metodo
formalizirati in jo zapisati z algoritmom. Vhod algoritma bo logi£na shema strukture,
izhod (rezultat) pa �zi£na razmestitev strukture QCA. Slednja je de�nirana z natanko
dolo£enimi legami QCA logi£nih primitivov v dvodimenzionalnem prostoru. V �zi£ni
razmestitvi strukture QCA je tako za vsako QCA celico znan njen poloºaj v pravokotni
povr²inski mreºi. Avtomatizirano snovanje bo potekalo z upo²tevanjem na£rtovalskih
pravil. Z njimi so dolo£ene zahteve, ki jim mora zado²£ati �zi£na razmestitev strukture
QCA, tako da bo simulacija njenega delovanja dala pri£akovane rezultate. Vhod in izhod
algoritma �zi£nega snovanja logi£ne strukture QCA sta shemati£no prikazana na sliki
3.6.
Isto logi£no funkcijo lahko realizira ve£ razli£nih �zi£nih razmestitev strukture QCA.
Razlike med slednjimi se kaºejo v njihovih lastnostih. Nekatere lastnosti so bolj zaºelene
kot druge, zato lahko na njihovi podlagi postavimo kriterije za ovrednotenje posamezne
�zi£ne razmestitve QCA. Vzpostavljena metoda bo izvajala ve£kriterijsko optimizacijo,
pri £emer bodo minimizirane vrednosti naslednjih kriterijev:
²tevilo potrebnih urinih faz za izra£un rezultata,
3.3 Zasnova geometrije strukture 57
Logična shema strukture Fizična razmestitev strukture QCA
S
C
P=-1
P=-1
P=-1
P=+1
B
A
Algoritem fizičnega snovanja
logične strukture QCA
Načrtovalska pravila
Slika 3.6 Shemati£ni prikaz vhoda in izhoda algoritma �zi£nega snovanja logi£ne strukture QCA.
vsota dolºin vseh linij,
²tevilo kotnih linij,
porabljena povr²ina in
²tevilo kriºanj linij.
Kriteriji so med seboj soodvisni, kar pomeni, da lahko zmanj²anje vrednosti enega izmed
njih povzro£i pozitivno ali negativno spremembo vrednosti ostalih kriterijev.
Vzpostavljena metoda bo morala ob optimizaciji navedenih kriterijev z upo²tevanjem
na£rtovalskih pravil dose£i naslednje cilje:
razdeliti logi£ne primitive v urine cone,
dolo£iti ²tevilo potrebnih urinih faz,
razmestiti logi£ne primitive v posamezne urine cone in
medsebojno povezati logi£ne primitive v strukturi.
3.3 Zasnova geometrije strukture
Kompleksno CMOS vezje za generiranje urinega signala lahko zasen£i prednosti, ki jih
ponuja QCA tehnologija pred obstoje£imi sistemi. Moºna hitrost preklopa stanja QCA
celice je nekaj velikostnih redov ve£ja od hitrosti preklopa v CMOS vezju [20]. Zato je
potrebno zasnovati £imbolj enostavno CMOS vezje, ki bo omogo£alo £im ve£jo frekvenco
urinega signala. To ni zaºeleno le zaradi pove£anja hitrosti delovanja QCA, pa£ pa je tudi
58 3 Izhodi²£a za razme²£anje in povezovanje logi£nih primitivov v QCA
nujno za zagotovitev prenosa pravilnega logi£nega stanja QCA celice, preden se njegova
vrednost izgubi [20].
Dodatno omejitev predstavlja razlika med velikostmi elementov v CMOS in QCA
tehnologiji. Dimenzije CMOS elektrode so ve£je od velikosti QCA celice [94]. Ker je
²irina urine cone dolo£ena z velikostjo elektrode pod njo, mora biti urina cona nekajkrat
ve£ja od velikosti ene QCA celice. Tako ima linija znotraj ene urine cone dolo£eno
minimalno dolºino, ki ustreza ²irini cone. Hkrati pa linija ne sme vsebovati ve£ kot Nmax
QCA celic, kar navzgor omejuje ²irino posamezne urine cone.
Minimalni £as trajanja urinega cikla dolo£a Tcikel. Ta £as je sorazmeren s ²tevilom
celic v liniji, ki jih kontrolira isti urin signal. �as preklopa je tako odvisen od ²tevila
celic v najdalj²i liniji znotraj urine cone. Za prepre£evanje pojava urinega zamika ºelimo
enak £as preklopa v vseh conah. Zato smo dolo£ili enotno velikost vseh urinih con in s
tem poenotili tudi dolºino najdalj²e linije znotraj posamezne cone.
Na podlagi navedenih lastnosti QCA smo dolo£ili pravilno, omejeno in enotno velikost
urine cone. Vsaka cona ima pravokotno obliko s �ksno ²irino. Celotna �zi£na razmestitev
strukture QCA je razdeljena na n urinih con, ki so razporejene od vhodov na levi do
izhodov na desni strani. Procesiranje poteka od vhodov proti izhodom, kot je prikazano
na sliki 3.7.
Slika 3.7 Razporeditev urinih con UC1, UC2, ..., UCn in smer poteka procesiranja v �zi£ni razmestitvi strukture QCA.
3.4 Opisi ciljev 59
3.4 Opisi ciljev
3.4.1 Razdelitev logi£nih primitivov v urine cone
Vhodni podatek metode za snovanje �zi£ne razmestitve strukture je logi£na shema struk-
ture kombinatori£nega vezja, na podlagi katere lahko sestavimo usmerjeni graf logi£ne
sheme. Kombinatori£no vezje nima spomina in zato tudi ne vsebuje povratnih povezav.
Izhod je odvisen le od trenutnega vhoda in ne tudi od prej²njih vhodov.
Kot zgled vzemimo logi£no shemo strukture dvobitnega polnega se²tevalnika, ki je
prikazana na sliki 3.8, pripadajo£i usmerjeni graf pa na sliki 3.9. Vozli²£a v grafu
Slika 3.8 Logi£na shema dvobitnega polnega se²tevalnika, sestavljenega iz ²estih majoritetnih vrat (M1, M2, M3, M4,
M5 in M6) in ²tirih negatorjev (I1, I2, I3 in I4).
ustrezajo logi£nim primitivom v shemi, usmerjene povezave med vozli²£i pa so dolo£ene
s povezavami med primitivi v shemi. Usmerjeni graf logi£ne sheme kombinatori£nega
vezja ne vsebuje ciklov, zato ga lahko topolo²ko uredimo [95].
V vsakem topolo²ko urejenem usmerjenem grafu obstaja ena ali ve£ kriti£nih poti,
ki imajo vse enako dolºino. Kriti£na pot je najdalj²a pot v usmerjenem grafu [95].
Dolºina kriti£ne poti p dolo£a ²tevilo urinih con, ki vsebujejo logi£ne primitive. Take
cone ozna£imo z UCL1, UCL2, ..., UCLp. Na sliki 3.9 so ²tiri cone z logi£nimi primitivi,
ozna£ene z UCL1, UCL2, UCL3 in UCL4. Vsako vozli²£e na kriti£ni poti lahko pripada le
60 3 Izhodi²£a za razme²£anje in povezovanje logi£nih primitivov v QCA
Slika 3.9 Usmerjeni graf logi£ne sheme s slike 3.8. Kriti£na pot od vhodnega vozli²£a A0 do izhodnega Sum1 je
predstavljena z odebeljenimi pu²£icami. Vozli²£a, ki predstavljajo logi£ne primitive, so razdeljena v ²tiri urine
cone UCL1, UCL2, UCL3 in UCL4.
eni urini coni, ki je dolo£ena s poloºajem vozli²£a na poti. Ostala vozli²£a so �plavajo£a� in
jih lahko umestimo v poljubno cono, pri £emer mora ²e vedno veljati topolo²ka urejenost
med vozli²£i. V primeru na sliki 3.9 lahko na primer vsako od vozli²£ I3, M3 in M5
prestavimo za eno cono naprej, tako da vstavimo vozli²£i I3 inM3 v cono UCL3, vozli²£e
M5 pa v cono UCL4. �e paM5 ostane v UCL3, se vozli²£i I3 inM3 ne smeta premakniti
iz cone UCL2.
3.4.2 Dolo£anje ²tevila potrebnih urinih faz
Med dvema zaporednima conama z logi£nimi primitivi UCLi in UCLi+1 lahko vstavimo
ve£ vmesnih urinih con, v katerih so implementirane povezave med primitivi. �tevilo
vmesnih urinih con je odvisno od lastnosti povezave med celico na desnem robu UCLi in
celico na levem robu cone UCLi+1. �e je linija povsem ravna, vmesna cona ni potrebna,
ker se logi£na vrednost prenese neposredno z izhodne celice logi£nega primitiva v coni
3.4 Opisi ciljev 61
UCLi na vhodno celico primitiva v coni UCLi+1. Kadar pa je za povezavo potrebna kotna
linija, mora biti ta name²£ena v vmesni coni. Podobno je v primeru razvejitvene linije,
ki prav tako zahteva vstavitev vmesne cone. V slednjih je implementirano tudi kriºanje
linij. �e razdalje med kriºajo£imi se linijami ne zado²£ajo na£rtovalskim pravilom, to
lahko zahteva vstavitev ve£jega ²tevila vmesnih urinih con.
Pri r dodanih urinih conah vsebuje struktura p + r urinih con. S tem je dolo£ena
tudi zakasnitev signala v strukturi, ki zna²a n = p + r urinih faz. Fizi£na razmestitev
strukture je razdeljena na p urinih con z logi£nimi primitivi UCLi (1 ≤ i ≤ p) in r
vmesnih con UCV j (0 ≤ j ≤ r).
3.4.3 Razme²£anje primitivov v posamezne urine cone
Ko so dolo£ene urine cone, v katerih se logi£ni primitiv lahko nahaja, se mora dolo£iti ²e
njegov poloºaj znotraj ene izmed moºnih con. Za razme²£anje bomo uporabili tehniko
simuliranega ohlajanja. Pri tem se minimizirajo ocena skupne dolºine linij, ocena ²tevila
kotnih linij in ocena ²tevila kriºanj linij. Upo²tevati se morajo tudi na£rtovalska pravila.
Eno izmed teh na primer dolo£a minimalno zadostno razdaljo med logi£nimi primitivi.
Rezultat te stopnje so dolo£eni poloºaji logi£nih primitivov znotraj urinih con in s
tem znotraj strukture, pri £emer so vrednosti optimizacijskih kriterijev £im manj²e.
3.4.4 Medsebojno povezovanje logi£nih primitivov v strukturi
Za prenos signalov je potrebno ustrezne logi£ne primitive med seboj povezati z linijami.
Za to se uporabljata algoritma iskanja po labirintu in iskanja po liniji. Prvi temelji na
iskanju v ²irino, drugi pa na iskanju v globino. Za povezovanje bomo uporabili kom-
binacijo obeh algoritmov. Najprej se globalno poi²£e prostor za namestitev povezave z
iskanjem po labirintu, nato pa se podrobno dolo£i lega povezave z iskanjem po liniji. Kri-
teriji optimizacije pri povezovanju so vsota dolºine vseh linij, ²tevilo kotnih linij, ²tevilo
kriºanj linij, poraba povr²ine in ²tevilo potrebnih urinih faz.
Rezultat povezovanja so dolo£ene lege linij med logi£nimi primitivi. �ele v tej stopnji
se ugotovijo dejanske dolºine linij, ²tevilo kotnih linij, ²tevilo kriºanj, porabljena povr²ina
in ²tevilo potrebnih urinih faz. Dolo£i se kon£na vi²ina urinih con.
4 Nacrtovalska pravila
4.1 Uvod
Pred razvojem ra£unalni²kega orodja za avtomatizirano �zi£no snovanje logi£ne struk-
ture je najprej potrebno formalizirati metodologijo snovanja. Nato se lahko na pod-
lagi formalne speci�kacije implementirajo algoritmi za avtomatizacijo procesa snovanja.
Pravilno delujo£e strukture je moºno zasnovati le z uporabo na£rtovalskih pravil (angl.
design rules), ki jih mora zato upo²tevati tudi ra£unalni²ko orodje. Mere, dolo£ene z na-
£rtovalskimi pravili, so odvisne od tehnologije realizacije strukture. Podane so s ²tevilom
enot dolo£ene dolºine, tako da se lahko zasnove skalirajo glede na izbrano tehnologijo.
Enotno metodologijo snovanja CMOS vezij in njim primerna na£rtovalska pravila
sta vpeljala avtorja Mead in Conway [7]. Z na£rtovalskimi pravili v kvantnih celi£nih
avtomatih se je ukvarjal Niemier [20]. Vpeljava na£rtovalskih pravil in ra£unalni²ke
podpore sluºi tudi povezovanju razli£nih znanstvenih disciplin, potrebnih za izgradnjo
ra£unalni²kih struktur. Elektrotehniki in kemiki nimajo potrebnega znanja za snovanje
ra£unalni²kih sistemov. Nasprotno sistemski arhitekti to znanje imajo, ne poznajo pa za-
dosti podrobnosti o �zi£ni izdelavi naprav. S pomo£jo ra£unalni²kega orodja in omejitev,
63
64 4 Na£rtovalska pravila
podanih z na£rtovalskimi pravili, se izbolj²a komunikacija med znanstveniki z razli£nih
podro£ij, kar omogo£a snovanje in izdelavo vse bolj²ih ra£unalni²kih sistemov.
Za ra£unalni²ko podprto snovanje �zi£ne razmestitve QCA smo postavili to£no dolo-
£ena na£rtovalska pravila, ki jih mora ra£unalni²ko orodje upo²tevati v procesu snovanja
[96]. Pravila postavljajo omejitve pri razmestitvi logi£nih primitivov v �zi£ni realizaciji
strukture. Z njimi so dolo£ene potrebne razdalje med posameznimi logi£nimi primitivi.
Dolo£ajo tudi razdelitev linij v urine cone.
4.2 Zahteve pri na£rtovalskih pravilih
Na£rtovalska pravila de�nirajo lastnosti, ki jih mora imeti �zi£na razmestitev strukture,
zato da je njeno delovanje pravilno. Pri tem je potrebno upo²tevati posebnosti tehnologije
QCA. Poleg tega zahteve dolo£a tudi predstavljena zasnova geometrije vezja. Zahteve v
na£rtovalskih pravilih so predstavljene v naslednjih alinejah:
Za pravilen prenos signala po QCA celicah mora preklop slednjih kontrolirati cikli-
£en urin signal v pravilnem zaporedju urinih faz. Ko se signal pojavi na vhodnem
robu urine cone, mora QCA celice v njej kontrolirati urin signal v fazi preklopa.
Zato morajo biti v pravilnem zaporedju razvr²£ene tudi urine cone, skozi katere
potekajo signali. Pravilen vrstni red urinih faz v zaporednih urinih conah je faza
preklopa, faza spro²£enosti, faza spro²£anja in faza zadrºevanja.
Urine cone imajo pravokotno obliko. �irina in vi²ina urinih con se merita s ²tevilom
podro£ij v mreºi, na katerih so lahko name²£ene QCA celice. �irino urine cone
UC ozna£imo z W (UC), njeno vi²ino pa s H(UC). Dolo£ene so robne vrednosti
dimenzij, ki jih lahko ima katerakoli urina cona. �e je minimalna ²irina ozna£ena
z Wmin in maksimalna z Wmax, velja
Wmin ≤W (UC) ≤Wmax. (4.1)
Podobno za minimalno vi²ino urine cone Hmin in maksimalno vi²ino Hmax velja
Hmin ≤ H(UC) ≤ Hmax. (4.2)
Vsi signali na linijah, ki se nahajajo v urini coni, potekajo v isti smeri. Vhodni
in izhodni priklju£ek na liniji ne smeta biti name²£ena na istem robu urine cone.
4.2 Zahteve pri na£rtovalskih pravilih 65
Signal lahko preide iz vodoravne na navpi£no in nato spet na vodoravno linijo, zato
ni nujno, da sta vhodni in izhodni priklju£ek povezana z ravno linijo. Na ta na£in
lahko signal potuje na primer od leve strani proti desni in ob prehodu na navpi£no
linijo spremeni smer potovanja navzgor. Ko spet preide na vodoravno linijo, lahko
signal potuje ponovno proti desni, nikakor pa ne proti levi strani.
Rezultat osnovnih logi£nih operacij naj se izra£una v eni urini fazi. Tako mora biti
logi£ni primitiv, ki izvaja logi£no operacijo, name²£en v eni urini coni. Rezultat
logi£ne operacije na izhodnem robu urine cone je izra£unan v isti urini fazi, v kateri
se na vhodnem robu urine cone pojavijo vhodni signali.
V nadaljevanju poglavja bomo opisali na£rtovalska pravila za logi£ne primitive ne-
gator, majoritetna vrata in majoritetna vrata povezana z negatorjem. Vsakega od
na²tetih gradnikov lahko namestimo v eno urino cono in pri tem zagotovimo ºeleno
delovanje. S tem je mogo£e rezultate logi£nih operacij NOT, AND, OR, NAND,
NOR in majoritetne funkcije izra£unati v eni urini fazi.
Logi£ni primitivi morajo ohraniti pravilno delovanje, kadar vse linije z vhodnimi
signali pridejo z iste strani. Pri enostavni razmestitvi urinih con si te sledijo od leve
proti desni. Tako se vhodni signali vsake urine cone nahajajo na njeni levi strani,
zato tudi vse vhodne linije logi£nih primitivov v urini coni potekajo od leve strani.
V nadaljevanju poglavja bomo opisali na£rtovalska pravila za logi£ne primitive ne-
gator, majoritetna vrata in majoritetna vrata povezana z negatorjem. Z upo²teva-
njem teh na£rtovalskih pravil na²teti logi£ni primitivi delujejo pravilno, kadar vse
linije z vhodnimi signali pridejo z iste strani.
Signal lahko potuje od enega vhodnega priklju£ka do ve£ izhodnih. V ta namen
se uporablja razvejitev linije (angl. fanout). Opisali bomo na£rtovalska pravila za
izvedbo razvejitvene linije v QCA. Pokazali bomo, da se razvejitev izvede v eni
urini fazi.
Za realizacijo kompleksnej²ih QCA struktur je potreben mehanizem kriºanja linij.
Med razli£nimi moºnostmi implementacije kriºanja bomo obravnavali ve£nivojsko
kriºanje linij. Opisali bomo na£rtovalska pravila, ki bodo dolo£ala ustrezne razdalje
med kriºajo£imi se linijami, tako da bo struktura QCA delovala pravilno.
66 4 Na£rtovalska pravila
4.3 Na£rtovalska pravila za realizacijo logi£nih primitivov v eni
urini coni
Na sliki 4.1(a) je prikazan logi£ni primitiv negatorja, realiziran v eni urini coni. Slika
4.1(b) prikazuje rezultate simulacije njegovega delovanja. Vhodni priklju£ek x1 se nahaja
na levem robu urine cone, izhodni priklju£ek y1 pa na njenem desnem robu. �irina mreºe,
na kateri se nahaja negator, je 6 podro£ij, zato mora imeti urina cona z negatorjem ²irino
najmanj 6 podro£ij.
x1 y1
x1
y1
(a)
(b)
Slika 4.1 Logi£ni primitiv negator, realiziran v eni urini coni (a). Vhod je ozna£en z x1 in izhod z y1, pri £emer velja
y1 = x1. Priloºeni rezultati simulacije potrjujejo pravilno delovanje (b).
Originalna majoritetna vrata nimajo vseh vhodov na levem robu urine cone. Zato
je potrebno povezati vsakega od vhodov x1 in x3 z levim robom cone. To se izvede z
uporabo kotnih linij, kot je prikazano na sliki 4.2(a). Izkaºe se, da tak²en primitiv ne
izvaja majoritetne funkcije. Problem se pojavi zaradi neenakih dolºin linij, ki vodijo
od vhodov na levi strani do celice v sredi²£u majoritetnih vrat. Vodoravna linija med
vhodom x2 in celico v sredi²£u vsebuje dve QCA celici, linija med vhodom x1 in sredi²£no
celico vsebuje pet QCA celic, prav tako pet QCA celic vsebuje tudi linija med vhodom
x3 in celico v sredi²£u majoritetnih vrat. Ko logi£ni signali potujejo od vhodnih celic
proti sredi²£ni celici, na slednjo vpliva le signal iz bliºnjega vhoda x2, ne pa tudi signala
4.3 Na£rtovalska pravila za realizacijo logi£nih primitivov v eni urini coni 67
x1
M nepravilnox2
x3
x1
x2
x3
M nepravilno
(a)
(b)
celica v središčumajoritetnih vrat
Slika 4.2 Majoritetna vrata z vhodi x1, x2 in x3 ter izhodom M nepravilno (a). Vsi vhodi se nahajajo na levi strani,
vendar prikazani logi£ni primitiv ne izvaja ºelene majoritetne funkcije. Izhod M nepravilno je vedno enak
srednjemu vhodu x2, kot prikazujejo rezultati simulacije (b).
iz bolj oddaljenih vhodov x1 in x3. Sredi²£na celica se polarizira enako kot vhodna celica
x2, enako pa se nato polarizira tudi izhodna celica majoritetnih vrat.
Za odpravo te nepravilnosti smo zasnovali nadgrajena majoritetna vrata, prikazana
na sliki 4.3(a). Vsi vhodni signali prihajajo z leve strani, izhodni signal pa se pojavi na
68 4 Na£rtovalska pravila
kotni liniji
x1
x2
x3
y1
x1
x2
x3
y1
(a)
(b)
Slika 4.3 Nadgrajena majoritetna vrata z vhodi x1, x2 in x3 ter izhodom y1 (a). Logi£ni primitiv izvaja majoritetno
funkcijo y1 = M(x1, x2, x3), kot prikazujejo rezultati simulacije (b).
desni strani logi£nega primitiva. Dolºina linije od zgornjega vhodnega priklju£ka x1 do
majoritetnih vrat mora biti enaka dolºini linije od spodnjega vhodnega priklju£ka x3 do
majoritetnih vrat. Na sliki 4.3(a) tako linija od priklju£ka x1 kot tudi linija od priklju£ka
x3 vsebuje dve QCA celici v vodoravnem delu linije, eno celico v kotu in eno celico v
navpi£nem delu linije. Logi£no pravilno delujejo tudi majoritetna vrata, kjer je navpi£ni
4.3 Na£rtovalska pravila za realizacijo logi£nih primitivov v eni urini coni 69
del linije dalj²i, vendar mora imeti linija od priklju£ka x1 enako dolºino kot linija od
priklju£ka x3. Navpi£na dela kotnih linij se lahko podalj²ata za najve£ tri celice, kot je
prikazano v primeru na sliki 4.4(a).
kotni liniji s podaljšanimnavpičnim delom
x1
x2
x3
y1
x1
x2
x3
y1
(a)
(b)
Slika 4.4 Nadgrajena majoritetna vrata s podalj²anima navpi£nima deloma obeh kotnih linij (a). Priloºeni rezultati
simulacije potrjujejo pravilno delovanje (b).
70 4 Na£rtovalska pravila
Posebno obliko ima povezava, ki poteka od vhodnega priklju£ka x2 do priklju£ka na
levi strani majoritetnih vrat. Podro£je, na katerem bi se nahajala QCA celica v ravni
liniji med priklju£koma, je prazno, nad in pod njim pa sta name²£eni dve celici. Levo
od praznega podro£ja se nahaja vhodni priklju£ek x2 na levem robu urine cone. �irina
mreºe s predstavljenimi majoritetnimi vrati je 6 podro£ij.
�e se signal na vhodnem priklju£ku x1 potrebuje v nadaljnjem procesiranju, se vo-
doravna linija od priklju£ka x1 nadaljuje do desnega roba urine cone. Tako ni potrebna
razvejitev linije v urini coni pred cono z majoritetnimi vrati. Enako pravilo velja za
signal na vhodnem priklju£ku x3 in za oba signala na priklju£kih x1 in x3 skupaj. Slednji
primer je prikazan na sliki 4.5(a).
razvejitveni liniji
x1
x2
x3
y1
y2
y3
x1
x2
x3
y1
y2
y3
(a)
(b)
Slika 4.5 Nadgrajena majoritetna vrata z vhodi x1, x2 in x3 ter izhodi y1, y2 in y3 (a). Za izhode velja y1 = x1,
y2 = M(x1, x2, x3) in y3 = x3, kot prikazujejo priloºeni rezultati simulacije (b).
4.3 Na£rtovalska pravila za realizacijo logi£nih primitivov v eni urini coni 71
Za realizacijo logi£nih operacij NAND in NOR zadostuje primitiv, ki realizira nega-
cijo majoritetne funkcije. Tak²en logi£ni primitiv, ki se v celoti nahaja v eni urini coni,
je prikazan na sliki 4.6(a). Sestavljata ga stikajo£a se majoritetna vrata in negator. �e
x1
y1x2
x3
x1
x2
x3
y1
(a)
(b)
Slika 4.6 Logi£ni primitiv, ki realizira negacijo majoritetne funkcije, torej y1 = M(x1, x2, x3) (a). Pravilno delovanje
potrjujejo priloºeni rezultati simulacije (b).
ima eden od vhodnih priklju£kov �ksno stanje z logi£no vrednostjo 0, ta primitiv izvaja
operacijo NAND. V primeru, da je eno od stanj vhodnih priklju£kov �ksirano na logi£no
72 4 Na£rtovalska pravila
vrednost 1, primitiv izvaja operacijo NOR. S tem predstavljeni primitiv realizira opera-
ciji iz polnega funkcijskega nabora {NAND} in {NOR} in je torej poleg linij zadosten za
sestavo poljubne logi£ne strukture. Njegova slabost v primerjavi s predhodno predsta-
vljenimi majoritetnimi vrati je ²irina pripadajo£e mreºe, ki zna²a 8 podro£ij. Zato mora
tudi ²irina urine cone, ki vsebuje ta primitiv, zna²ati vsaj 8 podro£ij.
Podobno kot pri majoritetnih vratih s slike 4.5(a), je tudi v primeru logi£nega pri-
mitiva negacije majoritetne funkcije moºno realizirati razvejitev linije znotraj iste urine
cone. Tako se lahko razvejita liniji, ki nosita signala s priklju£kov x1 in x3.
4.4 Na£rtovalska pravila za realizacijo kriºanja linij
Na£rtovalska pravila za realizacijo kriºanja linij bomo predstavili na primeru urinih con s
²irino 6 podro£ij (W (UC) = 6). V tak²ne cone je moºno namestiti negator ali nadgrajena
majoritetna vrata. Pri podro£jih z dolºino stranice 20 nm zna²a ²irina urine cone 120
nm. Vezje za generiranje urinega signala je moºno izdelati, £e vsota premera elektrode
in razdalje med dvema elektrodama ne presega 120 nm, kar bi lahko bilo izvedljivo glede
na smernice razvoja tehnologije [2]. �tevilo QCA celic v liniji je navzgor omejeno z
Nmax = eEk/kbT . Z vrednostjo Ek = 2,28 meV [75] bi linija s ²estimi celicami delovala
pri temperaturi pod 15 K. Vodoravne linije tako niso predolge, prevelika dolºina pa se
lahko pojavi pri kotnih linijah z velikim ²tevilom celic v njihovem navpi£nem delu. Zato
smo dolºino navpi£nega dela kotne linije omejili na 20 celic. Predolge linije se morajo
razdeliti med ve£ zaporednih urinih con.
Predstavili bomo parametre pri ve£nivojskem kriºanju. �e njihove vrednosti niso v
skladu z na£rtovalskimi pravili, je za zagotovitev pravilnega delovanja potrebno razdeliti
kotno linijo, katere navpi£ni del se kriºa z vodoravnimi linijami.
Slika 4.7(a) prikazuje primer kriºanja linij. Linije A, B1, B2, B3 in B4 se nahajajo
v zaporednih conah UCi in UCi+1. Vse linije v UCi so vodoravne. Linije B1, B2, B3
in B4 so vodoravne tudi v UCi+1, linija A v UCi+1 pa ima dva kota. Linija A je v
UCi+1 sestavljena iz za£etnega dela na spodnji plasti (spodnji levi kot cone UCi+1 na
sliki 4.7(a)), navpi£nega dela na zgornji plasti in kon£nega dela na spodnji plasti (zgornji
desni kot UCi+1). Vedno se kriºata vodoravni del linije in navpi£ni del neke druge kotne
linije. Na sliki 4.7(a) so ozna£ena ²tiri kriºanja navpi£nega dela linije A s preostalimi
vodoravnimi linijami. Navpi£ni del linije A poteka na zgornji plasti nad linijami B1, B2,
4.4 Na£rtovalska pravila za realizacijo kriºanja linij 73
}}
odmik
d1
}d2
UCi UCi+1
zadnjekrižanje
B4
Y
B3
B2
B1
A
B1
B2
B3
B4
A
Y
(a)
(b)
Slika 4.7 Linije A, B1, B2, B3 in B4 v conah UCi in UCi+1 (a). Ozna£ena so kriºanja navpi£nega dela linije A
in preostalih vodoravnih linij v coni UCi+1. Posebej je ozna£eno zadnje kriºanje. Vrednosti parametrov so
odmik=3, d1=7 in d2=3. Rezultati simulacije potrjujejo pravilnost delovanja (b).
74 4 Na£rtovalska pravila
B3 in B4 na spodnji plasti.
Linija na zgornji plasti se lahko kriºa z eno ali ve£ linijami na spodnji plasti. Vedno
obstaja zadnje kriºanje glede na smer poteka signala po navpi£nem delu. Na sliki 4.7(a)
navpi£ni del linije A poteka od spodnjega dela UCi+1 proti zgornjemu delu, zato je zadnje
kriºanje tisto z linijo B4. Segment navpi£nega dela A med za£etnim delom linije A in
zadnjim kriºanjem je ozna£en z d1. Ta segment se lahko kriºa z vodoravnimi linijami na
spodnji plasti. Pri segmentu d2 med zadnjim kriºanjem in kon£nim delom A ni nobenega
kriºanja. Parameter odmik dolo£a razdaljo med levim robom urine cone s kriºanji in
navpi£nim delom na zgornji plasti. Vsi parametri se merijo s ²tevilom podro£ij. Vrednosti
parametrov na sliki 4.7(a) so odmik=3, d1=7 in d2=3. Priloºeni rezultati simulacije na
sliki 4.7(b) potrjujejo pravilnost delovanja.
Slika 4.8(a) prikazuje strukturo s slike 4.7(a) s podalj²anim navpi£nim delom linije
A. Segment d1=7 je enak kot na sliki 4.7(a), d2=8 pa je podalj²an za 5 podro£ij. Re-
zultati simulacije na sliki 4.8(b) prikazujejo nepravilno delovanje, saj izhod Y ni enak
vhodu A. Iz obeh slik je razvidno, da je troj£ek odmik=3, d1=7, d2=3 (slika 4.7(a)) v
skladu z na£rtovalskimi pravili, troj£ek odmik=3, d1=7, d2=8 (slika 4.8(a)) pa ne zado²£a
pravilom.
Na£rtovalska pravila morajo torej dolo£iti razmerja med parametri odmik, d1 in d2,
tako da bo struktura delovala pravilno. V coni s ²irino 6 podro£ij je ²est moºnih vre-
dnosti za parameter odmik, ki se nahajajo na intervalu [0, 5]. Pri izbrani vrednosti
parametra odmik lahko d1 zasede vrednosti med 1 in d1max, torej velja 1 ≤ d1 ≤ d1max.
Spodnja meja 1 je potrebna zaradi minimalne razdalje med linijami. Vrednost d1max je
odvisna od izbrane vrednosti parametra odmik. Pri dolo£enih vrednostih odmik = x1 in
d1 = x2 lahko d2 zavzame poljubno vrednost na intervalu [d2min, d2max]. S simulacijo
struktur z razli£nimi vrednostmi parametrov odmik, d1 in d2 smo de�nirali na£rtovalska
pravila, ki dolo£ajo ustrezna razmerja med parametri, pri katerih struktura deluje pra-
vilno. Rezultati so predstavljeni z gra� na sliki 4.9. �est grafov ustreza ²estim moºnim
vrednostim parametra odmik. Vsak graf prikazuje minimalno (d2min, ozna£en s kriºci)
in maksimalno (d2max, ozna£en s krogci) dovoljeno vrednost d2 pri dolo£enem d1. Pri
danem d1 so vse vrednosti med minimalno in maksimalno dopustne za d2. Vsaka to£ka
(x, y) znotraj ali na robu osen£enega lika pri odmik = z na sliki 4.9 dolo£a veljaven
troj£ek odmik = z, d1 = x, d2 = y, £e so x, y, z naravna ²tevila. Na grafu z odmik = 3
to£ka d1=7, d2=3 leºi na robu osen£enega lika, kar pomeni da so parametri pri strukturi
4.4 Na£rtovalska pravila za realizacijo kriºanja linij 75
B1
B2
B3
B4
A
Y
}}
odmik
d1
}d2
UCi UCi+1
zadnjekrižanje
B4
B3
B2
B1
A
Y
(a)
(b)
Slika 4.8 Struktura z vrednostmi parametrov odmik=3, d1=7, d2=8 (a). Rezultati simulacije kaºejo, da parametri
niso v skladu z na£rtovalskimi pravili (b).
76 4 Na£rtovalska pravila
odmik=0 odmik=1 odmik=2
odmik=3 odmik=4 odmik=5
d1 d1 d1
d1 d1 d1
d2
d2
d2
d2
d2
d2
Slika 4.9 Na£rtovalska pravila dolo£ajo dovoljena razmerja med parametri d1, d2 in odmik. �est grafov zajema vse
moºnosti v urini coni s ²irino 6 podro£ij. Vsak graf dolo£a minimalno (×) in maksimalno (◦) dovoljeno dolºino
d2 glede na pripadajo£o dolºino d1. Vsaka to£ka (x, y) znotraj ali na robu osen£enega lika pri odmik = z
dolo£a veljaven troj£ek odmik = z, d1 = x, d2 = y, £e so x, y, z naravna ²tevila. Struktura z veljavnim
troj£kom parametrov je zasnovana v skladu z na£rtovalskimi pravili.
4.5 Minimalna potrebna razdalja med razli£nimi logi£nimi primitivi 77
na sliki 4.7(a) veljavni. Nasprotno pa to£ka d1=7, d2=8 leºi zunaj osen£enega lika, zato
je troj£ek odmik=3, d1=7, d2=8 neveljaven.
Za odpravo problema pri strukturi na sliki 4.8(a) se mora kotna linija razdeliti med
dve zaporedni coni. Najprej se dolo£i celica C na navpi£nem delu kotne linije znotraj
cone UCj . Kotna linija se razdeli v segmenta S1 in S2. Segment S1 leºi med vhodno
celico kotne linije na levem robu UCj in celico C, segment S2 pa med C in izhodno celico
kotne linije na desnem robu UCj . Nato se vstavi nova vmesna urina cona UCj+1 desno
od UCj in segment S2 se prenese iz UCj v UCj+1. Nazadnje se lo£ena segmenta S1 in
S2 poveºeta z vodoravno linijo, name²£eno na zgornjo plast. Z razdelitvijo kotne linije s
slike 4.8(a) na opisan na£in dobimo strukturo na sliki 4.10(a). Za celico C, ki deli kotno
linijo na segmenta S1 in S2, je dolo£ena celica na mestu zadnjega kriºanja v coni UCi+1.
Dodana je cona UCi+2, v katero se iz cone UCi+1 prestavi segment S2. Segmenta sta
nato povezana z linijo, name²£eno na zgornji plasti, ki poteka nad linijo B4 na spodnji
plasti.
Kotna linija, ki leºi v coni UCi+1 na sliki 4.10(a), je sedaj sestavljena iz segmenta S2
in za£etnega dela linije med S1 in S2. Kotna linija se kriºa z linijami B1, B2 in B3, pri
£emer je kriºanje z B3 sedaj zadnje kriºanje. Parametri pri tej kotni liniji so odmik=3,
d1=5 in d2=1. S slike 4.9 je razvidno, da parametri sestavljajo veljaven troj£ek. �e
parametri ne bi zado²£ali na£rtovalskim pravilom, bi se morala vstaviti nova cona med
UCi+1 in UCi+2. Kotna linija bi se nato po opisanem postopku razdelila med UCi+1
in novo vstavljeno cono. Postopek se izvede za vsako kotno linijo v �zi£ni razmestitvi
strukture, dokler niso vsi parametri v skladu z na£rtovalskimi pravili. Kotno linijo v
UCi+2 na sliki 4.10(a) sestavljata segment S2 in najbolj desna celica v liniji med S1 in
S2. Ker se ne kriºa z nobeno drugo linijo, pravila s slike 4.9 ne pridejo v po²tev. Dolºina
njenega navpi£nega dela ne presega zgornje meje 20 celic, zato kotne linije ni potrebno
nadalje razdeliti.
4.5 Minimalna potrebna razdalja med razli£nimi logi£nimi pri-
mitivi
Simulacije kaºejo, da mora biti med razli£nimi primitivi vsaj eno prosto podro£je. To
pomeni, da mora biti vsaj eno prosto podro£je med vzporednimi linijami, ali med razli£-
nimi logi£nimi vrati, ali med vrati in linijo, ki nista povezana. Kadar potrebne razdalje
78 4 Na£rtovalska pravila
B1
B2
B3
B4
A
Y
UCi UCi+1 UCi+2
segment S2
linija, ki povezujeS in S1 2
segment S1
B4
B3
B2
B1
A
Y
(a)
(b)
Slika 4.10 Kotna linija s slike 4.8(a) je razdeljena na segmenta S1 v UCi+1 in S2 v UCi+2. Segmenta sta povezana
z linijo, name²£eno na zgornji plasti, ki poteka nad linijo B4 na spodnji plasti (a). Rezultati simulacije
izkazujejo pravilno delovanje (b).
4.5 Minimalna potrebna razdalja med razli£nimi logi£nimi primitivi 79
ni, pride do interakcije med sosednjimi celicami, ki pa sestavljajo razli£na primitiva. To
privede do nepravilnega delovanja primitivov. Prazen prostor med razli£nimi primitivi
prepre£i tak²ne neºelene interakcije med celicami.
Energija vzbujanja Ek je obratno sorazmerna s peto potenco razdalje med celicama
[20], zato se hitro zmanj²a z majhnim pove£anjem razdalje. Zato je eno prazno podro£je
med razli£nimi primitivi dovolj velika razdalja za prepre£itev neºelenih interakcij.
5 Metrike
5.1 Uvod
Za potrebe ovrednotenja lastnosti ra£unalni²ke strukture je potrebno dolo£iti ustrezne
metrike. Glede na vpeljane metrike je mogo£e med seboj primerjati razli£ne zasnove
struktur. Potrebno je dolo£iti tudi osnovne merske enote. Metrike so odvisne od teh-
nologije izdelave strukture. Pri razli£nih tehnologijah se zato razlikujejo tudi merske
enote.
Ker je QCA v celoti sestavljen iz celic, je za osnovno mersko enoto primerna ena
QCA celica. Njene dimenzije so odvisne od tehnologije realizacije. Pri QCA je po-
membno minimizirati ²tevilo kotnih linij in ²tevilo kriºanj linij, ker so teºje izvedljivi,
napake pri izdelavi pa lahko povzro£ijo napa£no delovanje celotne strukture. Zaradi
speci�£nih na£rtovalskih pravil so parametri pri kriºanju linij pomembni za dolo£anje
velikosti strukture in ²tevila potrebnih urinih faz za izra£un rezultata. Za razliko od
CMOS tehnologije, kjer je kriºanje ºic moºno na ve£jem ²tevilu nivojev, gre pri QCA
pri£akovati le moºnost dvonivojskega kriºanja [32]. Zato je minimizacija ²tevila kriºanj
linij v QCA tehnologiji zelo pomembna.
81
82 5 Metrike
Fizi£no razmestitev strukture QCA sestavljajo med seboj ustrezno povezani logi£ni
primitivi, ki realizirajo logi£ne operacije v izbranem funkcijskem naboru. �e operacije
pripadajo polnemu funkcijskemu naboru, je na ta na£in moºno realizirati poljubno lo-
gi£no funkcijo. Mnoºico vseh N1 primitivov v �zi£ni razmestitvi strukture ozna£imo
s P={p1, p2, ..., pN1}. Razdelimo jo lahko v dve disjunktni podmnoºici Poperatorji in
Plinije. V Poperatorji={po1, po2, ..., poNoperatorji} se nahajajo logi£ni primitivi, ki reali-
zirajo logi£ne operacije. Privzeli bomo, da so elementi mnoºice Poperatorji negatorji in
majoritetna vrata. Elementi mnoºice Plinije={pl1, pl2, ..., plNlinije} so primitivi, ki reali-
zirajo povezave v QCA. Ti primitivi so torej navadne in 45 stopinjske linije, realizacije
prehoda signala med njima, kotne in razvejitvene linije ter realizacije kriºanj linij.
�tevilo vseh primitivov je dolo£eno z vsoto
N1 = Noperatorji +Nlinije. (5.1)
�tevilo Noperatorji elementov mnoºice Poperatorji je dolo£eno z logi£no shemo in je enako
v vseh �zi£nih razmestitvah strukture, zasnovanih na osnovi iste logi£ne sheme. Med
razli£nimi �zi£nimi razmestitvami strukture pa se razlikuje ²tevilo linij Nlinije.
Kot zgled bomo v nadaljevanju obravnavali enostavno logi£no funkcijo enonaslovnega
multiplekserja 2/1_mux(A,B, S) = Y , podano z izrazom
Y = AS ∨BS. (5.2)
Pripadajo£a logi£na shema je prikazana na sliki 5.1. Na podlagi te logi£ne sheme lahko
Slika 5.1 Logi£na shema enonaslovnega multiplekserja 2/1_mux(A,B, S) = Y z vhodnimi priklju£ki A, B, S in
izhodnim priklju£kom Y .
z metodo �zi£nega snovanja sestavimo razli£ne �zi£ne razmestitve strukture QCA. Z
v(s) ozna£imo logi£no vrednost signala na priklju£ku in zapi²emo kombinacijo logi£nih
5.2 �tevilo potrebnih urinih faz za izra£un rezultata 83
vrednosti na vhodih z v(A) = x1, v(B) = x2, v(S) = x3 in vrednost na izhodu z
v(Y ) = x4. �e sta dve �zi£ni razmestitvi strukture QCA zasnovani na podlagi iste
logi£ne sheme in je na njunih vhodih enaka kombinacija logi£nih vrednosti, potem je tudi
vrednost njunih izhodov enaka. Razlika je v tem, da lahko eno od �zi£nih razmestitev
strukture sestavljajo dalj²e linije, ima ve£jo zakasnitev signala, itd.
Na sliki 5.2 sta prikazani dve razli£ni strukturi QCA. Obe sta zasnovani na podlagi
logi£ne sheme s slike 5.1 z ad hoc postopkom. Obe vsebujeta en negator in tri majorite-
tna vrata (Noperatorji=4), struktura na sliki 5.2(b) pa vsebuje dve kotni liniji manj kot
struktura na sliki 5.2(a).
P=-1
P=-1
P=+1 Y
B
S
A
P=-1
P=-1
P=+1 Y
B
S
A
(a) (b)
Slika 5.2 Dve razli£ni �zi£ni razmestitvi strukture QCA, ki realizirata logi£no funkcijo enonaslovnega multiplekserja
2/1_mux(A,B, S) = Y . Obe sta zasnovani na podlagi logi£ne sheme s slike 5.1.
5.2 �tevilo potrebnih urinih faz za izra£un rezultata
Procesiranje v �zi£ni razmestitvi strukture QCA je ra£unanje rezultata logi£ne funkcije.
Pri£ne se s prihodom vhodnih signalov v vhodne celice in se zaklju£i, ko so izhodni signali
prisotni v izhodnih celicah. Logi£ne vrednosti izhodnih signalov predstavljajo rezultat
procesiranja. Izhodni signal z indeksom i je na voljo po zakasnitvi di, merjeni v ²tevilu
urinih faz. �tevilo potrebnih urinih faz za izra£un rezultata d je enako najve£ji izmed
vseh zakasnitev di. Zakasnitev d je torej enaka ²tevilu vseh urinih con, preko katerih
poteka signal od vhodne celice strukture do izhodne celice strukture.
84 5 Metrike
5.3 Vsota dolºin vseh linij
�tevilo vhodnih celic strukture je enako ²tevilu vhodov Nvhodi, ²tevilo izhodnih celic
strukture pa je enako ²tevilu izhodov Nizhodi. �tevilo celic v primitivu pi ozna£imo z
Ncelice(pi). Tako je ²tevilo vseh QCA celic v strukturi Ncelic enako vsoti
Ncelic = Nvhodi +Nizhodi +
N1∑i=1
Ncelice(pi). (5.3)
Na podlagi ena£be (5.1) lahko vsoto (5.3) zapi²emo kot
Ncelic = Nvhodi +Nizhodi +
Noperatorji∑i=1
Ncelice(poi) +
Nlinije∑j=1
Ncelice(plj). (5.4)
Mnoºica logi£nih primitivov, ki realizirajo logi£ne operatorje, je enaka v vseh �zi£nih
razmestitvah strukture, zasnovanih glede na isto logi£no shemo. Prav tako sta konstantni
²tevili vhodov in izhodov strukture. Zato so v na²em primeru prvi trije £leni vsote (5.4)
konstantni. Tako v na²em primeru minimiziramo le vsoto QCA celic v linijah.
5.4 �tevilo kotnih linij
Kotna linija je potrebna povsod, kjer je potreba po spremembi toka podatkov za 90◦.
V postopku razme²£anja pa se lahko ²tevilo kotnih linij zmanj²a, kot je prikazano na
sliki 5.3. Obe �zi£ni razmestitvi strukture QCA realizirata isto logi£no funkcijo, vendar
(a) (b)
X1
X2
Y1
Y2
X1
X2
Y1
Y2
Slika 5.3 Dve razli£ni �zi£ni razmestitvi strukture QCA, ki realizirata isto logi£no funkcijo. Struktura na sliki (a) vsebuje
²tiri kotne linije, struktura na sliki (b) pa nobene.
struktura na sliki 5.3(a) vsebuje osem kotnih linij, struktura na sliki 5.3(b) pa nobene,
kar je bilo doseºeno z druga£nim razme²£anjem. S tem struktura vsebuje tudi manj²e
²tevilo QCA celic in manj²o vsoto dolºin vseh linij.
5.5 Porabljena povr²ina 85
V kotni liniji se lahko pojavi kon�iktna lega elektronov v celicah na diagonali [97],
kot je prikazano na sliki 5.4. Tak²na lega elektronov izkazuje manj zanesljivo delovanje
kot lega elektronov v ravni liniji. Kotna linija je tudi bolj kot ravna linija ob£utljiva
na napake pri izdelavi QCA. Tak²na napaka je na primer manjkajo£a celica v liniji.
Simulacije so pokazale, da ravna linija ²e vedno izvaja funkcijo identitete, £eprav v njej
manjka ena celica [98]. �e pa v kotni liniji manjka QCA celica v kotu, imata celici na
diagonali nasprotni polarizaciji. Tedaj se logi£na vrednost signala na kotni liniji negira,
namesto da bi ostala nespremenjena.
Slika 5.4 Kotna linija z ozna£eno kon�iktno lego elektronov v celicah na diagonali.
5.5 Porabljena povr²ina
Porabljeno povr²ino dolo£a minimalna pravokotna mreºa, ki ²e vsebuje �zi£no razme-
stitev strukture. Mreºa ima ²irino w in vi²ino h. Enota za merjenje njunih dolºin je
posamezno podro£je v mreºi, na katerem je lahko name²£ena QCA celica.
Mreºa m1 na sliki 5.3(a) ima ²irino w = 17 podro£ij in vi²ino h = 9 podro£ij. Pora-
bljena povr²ina A(m1) je enaka velikosti te mreºe, torej A(m1) = 17× 9 = 153 podro£ij.
V primeru na sliki 5.3(b) ima mreºa m2 s ²irino w = 17 podro£ij in vi²ino h = 6 podro£ij
velikost A(m2) = 17× 6 = 102. Glede na kriterij porabljene povr²ine je torej mreºa m2
optimalnej²a od mreºe m1.
5.6 �tevilo kriºanj linij
�tevilne kompleksne logi£ne sheme vsebujejo kriºanja povezav. �tevilo kriºanj je moºno
minimizirati z uporabo razli£nih algoritmov, vendar pa ni mogo£e vedno odpraviti vseh.
To pomeni, da se v �zi£ni razmestitvi strukture marsikdaj kriºanju linij ni moºno izogniti.
V CMOS vezju se dve ºici, ki prena²ata signal med moduli, ne moreta kriºati na istem
nivoju. Nezadostna razdalja med ºicama povzro£i nezaºelene elektri£ne u£inke in ne
omogo£a prenosa signala. Problem kriºanja se v CMOS tehnologiji re²uje z ve£plastnimi
86 5 Metrike
vezji. Kadar se dve ºici kriºata, sta name²£eni na razli£nih plasteh vezja, med njima pa
se nahaja izolator.
V QCA so povezave sestavljene izklju£no iz QCA celic. Ker ²tevilne strukture neizbe-
ºno vsebujejo kriºanja linij, je za zagotovitev uporabnosti QCA problem potrebno re²iti.
Pojavilo se je ve£ predlogov za re²itev problema. Eden izmed predlogov je re²itev z upo-
rabo ve£ plasti [69], ki je analogna implementaciji v CMOS vezjih, ostali pa izkori²£ajo
posebnosti delovanja QCA. Vsaka re²itev ima svoje prednosti in slabosti. Nekatere imajo
ve£jo moºnost prakti£ne realizacije kot druge. Ideje za re²evanje problema kriºanja linij
v QCA so predstavljene v naslednjih alinejah:
Minimizacija kriºanja linij: Implementacija kriºanja linij je prostorsko bolj
potratna od implementacije obi£ajne linije. Predvideva se, da bo kriºanje linij
teºko �zi£no izdelati. �e se ena linija ve£krat kriºa z drugimi, mora biti vsako
kriºanje implementirano v svoji urini coni, kar pomeni ve£jo zakasnitev signala na
liniji. Zato je smiselno minimizirati ²tevilo kriºanj linij in izra£unati minimalno
potrebno ²tevilo kriºanj v obravnavani strukturi. Problem minimizacije ²tevila
kriºanj je NP-teºak, zato raziskovalci [21, 31, 30, 85] za iskanje pribliºne re²itve
uporabljajo razne hevristi£ne metode.
Kljub minimizaciji je ²tevilo potrebnih kriºanj v mnogih �zi£nih razmestitvah struk-
ture QCA ve£je od ni£, zato je ²e vedno potrebno implementirati kriºanje linij.
Kriºanje linij na istem nivoju z uporabo rotiranih QCA celic: Tougaw
in Lent [4] sta z izra£uni prikazala moºnost kriºanja linij v QCA na istem nivoju.
Takega kriºanja v CMOS vezjih ni mogo£e implementirati, zato je ta posebnost
predstavljala ²e eno izmed prednosti QCA pred CMOS tehnologijo. Izra£uni so
pokazali, da se signala na navadni in 45 stopinjski liniji pri kriºanju nemoteno
preneseta vsak po svoji liniji.
Sprva je moºnost istonivojskega kriºanja linij delovala obetavno, kasnej²e raziskave
pa so pokazale slabosti te re²itve. Najve£ji oviri pri implementaciji kriºanja nava-
dne in 45 stopinjske linije sta majhna robustnost in kompleksna �zi£na izdelava. V
[75] je prikazana motnja prenosa signala pri ve£ zaporednih kriºanjih. Poleg tega
kriºanje linij ne deluje zanesljivo, £e je v bliºini name²£ena QCA celica s �ksnim
stanjem. Majhna robustnost izhaja iz dejstva, da je razdalja med dvema QCA ce-
licama v navadni liniji pri kriºanju ve£ja kot v primeru 45 stopinjske linije. Drugo
5.6 �tevilo kriºanj linij 87
oviro za uporabo istonivojskega kriºanja linij predstavlja teºavna natan£na name-
stitev tako majhnih elementov kot so QCA celice [25]. Zaradi tega je z obstoje£o
tehnologijo zelo teºko �zi£no namestiti rotirane in zamaknjene QCA celice.
Ve£nivojsko kriºanje linij: Ve£nivojsko kriºanje linij v QCA je analogno imple-
mentaciji kriºanja ºic v CMOS tehnologiji. V primeru kriºanja sta liniji name²£eni
na razli£nih nivojih. Pri tem je potrebno sestaviti ve£ nivojev, na katere bodo na-
me²£ene QCA celice. Hkrati mora biti izdelana povezava med nivoji, tako da lahko
linija preide na vi²je oziroma niºje leºe£i nivo.
Medtem ko je tak²na implementacija kriºanja prisotna v CMOS tehnologiji, v QCA
²e ni bila eksperimentalno realizirana. Moºnost njene izvedbe je predvidoma zelo
odvisna od realizacije QCA. V primeru uspe²ne izdelave bi lahko imela ve£nivojska
struktura QCA ²e eno prednost pred ve£nivojskim CMOS vezjem. V slednjem
so dodatni nivoji namenjeni le namestitvi ºic zaradi izogibanja kriºanju na istem
nivoju, v QCA strukturi pa bi na kateremukoli nivoju lahko bili name²£eni tudi
logi£ni primitivi, ki realizirajo logi£ne operacije, saj so sestavljeni iz enakih osnovnih
gradnikov kot linije.
Kriºanje linij na istem nivoju z uporabo faznega zamika urinega signala:
Ta re²itev za kriºanje linij na istem nivoju izkori²£a QCA uro. Avtorji so v delu [33]
predlagali vpeljavo osemfazne ure s tremi tipi signalov. Preklop stanja QCA celic
na obmo£ju kriºanja linij je nadzorovan z ustrezno fazo novega urinega signala, kar
omogo£i nemoten potek signalov po linijah.
Slabost predlagane re²itve je v kompleksnej²i izvedbi QCA ure in ve£ji zakasnitvi
signala v strukturi. Poleg tega je za vsako QCA celico posebej na obmo£ju kri-
ºanja urin signal zamaknjen za eno fazo. To lahko predstavlja teºavo za izdelavo
ustreznega CMOS vezja, ki bo omogo£ilo urin signal QCA.
Logi£no kriºanje linij: Kriºanje linij na istem nivoju je moºno implementirati z
logi£nim elementom z dvema vhodoma na levi strani in dvema izhodoma na desni.
Izhodna signala sta enaka vhodnima, pri £emer se na izhodu pojavita v obratnem
vrstnem redu kot na vhodu. Seveda pa mora biti tak logi£ni element realiziran brez
kriºanja linij.
6 Algoritmi za razmešcanje in
povezovanje v CMOS
tehnologiji
6.1 Uvod
Namen �zi£nega snovanja je de�niranje �zi£ne postavitve vezja na podlagi njegovega lo-
gi£nega opisa. Slednji je podan z logi£no strukturo, ki jo sestavljata mnoºica logi£nih
operatorjev in mnoºica povezav med operatorji. Rezultat procesa �zi£nega snovanja je
�zi£na razmestitev strukture, sestavljena iz logi£nih primitivov in �zi£nih povezav med
njimi. Vsak logi£ni primitiv ustreza enemu izmed operatorjev v logi£ni strukturi, vsaka
�zi£na povezava pa je realizacija ene izmed povezav v logi£ni strukturi. V �zi£ni raz-
mestitvi strukture so poloºaji logi£nih primitivov in �zi£nih povezav natan£no dolo£eni.
Tako je �zi£na razmestitev strukture podlaga za kon£no izdelavo strukture.
Na za£etku razvoja polprevodni²ke tehnologije so bila vezja relativno enostavna z
majhnim ²tevilom gradnikov. Fizi£no snovanje je zato lahko potekalo ro£no. S£asoma so
vezja postajala vse bolj kompleksna, ²tevilo njihovih gradnikov pa je za£elo eksponentno
nara²£ati. Ro£no snovanje takih vezij ni bilo ve£ mogo£e in pojavila se je avtomatizacija
procesa. Slednja ne omogo£a le snovanja vezij z velikim ²tevilom gradnikov, temve£
tudi optimizacijo razli£nih kriterijev in dosledno upo²tevanje postavljenih na£rtovalskih
89
90 6 Algoritmi za razme²£anje in povezovanje v CMOS tehnologiji
pravil.
Za avtomatsko snovanje je bilo potrebno razviti razli£ne algoritme in jih programsko
implementirati. Ti algoritmi so se razvijali in nadgrajevali hkrati z razvojem tehnolo-
gije za izdelavo integriranih vezij. Omogo£ajo avtomatizacijo celotnega procesa �zi£nega
snovanja, sestavljenega iz stopenj snovanja geometrije strukture, razme²£anja in pove-
zovanja. V stopnji snovanja geometrije se povr²ina za namestitev strukture razdeli na
podro£ja in logi£ni primitivi se razdelijo v skupine, tako da vsaki skupini ustreza eno po-
dro£je. Vsi primitivi v skupini se namestijo v pripadajo£e podro£je. Pri snovanju CMOS
vezja se podro£ja in skupine dolo£ijo glede na optimizacijske kriterije, v QCA strukturi
pa podro£je ustreza urini coni. Pri slednji je zato potrebno dolo£iti tako geometrijo, ki
bo omogo£ila �zi£no izdelavo. Poleg tega se logi£ni primitivi razdelijo v skupine glede
na medsebojne povezave, zato se snovanje geometrije CMOS vezja precej razlikuje od
snovanja geometrije QCA strukture. Obstaja pa veliko podobnosti med stopnjama raz-
me²£anja v CMOS in v QCA tehnologiji. Enako velja za povezovanje, zato bomo v tem
poglavju obravnavali algoritme za razme²£anje in povezovanje v CMOS tehnologiji.
6.2 Algoritmi za razme²£anje v CMOS tehnologiji
Cilj metod razme²£anja je dolo£iti poloºaje gradnikov na £ipu, tako da bo vezje moºno
�zi£no realizirati, pri tem pa se optimizirajo razli£ni kriteriji. Tipi£ni kriteriji so ocene
skupne dolºine povezav, dolºine povezav na kriti£ni poti, gostote povezav, porabe energije
in ostali. Pri iskanju optimalne razmestitve in povezanosti glede na dane pogoje je
ve£ina problemov NP-teºkih. Pri snovanju se zato uporabljajo temu primerne tehnike,
kot so aproksimacijski in verjetnostni algoritmi ter razli£ne hevristike. Problemi, pri
katerih obstaja optimalna re²itev znotraj dolo£enega podsistema, se lahko optimizirajo
s poºre²nim algoritmom (angl. greedy algorithm). Razme²£anje logi£nih primitivov ne
spada v omenjeno skupino problemov, zato se poºre²ni algoritem navadno ujame v lokalni
minimum. Metode iskanja suboptimalne razmestitve obsegajo simulirano ohlajanje [12],
analiti£ne metode [13, 14] ter metode na osnovi sil (angl. force-directed) [15] in na osnovi
razdelitve (angl. partitioning) [16].
6.3 Uporaba simuliranega ohlajanja za razme²£anje 91
6.3 Uporaba simuliranega ohlajanja za razme²£anje
Simulirano ohlajanje je ena od metod za optimizacijo kombinatori£nih problemov [99].
Pri slednjih ima vsaka od re²itev pripadajo£o ceno, i²£emo pa £im cenej²o re²itev. Za
iskanje re²itve s ceno, ki je £im bliºja globalnemu minimumu, metoda uporablja hevristike,
s pomo£jo katerih se iskanje ne zaustavi v lokalnem minimumu. Simulirano ohlajanje je
opisal Kirkpatrick s sodelavci [12] leta 1983 in od takrat se uporablja za re²evanje raznih
problemov z diskretnimi stanji. Eden od njih je tudi razme²£anje gradnikov pri �zi£nem
snovanju integriranih vezij.
Ideja za algoritem izhaja iz ohlajanja materialov v metalurgiji. V za£etnem stanju je
material segret na visoko temperaturo, pri £emer se atomi premaknejo iz za£etnega polo-
ºaja in med naklju£nim premikanjem lahko doseºejo vi²ja energetska stanja od za£etnega.
Z gibanjem atomov se odpravijo napake v materialu. Med po£asnim ohlajanjem se ver-
jetnost pove£anja energije zmanj²uje. Material prehaja v ravnovesno stanje z minimalno
skupno energijo.
Opisani postopek je osnova optimizacijskega algoritma simuliranega ohlajanja, poda-
nega v psevdokodi v algoritmu 1. Njegovo delovanje je shemati£no prikazano na sliki
6.1. Algoritem za iskanje globalnega minimuma sistema izvaja iterativno izbolj²evanje.
Iteracija
Cena s
tanja
začetna
temperatura
prehod z
verjetnostjo 1
prehod z
verjetnostjo p<1
končna
temperatura
Slika 6.1 Shema delovanja algoritma simuliranega ohlajanja.
Najprej se dolo£i za£etno stanje sistema in visoka za£etna temperatura. Nato se pri£ne
izvajati zanka, kjer se v vsaki iteraciji izbere novo stanje snew in izra£una njegova cena
cnew. Novo stanje snew se izbere naklju£no na podlagi vnaprej de�niranega sosedstva
92 6 Algoritmi za razme²£anje in povezovanje v CMOS tehnologiji
Algoritem 1 Simulirano ohlajanje.procedure simulirano_ohlajanje
// dolo£i za£etno stanje in njegovo ceno
s = s0; c = cena(s)
// prva najbolj²a re²itev je za£etno stanje
sbest = s; cbest = c
// dolo£i za£etno temperaturo
t = t0
while t > 0 do
// izberi novo trenutno stanje
snew = sosed(s); cnew = cena(snew)
// ali je novo stanje najbolj²a re²itev
if cnew < cbest then
sbest = snew; cbest = cnew
end if
// izra£unaj verjetnost prehoda v novo stanje glede na trenutno temperaturo
// £e je cnew < c, potem p = 1; sicer se p manj²a z niºanjem temperature
p = verjetnost_prehoda(c, cnew, t)
// prehod v novo stanje
// r ∈ [0,1) je naklju£no izbrano ²tevilo
if p > r then
s = snew; c = cnew
end if
// zmanj²aj temperaturo s funkcijo ohlajanja
t = ohlajanje(t)
end while
return sbest
end procedure
glede na trenutno stanje s. �e ima izbrano novo stanje snew ceno, ki je niºja od cene
trenutnega stanja s, potem novo trenutno stanje postane stanje snew. Tudi £e ima sta-
nje snew vi²jo ceno od cene trenutnega stanja s, obstaja moºnost izbire snew za novo
trenutno stanje. Tako obstaja manj moºnosti, da bi se iskanje zaustavilo v lokalnem
6.4 Algoritmi za povezovanje v CMOS tehnologiji 93
minimumu. Verjetnost izbire stanja snew z vi²jo ceno od trenutne je vi²ja pri visoki
temperaturi in se med ohlajanjem niºa. V vsaki iteraciji se temperatura zniºa glede na
funkcijo ohlajanja. Izvajanje algoritma se zaklju£i, ko se doseºe kon£na temperatura.
Zaradi moºnosti prehoda v stanje z vi²jo ceno lahko iskanje uide iz lokalnega mini-
muma. Verjetnost takega prehoda se med izvajanjem niºa, tako da se sistem s£asoma
ustali v globalnem minimumu oziroma v njegovem pribliºku. Za £im bolj²i pribliºek je
potrebno preiskati £im ve£ji del prostora stanj. Ker je ta prostor pri kompleksnih proble-
mih zelo velik, je lahko iskanje globalnega minimuma dolgotrajno. Simulirano ohlajanje
je splo²na hevristi£na metoda, zato se lahko uporablja na razli£nih podro£jih. Pri raz-
me²£anju je z njo moºno optimizirati razli£ne kriterije in tudi ve£ kriterijev hkrati.
6.4 Algoritmi za povezovanje v CMOS tehnologiji
Metode povezovanja ob upo²tevanju na£rtovalskih pravil dolo£ijo lege povezav med ustre-
znimi gradniki. Najpomembneje pri tem je zagotoviti prostor za povezave, tako da bodo
lahko name²£ene vse povezave in bo vezje delovalo pravilno. Poleg tega se tudi optimi-
zirajo izbrani kriteriji, kot je na primer skupna dolºina povezav.
Povezovanje v kompleksnem vezju, ki vsebuje veliko ²tevilo povezav, je zaradi obvla-
dovanja teºavnosti problema obi£ajno razdeljeno na dve stopnji: globalno povezovanje
(angl. global routing) in podrobno povezovanje (angl. detailed routing). V stopnji glo-
balnega povezovanja se v grobem dolo£i prostor za namestitev povezave. Povr²ina za
namestitev povezav je razdeljena na podro£ja. Za vsako povezavo se dolo£i podro£ja,
kamor se bo povezava namestila. �e so podro£ja zadosti velika, je povr²ina razdeljena
na dovolj majhno ²tevilo podro£ij, tako da prostor stanj ni prevelik. Tak²en problem se
lahko re²uje z algoritmi, ki poi²£ejo optimalno re²itev, vendar so £asovno in prostorsko
zahtevni. Ko so podro£ja izbrana, se v stopnji podrobnega povezovanja dolo£ijo na-
tan£ne lege povezav znotraj podro£ij. Pri tem je prostor stanj v kompleksnem vezju zelo
velik, zato se za podrobno povezovanje obi£ajno uporabljajo hitri algoritmi, ki poi²£ejo
suboptimalno re²itev.
Za povezovanje gradnikov se uporabljajo tri glavne strategije in njihove kombinacije.
Uporabljane strategije so iskanje v ²irino (angl. breadth-�rst), iskanje v globino (angl.
depth-�rst) in iskanje po na£elu najprej najbolj²i (angl. best-�rst). Strategijo iskanja v
²irino uporablja algoritem iskanja po labirintu (angl. maze router) oziroma Leejev algo-
94 6 Algoritmi za razme²£anje in povezovanje v CMOS tehnologiji
ritem [17], strategijo iskanja v globino pa uporablja algoritem iskanja po liniji (angl. line
probe search) [100, 101]. Primer uporabe iskanja po na£elu najprej najbolj²i z uporabo
hevristike je algoritem A* [18]. Na²tete strategije se uporabljajo tako za globalno kot
tudi za podrobno povezovanje.
6.4.1 Uporaba iskanja po labirintu
Iskanje po labirintu je eden izmed prvih in najpogosteje uporabljanih algoritmov za
iskanje povezave med dvema to£kama. Povr²ina je predstavljena z mreºo, na kateri se
nahajata izvorna in ponorna to£ka. Nekatera podro£ja v mreºi so ºe zasedena, kot je
prikazano v primeru na sliki 6.2(a). Povezava se lahko namesti na nezasedena podro£ja,
I
P
I
P
1
1
1 1
2 2
22
2
23 3
3
3
3
4
4
44
45 5
5
5
5 6
6
6
6
7
77
7
I
P
1
1
1 1
2 2
22
2
23 3
3
3
3
4
4
44
45 5
5
5
5 6
6
6
6
7
77
7
(a) (b) (c)
Slika 6.2 Mreºo sestavljajo osen£ena zasedena podro£ja in ostala prosta podro£ja, na katere se lahko namesti povezava
(a). Podro£je z izvorno to£ko je ozna£eno z I, ponorno podro£je pa s P . Slika (b) prikazuje ozna£evanje
prostih podro£ij, ki poteka od izvora proti ponoru. Ko je doseºen ponor, se podro£ja za namestitev povezave
dolo£i z vra£anjem od ponora do izvora (c).
tako da zaseda izbrana sosednja podro£ja od izvorne do ponorne to£ke.
Psevdokoda iskanja po labirintu je zapisana v algoritmu 2. Algoritem je sestavljen iz
dveh faz. V prvi fazi se ozna£ujejo prosta podro£ja glede na njihovo oddaljenost od izvora.
Ozna£evanje, ki poteka kot ²irjenje vala, je prikazano na sliki 6.2(b). Najprej dobi izvorna
to£ka oznako 0. V prvi iteraciji se vsem podro£jem v njeni von Neumannovi sosednosti
z manhattansko razdaljo 1 pripi²e za 1 ve£ja oznaka. V naslednji iteraciji se poi²£ejo vsi
²e neozna£eni sosedi podro£ij, ki so bila ozna£ena v prej²nji iteraciji. Tem neozna£enim
sosedom se pripi²e za 1 ve£ja oznaka, kot jo imajo v prej²nji iteraciji ozna£ena podro£ja.
Postopek se iterativno nadaljuje, dokler ni ozna£eno podro£je s ponorno to£ko. Oznaka
kateregakoli podro£ja ustreza manhattanski razdalji med tem podro£jem in izvornim
podro£jem, pri £emer je upo²tevano izogibanje zasedenim podro£jem.
V drugi fazi se z vra£anjem dolo£ijo podro£ja, na katerih bo name²£ena povezava.
6.4 Algoritmi za povezovanje v CMOS tehnologiji 95
Algoritem 2 Iskanje po labirintu.procedure iskanje_po_labirintu
// ozna£evanje podro£ij
// ozna£i izvorno podro£je z oznako 0
ozna£i(izvor, 0)
// mnoºica S1 na za£etku vsebuje sosede izvornega podro£ja
S1 = sosedi(izvor); oznaka = 1
for vsako podro£je s ∈ S1 do
ozna£i(s, oznaka)
end for
// obravnava vsa podro£ja v mnoºici S1
while s ∈ S1, s != ponor do
oznaka = oznaka + 1
// S2 je mnoºica neozna£enih sosedov podro£ij v S1
for vsako podro£je t ∈ S2 do
ozna£i(t, oznaka)
end for
// v naslednji iteraciji se bodo obravnavala novo ozna£ena podro£ja v S2
S1 = S2
end while
// dolo£anje podro£ij za namestitev povezave
// postopek se za£ne pri ponoru
p = ponor; oznaka = oznaka(ponor)
// vra£anje do izvornega podro£ja
while p != izvor do
oznaka = oznaka - 1
// izberi soseda z oznako, ki je za 1 manj²a od oznake obravnavanega podro£ja p
p = sosed(p, oznaka)
dolo£i_za_povezavo(p)
end while
end procedure
96 6 Algoritmi za razme²£anje in povezovanje v CMOS tehnologiji
Postopek vra£anja se za£ne pri ponorni to£ki, nato pa se izbere podro£je, ki ima za 1
manj²o oznako. Tako se iterativno izbirajo podro£ja z vse manj²imi oznakami, dokler ni
izbrano izvorno podro£je. Povezava se namesti v izbrana podro£ja, kot je prikazano na
sliki 6.2(c).
Iskanje po labirintu uporablja princip iskanja v ²irino v prostoru stanj, ki zagotavlja,
da je re²itev mogo£e najti. Vsaka tako najdena re²itev ima minimalno dolºino. Slabost
algoritma iskanja po labirintu je njegova velika £asovna zahtevnost, ki je enaka O(W ·H),
pri £emer je W ²irina in H vi²ina mreºe. Obe dimenziji sta merjeni v ²tevilu podro£ij.
6.4.2 Uporaba iskanja po liniji
Tako kot pri iskanju po labirintu, je tudi pri iskanju po liniji povr²ina predstavljena z
mreºo, na kateri se nahajata izvorna in ponorna to£ka, nekatera podro£ja pa so ºe zase-
dena. Primer mreºe je prikazan na sliki 6.3(a). Algoritem iskanja po labirintu obravnava
(a) (b) (c)
I
P
I
P
1
1
1
1
2 2 2 2 2 2 2 2 2
2
2
2
2
2
2
2
2
2
2 2
2
2
2
pr1
pr2
I
P
Slika 6.3 Mreºo sestavljajo osen£ena zasedena podro£ja in ostala prosta podro£ja, na katere se lahko namesti povezava
(a). Podro£je z izvorno to£ko je ozna£eno z I, ponorno podro£je pa s P . Na sliki (b) so prikazane linije,
ki potekajo skozi podro£ja. Linije, ki pripadajo mnoºici IL, so obarvane z modro, linije iz mnoºice PL pa
z zeleno barvo. S kriºci (×) so ozna£ena podro£ja na linijah, poloºenih v prvem koraku. Skozi ozna£ena
podro£ja se v drugem koraku poloºijo linije, ki so pravokotne na v prvem koraku poloºene linije. Ob vsaki
liniji je na robu mreºe zapisana zaporedna ²tevilka koraka, v katerem je bila linija poloºena. Vsako prese£i²£e
pr1 in pr2 dolo£a prese£i²£e med eno linijo iz mnoºice IL in eno linijo iz PL. Slika (c) prikazuje dva moºna
poteka povezave med I in P . Zelena povezava poteka skozi prese£i²£e pr1, rde£a povezava pa skozi pr2.
Obe povezavi vsebujeta dva kota, razlikujeta pa se v dolºini, saj je zelena povezava kraj²a od rde£e.
vsako podro£je v mreºi posebej, pri iskanju po liniji pa se i²£e povezava med dvema
to£kama z uporabo linij, ki potekajo skozi ve£je ²tevilo podro£ij naenkrat.
Psevdokoda iskanja po liniji je navedena v algoritmih 3 in 4. Podobno kot iskanje
po labirintu je tudi algoritem iskanja po liniji sestavljen iz dveh faz. V prvi fazi se
6.4 Algoritmi za povezovanje v CMOS tehnologiji 97
Algoritem 3 Iskanje po liniji 1.procedure iskanje_po_liniji
// polaganje linij
// mnoºici I ′L in P ′L vsebujeta linije, poloºene v trenutnem koraku
// uI je vodoravna linija skozi I, vI je navpi£na linija skozi I
// uP je vodoravna linija skozi P , vP je navpi£na linija skozi P
IL = I ′L = {uI , vI}; PL = P ′L = {uP , vP }
// polaga linije, dokler ne najde prese£i²£a
while ne obstaja prese£i²£e med linijo v IL in linijo v PL do
// polaganje linij, ki so pravokotne na linije v mnoºici I ′L
i = 0
for vsako linijo ai ∈ I ′L do
// mnoºica Ai vsebuje linije, ki so pravokotne na ai
Ai = ∅
for vsako podro£je p na liniji ai do
// v Ai doda linijo, ki je pravokotna na ai in poteka skozi podro£je p
Ai = Ai
∪pravokotna_linija(ai, p)
end for
i = i + 1
end for
// mnoºica I ′L vsebuje vse linije, ki so bile poloºene v trenutnem koraku
I ′L =∪k=i−1
k=0 Ak; IL = IL∪I ′L
// polaganje linij, ki so pravokotne na linije v mnoºici P ′L
j = 0
for vsako linijo bj ∈ P ′L do
Bj = ∅
for vsako podro£je r na liniji bj do
Bj = Bj
∪pravokotna_linija(bj , r)
end for
j = j + 1
end for
P ′L =
∪k=j−1k=0 Bk; PL = PL
∪P ′L
end while
98 6 Algoritmi za razme²£anje in povezovanje v CMOS tehnologiji
Algoritem 4 Iskanje po liniji 2.
// dolo£anje podro£ij za namestitev povezave
// postopek se za£ne pri prese£i²£u
i = 0
// E je seznam povezav, razvr²£enih glede na dolºino od najkraj²e do najdalj²e
E = ∅
for vsako prese£i²£e pi med linijo v IL in linijo v PL do
s = t = pi; ei = ∅
// vra£anje po linijah do izvornega podro£ja
while s != izvor do
// doda s v povezavo ei
dodaj(s, ei)
// izbiranje podro£ij poteka po linijah v IL v smeri proti izvoru
s = sosed(s, IL)
end while
// vra£anje po linijah do ponornega podro£ja
while t != ponor do
// doda t v povezavo ei
dodaj(t, ei)
// izbiranje podro£ij poteka po linijah v PL v smeri proti ponoru
t = sosed(t, PL)
end while
i = i + 1
// vstavi ei na ustrezno mesto v E
vstavi(ei, E)
end for
// namesti se najkraj²a povezava
return prvi_element(E)
end procedure
6.4 Algoritmi za povezovanje v CMOS tehnologiji 99
na podro£ja iterativno polagajo ravne linije, kot je prikazano na sliki 6.3(b). V prvem
koraku iteracije se poloºita vodoravna in navpi£na linija, ki potekata skozi izvorno to£ko.
Vsaka linija poteka do prvega zasedenega podro£ja oziroma do roba mreºe. Ti dve liniji
na za£etku tvorita mnoºico IL. Prav tako se v prvem koraku iteracije poloºita tudi
vodoravna in navpi£na linija, ki potekata skozi ponorno to£ko. Tudi ti dve liniji lahko
potekata le skozi prosta podro£ja. Na za£etku tvorita mnoºico PL. V naslednjem koraku
iteracije se ozna£ijo vsa podro£ja, skozi katera potekajo linije, ki so bile poloºene v
prej²njem koraku. Nato se poloºijo linije, ki potekajo skozi ozna£ena podro£ja in so
pravokotne na linije, poloºene v prej²njem koraku. �e je v trenutnem koraku poloºena
linija li pravokotna na linijo lj ∈ IL, se li doda v mnoºico IL, sicer pa se doda v mnoºico
PL. Postopek se iterativno nadaljuje, dokler ne pride do prese£i²£a med neko linijo v
mnoºici IL in eno izmed linij v PL. Iskanje se ustavi, ko je dolo£eno prese£i²£e, kot je
prikazano na sliki 6.3(b).
V drugi fazi algoritma se dolo£ijo podro£ja, na katera bo name²£ena povezava med
izvorom in ponorom. Postopek se za£ne pri prese£i²£u in se nadaljuje po poloºenih linijah
tako v smeri proti izvoru, kot tudi v smeri proti ponoru. Ko sta doseºena tako izvor kot
ponor, se povezava namesti v izbrana podro£ja, kot je prikazano na sliki 6.3(c). Obstaja
lahko ve£ prese£i²£, ki dolo£ajo razli£ne moºne lege povezav. Povezave, ki potekajo skozi
razli£na prese£i²£a, imajo lahko razli£ne dolºine. Zato se izbere prese£i²£e, pri katerem
ima name²£ena povezava manj²o dolºino od ostalih moºnosti.
Z iskanjem po liniji je vedno mogo£e najti re²itev, £e ta obstaja. Vsaka re²itev dolo£a
povezavo z minimalnim ²tevilom kotov, ni pa nujno, da ima tudi minimalno dolºino.
Ker algoritem iskanja po liniji ne obravnava vsakega podro£ja posebej, je prostorsko in
£asovno manj zahteven od algoritma iskanja po labirintu.
7 Postopki snovanja fizicne
razmestitve QCA strukture
7.1 Uvod
Shema delovanja algoritma razme²£anja in povezovanja je prikazana na sliki 7.1. Najprej
Povezovanje
iskanje po labirintu
(minimizacija )
iskanje po liniji
(
)
dol
čun rezultata
žin linij
minimizacija števila križanj linij,
števila kotnih linij,
porabljene površine in
števila potrebnih urinih faz za izra
Razmeščanje
simulirano ohlajanje
(minimizacija ocene vsote dol
)
žin vseh linij,
ocene števila križanj linij
in ocene števila kotnih linij
Slika 7.1 Shema delovanja algoritma razme²£anja in povezovanja.
se za vsak logi£ni primitiv dolo£i, v katere urine cone je lahko name²£en. Nato se izvede
razme²£anje logi£nih primitivov s tehniko simuliranega ohlajanja, pri £emer se minimizi-
rajo ocena vsote dolºin vseh linij, ocena ²tevila kriºanj linij in ocena ²tevila kotnih linij.
Razme²£ene primitive se nato v fazi povezovanja poveºe z linijami z uporabo kombina-
cije tehnik iskanja po labirintu in iskanja po liniji. Pri tem se minimizirajo dolºine linij,
101
102 7 Postopki snovanja fizi£ne razmestitve QCA strukture
²tevilo kriºanj, ²tevilo kotnih linij, poraba povr²ine in ²tevilo potrebnih urinih faz za
izra£un rezultata.
Metode snovanja struktur kvantnih celi£nih avtomatov temeljijo na metodah snovanja
CMOS vezij, ki so se izkazale za uporabne. Vendar je potrebne pri snovanju struktur
QCA upo²tevati njihove speci�£ne lastnosti, ki se razlikujejo od CMOS tehnologije. Za
razliko od CMOS so QCA v celoti sestavljeni iz enega samega tipa elementov, to je QCA
celic. Kriºanje povezav je v CMOS moºno na ²tevilnih nivojih, v QCA pa je trenutno
opisano kriºanje le na dveh nivojih. Posebnost QCA je tudi razdelitev strukture na urine
cone.
Ro£no razvite razmestitve niso zasnovane s formalnim postopkom, zato jih ni moºno
posplo²iti za uporabo pri snovanju poljubne strukture. Metode za avtomatsko snovanje
poskrbijo tudi za dosledno upo²tevanje na£rtovalskih pravil. Pri neformalnem ro£nem
snovanju kompleksnih struktur lahko pride do neupo²tevanja pravil. Tako zasnovana
struktura je lahko tehnolo²ko neizvedljiva in je torej neuporabna. Snovanje z avtoma-
tiziranimi metodami poteka hitreje kot ro£no snovanje, poleg tega pa lahko avtomatske
metode izvedejo bolj²o optimizacijo.
7.2 Razdelitev logi£nih primitivov v urine cone
Za vsak logi£ni primitiv lp se dolo£i seznam urinih con, v katere je lp lahko name²£en.
Dolo£anje con za posamezen primitiv je predstavljeno s psevdokodo v algoritmu 5. Geo-
metrija strukture je dolo£ena s conami, ki si zaporedno sledijo od cone UC1 z vhodnimi
priklju£ki strukture do cone UCn z izhodnimi priklju£ki strukture. Cone so razvr²£ene
v vrsti od UC1 na levi strani geometrije do UCn na desni strani. Poloºaji primitivov
znotraj celotne geometrije so soodvisni. �e poteka povezava od izhodnega priklju£ka na
primitivu lpi do vhodnega priklju£ka na primitivu lpj , se mora lpi nahajati levo od lpj .
�e je lpi name²£en v cono UCu in lpj v cono UCv, mora torej veljati u < v.
Logi£ni primitivi se name²£ajo v cone s primitivi UCL1, UCL2, ..., UCLp. Med temi
conami leºijo vmesne cone, ki so namenjene za namestitev povezav, zato je njihovo ²tevilo
znano ²ele po zaklju£ku faze povezovanja. Za de�niranje soodvisnosti poloºajev logi£nih
primitivov se sestavi usmerjeni graf logi£ne sheme G(V,E). Vozli²£a v grafu ustrezajo
primitivom v logi£ni shemi strukture. Usmerjene povezave v grafu predstavljajo povezave
med primitivi v logi£ni shemi strukture. Usmerjeni graf logi£ne sheme se topolo²ko uredi,
7.2 Razdelitev logi£nih primitivov v urine cone 103
Algoritem 5 Razdelitev logi£nih primitivov v urine cone.procedure razdelitev_logi£nih_primitivov(G(V,E))
vhodni podatek: G(V,E) je usmerjeni graf logi£ne sheme
// topolo²ko uredi G(V,E)
topolo²ko_urejanje(G(V,E))
// �tevilo con z logi£nimi primitivi dolo£a dolºina kriti£ne poti v G(V,E)
p = dolºina(kriti£na_pot(G(V,E)))
// vozli²£e lp′ predstavlja primitiv lp
for vsak lp′ ∈ V do
// najmanj²i indeks cone z lp je enak maksimalni dolºini poti med vozli²£em lp′
// in katerimkoli za£etnim vozli²£em v grafu
// poti med lp′ in za£etnimi vozli²£i so v seznamu Poti1 urejene po padajo£i dolºini
min = prvi_element(Poti1)
// najve£ji indeks cone z lp je enak maksimalni dolºini poti med vozli²£em lp′
// in katerimkoli kon£nim vozli²£em v grafu
// poti med lp′ in kon£nimi vozli²£i so v seznamu Poti2 urejene po padajo£i dolºini
max = prvi_element(Poti2)
// lp se lahko namesti v katerokoli cono med UCmin in UCmax vklju£no s tema dvema
// conama
dolo£i_moºne_cone(lp, min, max)
end for
end procedure
kar dolo£a soodvisnosti poloºajev primitivov. Naj vozli²£e lp′i v grafu predstavlja primitiv
lpi, vozli²£e lp′j pa naj predstavlja primitiv lpj . Vzemimo, da se lp′i nahaja pred lp′j v
topolo²ki urejenosti grafa (lp′i < lp′j). �e je lpi name²£en v coni UCu in lpj v coni UCv,
mora veljati u < v.
�tevilo urinih con z logi£nimi primitivi p je dolo£eno z dolºino kriti£ne poti v usmerje-
nem grafu logi£ne sheme. Vsak primitiv lpi, predstavljen z vozli²£em lp′i na kriti£ni poti
v grafu, mora biti name²£en v to£no dolo£eno cono. �e se lp′i nahaja na k-tem mestu na
kriti£ni poti, se lpi namesti v cono UCLk. �e vozli²£e lp′j ne leºi na kriti£ni poti, obstaja
ve£ moºnih con za namestitev ustreznega primitiva lpj , pri tem pa je vedno potrebno
upo²tevati soodvisnosti, dolo£ene s topolo²ko urejenostjo grafa.
104 7 Postopki snovanja fizi£ne razmestitve QCA strukture
7.3 Uporaba simuliranega ohlajanja za razme²£anje v QCA teh-
nologiji
Simulirano ohlajanje se uspe²no uporablja pri �zi£nem snovanju CMOS integriranih vezij,
zato smo ga uporabili tudi za �zi£no snovanje kvantnih celi£nih avtomatov. Uporaba
simuliranega ohlajanja za razme²£anje logi£nih primitivov v QCA je podana s psevdokodo
v algoritmu 6. Klju£ni deli algoritma so:
Izbira logi£nega primitiva ali vhodno/izhodnega priklju£ka: Naklju£no z
enakomerno porazdeljeno verjetnostjo se izbere logi£ni primitiv ali vhodno/izhodni
priklju£ek. Za izbrani gradnik se nato dolo£i poteza, s katero se spremeni njegov
poloºaj. Pri tem se upo²teva razdelitev logi£nih primitivov v urine cone glede
na topolo²ko urejenost grafa logi£ne sheme. Vhodni priklju£ki logi£ne strukture se
morajo nahajati na levi strani prve urine cone, izhodni priklju£ki pa na desni strani
zadnje urine cone.
Poteze za prehod v novo stanje: Stanja so dolo£ena s poloºaji gradnikov.
Prehod v novo stanje je dolo£en s spremembo poloºaja gradnika. Tako se lahko
logi£nim primitivom in vhodno/izhodnim priklju£kom dolo£i nov poloºaj, pri £emer
ne sme priti do prekrivanja z ostalimi gradniki. Ker se vsi vhodni priklju£ki struk-
ture nahajajo v isti coni in imajo enake velikosti, se lahko enostavno zamenjata
poloºaja dveh vhodnih priklju£kov. Podobno se lahko zamenjata poloºaja dveh iz-
hodnih priklju£kov strukture. Logi£ni primitivi nimajo vsi enakih oblik, poleg tega
pa so njihovi poloºaji medsebojno soodvisni glede na topolo²ko urejenost usmer-
jenega grafa logi£ne sheme. Zato njihovih poloºajev nismo zamenjevali. Prehod v
novo stanje predstavlja tudi podalj²anje navpi£nega dela kotnih linij v nadgrajenih
majoritetnih vratih, s £imer se spremenita poloºaja njihovega zgornjega (x1) in
spodnjega (x3) vhodnega priklju£ka. Ker je majoritetna funkcija komutativna, se
lahko tudi poljubno permutirajo poloºaji njihovih vhodnih priklju£kov.
Ker se vsi vhodni priklju£ki nahajajo na levi strani prve urine cone, se pri dolo£anju
novega poloºaja vhodnega priklju£ka spremeni le njegova y koordinata. Prav tako
se spremeni le y koordinata pri dolo£anju novega poloºaja izhodnega priklju£ka, saj
vsi izhodni priklju£ki leºijo na desni strani zadnje urine cone. Vsi logi£ni primitivi
imajo enako ²irino kot urina cona, zato se tudi njim spremeni le y koordinata pri
7.3 Uporaba simuliranega ohlajanja za razme²£anje v QCA tehnologiji 105
Algoritem 6 Razme²£anje primitivov v QCA z uporabo simuliranega ohlajanja.procedure razme²£anje
T = T0; i = 0
// naklju£no dolo£i za£etno razmestitev in njeno ceno
si = naklju£na_razmestitev(); c = cena(si)
sbest = si; cbest = c
while T > ϵ do
i = i + 1
// naklju£no izberi logi£ni primitiv lp iz mnoºice primitivov P
lp = naklju£no_izberi(P )
// r1 ∈ [0,1) in r2 ∈ [0,1) sta naklju£no izbrani ²tevili
if r1 < pnov_polozaj then
// izbira novega poloºaja; (x, y) je naklju£no izbran poloºaj
namesti(lp, (x, y))
else if r1 < pnov_polozaj + pzamenjava then
// zamenjava poloºaja
lp′ = naklju£no_izberi(P )
zamenjaj_poloºaja(lp, lp′)
else
// permutacija vhodnih priklju£kov, £e lp spada med majoritetna vrata
permutiraj_vhode(lp)
end if
c = cena(si)
if c < cbest then
sbest = si; cbest = c
end if
if p(si|si−1) < r2 then
// prehod v stanje si se ne izvede
si = si−1; c = cena(si)
end if
T = ohlajanje(T , i)
end while
end procedure
106 7 Postopki snovanja fizi£ne razmestitve QCA strukture
premiku znotraj iste cone. Do spremembe x koordinate logi£nega primitiva pride
le v primeru, ko se primitiv prestavi v drugo urino cono. Naj bo y koordinata
spodnjega levega podro£ja v coni enaka yspodnja in y koordinata zgornjega levega
podro£ja enaka yzgornja. Ker mora vsak gradnik leºati znotraj urine cone, mora za
njegovo y koordinato ygradnik veljati yspodnja ≤ ygradnik ≤ yzgornja.
V primerih, ko se spreminja le y koordinata gradnika, se slednja lahko spremeni
za najve£ di. Na za£etku je di enak vi²ini urine cone H(UC), tako da je lahko
razdalja med novim in starim poloºajem gradnika velika. Med izvajanjem algoritma
se di manj²a, tako da so proti koncu moºni vse manj²i premiki. S tem postaja
optimizacija vse bolj lokalna. Proti koncu delovanja algoritma je razmestitev vse
bolj optimizirana, zato veliki premiki obi£ajno pripeljejo do razmestitve z vi²jo
ceno. Parameter di se v i-ti iteraciji izra£una z izrazom
di =
H(UC) · (1− iNiteracij
) £e H(UC) · (1− iNiteracij
) ≥ 5
5 sicer,(7.1)
kjer je Niteracij ²tevilo vseh iteracij. Minimalna vrednost parametra di je enaka 5.
Verjetnost izbire poteze: �e so v prvi fazi izbrana majoritetna vrata, se na-
klju£no dolo£i njihov nov poloºaj z verjetnostjo pnov_polozaj_mv = 1/3. Verjetnost
podalj²anja navpi£nega dela kotnih linij v nadgrajenih majoritetnih vratih za na-
klju£no izbrano ²tevilo med 0 in 3, je enaka ppodaljsanje = 1/3. Tudi verjetnost
permutacije vhodov nadgrajenih majoritetnih vrat je enaka ppermutacija = 1/3. �e
je v prvi fazi izbran logi£ni primitiv negator, je edina moºnost za prehod v novo sta-
nje dolo£itev novega poloºaja negatorja. �e je izbran vhodni priklju£ek strukture,
se mu dolo£i nov naklju£no izbran poloºaj z verjetnostjo pnov_polozaj_vhod = 1/2. Z
verjetnostjo pzamenjava_vhod = 1/2 se naklju£no izbere enega od preostalih vhodnih
priklju£kov, nato pa se zamenjata njuna poloºaja. Podobno velja za izbran izhodni
priklju£ek strukture. Z verjetnostjo pnov_polozaj_izhod = 1/2 se mu naklju£no do-
lo£i nov poloºaj, z verjetnostjo pzamenjava_izhod = 1/2 pa zamenja poloºaj z enim
izmed preostalih izhodnih priklju£kov.
Izra£un cene trenutne razmestitve: Izra£un cene trenutne razmestitve mora
biti izveden hitro, ker se izra£una v vsaki iteraciji. Zato smo za vrednosti kriterijev
izra£unali ocene, dejanske vrednosti pa so dokon£no dolo£ene ²ele po kon£ani fazi
7.3 Uporaba simuliranega ohlajanja za razme²£anje v QCA tehnologiji 107
povezovanja. Cena nove razmestitve se izra£una z uteºeno vsoto ocene dolºine linij,
ocene ²tevila kriºanj linij in ocene ²tevila kotnih linij po formuli
cena(s) = k1 ·∑i
N ′dolzinai
+ k2 ·N ′krizanje + k3 ·N ′
kot. (7.2)
cena(s) je cena trenutne razmestitve v stanju s,∑
iN′dolzinai
ocena dolºine linij,
N ′krizanje ocena ²tevila kriºanj linij in N ′
kot ocena ²tevila kotnih linij. Koe�cienti
k1, k2 in k3 dolo£ajo uteºi. Vsota dolºin linij v strukturi je veliko ve£ja kot ²tevilo
kotnih linij ali ²tevilo kriºanj linij, zato mora biti koe�cient k1 ustrezno manj²i od
k2 in k3. Za vrednosti koe�cientov smo tako dolo£ili k1 = 1, k2 = 5 in k3 = 5. Za
izra£un ocen smo najprej dolo£ili trenutne lege vseh povezav. Vsaka povezava je
sestavljena iz linij, tako da vsaka linija leºi v svoji urini coni. Lega vsake linije je
dolo£ena tako, da je linija znotraj urine cone £im kraj²a. Tak²na namestitev linij je
optimalna glede na dolºino le lokalno v urini coni, lahko pa obstaja kraj²a celotna
povezava, ki poteka skozi ve£je ²tevilo con. Iskanje najkraj²e celotne povezave
je ra£unsko potratno, na² postopek dolo£anja najkraj²e linije v urini coni pa se
lahko izvede hitro. Ocena skupne dolºine linij∑
iN′dolzinai
je vsota dolºin vseh
tako name²£enih linij. �e se QCA celica v liniji li na levem robu urine cone ne
nahaja na isti vi²ini kot celica v li na desnem robu iste urine cone, to pomeni,
da je li kotna linija. �tevilo vseh trenutno name²£enih kotnih linij je enako N ′kot.
Za izra£un ocene ²tevila kriºanj linij se najprej dolo£i interval [y1, y2], kjer je y1 y
koordinata celice v liniji li na levem robu urine cone in y2 y koordinata celice v li
na desnem robu iste cone. Do kriºanja pride takrat, kadar linija lj poteka skozi
interval [y1, y2]. Naj bo z1 y koordinata celice v lj na levem robu cone in z2 y
koordinata celice v lj na desnem robu cone. Linija lj poteka skozi interval [y1, y2]
takrat, ko velja z1 > y1 ∧ z2 < y2 ali z1 < y1 ∧ z2 > y2. �tevilo vseh kriºanj linij je
enako N ′krizanje.
Stanje z najniºjo ceno, ki je enaka cbest, hrani spremenljivka sbest. �e ima novo
stanje s niºjo ceno od cbest, se s zapi²e v spremenljivko sbest, cena(s) pa se zapi²e
v spremenljivko cbest.
Izbira funkcije ohlajanja: Funkcija ohlajanja predpisuje spreminjanje tempera-
ture glede na iteracijo. �tevilo vseh iteracij Niteracij mora biti dovolj veliko, da
se prei²£e £im ve£ji del prostora stanj. V nasprotnem primeru bi se iskanje pre-
hitro ustavilo v lokalnem minimumu, ki se nahaja blizu za£etne razmestitve. Za
108 7 Postopki snovanja fizi£ne razmestitve QCA strukture
²tevilo vseh iteracij smo dolo£ili Niteracij=1 000 000. Ista vrednost temperature
se uporabi v konstantnem ²tevilu Niter/temp zaporednih iteracij. Tako se pri isti
vrednosti temperature prei²£e del prostora stanj. �tevilo Niter/temp ne sme biti
preveliko, sicer bi se med celotnim izvajanjem algoritma izra£unalo majhno ²tevilo
razli£nih vrednosti temperature. Izra£un nove vrednosti temperature se izvede po
vsakih Niter/temp=500 zaporednih iteracijah. Ista vrednost temperature se torej
uporabi v 500 zaporednih iteracijah, nato pa se izra£una nova vrednost. Ta posto-
pek se med delovanjem ponavlja, tako da je v celotnem izvajanju algoritma ²tevilo
izra£unov novih vrednosti temperature enako Nizracunov =Niteracij
Niter/temp=2000.
Izbrali smo pogosto uporabljano eksponentno ohlajanje [12]. Temperatura Ti v
i-tem izra£unu nove vrednosti se izra£una z izrazom
Ti = k4Ti−1. (7.3)
Temperatura Ti je tako enaka T0ki4. Za£etna temperatura T0 mora biti dovolj
visoka, kon£na temperatura Tkoncna pa dovolj nizka. Za vrednost za£etne tempe-
rature smo dolo£ili T0 = 106 in za vrednost kon£ne temperature Tkoncna = 0, 1.
Koe�cient k4 je ²tevilo med 0 in 1, torej 0 < k4 < 1. Med izvajanjem algoritma
se mora temperatura zniºati od T0 do Tkoncna v Nizracunov izra£unih nove vredno-
sti. Kon£na temperatura je enaka Tkoncna = T0kNizracunov4 , zato se koe�cient k4
izra£una z izrazom
k4 = Nizracunov
√Tkoncna/T0 ≈ 0, 9919. (7.4)
Verjetnost prehoda v novo stanje: Funkcija za izra£un verjetnosti prehoda
p(si|si−1) v stanje si iz stanja si−1 je
p(si|si−1) =
1 £e cena(si) ≤ cena(si−1)
k5 · e−k6(cena(si)−cena(si−1)/Ti sicer.(7.5)
Kadar ima stanje si vi²jo ceno od stanja si−1, je minimalna razlika med njunima
cenama enaka
cena(si)− cena(si−1) = 1. (7.6)
Parametra k5 in k6 smo dolo£ili tako, da je na za£etku delovanja algoritma verje-
tnost prehoda v stanje z vi²jo ceno visoka, proti koncu pa se pribliºa 0. Pri razliki
7.4 Povezovanje logi£nih primitivov 109
med cenama, izra£unani z ena£bo (7.6), smo za verjetnost prehoda v stanje z vi²jo
ceno v prvi iteraciji dolo£ili vrednost 0,95, po 90% izvedenih iteracij (v iteraciji z
indeksom 900 000) pa se verjetnost zmanj²a na 0,1. Koe�cienta k5 in k6 se tako
izra£unata z izrazoma
k6 = ln(0, 95
0, 1) · T0 · k0,9·Nizracunov
4 ≈ 1, 1283 in (7.7)
k5 = 0, 95 · ek6/T0 ≈ 0, 95. (7.8)
Verjetnost prehoda v stanje z vi²jo ceno je na za£etku izvajanja algoritma visoka,
nato pa se pribliºuje ²tevilu 0. Tako se na za£etku algoritem izogiba lokalnim
minimumom. Proti koncu izvajanja, ko je cena najbolj²ega stanja ºe precej nizka,
so vse bolj moºni le ²e prehodi v stanja z niºjo ceno.
V zadnjem procentu vseh iteracij algoritem izvede poºre²no lokalno optimizacijo. V
primeru, ko je vseh iteracij 1 000 000, zadnji procent iteracij predstavlja 10 000 iteracij
med iteracijo z zaporednim indeksom 990 000 in zadnjo iteracijo z indeksom 1 000 000.
V postopku lokalne poºre²ne optimizacije algoritem najprej izbere najbolj²o do takrat
najdeno razmestitev. Nato posku²a slednjo optimizirati s poºre²nim algoritmom. Ker
pri poºre²ni optimizaciji prehod v stanje z vi²jo ceno ni mogo£, algoritem takrat poi²£e
lokalni minimum smin. Slednji se nahaja v bliºini najbolj²e razmestitve, ki jo je algoritem
na²el v prvih 99 procentih iteracij. Zato je cena lokalnega minimuma smin obi£ajno niºja
od cene lokalnega minimuma tmin, ki se nahaja v bliºini za£etnega stanja z visoko ceno.
Stanje tmin bi bila re²itev algoritma, ki bi v vseh iteracijah izvajal poºre²no iskanje.
Zato je rezultat smin, ki ga najde algoritem simuliranega ohlajanja, cenej²i od rezultata
poºre²nega algoritma tmin.
7.4 Povezovanje logi£nih primitivov
V fazi povezovanja logi£nih primitivov v QCA se vsaka povezava v logi£ni strukturi
realizira z linijo v �zi£ni razmestitvi strukture. Vsaki liniji se dolo£i natan£en poloºaj v
�zi£ni razmestitvi. To se izvede tako, da se za vsako QCA celico v liniji dolo£i podro£je
v mreºi, v katerega bo celica name²£ena. Pri ve£nivojskem kriºanju je potrebno za vsako
celico opredeliti tudi plast, na kateri se celica nahaja.
Za povezovanje v QCA potrebujemo algoritem, ki dolo£i podro£ja v mreºi, v katere
bodo name²£ene celice v liniji. Algoritem mora omogo£ati izogibanje predhodno name-
110 7 Postopki snovanja fizi£ne razmestitve QCA strukture
²£enim QCA celicam. Zato smo za povezovanje izbrali algoritma iskanja po labirintu ter
iskanja po liniji in ju priredili za uporabo v QCA.
Skozi urino cono z logi£nimi primitivi lahko poteka le vodoravna linija, ki se ne pre-
kriva z nobenim primitivom. Vse kotne in razvejitvene linije so name²£ene v vmesnih
urinih conah, zato da je prepre£eno njihovo prekrivanje s primitivi. Poleg kotnih in raz-
vejitvenih linij se znotraj vmesnih urinih con nahajajo tudi preostale potrebne vodoravne
linije. Do kriºanja lahko pride le med vodoravno linijo in navpi£nim odsekom kotne li-
nije, zato se kriºanja linij nahajajo le v vmesnih conah. S tem je onemogo£ena situacija,
pri kateri bi se linija, priklju£ena na logi£ni primitiv pi v urini coni UCLj , v isti urini
coni kriºala z neko drugo linijo. To bi privedlo do napa£nega delovanja, saj mora biti
zaporedje procesiranja v logi£nem primitivu in nato v kriºanju linij razdeljeno na lo£eni
urini coni.
Posamezna povezava povezuje en izhodni priklju£ek z enim ali ve£ vhodnih priklju£-
kov. Izhodni priklju£ek je lahko QCA celica, ki predstavlja vhodni priklju£ek strukture,
ali pa celica, ki se nahaja na desni strani logi£nega primitiva. Vsak vhodni priklju£ek
je ali celica, ki predstavlja izhodni priklju£ek strukture, ali ena od celic na levi strani
majoritetnih vrat oziroma negatorja. Izvorna to£ka povezave se nahaja na desnem robu
urine cone, v kateri leºi izhodni priklju£ek. �e slednji ne leºi na desnem robu cone, se
poveºe z izvorno to£ko tako, da se med njima namesti vodoravno linijo. Vsaka ponorna
to£ka povezave leºi na levem robu cone, v kateri leºi pripadajo£ vhodni priklju£ek. �e
ponorna to£ka in vhodni priklju£ek prostorsko ne sovpadata, se poveºeta z vodoravno
linijo. Na sliki 7.2 je prikazana mreºa, na kateri se nahaja eno podro£je z izvorno to£ko
(I) in tri podro£ja s ponorno to£ko (P1, P2 in P3). Nekatera podro£ja so zasedena z
ºe name²£enimi QCA celicami. Za zasedena se ozna£ijo tudi nekatera druga podro£ja,
kot to dolo£ajo na£rtovalska pravila. Tako so zasedena tudi vsa podro£ja, ki so sosednja
podro£ju s QCA celico, kakor dolo£a pravilo o minimalni razdalji med logi£nimi primitivi.
Vrstni red povezav se najprej naklju£no preme²a, s £imer je moºno dobiti bolj ugoden
vrstni red name²£anja od za£etnega. Nato se povezave na povr²ino name²£ajo zaporedno
od e1 do eN3 , kjer je N3 ²tevilo vseh povezav. Podro£ja, ki jih zasedajo celice v ºe
name²£enih povezavah e1, e2, ..., ei, se ozna£ijo za zasedena, kot v primeru na sliki 7.2.
Na ºe zasedena podro£ja se ne morejo namestiti celice v katerikoli povezavi ej , i < j,
ki se bo namestila po ei. Vsaka povezava je sestavljena iz zaporedno povezanih linij, ki
potekajo od izvorne to£ke do ponorov, tako da je vsaka linija name²£ena v svoji urini
7.4 Povezovanje logi£nih primitivov 111
I P1
P2
P3
UC =UCk izv UCk+1 UCk+2 UCk+3 UC =UCk+4 pon
Slika 7.2 Primer mreºe kvantnega celi£nega avtomata. Prikazanih je pet urinih con (UCk, UCk+1, UCk+2, UCk+3 in
UCk+4). Podro£je z izvorno to£ko je ozna£eno z I in se nahaja v coni UCk = UCizv . Ponorna to£ka P1 leºi
v UCk+2, ponora P2 in P3 pa v UCk+4 = UCpon. Zasedena podro£ja so osen£ena. S temnej²im odtenkom
so obarvana podro£ja s predhodno name²£enimi QCA celicami. Slednje se nahajajo v vodoravni liniji v coni
UCk, v kotni liniji v UCk+1 in v dveh negatorjih v UCk+2. Podro£ja, ki so zasedena zaradi na£rtovalskih
pravil, so obarvana svetlo sivo.
coni. Vodoravne linije lahko leºijo v katerikoli coni med cono UCizv z izvorno to£ko
in najbolj desno cono UCpon s ponorno to£ko. Kotne in razvejitvene linije se morajo
namestiti v vmesne cone med UCizv in UCpon.
Povezava ei z m ponori povezuje izvorno to£ko I s ponornimi to£kami P1, P2, ...,
Pm. Ponori so razvr²£eni tako, da se ponor Pu nahaja v isti coni kot Pv, ali pa desno
od te cone, £e velja u > v. Naj Pu leºi v coni UCu′ in Pv v coni UCv′ . Tedaj velja
(u > v) ⇒ (u′ ≥ v′).
Najprej se v stopnji globalnega povezovanja poi²£e prostor za namestitev povezave ei.
Globalno povezovanje se izvede z uporabo iskanja po labirintu. Ozna£evanje se pri£ne
pri izvorni to£ki in se nadaljuje skozi cone med UCizv in UCpon, dokler niso doseºeni
vsi ponori. Ozna£evanje v vmesni coni je prikazano na sliki 7.3. Ozna£ijo se lahko tudi
112 7 Postopki snovanja fizi£ne razmestitve QCA strukture
UCizv UCizv+1 UCizv+2
I
13
1
2
2
2
3
3
3
3
3
4
4
4
4
4
4
5
5
5
5
5
6
6
6
6
6
7
7
7
7
7
8
8
8
8
9
9
9
10
10
11
11 12
7
8
9
10
18
12
13
14
15
7 8
8
9
9
109 10
Slika 7.3 Ozna£evanje podro£ij z uporabo iskanja po labirintu v stopnji globalnega povezovanja. V vmesni coni, kot
je UCizv+1, se lahko ozna£ijo tudi zasedene celice, £e pri tem lahko pride do kriºanja linij. Prosta podro£ja
na levem robu urine cone z logi£nimi primitivi (UCizv+2) so obarvana z rde£o barvo. Vsakemu prostemu
podro£ju na levem robu ustreza podro£je na desnem robu iste cone, tako da obe podro£ji leºita na isti vi²ini
v mreºi. Prosta podro£ja na desnem robu cone so obarvana zeleno.
zasedene celice, kadar lahko pride do kriºanja. Ko ozna£evanje doseºe prosto podro£je p
na levem robu urine cone z logi£nimi primitivi, se p ozna£i z ustrezno ²tevilko. Prosta
podro£ja na levem robu cone so na sliki 7.3 obarvana z rde£o. Ozna£evanje v urini coni
s primitivi ne poteka z algoritmom iskanja po labirintu, saj lahko skozi tako cono poteka
le vodoravna linija. Zato se v trenutku, ko je ozna£eno prosto podro£je p na levem robu
cone UCj , takoj ozna£i podro£je p′ na desnem robu UCj , tako da p in p′ leºita na isti
vi²ini v mreºi. Razdalja med p in desnim robom UCj je enaka W −1 podro£ij, pri £emer
je W ²irina cone. �e je oznakap oznaka podro£ja p, potem se podro£ju p′ pripi²e oznaka
oznakap′ = oznakap+W −1. Ozna£evanje se nato nadaljuje od podro£ja p′ v UCj proti
coni UCpon. Globalno povezovanje se zaklju£i, ko so ozna£ena vsa podro£ja s ponornimi
to£kami.
Naslednja stopnja je podrobno povezovanje, pri katerem se dolo£ijo natan£ne lege
linij, ki sestavljajo povezavo ei. Podrobno povezovanje poteka v nasprotni smeri kot
globalno, torej od cone UCpon proti UCizv. Najprej se poi²£e prostor za linijo v vmesni
7.4 Povezovanje logi£nih primitivov 113
coni UCpon−1, ki povezuje ponor Pm na levem robu cone UCpon in podro£je s, ki leºi na
desnem robu cone UCpon−2. Za podro£je s je izbrano podro£je z najniºjo oznako med
podro£ji na desnem robu UCpon−2. Obstaja lahko ve£ podro£ij z minimalno oznako, kot
je prikazano na sliki 7.4(a), na kateri sta taki podro£ji (s1 in s2) obarvani z zeleno barvo.
Z algoritmom iskanja po liniji se poi²£ejo moºni poteki linij med Pm in vsemi podro£ji
s1, s2, ... Tako dolo£eni poteki linij imajo minimalno ²tevilo kotov. Pogosto imajo tudi
minimalno dolºino, ²e posebej na za£etku povezovanja, ko ²e ni veliko podro£ij zasedenih
z ºe name²£enimi linijami. Na sliki 7.4(a) so prikazane tri linije in sicer rde£a L1 med
Pm in s1, modra L2 med Pm in s2 ter zelena L3 med Pm in s2.
Vsaki liniji Lj se dolo£i prioriteto pr(Lj). Najniºjo prioriteto ima linija, pri kateri
troj£ek odmik, d1, d2 ne zado²£a na£rtovalskim pravilom. To velja v primeru linije L1.
V primeru namestitve L1 bi bilo potrebno vstaviti dodatno urino cono med UCpon−1
in UCpon ter razdeliti L1 med UCpon−1 in vstavljeno cono. To bi pove£alo povr²ino
celotne �zi£ne razmestitve strukture, vsoto dolºin vseh njenih linij in ²tevilo urinih faz
za izra£un rezultata. V primeru namestitve L2 ali L3 ni potrebno vstaviti dodatne
urine cone, zato velja pr(L1) < pr(L2) in pr(L1) < pr(L3). V naslednjem koraku se
pre²tejejo vsa kriºanja linije Lj z ostalimi linijami. Linija z manj²im ²tevilom kriºanj
ima vi²jo prioriteto kot linija z ve£jim ²tevilom kriºanj, £e so pri obeh linijah upo²tevana
na£rtovalska pravila. Vsaka od linij L1, L2 in L3 na sliki 7.4(a) se enkrat kriºa z ºe
name²£eno kotno linijo v UCpon−1, zato ni mogo£e dolo£iti prioritete glede na ²tevilo
kriºanj, ²e vedno pa je pr(L1) niºja od pr(L2) in pr(L3). Nazadnje se dolo£i prioriteta
glede na bliºino ºe name²£enih linij. Linija L3 se nahaja bliºje ºe name²£ene linije kot L2,
zato velja pr(L2) < pr(L3). Na ta na£in so linije name²£ene bolj zgo²£eno, kar pusti ve£
prostora za namestitev povezav, ki sledijo ei. �e ni prostega prostora za namestitev linije
v coni UCk, je potrebno vstaviti dodatno cono desno od UCk. Tako se pove£a prazen
prostor, ki je na razpolago za namestitev linije. Ko so dolo£ene vse prioritete linij, se
izbere linija z najvi²jo prioriteto in se namesti v prosta podro£ja. Najvi²jo prioriteto na
sliki 7.4(a) ima L3, ki se namesti kot je prikazano na sliki 7.4(b). �e ima ve£ kotnih linij v
coni UCk enake prioritete, se namesti kotna linija, katere navpi£ni del je za dve podro£ji
odmaknjen od levega roba cone. Tako je med vsako QCA celico v navpi£nem delu kotne
linije in levim robom cone UCk eno prosto podro£je. S tem je prepre£ena neºelena
interakcija med QCA celicami v navpi£nem delu kotne linije v UCk in izhodnimi QCA
celicami v logi£nih primitivih, ki leºijo na desnem robu cone UCk−1. Navpi£ni del kotne
114 7 Postopki snovanja fizi£ne razmestitve QCA strukture
UCpon-2 UC -1pon UCpon
s1
s2
Pm
Pm-1
L1
L2
L3
s
Pm
Pm-1
(a)
(b)
UCpon-2 UC -1pon UCpon
Slika 7.4 Iskanje prostora za linijo med ponornimi to£kami v UCpon in podro£ji na desnem robu UCpon−2. Na sliki
(a) sta dve ponorni to£ki Pm in Pm−1 v UCpon. Podro£ji s1 in s2 na desnem robu UCpon−2 imata enako
minimalno oznako, dolo£eno v stopnji ozna£evanja z algoritmom iskanja po labirintu. Z L1, L2 in L3 so
ozna£eni moºni poteki linij med Pm in s1 oziroma s2. Na sliki (b) je linija L3 name²£ena v zeleno obarvana
podro£ja. Namestitev L3 dolo£a podro£je s, ki ustreza podro£ju s2 na sliki (a). V modro obarvana podro£ja
se namesti linija, ki povezuje ponor Pm−1 z linijo med Pm in s v zelenih podro£jih.
7.4 Povezovanje logi£nih primitivov 115
linije je lahko name²£en v podro£jih na desnem robu UCk, vendar le takrat, ko se na
njegovi desni strani v coni UCk+1 ne nahaja QCA celica s �ksno polarizacijo. Slednja
vpliva na vse sosednje QCA celice. Za pravilno delovanje mora celica s �ksno polarizacijo
vplivati le na sosednjo QCA celico v majoritetnih vratih, ne pa tudi na druge QCA celice.
Zato mora biti med QCA celicami v navpi£nem delu kotne linije v UCk in celico s �ksno
polarizacijo na levem robu UCk+1 vsaj eno prosto podro£je.
Z namestitvijo linije je dolo£eno podro£je s, tako da linija povezuje Pm in s. V primeru
na sliki 7.4(a) podro£ju s ustreza s2. V isti urini coni lahko obstaja ve£ ponorov. Na
sliki 7.4(b) se oba ponora Pm−1 in Pm nahajata v coni UCpon. Linija med Pm in s je
ºe name²£ena v zeleno obarvana podro£ja. Potrebno je poiskati ²e linijo med Pm−1 in
s. Prostor za to linijo se dolo£i na ºe opisan na£in, vendar pa sedaj obstaja ²e dodatni
kriterij za prioriteto. Najprej se poi²£ejo moºni poteki linij med Pm−1 in s, nato se
vsakemu dolo£i prioriteta po opisanem postopku. �e ima na koncu postopka ve£ potekov
linij enako prioriteto, se izbere tak²no linijo med Pm−1 in s, ki se najhitreje priklju£i ºe
name²£eni liniji med Pm in s. Tako se minimizira vsoto dolºin vseh linij v povezavi ei
in s tem tudi vsoto dolºin vseh linij v �zi£ni razmestitvi strukture. Na sliki 7.4(b) so z
modro barvo obarvana obmo£ja za linijo med Pm−1 in ºe name²£eno linijo med Pm in
s. Celotna linija v UCpon−1, name²£ena v zelenih in modrih podro£jih, ima vhod s in
izhoda Pm in Pm−1, z njo pa se poleg prenosa signala izvede tudi njegova razvejitev.
Razvejitvena linija, ki povezuje izvorno to£ko z nponor ponornimi to£kami, je sesta-
vljena iz za£etnega vodoravnega dela, navpi£nega dela in nponor kon£nimi vodoravnimi
deli, ki povezujejo navpi£ni del s ponornimi to£kami. Njena dolºina drazvejitvena je enaka
vsoti
drazvejitvena = d1 + d2 + nponor · d3, (7.9)
kjer je d1 dolºina za£etnega vodoravnega dela, d2 dolºina navpi£nega dela in d3 dolºina
enega kon£nega vodoravnega dela. Pri tem je dolºina d2 konstantna, za d1 in d3 pa
velja d1 + d3 + 1 = W (UC), kjer je W (UC) ²irina urine cone. �im manj²a je dolºina
d3, tem manj²a je skupna dolºina razvejitvene linije drazvejitvena. Slednja je najmanj²a
pri vrednosti d3 = 0, kar velja v primeru, ko se razvejitev signala izvede v podro£ju na
desnem robu cone. Zato se razvejitev signala posku²a realizirati £im bliºje desnemu robu
urine cone, pri £emer mora biti zado²£eno na£rtovalskim pravilom. �e se v primeru na
sliki 7.4(b) namesto linije L3 namesti linija L2, se razvejitev signala izvede v podro£ju na
desnem robu cone, na£rtovalskim pravilom pa je ²e vedno zado²£eno. Zato se dejansko
116 7 Postopki snovanja fizi£ne razmestitve QCA strukture
namesti L2.
Ko so name²£ene vse linije v coni UCpon−1, se povezovanje nadaljuje v UCpon−2.
Ker se v coni z logi£nimi primitivi ne smejo nahajati kotne linije, se namesti vodoravno
linijo med podro£jem s in podro£jem t na levem robu UCpon−2. Takrat t postane nova
ponorna to£ka, hkrati pa se lahko v UCpon−2 nahajajo ²e drugi ponori (Pm−2, Pm−3, ...).
Po opisanem postopku se poi²£ejo linije v UCpon−3, ki povezujejo ponore v UCpon−2 s
podro£ji na levem robu UCpon−4. Algoritem se tako iterativno izvaja v conah UCpon,
UCpon−1, ..., dokler ne doseºe izvorne to£ke v UCizv. Tedaj so name²£ene vse linije, ki
sestavljajo povezavo ei. Celoten postopek name²£anja linij se nato izvede za povezave
ei+1, ei+2, ..., eN3 . Postopek povezovanja je povzet s psevdokodo v algoritmu 7.
7.4 Povezovanje logi£nih primitivov 117
Algoritem 7 Povezovanje logi£nih primitivov v QCA.procedure povezovanje
for vsako povezavo e ∈ E do
// dolo£i podro£je z izvorom I in mnoºico podro£ij s ponori P = {P1, ..., Pm}
I = izvor(e); P = ponori(e)
UCizv = cona(I); UCpon = cona(Pm);
// globalno povezovanje z uporabo iskanja po labirintu
// ozna£uje podro£ja, dokler niso ozna£ena vsa podro£ja s ponori
iskanje_po_labirintu()
// podrobno povezovanje z uporabo iskanja po liniji
for i = pon− 1 do i = izv + 1 do
// dolo£i podro£ja za namestitev linije Li v coni UCi
Li = iskanje_po_liniji(UCi)
end for
end for
// razdeljevanje kotnih linij, pri katerih parametri ne zado²£ajo na£rtovalskim pravilom
for vsako kotno linijo kl do
izra£unaj parametre odmik, d1, d2
// razdeljevanje linije med urine cone se izvede, £e troj£ek odmik, d1, d2 ni veljaven
if !veljavni_parametri(odmik, d1, d2) then
// rekurzivno razdeljuj kl, dokler ni zado²£eno na£rtovalskim pravilom
razdeli(kl)
end if
end for
end procedure
8 Analiza rezultatov
avtomatiziranega snovanja
8.1 Uvod
V pri£ujo£em poglavju bomo predstavili �zi£ne razmestitve struktur, izdelanih z uporabo
metod za avtomatsko snovanje. Strukture bomo ovrednotili z de�niranimi metrikami.
Rezultate avtomatskega snovanja bomo primerjali z rezultati drugih avtorjev.
Zasnovane �zi£ne razmestitve struktur temeljijo na lastnostih, opisanih v naslednjih
alinejah:
�zi£ne razmestitve struktur so sestavljene iz polprevodnih QCA celic;
²irina in vi²ina polprevodne QCA celice sta 18 nm;
premer kvantne pike je 5 nm;
razdalja med dvema kvantnima pikama v celici je 4 nm;
razdalja med dvema QCA celicama je 2 nm [64, 5, 38, 6, 102, 39];
dimenzije QCA celice dolo£ajo velikost posameznega podro£ja, ki je enaka 20× 20
nm;
119
120 8 Analiza rezultatov avtomatiziranega snovanja
mnoºico uporabljenih logi£nih primitivov sestavljajo negatorji in nadgrajena majo-
ritetna vrata;
²irina urine cone zna²a ²est podro£ij;
pravilno delovanje vseh zasnovanih struktur je veri�cirano z uporabo simulacijske
metode koheren£nega vektorja v orodju QCADesigner.
8.2 Avtomatsko zasnovane strukture kvantnih celi£nih avtoma-
tov
Z uporabo predlaganih metod smo realizirali �zi£ne razmestitve strukture enobitnega pol-
nega se²tevalnika, dvobitnega polnega se²tevalnika in 4/1 multiplekserja. V nadaljevanju
so predstavljene na²tete strukture in opisan potek njihovega snovanja.
8.2.1 Struktura enobitnega polnega se²tevalnika
Logi£no strukturo enobitnega polnega se²tevalnika sestavljajo 3 vhodi, 2 izhoda, 3 majori-
tetna vrata in 2 negatorja. Logi£na shema enobitnega polnega se²tevalnika je prikazana
na sliki 8.1. Funkcijo enobitnega polnega se²tevalnika add(A,B,Cin) = (Sum,Cout)
opisujeta izraza
Sum =M(M(A,B,Cin),M(A,B,Cin), Cin), (8.1)
Cout =M(A,B,Cin), (8.2)
kjer M predstavlja majoritetno funkcijo.
V postopku iskanja �zi£ne razmestitve strukture enobitnega polnega se²tevalnika smo
najprej dolo£ili za£etno stanje razmestitve S01, prikazano na sliki 8.2. Razmestitev je bila
dolo£ena povsem naklju£no, tako da je z veliko verjetnostjo njena cena veliko vi²ja od
cene optimalne razmestitve. Za za£etno razmestitev S01 je dolo£ena ocena vsote dolºin
vseh linij∑
iN′dolzinai
= 295, ocena ²tevila kriºanj linij N ′krizanje = 8 in ocena ²tevila
kotnih linij N ′kot = 14. Cena razmestitve se izra£una z uporabo ena£be (7.2) in je enaka
cena(S01) = 295 + 5 · 8 + 5 · 14 = 405.
V nadaljevanju smo izvedli tri poskuse avtomatskega iskanja. V vsakem poskusu
je bilo izvedenih 1 000 000 iteracij. Vi²ina posamezne urine cone je zna²ala 50 podro-
£ij. Za£etno stanje je vsakokrat dolo£ala razmestitev S01. Rezultati poskusov so �zi£ne
razmestitve S11, S21 in S31, prikazane na slikah 8.3, 8.4 in 8.5.
8.2 Avtomatsko zasnovane strukture kvantnih celi£nih avtomatov 121
Slika 8.1 Logi£na shema enobitnega polnega se²tevalnika.
Cin
B
ACout
Sum
Slika 8.2 Za£etna razmestitev S01 pri iskanju �zi£ne razmestitve strukture enobitnega polnega se²tevalnika.
122 8 Analiza rezultatov avtomatiziranega snovanja
A
B
Cin
Cout
Sum
Slika 8.3 Rezultat prvega poskusa iskanja �zi£ne razmestitve strukture enobitnega polnega se²tevalnika pri za£etni
razmestitvi S01 je razmestitev S11.
A
B
Cin
Cout
Sum
Slika 8.4 Rezultat drugega poskusa iskanja �zi£ne razmestitve strukture enobitnega polnega se²tevalnika pri za£etni
razmestitvi S01 je razmestitev S21.
8.2 Avtomatsko zasnovane strukture kvantnih celi£nih avtomatov 123
B
A
Cin
Cout
Sum
Slika 8.5 Rezultat tretjega poskusa iskanja �zi£ne razmestitve strukture enobitnega polnega se²tevalnika pri za£etni
razmestitvi S01 je razmestitev S31.
Za posamezno razmestitev veljajo ocene:
razmestitev S11:∑
iN′dolzinai
= 111, N ′krizanje = 3, N ′
kot = 5, cena(S11) = 151,
algoritem je na²el razmestitev v iteraciji z indeksom 760 699;
razmestitev S21:∑
iN′dolzinai
= 114, N ′krizanje = 4, N ′
kot = 4, cena(S21) = 154,
algoritem je na²el razmestitev v iteraciji z indeksom 990 124;
razmestitev S31:∑
iN′dolzinai
= 111, N ′krizanje = 3, N ′
kot = 5, cena(S31) = 151,
algoritem je na²el razmestitev v iteraciji z indeksom 756 293.
Na sliki 8.6(a) je prikazan graf verjetnosti prehoda v stanje z vi²jo ceno v odvisnosti
od indeksa iteracije. Verjetnost prehoda v stanje z vi²jo ceno pvisja_cena se izra£una
z ena£bo (7.5), pri £emer ima novo stanje vi²jo ceno od sedanjega stanja, torej velja
cena(si) > cena(si−1). Verjetnost prehoda v stanje z niºjo ceno je po ena£bi (7.5) vedno
enaka 1. Ko je vrednost pvisja_cena blizu 1, je iskanje zelo naklju£no, saj se poleg gotovih
prehodov v stanja z niºjo ceno pogosto izvede tudi prehod v stanje z vi²jo ceno. Ko pa se
vrednost pvisja_cena bliºa 0, je iskanje vse bolj poºre²no, ker se prehodi v stanja z vi²jo
ceno skoraj ne dogodijo.
Slika 8.6(b) prikazuje graf odvisnosti cene razmestitve glede na indeks iteracije. Grafa
na sliki 8.6 prikazujeta podatke, zbrane v prvem poskusu pri iskanju razmestitve S11.
Podatke iz drugega poskusa prikazujeta grafa na sliki 8.7, podatke iz tretjega poskusa
124 8 Analiza rezultatov avtomatiziranega snovanja
0 2 4 6 8 10
x 105
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Iteracija
pvis
j a_
ce
na
(a)
0 2 4 6 8 10
x 105
100
200
300
400
500
600
700
800
Iteracija
Ce
na
ra
zm
estitv
e
(b)
Slika 8.6 Graf odvisnosti verjetnosti prehoda v stanje z vi²jo ceno glede na indeks iteracije (a). Graf odvisnosti cene
razmestitve glede na indeks iteracije (b). Podatki so bili zbrani v prvem poskusu iskanja �zi£ne razmestitve
strukture enobitnega polnega se²tevalnika, pri £emer je bila rezultat razmestitev S11. Najniºja cena razmestitve
je bila dolo£ena v iteraciji z indeksom 760 699.
8.2 Avtomatsko zasnovane strukture kvantnih celi£nih avtomatov 125
Iteracija
pvis
j a_cen
a
(a)
Iteracija
Ce
na
ra
zm
estitv
e
(b)
Slika 8.7 Graf odvisnosti verjetnosti prehoda v stanje z vi²jo ceno glede na indeks iteracije (a). Graf odvisnosti cene
razmestitve glede na indeks iteracije (b). Podatki so bili zbrani v drugem poskusu iskanja �zi£ne razmestitve
strukture enobitnega polnega se²tevalnika, pri £emer je bila rezultat razmestitev S21. Najniºja cena razmestitve
je bila dolo£ena v iteraciji z indeksom 990 124, torej ²ele v zadnjem delu izvajanja algoritma pri lokalni
optimizaciji s poºre²nim iskanjem.
126 8 Analiza rezultatov avtomatiziranega snovanja
Iteracija
pvis
j a_cen
a
(a)
Iteracija
Cena r
azm
estitv
e
(b)
Slika 8.8 Graf odvisnosti verjetnosti prehoda v stanje z vi²jo ceno glede na indeks iteracije (a). Graf odvisnosti cene
razmestitve glede na indeks iteracije (b). Podatki so bili zbrani v tretjem poskusu iskanja �zi£ne razmestitve
strukture enobitnega polnega se²tevalnika, pri £emer je bila rezultat razmestitev S31. Najniºja cena razmestitve
je bila dolo£ena v iteraciji z indeksom 756 293.
8.2 Avtomatsko zasnovane strukture kvantnih celi£nih avtomatov 127
pa grafa na sliki 8.8.
V prvem poskusu je algoritem na²el razmestitev S11 z najniºjo ceno v iteraciji z
indeksom 760 699. V nadaljnjem iskanju se cena razmestitve ni znatno spreminjala.
Kot je razvidno iz grafa 8.6(b), se je cena ustalila v minimumu v bliºini iteracije z
indeksom 900 000. Do iteracije z indeksom 990 000 se cena ni spreminjala. V zadnjih
10 000 iteracijah je algoritem poºre²no optimiziral razmestitev S11, vendar se njena cena
do zaklju£ka iskanja ni spremenila. V drugem poskusu je algoritem na²el razmestitev
S′21 pred iteracijo z indeksom 800 000. Od iteracije z indeksom 990 000 je algoritem
poºre²no optimiziral do tedaj najcenej²o razmestitev S′21 in v njeni bliºini na²el lokalni
minimum S21 v iteraciji z indeksom 990 124. Tako je kon£na re²itev postala razmestitev
S21 z najniºjo ceno. V tretjem poskusu je algoritem na²el razmestitev S31 v iteraciji z
indeksom 756 293. Kasneje se je izvedel prehod v stanje S′31 z vi²jo ceno od S31. Stanje
S′31 je leºalo v nekem lokalnem minimumu, iz katerega iskanje ni u²lo zaradi majhne
verjetnosti prehoda v stanje z vi²jo ceno v zadnjem delu izvajanja algoritma. Vendar pa
je algoritem v iteraciji z indeksom 990 000 izbral najcenej²o do tedaj najdeno razmestitev
S31 in jo posku²al poºre²no optimizirati v zadnjih 10 000 iteracijah. Njena cena se ni
spremenila in kon£na re²itev je postala razmestitev S31.
�e v primeru enostavnih struktur je prostor moºnih stanj izredno velik. V usmerjenem
grafu logi£ne sheme s slike 8.1 vsi logi£ni primitivi leºijo na kriti£nih poteh. Vsaka kriti£na
pot vsebuje 3 logi£ne primitive, zato ima �zi£na razmestitev strukture enobitnega polnega
se²tevalnika 3 urine cone z logi£nimi primitivi UCL1, UCL2 in UCL3. Cona UCL1 vsebuje
majoritetne vrata in negator, tudi cona UCL2 vsebuje majoritetne vrata in negator, UCL3
pa vsebuje ena majoritetna vrata. Prva urina cona UC1 vsebuje 3 vhodne priklju£ke,
zadnja cona UCn pa vsebuje 2 izhodna priklju£ka. �irina vsake cone je enaka 6 podro£ij,
vi²ina pa naj bo enaka 20 podro£ij. Vhodni priklju£ki so lahko name²£eni le na levem robu
UC1, izhodni priklju£ki pa le na desnem robu UCn. Vsi logi£ni primitivi imajo enako
²irino kot urina cona. Zato so x koordinate vhodno/izhodnih priklju£kov in logi£nih
primitivov �ksne, spreminja pa se lahko njihova y koordinata znotraj cone. Prvi vhodni
priklju£ek A se lahko namesti na 20 razli£nih podro£ij. Naslednji vhodni priklju£ek
B ne more zasedati podro£ja, na katerem je name²£en A. Prav tako mora biti od A
oddaljen vsaj za dve podro£ji, zato ne more zasedati podro£ja nad in pod A. Tako za
namestitev priklju£ka B preostane 20-3=17 podro£ij. Za priklju£ek Cin preostane ²e
17-3=14 podro£ij. �e se na primer priklju£ek A nahaja povsem na spodnjem robu cone,
128 8 Analiza rezultatov avtomatiziranega snovanja
je moºnosti za namestitev ostalih priklju£kov ²e ve£, saj se med zasedena podro£ja ne
pri²teva podro£je, ki se nahaja pod A, ker leºi izven urine cone. Tako je spodnja meja za
²tevilo razmestitev priklju£kov v UC1 enaka RUC1 = 20 · 17 · 14 = 4760. Najve£ja vi²ina
nadgrajenih majoritetnih vrat (slika 4.4) zna²a 13 podro£ij. Zato se lahko majoritetna
vrata v UCL1 namestijo na 20-13+1=8 na£inov. Ker morata biti podro£ji pod in nad
majoritetnimi vrati prosti, za namestitev negatorja z vi²ino 3 podro£ij preostanejo ²e
8-2-3+1=4 mesta. Navpi£na dela kotnih linij v nadgrajenih majoritetnih vratih sta
lahko podalj²ana za 0, 1, 2 ali 3 celice, kar dolo£a 4 razli£ne moºne vi²ine nadgrajenih
majoritetnih vrat. Tako je spodnja meja za razmestitev logi£nih primitivov v UCL1 enaka
RUCL1= 8 · 4 · 4 = 128. Enako velja za cono UCL2, torej RUCL2
= 8 · 4 · 4 = 128. V
UCL3 se lahko nadgrajena majoritetna vrata namestijo na najmanj RUCL3= 8 · 4 = 32
na£inov. Izhodna priklju£ka v UCn lahko tvorita vsaj RUC1 = 20 · 17 = 340 razli£nih
razmestitev. �tevilo vseh moºnih razmestitev vhodno/izhodnih priklju£kov in logi£nih
primitivov strukture enobitnega polnega se²tevalnika v conah z vi²ino 20 podro£ij torej
presega RUC1 ·RUCL1 ·RUCL2 ·RUCL3 ·RUCn > 848 ·109, zato bi bilo iz£rpno preiskovanje
vseh stanj £asovno zelo potratno.
Na za£etku algoritem simuliranega ohlajanja, opisan v razdelku 7.3, naklju£no prei-
skuje celoten prostor stanj. Verjetnost prehoda v stanje z vi²jo ceno pvisja_cena je precej
velika, tako da se iskanje ne ujame takoj v lokalnem minimumu. Ker je veliko prehodov
v stanja z vi²jo ceno, na za£etku delovanja algoritma cena razmestitve zelo niha. Po
polovici izvedenih iteracij za£ne pvisja_cena hitro padati. Slab²a stanja imajo manj²o
moºnost izbire, zato cena razmestitve pri£ne padati. Optimizacija postaja vse bolj lo-
kalna, tako da je razlika med cenama dveh zaporednih stanj vse manj²a. V zadnjem delu
izvajanja se pvisja_cena pribliºa 0. To pomeni, da se izvaja poºre²no iskanje, pri katerem
je prehod moºen le v stanja z niºjo ceno. Algoritem posku²a lokalno optimizirati najce-
nej²e stanje, ki je bilo dolo£eno v eni izmed predhodnih iteracij. To stanje se pribliºuje
nekemu lokalnemu minimumu, ki pa ima precej niºjo ceno kot lokalni minimumi, ki jih
je algoritem obiskal na za£etku izvajanja.
Ker ima lahko ve£ razli£nih re²itev enako ceno, lahko algoritem najde razli£ne re²itve
pri isti za£etni razmestitvi. Vsaka re²itev predstavlja pribliºek lokalnega minimuma s
precej niºjo ceno, kot jo ima neoptimizirano za£etno stanje. Ker algoritem temelji na
naklju£nih potezah za spremembo stanja, lahko pri isti za£etni razmestitvi najde razli£ne
re²itve. �e bi ºeleli z gotovostjo najti globalni minimum, bi moral algoritem pregledati
8.2 Avtomatsko zasnovane strukture kvantnih celi£nih avtomatov 129
vsa moºna stanja, za kar bi bilo potrebno izjemno veliko ²tevilo iteracij.
Naklju£no smo dolo£ili tudi za£etno razmestitev S02, ki se razlikuje od razmestitve
S01, njena cena pa je ²e vedno veliko vi²ja od cen optimiziranih re²itev. Razmestitev S02
je prikazana na sliki 8.9. Za za£etno razmestitev S02 je dolo£ena ocena vsote dolºin vseh
linij∑
iN′dolzinai
= 410, ocena ²tevila kriºanj linij N ′krizanje = 13 in ocena ²tevila kotnih
linij N ′kot = 15. Cena razmestitve je enaka cena(S02) = 410 + 5 · 13 + 5 · 15 = 550.
Nato smo ponovno izvedli tri poskuse avtomatskega iskanja. V vsakem poskusu je bilo
izvedenih 1 000 000 iteracij. Vi²ina posamezne urine cone je zna²ala 50 podro£ij. Za£etno
stanje je vsakokrat dolo£ala razmestitev S02. Rezultati poskusov so �zi£ne razmestitve
S12, S22 in S32, prikazane na slikah 8.10, 8.11 in 8.12.
Za posamezno razmestitev veljajo ocene:
razmestitev S12:∑
iN′dolzinai
= 114, N ′krizanje = 3, N ′
kot = 4, cena(S12) = 149,
algoritem je na²el razmestitev v iteraciji z indeksom 754 801;
razmestitev S22:∑
iN′dolzinai
= 111, N ′krizanje = 3, N ′
kot = 5, cena(S22) = 151,
algoritem je na²el razmestitev v iteraciji z indeksom 760 487;
razmestitev S32:∑
iN′dolzinai
= 114, N ′krizanje = 3, N ′
kot = 5, cena(S32) = 154,
algoritem je na²el razmestitev v iteraciji z indeksom 990 217.
Re²itve S11, S21 in S31 izhajajo iz za£etne razmestitve S01, re²itve S12, S22 in S32 pa
izhajajo iz za£etne razmestitve S02. �eprav se za£etni razmestitvi S01 in S02 med seboj
zelo razlikujeta, imajo vse re²itve podobno ceno. To omogo£a algoritem simuliranega
ohlajanja, ki lahko pri iskanju uide iz lokalnega minimuma. �e bi se iskanje ustavilo
v prvem lokalnem minimumu, bi se dve re²itvi, ki izhajata iz dveh razli£nih za£etnih
razmestitev, med seboj lahko zelo razlikovali.
Vrednosti optimizacijskih kriterijev naklju£no dolo£enih za£etnih razmestitev S01 in
S02 so navedene v tabeli 8.1. Vrednosti optimiziranih kriterijev �zi£nih razmestitev
struktur S11, S21, S31, S12, S22 in S32 so navedene v tabeli 8.2.
Pravilno delovanje avtomatsko zasnovanih struktur potrjuje gra�£ni prikaz rezultatov
simulacije, pridobljenih z uporabo veri�kacijskega orodja QCADesigner, na sliki 8.13.
Rezultati simulacij so enaki za vse �zi£ne razmestitve struktur S11, S21, S31, S12, S22 in
S32.
130 8 Analiza rezultatov avtomatiziranega snovanja
B
A
Cin
Cout
Sum
Slika 8.9 Za£etna razmestitev S02 pri iskanju �zi£ne razmestitve strukture enobitnega polnega se²tevalnika.
B
A
Cin
Cout
Sum
Slika 8.10 Rezultat prvega poskusa iskanja �zi£ne razmestitve strukture enobitnega polnega se²tevalnika pri za£etni
razmestitvi S02 je razmestitev S12.
8.2 Avtomatsko zasnovane strukture kvantnih celi£nih avtomatov 131
B
A
Cin
Cout
Sum
Slika 8.11 Rezultat drugega poskusa iskanja �zi£ne razmestitve strukture enobitnega polnega se²tevalnika pri za£etni
razmestitvi S02 je razmestitev S22.
B
A
Cin
Cout
Sum
Slika 8.12 Rezultat tretjega poskusa iskanja �zi£ne razmestitve strukture enobitnega polnega se²tevalnika pri za£etni
razmestitvi S02 je razmestitev S32.
132 8 Analiza rezultatov avtomatiziranega snovanja
A
B
Cin
Cout
Sum
Slika 8.13 Gra�£ni prikaz rezultatov simulacije delovanja avtomatsko zasnovane �zi£ne razmestitve strukture enobitnega
polnega se²tevalnika. Zakasnitev signala v strukturi zna²a 5 urinih faz oziroma 1,25 urinega cikla.
8.2 Avtomatsko zasnovane strukture kvantnih celi£nih avtomatov 133
kriterij S01 S02
²tevilo urinih faz 11 15
vsota dolºin vseh linij 449 601
²tevilo kotnih linij 28 38
porabljena povr²ina 66× 38 90× 43
²tevilo kriºanj linij 10 13
Tabela 8.1 Vrednosti optimizacijskih kriterijev naklju£no dolo£enih za£etnih razmestitev S01 in S02.
kriterij S11 S21 S31 S12 S22 S32
²tevilo urinih faz 5 5 5 5 5 5
vsota dolºin vseh linij 104 107 104 107 104 107
²tevilo kotnih linij 7 5 7 5 7 7
porabljena povr²ina 30× 16 30× 16 30× 16 30× 19 30× 16 30× 16
²tevilo kriºanj linij 2 3 2 2 2 2
Tabela 8.2 Vrednosti optimiziranih kriterijev avtomatsko zasnovanih �zi£nih razmestitev struktur S11, S21, S31, S12,
S22 in S32.
Za primerjavo med avtomatsko zasnovanimi in ºe obstoje£imi strukturami enobitnega
polnega se²tevalnika so v tabeli 8.3 navedene vrednosti kriterijev za nekatere ºe zasnovane
strukture drugih avtorjev.
kriterij [27] [5] [89]
²tevilo urinih faz 3 5 16
vsota dolºin vseh linij 162 120 268
²tevilo kotnih linij 6 5 13
porabljena povr²ina 17× 25 20× 22 56× 63
²tevilo kriºanj linij 9 3 0
Tabela 8.3 Vrednosti optimizacijskih kriterijev �zi£nih razmestitev struktur enobitnega polnega se²tevalnika, ki so delo
drugih avtorjev.
Slednje so opisane v naslednjih alinejah:
Struktura v delu [27]: Razdeljena je na tri pravokotne urine cone z enakimi vi²inami,
medtem ko se njihove ²irine med seboj razlikujejo. Kriºanje linij je implementirano
134 8 Analiza rezultatov avtomatiziranega snovanja
na istem nivoju z uporabo navadnih in rotiranih QCA celic.
Struktura v delu [5]: Urine cone nimajo pravilnih oblik. Nekatere cone vsebujejo
samo eno QCA celico.
Struktura v delu [89]: Enobitni se²tevalnik temelji na urinih conah kvadratne oblike
s stranico velikosti 7 podro£ij. Avtorji so kriºanja linij odpravili s podvojitvijo vseh
treh vhodnih priklju£kov.
8.2.2 Struktura dvobitnega polnega se²tevalnika
Struktura dvobitnega polnega se²tevalnika omogo£a se²tevanje dveh dvobitnih ²tevil A
in B ter prenosa Cin. Rezultat sta dvobitna vsota in prenos Cout. Spremenljivke so
povezane z ena£bami
A = 2×A1 +A0, (8.3)
B = 2×B1 +B0, (8.4)
A+B + Cin = 4× Cout+ 2× Sum1 + Sum0. (8.5)
Logi£na shema dvobitnega polnega se²tevalnika je prikazana na sliki 8.14.
Slika 8.14 Logi£na shema dvobitnega polnega se²tevalnika.
8.2 Avtomatsko zasnovane strukture kvantnih celi£nih avtomatov 135
Pri iskanju �zi£ne razmestitve strukture dvobitnega polnega se²tevalnika smo naj-
prej dolo£ili za£etno stanje razmestitve T01, prikazano na sliki 8.15. Razmestitev je
bila dolo£ena naklju£no, tako da je njena cena zelo verjetno veliko vi²ja od cene opti-
malne razmestitve. Za za£etno razmestitev T01 je dolo£ena ocena vsote dolºin vseh linij∑iN
′dolzinai
= 1015, ocena ²tevila kriºanj linij N ′krizanje = 49 in ocena ²tevila kotnih li-
nij N ′kot = 28. Cena razmestitve se izra£una z uporabo ena£be (7.2) in je enaka cena(T01)
= 1400.
Nato smo izvedli tri poskuse avtomatskega iskanja, tako da je bila za£etna razmestitev
vedno T01. V vsakem poskusu je bilo izvedenih 1 000 000 iteracij. Vi²ina posamezne urine
cone je zna²ala 100 podro£ij. Rezultati poskusov so �zi£ne razmestitve T11, T21 in T31,
prikazane na slikah 8.16, 8.17 in 8.18.
Za posamezno razmestitev veljajo ocene:
razmestitev T11:∑
iN′dolzinai
= 258, N ′krizanje = 7, N ′
kot = 13, cena(T11) = 358,
algoritem je na²el razmestitev v iteraciji z indeksom 797 341;
razmestitev T21:∑
iN′dolzinai
= 271, N ′krizanje = 9, N ′
kot = 11, cena(T21) = 371,
algoritem je na²el razmestitev v iteraciji z indeksom 750 070;
razmestitev T31:∑
iN′dolzinai
= 280, N ′krizanje = 8, N ′
kot = 10, cena(T31) = 370,
algoritem je na²el razmestitev v iteraciji z indeksom 811 808.
V drugem delu postopka iskanja �zi£ne razmestitve strukture dvobitnega polnega se-
²tevalnika smo dolo£ili novo za£etno razmestitev T02. Slednja se razlikuje od razmestitve
T01, obe pa sta bili dolo£eni naklju£no. Razmestitev T02 je prikazana na sliki 8.19. Za
za£etno razmestitev T02 je dolo£ena ocena vsote dolºin vseh linij∑
iN′dolzinai
= 828,
ocena ²tevila kriºanj linij N ′krizanje = 48 in ocena ²tevila kotnih linij N ′
kot = 29. Cena
razmestitve je enaka cena(T02) = 1213.
Nato smo ponovno izvedli tri poskuse avtomatskega iskanja. V vsakem poskusu je
bilo izvedenih 1 000 000 iteracij. Vi²ina posamezne urine cone je zna²ala 100 podro-
£ij. Za£etno stanje je vsakokrat dolo£ala razmestitev T02. Rezultati poskusov so �zi£ne
razmestitve T12, T22 in T32, prikazane na slikah 8.20, 8.21 in 8.22.
Za posamezno razmestitev veljajo ocene:
razmestitev T12:∑
iN′dolzinai
= 260, N ′krizanje = 7, N ′
kot = 12, cena(T12) = 355,
algoritem je na²el razmestitev v iteraciji z indeksom 802 858;
136 8 Analiza rezultatov avtomatiziranega snovanja
B0
A0
CinA1
B1
Co
ut
Su
m0
Su
m1
Slika 8.15 Za£etna razmestitev T01 pri iskanju �zi£ne razmestitve strukture dvobitnega polnega se²tevalnika.
8.2 Avtomatsko zasnovane strukture kvantnih celi£nih avtomatov 137
B0
A0
Cin
A1
B1
Cout
Sum0
Sum1
Slika 8.16 Rezultat prvega poskusa iskanja �zi£ne razmestitve strukture dvobitnega polnega se²tevalnika pri za£etni
razmestitvi T01 je razmestitev T11.
A1
B1
B0
A0
Cin Sum0
Sum1
Cout
Slika 8.17 Rezultat drugega poskusa iskanja �zi£ne razmestitve strukture dvobitnega polnega se²tevalnika pri za£etni
razmestitvi T01 je razmestitev T21.
138 8 Analiza rezultatov avtomatiziranega snovanja
A1
B1
B0
A0
Cin
Sum1
Cout
Sum0
Slika 8.18 Rezultat tretjega poskusa iskanja �zi£ne razmestitve strukture dvobitnega polnega se²tevalnika pri za£etni
razmestitvi T01 je razmestitev T31.
razmestitev T22:∑
iN′dolzinai
= 280, N ′krizanje = 10, N ′
kot = 10, cena(T22) = 380,
algoritem je na²el razmestitev v iteraciji z indeksom 990 117;
razmestitev T32:∑
iN′dolzinai
= 273, N ′krizanje = 9, N ′
kot = 11, cena(T32) = 373,
algoritem je na²el razmestitev v iteraciji z indeksom 800 467.
Pravilno delovanje avtomatsko zasnovanih struktur potrjuje gra�£ni prikaz rezultatov
simulacije, pridobljenih z uporabo veri�kacijskega orodja QCADesigner, na sliki 8.23.
Rezultati simulacij so enaki za vse �zi£ne razmestitve struktur T11, T21, T31, T12, T22 in
T32.
Vrednosti optimizacijskih kriterijev naklju£no dolo£enih za£etnih razmestitev T01 in
T02 so navedene v tabeli 8.4. Vrednosti optimiziranih kriterijev �zi£nih razmestitev
struktur T11, T21, T31, T12, T22 in T32 so navedene v tabeli 8.5.
Pri neoptimiziranih za£etnih razmestitvah T01 in T02 so dejanske vrednosti optimiza-
cijskih kriterijev ve£je od ocenjenih vrednosti. Izra£un cene razmestitve mora biti hiter,
ker se izvede v vsaki iteraciji. Zato izra£un cene podaja le oceno vrednosti kriterijev, pri
£emer ²e niso znani dejanski poloºaji linij. Slednji so znani ²ele po kon£ani fazi pove-
zovanja. V neoptimiziranih razmestitvah so povezave dolge in med njimi obstaja veliko
8.2 Avtomatsko zasnovane strukture kvantnih celi£nih avtomatov 139
B0
A0
CinA1
B1
Co
ut
Su
m0
Su
m1
Slika 8.19 Za£etna razmestitev T02 pri iskanju �zi£ne razmestitve strukture dvobitnega polnega se²tevalnika.
140 8 Analiza rezultatov avtomatiziranega snovanja
A1
B0
Cin
A0
B1Cout
Sum1
Sum0
Slika 8.20 Rezultat prvega poskusa iskanja �zi£ne razmestitve strukture dvobitnega polnega se²tevalnika pri za£etni
razmestitvi T02 je razmestitev T12.
Cin
B0
A0
A1
B1
Cout
Sum1
Sum0
Slika 8.21 Rezultat drugega poskusa iskanja �zi£ne razmestitve strukture dvobitnega polnega se²tevalnika pri za£etni
razmestitvi T02 je razmestitev T22.
8.2 Avtomatsko zasnovane strukture kvantnih celi£nih avtomatov 141
Cin
B0
A0
A1
B1
Cout
Sum1
Sum0
Slika 8.22 Rezultat tretjega poskusa iskanja �zi£ne razmestitve strukture dvobitnega polnega se²tevalnika pri za£etni
razmestitvi T02 je razmestitev T32.
kriºanj. Zato je potrebno veliko ²tevilo linij razdeliti med dodatne vmesne urine cone,
tako da je zado²£eno na£rtovalskim pravilom. Vsaka dodatna vmesna urina cona pove£a
²tevilo potrebnih urinih faz, porabljeno povr²ino in vsoto dolºin vseh linij. Slednja se
pove£a za vsoto dolºin vseh linij, ki potekajo skozi dodatne vmesne cone. Pri razdelitvi
navpi£nih delov linij se pove£a tudi ²tevilo kotnih linij. Optimizacija kriterijev zato zelo
izbolj²a kvaliteto �zi£ne razmestitve strukture. Kot je razvidno iz rezultatov avtomat-
skega snovanja, so optimizirane avtomatsko zasnovane strukture precej kvalitetnej²e od
naklju£no dolo£enih razmestitev.
Algoritem simuliranega ohlajanja zdruºuje elemente naklju£nega in poºre²nega iska-
nja. Na za£etku njegovega izvajanja je iskanje podobno naklju£nemu, ker se skoraj vedno
izvede prehod v novo stanje. V za£etnem delu delovanja je namre£ verjetnost za prehod
v stanje z vi²jo ceno pvisja_cena blizu vrednosti 1, verjetnost prehoda v cenej²e stanje pa
je vselej enaka 1. Kasneje za£ne pvisja_cena padati proti 0, tako da so prehodi v draºja
stanja vse redkej²i. Na koncu se izvede ²e poºre²na optimizacija najcenej²ega do tedaj
najdenega stanja.
Pri popolnoma naklju£nem iskanju je pvisja_cena enaka 1. V velikem ²tevilu iteracij
142 8 Analiza rezultatov avtomatiziranega snovanja
A1
B0
Cin
A0
B1
Cout
Sum1
Sum0
Slika 8.23 Gra�£ni prikaz rezultatov simulacije delovanja �zi£ne razmestitve strukture dvobitnega polnega se²tevalnika.
Zakasnitev signala v strukturi zna²a 7 urinih faz oziroma 1,75 urinega cikla.
8.2 Avtomatsko zasnovane strukture kvantnih celi£nih avtomatov 143
kriterij T01 T02
²tevilo urinih faz 51 40
vsota dolºin vseh linij 3091 2165
²tevilo kotnih linij 134 105
porabljena povr²ina 306× 85 240× 68
²tevilo kriºanj linij 55 52
Tabela 8.4 Vrednosti optimizacijskih kriterijev naklju£no dolo£enih za£etnih razmestitev T01 in T02.
kriterij T11 T21 T31 T12 T22 T32
²tevilo urinih faz 7 7 7 7 7 7
vsota dolºin vseh linij 242 268 281 241 267 260
²tevilo kotnih linij 18 16 14 17 13 14
porabljena povr²ina 42× 27 42× 29 42× 30 42× 27 42× 32 42× 31
²tevilo kriºanj linij 4 7 7 4 8 5
Tabela 8.5 Vrednosti optimiziranih kriterijev avtomatsko zasnovanih �zi£nih razmestitev struktur T11, T21, T31, T12,
T22 in T32.
algoritem najde cenej²o re²itev od neoptimizirane naklju£no dolo£ene za£etne razmesti-
tve, vendar je tak²na re²itev precej oddaljena od globalnega minimuma. Za poºre²no
iskanje v vsaki iteraciji velja pvisja_cena = 0. Izvajajo se le prehodi v cenej²a stanja,
zato se poºre²no iskanje ujame v lokalnem minimumu, ki je najbliºje za£etni razme-
stitvi. Algoritem simuliranega ohlajanja se lahko izogne takemu lokalnemu minimumu
zaradi moºnosti prehoda v stanje z vi²jo ceno. Tako lahko najde stanja, ki so cenej²a od
rezultata poºre²nega iskanja.
Graf na sliki 8.24 prikazuje primerjavo rezultatov algoritmov simuliranega ohlajanja,
poºre²nega iskanja in naklju£nega iskanja. Izvedli smo 100 poskusov razme²£anja. V
vsakem poskusu je bila za£etna razmestitev T01 s ceno cena(T01) = 1400. V poskusu z
indeksom 0 razme²£anje ni bilo izvedeno, zato je rezultat kar za£etna razmestitev T01.
Nato smo v vsakem poskusu lo£eno izvedli razme²£anja z uporabo simuliranega ohlajanja,
poºre²nega iskanja in naklju£nega iskanja. Vsak algoritem je izvedel 1 000 000 iteracij
v enem poskusu. Graf na sliki 8.24 prikazuje cene re²itev treh algoritmov iskanja v
vsakem poskusu. Iz grafa je razvidno, da je v vsakem poskusu najcenej²a re²itev rezultat
144 8 Analiza rezultatov avtomatiziranega snovanja
Ce
na
re
šitve
Poskus
simulirano ohlajanje
požrešno iskanje
naključno iskanje
Slika 8.24 Cene re²itev algoritmov simuliranega ohlajanja, poºre²nega iskanja in naklju£nega iskanja v stotih izvedenih
poskusih. Za£etna razmestitev je bila vselej T01. V poskusu z indeksom 0 razme²£anje ni bilo izvedeno, zato
je prikazana cena za£etne razmestitve T01. Najbolj²e re²itve je vselej dal algoritem simuliranega ohlajanja.
razme²£anja s simuliranim ohlajanjem, sledi rezultat poºre²nega iskanja, najslab²o re²itev
pa da naklju£no iskanje. Poleg tega lahko opazimo, da je najbolj²i rezultat izmed vseh
re²itev poºre²nega iskanja slab²i od najslab²ega rezultata simuliranega ohlajanja. Enaka
primerjava velja med poºre²nim in naklju£nim iskanjem.
8.2.3 Struktura 4/1 multiplekserja
Struktura 4/1 multiplekserja na podlagi vrednosti dveh naslovnih vhodov S0 in S1 dolo£i,
kateri od podatkovnih vhodov I0, I1, I2, I3 se bo preslikal na izhod Out. Izhod je dolo£en
z ena£bo
Out = I0 · S1 · S0 ∨ I1 · S1 · S0 ∨
I2 · S1 · S0 ∨ I3 · S1 · S0. (8.6)
Logi£na shema 4/1 multiplekserja je prikazana na sliki 8.25.
Pri iskanju �zi£ne razmestitve strukture 4/1 multiplekserja smo najprej dolo£ili za-
£etno stanje razmestitve M01, prikazano na sliki 8.26. Razmestitev je bila dolo£ena
naklju£no, tako da je njena cena zelo verjetno veliko vi²ja od cene optimalne razmestitve.
8.2 Avtomatsko zasnovane strukture kvantnih celi£nih avtomatov 145
Slika 8.25 Logi£na shema 4/1 multiplekserja.
Za za£etno razmestitevM01 je dolo£ena ocena vsote dolºin vseh linij∑
iN′dolzinai
= 955,
ocena ²tevila kriºanj linij N ′krizanje = 35 in ocena ²tevila kotnih linij N ′
kot = 25. Cena
razmestitve se izra£una z uporabo ena£be (7.2) in je enaka cena(M01) = 1255.
Nato smo izvedli tri poskuse avtomatskega iskanja, tako da je bila za£etna razmestitev
vedno M01. V vsakem poskusu je bilo izvedenih 1 000 000 iteracij. Vi²ina posamezne
urine cone je zna²ala 100 podro£ij. Rezultati poskusov so �zi£ne razmestitve M11, M21
in M31, prikazane na slikah 8.27, 8.28 in 8.29.
Za posamezno razmestitev veljajo ocene:
razmestitev M11:∑
iN′dolzinai
= 164, N ′krizanje = 4, N ′
kot = 5, cena(M11) = 209,
algoritem je na²el razmestitev v iteraciji z indeksom 775 861;
razmestitev M21:∑
iN′dolzinai
= 171, N ′krizanje = 4, N ′
kot = 5, cena(M21) = 216,
algoritem je na²el razmestitev v iteraciji z indeksom 779 039;
razmestitev M31:∑
iN′dolzinai
= 167, N ′krizanje = 5, N ′
kot = 6, cena(M31) = 222,
algoritem je na²el razmestitev v iteraciji z indeksom 766 720.
V drugem delu postopka iskanja �zi£ne razmestitve strukture 4/1 multiplekserja smo
dolo£ili novo za£etno razmestitev M02. Slednja se razlikuje od razmestitve M01, obe pa
sta bili dolo£eni naklju£no. Razmestitev M02 je prikazana na sliki 8.30. Za za£etno raz-
mestitev M02 je dolo£ena ocena vsote dolºin vseh linij∑
iN′dolzinai
= 810, ocena ²tevila
kriºanj linij N ′krizanje = 25 in ocena ²tevila kotnih linij N ′
kot = 22. Cena razmestitve je
enaka cena(M02) = 1045.
146 8 Analiza rezultatov avtomatiziranega snovanja
I0 I1 I3I2S1
S0
0 0
0 0
1 1
Ou
t
1
00
Slika 8.26 Za£etna razmestitev M01 pri iskanju �zi£ne razmestitve strukture 4/1 multiplekserja.
8.2 Avtomatsko zasnovane strukture kvantnih celi£nih avtomatov 147
I0
I1
S1S0
I3
I2
Out
0
0
0
0
1
1
0
1
0
Slika 8.27 Rezultat prvega poskusa iskanja �zi£ne razmestitve strukture 4/1 multiplekserja pri za£etni razmestitvi M01
je razmestitev M11.
S0S1
I2
I1
I3
I0
0
1
0
0 0
0
1
1 0
Out
Slika 8.28 Rezultat drugega poskusa iskanja �zi£ne razmestitve strukture 4/1 multiplekserja pri za£etni razmestitvi M01
je razmestitev M21.
148 8 Analiza rezultatov avtomatiziranega snovanja
I0
I1
0
1
S0
S1
I2
I3
0
0
0
01
1
0
Out
Slika 8.29 Rezultat tretjega poskusa iskanja �zi£ne razmestitve strukture 4/1 multiplekserja pri za£etni razmestitvi M01
je razmestitev M31.
Nato smo ponovno izvedli tri poskuse avtomatskega iskanja. V vsakem poskusu je
bilo izvedenih 1 000 000 iteracij. Vi²ina posamezne urine cone je zna²ala 100 podro£ij.
Za£etno stanje je vsakokrat dolo£ala razmestitev M02. Rezultati poskusov so �zi£ne
razmestitve M12, M22 in M32, prikazane na slikah 8.31, 8.32 in 8.33.
Za posamezno razmestitev veljajo ocene:
razmestitev M12:∑
iN′dolzinai
= 165, N ′krizanje = 5, N ′
kot = 6, cena(M12) = 220,
algoritem je na²el razmestitev v iteraciji z indeksom 772 249;
razmestitev M22:∑
iN′dolzinai
= 179, N ′krizanje = 4, N ′
kot = 6, cena(M22) = 229,
algoritem je na²el razmestitev v iteraciji z indeksom 818 565;
razmestitev M32:∑
iN′dolzinai
= 176, N ′krizanje = 4, N ′
kot = 7, cena(M32) = 231,
algoritem je na²el razmestitev v iteraciji z indeksom 824 115.
Pravilno delovanje avtomatsko zasnovanih struktur potrjuje gra�£ni prikaz rezultatov
simulacije, pridobljenih z uporabo veri�kacijskega orodja QCADesigner, na sliki 8.34.
Rezultati simulacij so enaki za vse �zi£ne razmestitve struktur M11, M21, M31, M12,
M22 in M32.
8.2 Avtomatsko zasnovane strukture kvantnih celi£nih avtomatov 149
I0 I1 I3I2S1
S0
0
1
0
0 001
1
0
Ou
t
Slika 8.30 Za£etna razmestitev M02 pri iskanju �zi£ne razmestitve strukture 4/1 multiplekserja.
150 8 Analiza rezultatov avtomatiziranega snovanja
I0
I1
S1
I2
I3
S0
0
1
0
0
0
0
1
1
0
Out
Slika 8.31 Rezultat prvega poskusa iskanja �zi£ne razmestitve strukture 4/1 multiplekserja pri za£etni razmestitvi M02
je razmestitev M12.
I0
I1S1
S0
I3
I2
0
1
0
0
0
0
1
1 0
Out
Slika 8.32 Rezultat drugega poskusa iskanja �zi£ne razmestitve strukture 4/1 multiplekserja pri za£etni razmestitvi M02
je razmestitev M22.
8.2 Avtomatsko zasnovane strukture kvantnih celi£nih avtomatov 151
I0
I1
0
1
S0S1
I2
I3
0
0
0
0
1
1 0
Out
Slika 8.33 Rezultat tretjega poskusa iskanja �zi£ne razmestitve strukture 4/1 multiplekserja pri za£etni razmestitvi M02
je razmestitev M32.
Vrednosti optimizacijskih kriterijev naklju£no dolo£enih za£etnih razmestitev M01 in
M02 so navedene v tabeli 8.6. Vrednosti optimiziranih kriterijev �zi£nih razmestitev
struktur M11, M21, M31, M12, M22 in M32 so navedene v tabeli 8.7.
Za primerjavo med avtomatsko zasnovanimi in ºe obstoje£imi strukturami 4/1 mul-
tiplekserja so v tabeli 8.8 navedene vrednosti optimizacijskih kriterijev strukture, pred-
stavljene v delu [93]. Multiplekser v delu [93] ne temelji na urinih conah s pravilnimi
oblikami. Nekatere cone vsebujejo eno samo QCA celico, kar predstavlja veliko teºavo
za �zi£no realizacijo.
152 8 Analiza rezultatov avtomatiziranega snovanja
I0
I1
S0
S1
I2
I3
Out
Slika 8.34 Gra�£ni prikaz rezultatov simulacije delovanja �zi£ne razmestitve strukture 4/1 multiplekserja. Zakasnitev
signala v strukturi zna²a 7 urinih faz oziroma 1,75 urinega cikla.
8.2 Avtomatsko zasnovane strukture kvantnih celi£nih avtomatov 153
kriterij M01 M02
²tevilo urinih faz 40 35
vsota dolºin vseh linij 2028 1798
²tevilo kotnih linij 103 89
porabljena povr²ina 240× 89 210× 89
²tevilo kriºanj linij 32 38
Tabela 8.6 Vrednosti optimizacijskih kriterijev naklju£no dolo£enih za£etnih razmestitev M01 in M02.
kriterij M11 M21 M31 M12 M22 M32
²tevilo urinih faz 7 7 7 7 7 7
vsota dolºin vseh linij 144 150 140 158 156 156
²tevilo kotnih linij 5 6 7 9 7 9
porabljena povr²ina 42× 33 42× 33 42× 33 42× 34 42× 33 42× 41
²tevilo kriºanj linij 3 3 3 4 3 3
Tabela 8.7 Vrednosti optimiziranih kriterijev avtomatsko zasnovanih �zi£nih razmestitev struktur M11, M21, M31,
M12, M22 in M32.
kriterij [93]
²tevilo urinih faz 6
vsota dolºin vseh linij 149
²tevilo kotnih linij 8
porabljena povr²ina 20× 31
²tevilo kriºanj linij 8
Tabela 8.8 Vrednosti optimizacijskih kriterijev �zi£ne razmestitve strukture 4/1 multiplekserja, predstavljene v delu [93].
154 8 Analiza rezultatov avtomatiziranega snovanja
8.3 Procesna zahtevnost iskanja re²itve
Aplikacija za avtomatsko snovanje �zi£nih razmestitev struktur QCA se je izvajala na
dvojedrnem procesorju Intel Core 2 Duo s frekvenco delovanja 2,66 GHz. V vsakem po-
skusu snovanja strukture smo izmerili £as, ki je potekel od zagona aplikacije do trenutka,
ko je bila izdelana izhodna datoteka z zasnovano strukturo v QCADesigner formatu.
�asi, merjeni v sekundah, so zbrani v tabeli 8.9.
enobitni se²tevalnik dvobitni se²tevalnik 4/1 multiplekser
poskus 1 8,767 s 24,382 s 24,351 s
poskus 2 9,016 s 24,242 s 24,772 s
poskus 3 9,094 s 24,102 s 24,445 s
poskus 4 9,079 s 23,790 s 24,336 s
poskus 5 9,032 s 23,602 s 24,382 s
poskus 6 9,048 s 23,712 s 24,243 s
povpre£ni £as 9,006 s 23,972 s 24,422 s
Tabela 8.9 �asi izvajanja aplikacije avtomatskega snovanja struktur, merjeni v sekundah. V poskusu 1 so bile zasnovane
strukture S11, T11, M11, v poskusu 2 strukture S21, T21, M21, v poskusu 3 strukture S31, T31, M31, v
poskusu 4 strukture S12, T12, M12, v poskusu 5 strukture S22, T22, M22 in v poskusu 6 strukture S32,
T32, M32.
8.4 Primerjava razvitih metod z ºe obstoje£imi metodami sno-
vanja QCA
Ro£no razvite razmestitve niso zasnovane s formalnim postopkom, zato slednjega ni mo-
go£e posplo²iti na snovanje drugih struktur in ga avtomatizirati. Obstoje£e ro£no razvite
razmestitve ve£inoma ne upo²tevajo zna£ilnosti kvantnih celi£nih avtomatov, zato imajo
manj²o moºnost tehnolo²ke izvedbe. Nekatere razmestitve so zasnovane na urinih conah
nepravilnih oblik, ki vsebujejo majhno ²tevilo celic. To sicer zmanj²a ²tevilo vseh celic v
strukturi in porabljeno povr²ino, vendar bi bilo tako strukturo izredno teºko izdelati [2].
Avtorji [86, 32, 23, 88, 24] so se ukvarjali z odpravo vseh kriºanj linij v QCA strukturi
z uporabo podvojevanja logi£nih primitivov in vhodnih priklju£kov. Ta metoda minimi-
zira oziroma odpravi vsa kriºanja v strukturi na ra£un eksponentnega pove£anja ²tevila
uporabljenih logi£nih primitivov in vhodnih priklju£kov. Pri tem je potrebno na podvo-
8.5 Moºnosti za izbolj²ave iskanja re²itve 155
jene vhodne priklju£ke pripeljati isti signal, kar v praksi pomeni, da se vsa kriºanja linij
prestavijo pred vhodne priklju£ke obravnavane QCA strukture. V primeru, da se slednja
uporablja kot modul znotraj ve£jega sistema, je torej ²e vedno potrebno poiskati re²itev
za realizacijo kriºanja linij.
8.5 Moºnosti za izbolj²ave iskanja re²itve
Iz grafov na slikah 8.6(a), 8.7(a) in 8.8(a) je razvidno, da je verjetnost prehoda v stanje
z vi²jo ceno pvisja_cena na za£etku delovanja algoritma precej £asa blizu vrednosti 0,95.
Vrednost pvisja_cena se za£ne bistveno spreminjati ²ele po iteraciji z indeksom 400 000.
Zaradi velikega ²tevila prehodov v stanja z vi²jo ceno na za£etku delovanja algoritma
cena razmestitve zelo niha. Konvergirati za£ne ²ele po iteraciji z indeksom 600 000. V
zadnjem delu delovanja algoritma, od iteracije z indeksom 900 000 do iteracije z indeksom
990 000, se cena ne spreminja ve£. Takrat se razmestitev nahaja blizu ali v lokalnem
minimumu lmin, zaradi nizke vrednosti pvisja_cena pa se prehodi v stanja z vi²jo ceno ne
pojavljajo ve£. Cena razmestitve pade kve£jemu v zadnjem procentu iteracij, ko se izvaja
poºre²na optimizacija. Cena lokalnega minimuma lmin ni veliko vi²ja od cene globalnega
minimuma, ali pa sta v najbolj²em primeru ceni celo enaki. Zaradi navedenih dejstev
ugotavljamo, da je izvajanje iteracij med 1 in 600 000 ter iteracij med 900 000 in 990 000
nepotrebno. Izvedli smo poskus, pri katerem se v navedenih iteracijah niso izra£unavala
nova stanja, v ostalih iteracijah pa je postopek ostal nespremenjen. Po pri£akovanjih
smo dobili podobne rezultate kot pri nespremenjenem postopku, v katerem se novo stanje
izra£una v vsaki iteraciji. Na sliki 8.35(a) je prikazan graf verjetnosti prehoda v stanje z
vi²jo ceno v odvisnosti od indeksa iteracije. Podatki so bili zbrani v poskusu, v katerem
se je novo stanje izra£unavalo le v iteracijah med 600 000 in 900 000 ter v poºre²ni
optimizaciji v zadnjih 10 000 iteracijah. Slika 8.35(b) prikazuje graf odvisnosti cene
razmestitve glede na indeks iteracije. Na za£etku delovanja algoritma cena razmestitve
lokalno precej niha, vendar globalno pada proti ceni kon£ne re²itve.
Koe�cient k6 dolo£a uteº za razliko med cenama trenutnega stanja si−1 in novega
stanja si, kadar je cena novega stanja vi²ja od cene trenutnega stanja. Razlika med
cenama je enaka ∆c=cena(si)-cena(si−1). Pri veliki vrednosti koe�cienta k6 ima ∆c
velik vpliv na izra£un verjetnosti p(si|si−1) v ena£bi (7.5), pri majhni vrednosti k6 pa
je vpliv ∆c na izra£un p(si|si−1) majhen. Za preu£itev vpliva vrednosti k6 na iskanje
156 8 Analiza rezultatov avtomatiziranega snovanja
Iteracija
pvis
j a_cen
a
(a)
Iteracija
Ce
na
ra
zm
estitv
e
(b)
Slika 8.35 Graf odvisnosti verjetnosti prehoda v stanje z vi²jo ceno glede na indeks iteracije (a). Graf odvisnosti cene
razmestitve glede na indeks iteracije (b). Podatki so bili zbrani v poskusu, v katerem se je novo stanje
izra£unavalo v iteracijah med 600 000 in 900 000 ter v poºre²ni optimizaciji v zadnjih 10 000 iteracijah. Tako
je bilo izvedenih 310 000 iteracij.
8.5 Moºnosti za izbolj²ave iskanja re²itve 157
re²itve smo izvedli dva poskusa, prvega z veliko in drugega z majhno vrednostjo k6.
V prvem poskusu smo dolo£ili vrednost k6=10. Verjetnosti prehoda v stanje z vi²jo
ceno in cene razmestitev v 310 000 izvedenih iteracijah so prikazane na sliki 8.36. V
tem poskusu je imel ∆c velik vpliv na izra£un p(si|si−1). �im ve£ja je bila vrednost ∆c,
tem manj²a je bila verjetnost p(si|si−1). Zato se je v postopku iskanja pogosteje izvedel
prehod v novo stanje si, pri katerem je bila vrednost ∆c majhna. Kot je razvidno iz
grafa na sliki 8.36(b), je cena razmestitve hitro padla in se nato ustalila pri vrednosti
cene kon£ne re²itve. Slednja se je nahajala v lokalnem minimumu, ki je leºal blizu za£etne
razmestitve. Ker je iskanje obiskalo manj²e ²tevilo lokalnih minimumov, kon£na re²itev
pogosto ni bila tako kvalitetna kot v primeru uporabe vrednosti k6, dolo£ene z izrazom
(7.7).
V drugem poskusu smo izbrali majhno vrednost k6=0,1. Verjetnosti prehoda v stanje
z vi²jo ceno in cene razmestitev v 310 000 izvedenih iteracijah so prikazane na sliki 8.37.
Vpliv ∆c na izra£un p(si|si−1) je bil majhen. Verjetnost prehoda v stanje z vi²jo ceno
je padala zelo po£asi, kot prikazuje graf na sliki 8.37(a). Ker je bilo izvedenih veliko
prehodov v stanja z vi²jo ceno, je vrednost cene razmestitve zelo nihala. �ele proti
koncu delovanja algoritma se je pribliºala ceni kon£ne re²itve. Ker se verjetnost prehoda
v stanje z vi²jo ceno na koncu delovanja algoritma ni pribliºala 0, iskanje pogosto ni
na²lo kvalitetnega lokalnega minimuma s ceno, ki ni veliko vi²ja od cene globalnega
minimuma. Kon£na razmestitev je bila ve£krat ocenjena slab²e kot razmestitev, ki jo je
na²el algoritem z uporabo vrednosti k6, dolo£ene z izrazom (7.7).
Izvedli smo tudi poskus, pri katerem se je optimiziralo ve£ razmestitev hkrati. V
za£etnih 250 000 iteracijah smo izbrali 5 razli£nih razmestitev in jih optimizirali s po-
ºre²nim iskanjem. Prvih 250 000 iteracij smo razdelili na 5 enako dolgih intervalov I1,
I2, I3, I4 in I5. Vsak interval je tako vseboval 50 000 iteracij. Interval I1 je vseboval
iteracije med 1 in 50 000, I2 je vseboval iteracije med 50 001 in 100 000, I3 je vseboval
iteracije med 100 001 in 150 000, I4 je vseboval iteracije med 150 001 in 200 000 ter I5 je
vseboval iteracije med 200 001 in 250 000. Najbolje ocenjeno razmestitev na intervalu Ii
smo ozna£ili z Mi. Tako smo dobili 5 razmestitev M1, M2, M3, M4 in M5. Vsako od teh
razmestitev smo optimizirali s poºre²nim iskanjem v 10 000 iteracijah. Obi£ajno je imela
najniºjo ceno optimizacija razmestitve M5. Interval I5 vsebuje iteracije, ki se izvedejo v
zadnjem delu iskanja. Zato se razmestitve, ki so izra£unane v iteracijah znotraj I5, po-
gosto nahajajo blizu lokalnega minimuma z nizko ceno. To pomeni, da je najkoristneje
158 8 Analiza rezultatov avtomatiziranega snovanja
Iteracija
pvis
j a_cen
a
(a)
Iteracija
Cena r
azm
estitv
e
(b)
Slika 8.36 Graf odvisnosti verjetnosti prehoda v stanje z vi²jo ceno glede na indeks iteracije (a). Graf odvisnosti cene
razmestitve glede na indeks iteracije (b). V poskusu je bilo izvedenih 310 000 iteracij. Vrednost koe�cienta
k6 je bila 10.
8.5 Moºnosti za izbolj²ave iskanja re²itve 159
Iteracija
pvis
j a_cen
a
(a)
Iteracija
Ce
na
ra
zm
estitv
e
(b)
Slika 8.37 Graf odvisnosti verjetnosti prehoda v stanje z vi²jo ceno glede na indeks iteracije (a). Graf odvisnosti cene
razmestitve glede na indeks iteracije (b). V poskusu je bilo izvedenih 310 000 iteracij. Vrednost koe�cienta
k6 je bila 0,1.
160 8 Analiza rezultatov avtomatiziranega snovanja
optimizirati razmestitve, dobljene v zadnjem delu izvajanja algoritma.
9 Opis razvite aplikacije
9.1 Izbira programskega jezika in razvojnega okolja
Aplikacija je napisana v programskem jeziku C++. Ta programski jezik je dobro po-
znan in pogosto uporabljan pri implementaciji aplikacij. Za podporo razvoju program-
ske opreme v jeziku C++ je na voljo veliko uporabnih knjiºnic. Tako je omogo£eno
u£inkovito delo z uporabo dobro preizku²enih standardnih knjiºnic. C++ omogo£a pro-
gramiranje na nizkem in visokem nivoju. Je ve£namenski programski jezik in je uporaben
za razvoj raznovrstnih tipov aplikacij. Prevajalnik jezika C++ prevede izvorno kodo v
strojni jezik, ki je prirejen za procesorsko arhitekturo, na kateri se bo izvajala aplikacija.
Tak²na strojna koda omogo£a hitro izvajanje programa. Zaradi dostopnosti ²tevilnih
uporabnih knjiºnic in hitrosti smo za razvojni programski jezik izbrali C++.
Za razvojno okolje smo uporabili Microsoft Visual Studio 2010. To okolje med drugim
nudi urejevalnik programske kode in razhro²£evalnik. Razvojno okolje mo£no poenostavi
razvoj obseºne aplikacije. Okolje Microsoft Visual Studio 2010 smo izbrali zato, ker
omogo£a dobro podporo programiranju v jeziku C++.
161
162 9 Opis razvite aplikacije
9.2 Shema aplikacije
Aplikacijo �place and route� sestavlja ²est projektov, ki so na²teti v naslednjih alinejah:
QCA entities,
parse QCA design,
�oorplanner,
placer,
router in
place and route.
Projekt �QCA entities� vsebuje razrede, ki de�nirajo osnovne entitete v QCA, kot so
urina cona, priklju£ek, nadgrajena majoritetna vrata, negator in povezava.
V projektu �parse QCA design� so implementirane metode, ki preberejo vhodne po-
datke in na njihovi podlagi ustvarijo ustrezne podatkovne strukture. Slednje nato upo-
rabljajo metode za snovanje �zi£ne razmestitve strukture QCA. Projekt vsebuje tudi
metode za izdelavo izhodne datoteke v QCADesigner formatu.
Metode v projektu ��oorplanner� dolo£ijo geometrijo strukture. Pri tem se dolo£i
seznam potrebnih urinih con za realizacijo strukture. V seznam se lahko kasneje po
potrebi doda vmesne cone. Za vsak logi£ni primitiv se dolo£ijo urine cone, v katerih je
lahko name²£en (razdelek 7.2).
Projekt �placer� vsebuje metode za razme²£anje vhodno/izhodnih priklju£kov in lo-
gi£nih primitivov. Metoda �simulated_annealing()� izvede razme²£anje z uporabo simu-
liranega ohlajanja, ki je opisano v razdelku 7.3.
V projektu �router� so implementirane metode za povezovanje vhodno/izhodnih pri-
klju£kov in logi£nih primitivov. Metoda �multilayer_router()� dolo£i poloºaje vseh linij
v povezavah, kot je opisano v razdelku 7.4.
Projekt �place and route� vsebuje metodo �main()�, ki zaºene aplikacijo. Ob zagonu
se najprej preberejo vhodni podatki. Nato se zaporedoma izvede snovanje geometrije
strukture, razme²£anje in nazadnje povezovanje. Ko je re²itev dolo£ena, se rezultat
zapi²e v izhodno datoteko.
9.3 Opis vhodnih in izhodnih podatkov 163
9.3 Opis vhodnih in izhodnih podatkov
Vhodne podatke vsebuje datoteka v formatu XML. V njej so na²teti vhodno/izhodni
priklju£ki strukture, logi£ni primitivi in povezave med njimi. Spodaj je navedena vse-
bina vhodne datoteke s podatki za snovanje �zi£ne razmestitve strukture enobitnega
se²tevalnika na podlagi logi£ne sheme s slike 8.1.
<?xml version="1.0" encoding='utf-8'?>
<!--enobitni polni se²tevalnik-->
<!--vsebuje 3 majoritetna vrata in 2 negatorja-->
<!--vhodi A, B, Cin; izhoda Cout, Sum-->
<full_adder_1_bit>
<!--vi²ina urine cone-->
<grid_height value='50'/>
<!--vhodno/izhodni priklju£ki strukture-->
<cells>
<!--vhodni priklju£ki strukture-->
<!--so izhodni priklju£ki povezav znotraj strukture-->
<output_cell name='A'>
<net>
<out_pin QCA_gate='m1' pin='1'/>
<out_pin QCA_gate='m2' pin='1'/>
</net>
</output_cell>
<output_cell name='B'>
<net>
<out_pin QCA_gate='m1' pin='2'/>
<out_pin QCA_gate='m2' pin='2'/>
</net>
</output_cell>
<output_cell name='Cin'>
<net>
164 9 Opis razvite aplikacije
<out_pin QCA_gate='m1' pin='3'/>
<out_pin QCA_gate='i1' pin='1'/>
<out_pin QCA_gate='m3' pin='2'/>
</net>
</output_cell>
<!--izhodni priklju£ki strukture-->
<!--so vhodni priklju£ki povezav znotraj strukture-->
<input_cell name='Cout'>
</input_cell>
<input_cell name='Sum'>
</input_cell>
</cells>
<!--logi£ni primitivi-->
<QCA_gates>
<majority_gate name='m1'>
<net>
<out_pin QCA_gate='i2' pin='1'/>
<out_pin pin='Cout'/>
</net>
</majority_gate>
<majority_gate name='m2'>
<net>
<out_pin QCA_gate='m3' pin='3'/>
</net>
</majority_gate>
<majority_gate name='m3'>
<net>
<out_pin pin='Sum'/>
</net>
</majority_gate>
<inverter_gate name='i1'>
<net>
9.3 Opis vhodnih in izhodnih podatkov 165
<out_pin QCA_gate='m2' pin='3'/>
</net>
</inverter_gate>
<inverter_gate name='i2'>
<net>
<out_pin QCA_gate='m3' pin='1'/>
</net>
</inverter_gate>
</QCA_gates>
</full_adder_1_bit>
Vhodna datoteka vsebuje strukturirane podatke, dolo£ene na podlagi logi£ne sheme.
V segmentu z etiketo �cells� so na²teti vhodni in izhodni priklju£ki strukture. Vhodni
priklju£ki strukture, ki sluºijo kot izhodni priklju£ki povezav znotraj strukture, so podani
kot elementi z etiketo �output_cell�. Vsak vhodni priklju£ek strukture ima podano ime
in segment z etiketo �net�. V slednjem so na²teti vsi priklju£ki, s katerimi je povezan
izbrani vhodni priklju£ek strukture. Priklju£ki v tem segmentu so podani kot elementi z
etiketo �out_pin�. �e gre za izhodni priklju£ek strukture, je podano njegovo ime, sicer
pa sta navedena ime logi£nega primitiva in pozicija na primitivu, na kateri se priklju£ek
nahaja. Ime logi£nega primitiva je dolo£eno z atributom �QCA_gate�, pozicija pa z
atributom �pin�. Pozicija 1 dolo£a zgornji priklju£ek nadgrajenih majoritetnih vrat,
pozicija 2 srednji priklju£ek in pozicija 3 spodnji priklju£ek.
V segmentu z etiketo �cells� so izhodni priklju£ki strukture, ki sluºijo kot vhodni
priklju£ki povezav znotraj strukture, podani kot elementi z etiketo �input_cell�. Ime
priklju£ka dolo£a atribut �name�.
Segmentu �cells� sledi segment z etiketo �QCA_gates�, v katerem so na²teti logi£ni pri-
mitivi. Nadgrajena majoritetna vrata so podana kot elementi z etiketo �majority_gate�,
negatorji pa kot elementi z etiketo �inverter_gate�. Vsak logi£ni primitiv ima podano
ime z atributom �name� in vsebuje segment z etiketo �net�. V tem segmentu so na²teti
vsi priklju£ki, s katerimi je povezan izhodni priklju£ek izbranega logi£nega primitiva. Se-
gment �net� pri logi£nih primitivih je strukturiran na enak na£in kot segment �net� pri
vhodnih priklju£kih strukture.
166 9 Opis razvite aplikacije
Izhodni podatki so zapisani v datoteki v QCADesigner formatu. Izhodna datoteka
vsebuje celotno zasnovano �zi£no razmestitev strukture z natanko dolo£enimi poloºaji
QCA celic. Zasnovano strukturo je moºno enostavno veri�cirati z uporabo simulacije v
orodju QCADesigner. Primer datoteke v QCADesigner formatu z opisom ene same QCA
celice je v tekstovni obliki podan spodaj.
[VERSION]
qcadesigner_version=2.000000
[#VERSION]
[TYPE:DESIGN]
[TYPE:QCADLayer]
type=3
status=1
pszDescription=Drawing Layer
[#TYPE:QCADLayer]
[TYPE:QCADLayer]
type=0
status=2
pszDescription=Substrate
[TYPE:QCADSubstrate]
[TYPE:QCADStretchyObject]
[TYPE:QCADDesignObject]
x=3000.000000
y=1500.000000
bSelected=FALSE
clr.red=65535
clr.green=65535
clr.blue=65535
bounding_box.xWorld=0.000000
bounding_box.yWorld=0.000000
bounding_box.cxWorld=6000.000000
bounding_box.cyWorld=3000.000000
[#TYPE:QCADDesignObject]
9.3 Opis vhodnih in izhodnih podatkov 167
[#TYPE:QCADStretchyObject]
grid_spacing=20.000000
[#TYPE:QCADSubstrate]
[#TYPE:QCADLayer]
[TYPE:QCADLayer]
type=1
status=0
pszDescription=Main Cell Layer
[TYPE:QCADCell]
[TYPE:QCADDesignObject]
x=60.000000
y=60.000000
bSelected=FALSE
clr.red=0
clr.green=65535
clr.blue=0
bounding_box.xWorld=51.000000
bounding_box.yWorld=51.000000
bounding_box.cxWorld=18.000000
bounding_box.cyWorld=18.000000
[#TYPE:QCADDesignObject]
cell_options.cxCell=18.000000
cell_options.cyCell=18.000000
cell_options.dot_diameter=5.000000
cell_options.clock=0
cell_options.mode=QCAD_CELL_MODE_NORMAL
cell_function=QCAD_CELL_NORMAL
number_of_dots=4
[TYPE:CELL_DOT]
x=64.500000
y=55.500000
diameter=5.000000
charge=8.010882e-020
168 9 Opis razvite aplikacije
spin=0.000000
potential=0.000000
[#TYPE:CELL_DOT]
[TYPE:CELL_DOT]
x=64.500000
y=64.500000
diameter=5.000000
charge=8.010882e-020
spin=0.000000
potential=0.000000
[#TYPE:CELL_DOT]
[TYPE:CELL_DOT]
x=55.500000
y=64.500000
diameter=5.000000
charge=8.010882e-020
spin=0.000000
potential=0.000000
[#TYPE:CELL_DOT]
[TYPE:CELL_DOT]
x=55.500000
y=55.500000
diameter=5.000000
charge=8.010882e-020
spin=0.000000
potential=0.000000
[#TYPE:CELL_DOT]
[#TYPE:QCADCell]
[#TYPE:QCADLayer]
[#TYPE:DESIGN]
Opis QCA celice vsebuje njen poloºaj, njene dimenzije, pripadajo£ urin signal in
podatke o vseh pripadajo£ih kvantnih pikah.
9.4 Uporaba aplikacije 169
9.4 Uporaba aplikacije
Aplikacijo se zaºene z izvedljivo datoteko �place and route.exe�. Za vhodno datoteko se
obravnava datoteka �logic design.xml�, ki se nahaja v isti mapi kot izvedljiva datoteka.
Izvorna koda, izvedljiva datoteka in vsi v disertaciji navedeni zgledi so priloºeni pri-
£ujo£emu delu v elektronski obliki.
10 Zakljucek
V doktorski disertaciji smo razvili avtomatizirani pristop k snovanju �zi£ne razmestitve
strukture kvantnih celi£nih avtomatov. Pri tem smo postavili zahtevo, da naj bo zasno-
vano strukturo dejansko moºno tehnolo²ko realizirati. Zato smo preu£ili termodinami£ne
dejavnike, ki vplivajo na delovanje QCA in ta dejstva upo²tevali pri snovanju. Poleg tega
smo obravnavali tudi implementacijske lastnosti QCA in pripadajo£ega vezja za generi-
ranje urinega signala. V razvitem snovanju smo upo²tevali njune zna£ilnosti in zahteve,
ki jih slednje postavljajo pri povezovanju QCA strukture in urinega vezja. Obravnava
na²tetih dejavnikov je nujna za zasnovo tehnolo²ko izvedljivih struktur QCA.
Osredoto£ili smo se na �zi£no snovanje, razdeljeno na tri glavne stopnje: snovanje ge-
ometrije strukture, razme²£anje logi£nih primitivov in povezovanje logi£nih primitivov. V
stopnji snovanja geometrije strukture smo z upo²tevanjem lastnosti QCA in dejavnikov,
ki vplivajo na njihovo delovanje, dolo£ili obliko urinih con in njihovo medsebojno razpo-
reditev. Na podlagi topolo²ko urejenega usmerjenega grafa logi£ne sheme smo opredelili
moºne razdelitve logi£nih primitivov v urine cone. Razvili smo geometrijo strukture, z
uporabo katere je moºno zasnovati izvedljive strukture QCA. Vendar pa obstoje£i logi£ni
171
172 10 Zaklju£ek
primitivi QCA niso bili primerni za uporabo v tej geometriji. Ker so majoritetna vrata
pogosto uporabljan logi£ni primitiv QCA, smo jih nadgradili za uporabo v na²i geometriji
strukture. Njihovo pravilno delovanje smo potrdili s simulacijo v orodju QCADesigner in
s tem pokazali, da je moºno na podlagi razvite geometrije z uporabo nadgrajenih logi£nih
primitivov zasnovati poljubno kombinatori£no vezje v kvantnih celi£nih avtomatih.
V stopnji razme²£anja se dolo£ijo poloºaji logi£nih primitivov znotraj pripadajo£e
urine cone. Postavili smo na£rtovalska pravila, ki opredeljujejo potrebne razdalje med
logi£nimi primitivi za zagotovitev pravilnega delovanja celotne strukture QCA. Za raz-
me²£anje smo uporabili metodo simuliranega ohlajanja, pri £emer smo optimizirali vsoto
dolºin vseh linij in ²tevilo kriºanj linij. Optimizirana zasnova strukture QCA je manj
kompleksna, zato omogo£a laºjo tehnolo²ko izvedbo.
V zadnji stopnji �zi£nega snovanja se ustrezni logi£ni primitivi med seboj poveºejo z
linijami. Tudi tu smo postavili na£rtovalska pravila, ki de�nirajo potrebne razdalje med
posameznimi linijami ter med linijami in logi£nimi primitivi. Poleg tega pravila dolo£ajo
ustrezne razdalje med kriºajo£imi se linijami. �e te razdalje niso ustrezne, je potrebno
vstaviti dodatno urino cono in vanjo prenesti dolo£en del linije. Le tako je delovanje
strukture QCA pravilno, kar dokazujejo rezultati simulacij v orodju QCADesigner. Lo-
gi£ne primitive poveºemo z uporabo kombinacije metode iskanja po labirintu in metode
iskanja po liniji. Tako optimiziramo vsoto dolºin vseh linij in ²tevilo kotnih linij, kar vodi
do manj²e kompleksnosti zasnovane strukture QCA.
V pri£ujo£em delu smo formalno opisali postopek �zi£nega snovanja razmestitve
strukture QCA. Razviti postopek upo²teva �zikalne zna£ilnosti QCA, zato lahko z nje-
govo uporabo zasnujemo tehnolo²ko izvedljive strukture QCA. Med snovanjem se upo-
²tevajo natan£no de�nirana na£rtovalska pravila, kar zagotavlja pravilno delovanje struk-
ture. Formalizacija postopka omogo£a njegovo avtomatizacijo, kar smo potrdili z imple-
mentacijo orodja za ra£unalni²ko podprto snovanje �zi£ne razmestitve strukture QCA.
Avtomatiziran postopek omogo£a laºje in hitrej²e snovanje velikih struktur QCA, pri £e-
mer je moºnost pojave napake veliko manj²a kot pri ro£nem snovanju. Pravilno delovanje
vseh zasnovanih struktur QCA, ki upo²tevajo razvita na£rtovalska pravila, je dokazano
s simulacijo z uporabo koheren£nega vektorja v orodju QCADesigner.
Z uporabo nadgrajenih majoritetnih vrat, negatorjev in linij, je na podlagi razvite
geometrije strukture moºno zasnovati poljubno kombinatori£no vezje. Nadaljnje delo bo
vklju£evalo snovanje geometrije vezja, ki bo primerno za namestitev sekven£nega vezja.
173
Pri tem bo potrebno dolo£iti urine cone, v katerih bodo name²£ene povratne povezave.
Nadaljnje delo bo obsegalo tudi raz²iritev na£rtovalskih pravil, ki bodo obravnavale urine
cone, ²ir²e od ²estih podro£ij. Za avtomatizacijo postopka snovanja je moºno implemen-
tirati dodatne metode in njihove rezultate primerjati z rezultati ºe razvitih metod.
literatura
[1] R. R. Schaller, �Moore's law: past, present, and future,� IEEE Spectrum, ²t. 34, zv. 6, str. 52�59,
jun. 1997.
[2] International Technology Roadmap for Semiconductors, �2009 Edition,� tehni£no poro£ilo, Semi-
conductor Industry Association, 2009.
[3] C. S. Lent, P. D. Tougaw, W. Porod, G. H. Bernstein, �Quantum cellular automata,� Nanotech-
nology, ²t. 4, zv. 1, str. 49�57, jan. 1993.
[4] P. D. Tougaw, C. S. Lent, �Logical devices implemented using quantum cellular automata,� Journal
of Applied Physics, ²t. 75, zv. 3, str. 1818�1825, feb. 1994.
[5] H. Cho, E. E. Swartzlander, �Adder Designs and Analyses for Quantum-Dot Cellular Automata,�
IEEE Transactions on Nanotechnology, ²t. 6, zv. 3, str. 374�383, maj 2007.
[6] H. Cho, E. E. Swartzlander, �Adder and Multiplier Design in Quantum-Dot Cellular Automata,�
IEEE Transactions on Computers, ²t. 58, zv. 6, str. 721�727, jun. 2009.
[7] C. Mead, L. Conway, Introduction to VLSI Systems. Addison-Wesley, 1979.
[8] N. Zimic, J. Virant, Logi£no na£rtovanje ra£unalni²kih struktur in sistemov. Fakulteta za ra£u-
nalni²tvo in informatiko v Ljubljani, 1998.
[9] W. Wolf, Modern VLSI Design. Pearson Education, Inc., 2009.
[10] L.-T. Wang, Y.-W. Chang, K.-T. T. Cheng, eds., Electronic Design Automation: Synthesis, Veri-
�cation, and Test. Morgan Kaufmann Publishers, 2009.
[11] C. J. Alpert, D. P. Mehta, S. S. Sapatnekar, eds., Handbook of Algorithms for Physical Design
Automation. Auerbach Publications, 2009.
[12] S. Kirkpatrick, C. D. Gelatt, Jr., M. P. Vecchi, �Optimization by Simulated Annealing,� Science,
²t. 220, zv. 4598, str. 671�680, maj 1983.
[13] A. V. Cabot, R. L. Francis, M. A. Stary, �A Network Flow Solution to a Rectilinear Distance
Facility Location Problem,� AIIE Transactions, ²t. 2, zv. 2, str. 132�141, jun. 1970.
[14] J. M. Kleinhans, G. Sigl, F. M. Johannes, K. Antreich, �GORDIAN: VLSI placement by quadratic
programming and slicing optimization,� IEEE Transactions on Computer-Aided Design, ²t. 10,
zv. 3, str. 356�365, mar. 1991.
175
176 Literatura
[15] C. J. Fisk, D. L. Caskey, L. E. West, �ACCEL: Automated Circuit Card Etching Layout,� Proce-
edings of the IEEE, ²t. 55, zv. 11, str. 1971�1982, nov. 1967.
[16] M. A. Breuer, �A class of min-cut placement algorithms,� v zborniku Proceedings of the 14th Design
Automation Conference, DAC '77, (Piscataway, NJ, USA), str. 284�290, IEEE Press, 1977.
[17] C. Y. Lee, �An Algorithm for Path Connections and Its Applications,� IRE Transactions on
Electronic Computer, ²t. EC-10, zv. 3, str. 346�365, sept. 1961.
[18] P. E. Hart, N. J. Nilsson, B. Raphael, �A Formal Basis for the Heuristic Determination of Minimum
Cost Paths,� IEEE Transactions on Systems Science and Cybernetics, ²t. 4, zv. 2, str. 100�107,
jul. 1968.
[19] M. T. Niemier, M. J. Kontz, P. M. Kogge, �A Design of and Design Tools for a Novel Quantum Dot
Based Microprocessor,� v zborniku Proceedings of the 37th Annual Design Automation Conference,
str. 227�232, 2000.
[20] M. T. Niemier, �The e�ects of a new technology on the design, organization, and architectures of
computing systems,� doktorska disertacija, Graduate Program in Computer Science and Enginee-
ring Notre Dame, Indiana, 2003.
[21] R. Ravichandran, S. K. Lim, M. Niemier, �Automatic cell placement for quantum-dot cellular
automata,� Integration, the VLSI Journal, ²t. 38, zv. 3, str. 541�548, jan. 2005.
[22] M. Choi, Z. Patitz, B. Jin, F. Tao, N. Park, M. Choi, �Designing layout-timing independent
quantum-dot cellular automata (QCA) circuits by global asynchrony,� Journal of Systems Archi-
tecture, ²t. 53, zv. 9, str. 551�567, sept. 2007.
[23] T. Teodosio, L. Sousa, �QCA-LG: A tool for the automatic layout generation of QCA combinational
circuits,� v zborniku 25th IEEE Norchip Conference, str. 1�5, 2007.
[24] M. Bubna, S. Roy, N. Shenoy, S. Mazumdar, �A layout-aware physical design method for construc-
ting feasible QCA circuits,� v zborniku Proceedings of the 18th ACM Great Lakes symposium on
VLSI, GLSVLSI '08, (New York, NY, USA), str. 243�248, ACM, 2008.
[25] M. Crocker, M. Niemier, X. S. Hu, M. Lieberman, �Molecular QCA design with chemically reaso-
nable constraints,� ACM Journal on Emerging Technologies in Computing Systems, ²t. 4, zv. 9,
str. 9:1�9:21, apr. 2008.
[26] Y. Zheng, �Circuit Design Methods with Emerging Nanotechnologies,� doktorska disertacija, Fa-
culty of Virginia Polytechnic Institute and State University, 2009.
[27] C. S. Lent, P. Tougaw, �A Device Architecture for Computing with Quantum Dots,� Proceedings
of the IEEE, ²t. 85, zv. 4, str. 541�557, apr. 1997.
[28] M. T. Niemier, P. Kogge, �Problems in Designing with QCAs: Layout = Timing,� International
Journal of Circuit Theory and Applications, ²t. 29, zv. 1, str. 49�62, jan. 2001.
[29] K. Hennessy, C. S. Lent, �Clocking of molecular quantum-dot cellular automata,� Journal of
Vacuum Science Technology B: Microelectronics and Nanometer Structures, ²t. 19, zv. 5, str. 1752�
1755, sept. 2001.
Literatura 177
[30] W. J. Chung, B. Smith, S. K. Lim, �QCA Physical Design With Crossing Minimization,� v zborniku
Proceedings of 2005 5th IEEE Conference on Nanotechnology, str. 262�265, 2005.
[31] B. S. Smith, S. K. Lim, �QCA Channel Routing With Wire Crossing Minimization,� v zborniku
GLSVLSI'05, str. 217�220, 2005.
[32] A. Chaudhary, D. Z. Chen, X. S. Hu, M. T. Niemier, R. Ravichandran, K. Whitton, �Fabricatable
Interconnect and Molecular QCA Circuits,� IEEE Transactions on Computer-Aided Design of
Integrated Circuits and Systems, ²t. 26, zv. 11, str. 1978�1991, nov. 2007.
[33] R. Devadoss, K. Paul, M. Balakrishnan, �Clocking-Based Coplanar Wire Crossing Scheme for
QCA,� v zborniku Proceedings of the 2010 23rd International Conference on VLSI Design, VLSID
'10, (Washington, DC, USA), str. 339�344, IEEE Computer Society, 2010.
[34] S. C. Henderson, E. W. Johnson, J. R. Janulis, P. D. Tougaw, �Incorporating Standard CMOS
Design Process Methodologies into the QCA Logic Design Process,� IEEE Transactions on Nano-
technology, ²t. 3, zv. 1, str. 2�9, mar. 2004.
[35] P. Tougaw, C. S. Lent, �Dynamic behavior of quantum cellular automata,� Journal of Applied
Physics, ²t. 80, zv. 8, str. 4722�4736, okt. 1996.
[36] G. Schulhof, K. Walus, G. A. Jullien, �Simulation of random cell displacements in QCA,� ACM
Journal on Emerging Technologies in Computing Systems, ²t. 3, zv. 1, str. 2:1�2:14, apr. 2007.
[37] K. Walus, T. J. Dysart, G. A. Jullien, R. A. Budiman, �QCADesigner: a rapid design and Simula-
tion tool for quantum-dot cellular automata,� IEEE Transactions on Nanotechnology, ²t. 3, zv. 1,
str. 26�31, mar. 2004.
[38] P. Venkataramani, S. Srivastava, S. Bhanja, �Sequential Circuit Design in Quantum-Dot Cellular
Automata,� v zborniku 8th IEEE Conference on Nanotechnology, 2008. NANO '08, str. 534�537,
2008.
[39] M. Mahdavi, M. A. Amiri, S. Mirzakuchaki, M. N. Moghaddasi, �Single Electron Fault in QCA
Inverter Gate,� v zborniku Fifth International Conference on MEMS, NANO, and Smart Systems
(ICMENS), str. 63�66, 2009.
[40] M. Macucci, ed., Quantum cellular automata: theory, experimentation and prospects. Imperial
College Press, 2006.
[41] T. To�oli, N. Margolus, Cellular automata machines: a new environment for modeling. Cam-
bridge, MA, USA: MIT Press, 1987.
[42] J. R. Weimar, Simulation with Cellular Automata. Logos Verlag Berlin, 1997.
[43] J. Timler, C. S. Lent, �Power gain and dissipation in quantum-dot cellular automata,� Journal of
Applied Physics, ²t. 91, zv. 2, str. 823�831, jan. 2002.
[44] R. K. Kummamuru, J. Timler, G. Toth, C. S. Lent, R. Ramasubramaniam, A. O. Orlov, G. H.
Bernstein, G. L. Snider, �Power gain in a quantum-dot cellular automata latch,� Applied Physics
Letters, ²t. 81, zv. 7, str. 1332�1334, aug. 2002.
[45] M. Alam, M. Siddiq, G. Bernstein, M. Niemier, W. Porod, X. Hu, �On-Chip Clocking for Na-
nomagnet Logic Devices,� IEEE Transactions on Nanotechnology, ²t. 9, zv. 3, str. 348�351, maj
2010.
178 Literatura
[46] S. Frost, T. Dysart, P. Kogge, C. Lent, �Carbon nanotubes for quantum-dot cellular automata
clocking,� v zborniku 4th IEEE Conference on Nanotechnology, str. 171�173, 2004.
[47] G. Toth, C. S. Lent, �Quasiadiabatic switching for metal-island quantum-dot cellular automata,�
Journal of Applied Physics, ²t. 85, zv. 5, str. 2977�2984, mar. 1999.
[48] A. O. Orlov, I. Amlani, R. K. Kummamuru, R. Ramasubramaniam, G. Toth, C. S. Lent, G. H.
Bernstein, G. L. Snider, �Experimental demonstration of clocked single-electron switching in
quantum-dot cellular automata,� Applied Physics Letters, ²t. 77, zv. 2, str. 295�297, jul. 2000.
[49] C. S. Lent, B. Isaksen, �Clocked molecular quantum-dot cellular automata,� IEEE Transactions
on Electron Devices, ²t. 50, zv. 9, str. 1890�1896, aug. 2003.
[50] G. Bernstein, A. Imre, V. Metlushko, A. Orlov, L. Zhou, L. Ji, G. Csaba, W. Porod, �Magnetic
QCA systems,� Microelectronics Journal, ²t. 36, zv. 7, str. 619�624, jul. 2005. European Micro
and Nano Systems - EMN 2004.
[51] A. Imre, G. Csaba, L. Ji, A. Orlov, G. H. Bernstein, W. Porod, �Majority Logic Gate for Magnetic
Quantum-Dot Cellular Automata,� Science, ²t. 311, zv. 5758, str. 205�208, jan. 2006.
[52] K. Walus, G. Jullien, V. Dimitrov, �Computer arithmetic structures for quantum cellular au-
tomata,� v zborniku Conference Record of the Thirty-Seventh Asilomar Conference on Signals,
Systems and Computers, 2003., str. 1435�1439, 2003.
[53] G. Bazan, A. O. Orlov, G. L. Snider, G. H. Bernstein, �Charge detector realization for Al-
GaAs/GaAs quantum-dot cellular automata,� Journal of Vacuum Science Technology B: Microe-
lectronics and Nanometer Structures, ²t. 14, zv. 6, str. 4046�4050, nov. 1996.
[54] S. Gardelis, C. G. Smith, J. Cooper, D. A. Ritchie, E. H. Lin�eld, Y. Jin, �Evidence for transfer of
polarization in a quantum dot cellular automata cell consisting of semiconductor quantum dots,�
Physical Review B, ²t. 67, zv. 3, str. 033302�1�033302�4, jan. 2003.
[55] M. Mitic, M. C. Cassidy, K. D. Petersson, R. P. Starrett, E. Gauja, R. Brenner, R. G. Clark, A. S.
Dzurak, C. Yang, D. N. Jamieson, �Demonstration of a silicon-based quantum cellular automata
cell,� Applied Physics Letters, ²t. 89, zv. 1, str. 013503�1�013503�3, jul. 2006.
[56] C. S. Lent, P. D. Tougaw, �Bistable saturation due to single electron charging in rings of tunnel
junctions,� Journal of Applied Physics, ²t. 75, zv. 8, str. 4077�4080, apr. 1994.
[57] A. O. Orlov, I. Amlani, G. H. Bernstein, C. S. Lent, G. L. Snider, �Realization of a Functional
Cell for Quantum-Dot Cellular Automata,� Science, ²t. 277, zv. 5328, str. 928�930, aug. 1997.
[58] I. Amlani, A. O. Orlov, G. L. Snider, C. S. Lent, G. H. Bernstein, �External charge state detection
of a double-dot system,� Applied Physics Letters, ²t. 71, zv. 12, str. 1730�1732, sept. 1997.
[59] G. L. Snider, A. O. Orlov, I. Amlani, G. H. Bernstein, C. S. Lent, J. L. Merz, W. Porod, �Experi-
mental demonstration of quantum-dot cellular automata,� Semiconductor Science and Technology,
²t. 13, zv. 8A, str. A130�A134, aug. 1998.
[60] I. Amlani, A. O. Orlov, G. Toth, G. H. Bernstein, C. S. Lent, G. L. Snider, �Digital Logic Gate
Using Quantum-Dot Cellular Automata,� Science, ²t. 284, zv. 5412, str. 289�291, apr. 1999.
Literatura 179
[61] A. O. Orlov, I. Amlani, G. Toth, C. S. Lent, G. H. Bernstein, G. L. Snider, �Experimental de-
monstration of a binary wire for quantum-dot cellular automata,� Applied Physics Letters, ²t. 74,
zv. 19, str. 2875�2877, maj 1999.
[62] G. H. Bernstein, I. Amlani, A. O. Orlov, C. S. Lent, G. L. Snider, �Observation of switching in a
quantum-dot cellular automata cell,� Nanotechnology, ²t. 10, zv. 2, str. 166�173, jun. 1999.
[63] G. L. Snider, A. O. Orlov, I. Amlani, X. Zuo, G. H. Bernstein, C. S. Lent, J. L. Merz, W. Porod,
�Quantum-dot cellular automata,� Journal of Vacuum Science Technology A: Vacuum, Surfaces,
and Films, ²t. 17, zv. 4, str. 1394�1398, jul. 1999.
[64] W. Porod, C. S. Lent, G. H. Bernstein, A. O. Orlov, I. Amlani, G. L. Snider, J. L. Merz, �Quantum-
dot cellular automata: computing with coupled quantum dots,� International Journal of Electro-
nics, ²t. 86, zv. 5, str. 549�590, maj 1999.
[65] C. S. Lent, �Bypassing the Transistor Paradigm,� Science, ²t. 288, zv. 5471, str. 1597�1599, jun.
2000.
[66] C. S. Lent, B. Isaksen, M. Lieberman, �Molecular Quantum-Dot Cellular Automata,� Journal of
the American Chemical Society, ²t. 125, zv. 4, str. 1056�1063, jan. 2003.
[67] R. P. Cowburn, M. E. Welland, �Room Temperature Magnetic Quantum Cellular Automata,�
Science, ²t. 287, zv. 5457, str. 1466�1468, feb. 2000.
[68] A. Orlov, A. Imre, G. Csaba, L. Ji, W. Porod, G. H. Bernstein1, �Magnetic Quantum-Dot Cellular
Automata: Recent Developments and Prospects,� Journal of Nanoelectronics and Optoelectronics,
²t. 3, zv. 1, str. 55�68, mar. 2008.
[69] A. Gin, P. D. Tougaw, S. Williams, �An alternative geometry for quantum-dot cellular automata,�
Journal of Applied Physics, ²t. 85, zv. 12, str. 8281�8286, jun. 1999.
[70] T. Cole, J. C. Lusth, �Quantum-dot cellular automata,� Progress in Quantum Electronics, ²t. 25,
zv. 4, str. 165�189, jan. 2001.
[71] M. Macucci, G. Iannaccone, S. Francaviglia, B. Pellegrini, �Semiclassical simulation of quantum
cellular automaton cells,� International Journal of Circuit Theory and Applications, ²t. 29, zv. 1,
str. 37�47, jan. 2001.
[72] G. Toth, �Correlation and coherence in quantum-dot cellular automata,� doktorska disertacija,
Department of Electrical Engineering Notre Dame, Indiana, 2000.
[73] H. H. Loomis, R. H. Wyman, �On Complete Sets of Logic Primitives,� IEEE Transactions on
Electronic Computers, ²t. EC-14, zv. 2, str. 173�174, apr. 1965.
[74] G. Klir, �On Universal Logic Primitives,� IEEE Transactions on Computers, ²t. 20, zv. 4, str. 467�
469, apr. 1971.
[75] K. Walus, G. Jullien, �Design Tools for an Emerging SoC Technology: Quantum-Dot Cellular
Automata,� Proceedings of the IEEE, ²t. 94, zv. 6, str. 1225�1244, jun. 2006.
[76] S. Frost, A. Rodrigues, A. Janiszewski, R. Rausch, P. Kogge, �Memory in Motion: A Study of
Storage Structures in QCA,� v zborniku First Workshop on Non-Silicon Computation (NSC-1),
str. 30�37, 2002.
180 Literatura
[77] C. S. Lent, P. D. Tougaw, �Lines of interacting quantum-dot cells: A binary wire,� Journal of
Applied Physics, ²t. 74, zv. 10, str. 6227�6233, nov. 1993.
[78] L. Bonci, M. Gattobigio, G. Iannaccone, M. Macucci, �Monte-Carlo Simulation of Clocked and
Non-Clocked QCA Architectures,� Journal of Computational Electronics, ²t. 1, zv. 1, str. 49�53,
jul. 2002.
[79] S. Bhanja, S. Sarkar, �Probabilistic Modeling of QCA Circuits Using Bayesian Networks,� IEEE
Transactions on Nanotechnology, ²t. 5, zv. 6, str. 657�670, nov. 2006.
[80] S. Srivastava, S. Bhanja, �Hierarchical Probabilistic Macromodeling for QCA Circuits,� IEEE
Transactions on Computers, ²t. 56, zv. 2, str. 174�190, feb. 2007.
[81] M. T. Niemier, P. M. Kogge, �Exploring and exploiting wire-level pipelining in emerging tech-
nologies,� v zborniku Special Issue: Proceedings of the 28th annual international symposium on
Computer architecture (ISCA '01), (New York, NY, USA), str. 166�177, ACM, 2001.
[82] M. T. Niemier, A. F. Rodrigues, P. M. Kogge, �A Potentially Implementable FPGA for Quantum
Dot Cellular Automata,� v zborniku 1st Workshop on Non-Silicon Computation (NSC-1), str. 38�
45, 2002.
[83] S. Haruehanroengra, W. Wang, �E�cient Design of QCA Adder Structures,� Solid State Pheno-
mena, ²t. 121-123, zv. Nanoscience and Technology, str. 553�556, mar. 2007.
[84] D. A. Antonelli, D. Z. Chen, T. J. Dysart, X. S. Hu, A. B. Kahng, P. M. Kogge, R. C. Murphy, M. T.
Niemier, �Quantum-Dot Cellular Automata (QCA) Circuit Partitioning: Problem Modeling and
Solutions,� v zborniku Proceedings of the 41st annual Design Automation Conference, str. 363�368,
2004.
[85] S. K. Lim, R. Ravichandran, M. Niemier, �Partitioning and Placement for Buildable QCA Circu-
its,� ACM Journal on Emerging Technologies in Computing Systems, ²t. 1, zv. 1, str. 50�72, apr.
2005.
[86] A. Chaudhary, D. Z. Chen, K. Whitton, M. Niemier, R. Ravichandran, �Eliminating wire crossings
for molecular quantum-dot cellular automata implementation,� v zborniku Proceedings of the 2005
IEEE/ACM International conference on Computer-aided design, ICCAD '05, (Washington, DC,
USA), str. 565�571, IEEE Computer Society, 2005.
[87] V. Vankamamidi, M. Ottavi, F. Lombardi, �Clocking and Cell Placement for QCA,� v zborniku
Sixth IEEE Conference on Nanotechnology, 2006. IEEE-NANO 2006., vol. 1, str. 343�346, 2006.
[88] T. T. Teodosio, �Computacao Quantica: arquitecturas e simulacao de operacao de dispositivos,�
magistrska naloga, Engenharia Electrotecnica e de Computadores, 2007.
[89] V. Vankamamidi, M. Ottavi, F. Lombardi, �Two-Dimensional Schemes for Clocking/Timing of
QCA Circuits,� IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,
²t. 27, zv. 1, str. 34�44, jan. 2008.
[90] A. Gin, S. Williams, H. Meng, P. D. Tougaw, �Hierarchical design of quantum-dot cellular automata
devices,� Journal of Applied Physics, ²t. 85, zv. 7, str. 3713�3720, apr. 1999.
Literatura 181
[91] J. Huang, M. Momenzadeh, F. Lombardi, �Design of sequential circuits by quantum-dot cellular
automata,� Microelectronics Journal, ²t. 38, zv. 4-5, str. 525�537, apr. 2007.
[92] V. Vankamamidi, M. Ottavi, F. Lombardi, �A Serial Memory by Quantum-Dot Cellular Automata
(QCA),� IEEE Transactions on Computers, ²t. 57, zv. 5, str. 606�618, maj 2008.
[93] V. A. Mardiris, I. G. Karafyllidis, �Design and simulation of modular 2n to 1 quantum-dot cellular
automata (QCA) multiplexers,� International Journal of Circuit Theory and Applications, ²t. 38,
zv. 8, str. 771�785, okt. 2010.
[94] International Technology Roadmap for Semiconductors, �Interconnect,� tehni£no poro£ilo, Semi-
conductor Industry Association, 2009.
[95] T. Cormen, C. Leiserson, R. Rivest, C. Stein, Introduction to Algorithms. Cambridge, MA: The
MIT Press, 1990.
[96] M. Janeº, P. Pe£ar, M. Mraz, �Layout design of manufacturable quantum-dot cellular automata,�
Microelectronics Journal, 2012, DOI:10.1016/j.mejo.2012.03.007.
[97] J. C. Lusth, B. Dixon, �A characterization of important algorithms for quantum-dot cellular au-
tomata,� Information Sciences: an International Journal, ²t. 113, zv. 3-4, str. 193�204, feb. 1999.
[98] T. J. Dysart, �It's all about the signal routing: Understanding the reliability of QCA circuits and
systems,� doktorska disertacija, Graduate Program in Computer Science and Engineering Notre
Dame, Indiana, 2009.
[99] B. Korte, J. Vygen, Combinatorial Optimization: Theory and Algorithms. Springer Publishing
Company, Incorporated, 2007.
[100] K. Mikami, K. Tabuchi, �A computer program for optimal routing of printed circuit connectors,�
v zborniku Proc. Int. Federation for Information Processing H47, str. 1475�1478, 1968.
[101] D. W. Hightower, �A solution to line-routing problems on the continuous plane,� v zborniku DAC
'69: Proceedings of the 6th annual Design Automation Conference, (New York, NY, USA), str. 1�
24, ACM, 1969.
[102] M. Mahdavi, M. Amiri, S. Mirzakuchaki, �Single Electron Fault in QCA Binary Wire,� v zbor-
niku Second International Conference on Advances in Circuits, Electronics and Micro-electronics,
2009. CENICS '09, str. 8�10, 2009.