metode razme²£anja in povezovanja logi£nih primitivov

193

Upload: others

Post on 25-Nov-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 2: Metode razme²£anja in povezovanja logi£nih primitivov
Page 3: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 4: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 5: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 6: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 7: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 8: Metode razme²£anja in povezovanja logi£nih primitivov
Page 9: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 10: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 11: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 12: Metode razme²£anja in povezovanja logi£nih primitivov
Page 13: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 14: Metode razme²£anja in povezovanja logi£nih primitivov

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-

Page 15: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 16: Metode razme²£anja in povezovanja logi£nih primitivov

4 1 Uvod

bo pripomogla pri primerjavi in postavljanju standardov za nove metodologije.

Page 17: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 18: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 19: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 20: Metode razme²£anja in povezovanja logi£nih primitivov

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).

Page 21: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 22: Metode razme²£anja in povezovanja logi£nih primitivov

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,

Page 23: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 24: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 25: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 26: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 27: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 28: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 29: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 30: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 31: Metode razme²£anja in povezovanja logi£nih primitivov

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,

Page 32: Metode razme²£anja in povezovanja logi£nih primitivov

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-

Page 33: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 34: Metode razme²£anja in povezovanja logi£nih primitivov

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),

Page 35: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 36: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 37: Metode razme²£anja in povezovanja logi£nih primitivov

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)

Page 38: Metode razme²£anja in povezovanja logi£nih primitivov

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

∑j Pj√

1 +Ek

i,j

∑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.

Page 39: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 40: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 41: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 42: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 43: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 44: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 45: Metode razme²£anja in povezovanja logi£nih primitivov

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)

Page 46: Metode razme²£anja in povezovanja logi£nih primitivov

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).

Page 47: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 48: Metode razme²£anja in povezovanja logi£nih primitivov

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).

Page 49: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 50: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 51: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 52: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 53: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 54: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 55: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 56: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 57: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 58: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 59: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 60: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 61: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 62: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 63: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 64: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 65: Metode razme²£anja in povezovanja logi£nih primitivov

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-

Page 66: Metode razme²£anja in povezovanja logi£nih primitivov

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-

Page 67: Metode razme²£anja in povezovanja logi£nih primitivov

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-

Page 68: Metode razme²£anja in povezovanja logi£nih primitivov

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,

Page 69: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 70: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 71: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 72: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 73: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 74: Metode razme²£anja in povezovanja logi£nih primitivov
Page 75: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 76: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 77: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 78: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 79: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 80: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 81: Metode razme²£anja in povezovanja logi£nih primitivov

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).

Page 82: Metode razme²£anja in povezovanja logi£nih primitivov

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).

Page 83: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 84: Metode razme²£anja in povezovanja logi£nih primitivov

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,

Page 85: Metode razme²£anja in povezovanja logi£nih primitivov

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).

Page 86: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 87: Metode razme²£anja in povezovanja logi£nih primitivov

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).

Page 88: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 89: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 90: Metode razme²£anja in povezovanja logi£nih primitivov

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).

Page 91: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 92: Metode razme²£anja in povezovanja logi£nih primitivov
Page 93: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 94: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 95: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 96: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 97: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 98: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 99: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 100: Metode razme²£anja in povezovanja logi£nih primitivov
Page 101: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 102: Metode razme²£anja in povezovanja logi£nih primitivov

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].

Page 103: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 104: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 105: Metode razme²£anja in povezovanja logi£nih primitivov

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-

Page 106: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 107: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 108: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 109: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 110: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 111: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 112: Metode razme²£anja in povezovanja logi£nih primitivov
Page 113: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 114: Metode razme²£anja in povezovanja logi£nih primitivov

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,

Page 115: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 116: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 117: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 118: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 119: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 120: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 121: Metode razme²£anja in povezovanja logi£nih primitivov

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-

Page 122: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 123: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 124: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 125: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 126: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 127: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 128: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 129: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 130: Metode razme²£anja in povezovanja logi£nih primitivov
Page 131: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 132: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 133: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 134: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 135: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 136: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 137: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 138: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 139: Metode razme²£anja in povezovanja logi£nih primitivov

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,

Page 140: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 141: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 142: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 143: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 144: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 145: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 146: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 147: Metode razme²£anja in povezovanja logi£nih primitivov

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;

Page 148: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 149: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 150: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 151: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 152: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 153: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 154: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 155: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 156: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 157: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 158: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 159: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 160: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 161: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 162: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 163: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 164: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 165: Metode razme²£anja in povezovanja logi£nih primitivov

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].

Page 166: Metode razme²£anja in povezovanja logi£nih primitivov

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-

Page 167: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 168: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 169: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 170: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 171: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 172: Metode razme²£anja in povezovanja logi£nih primitivov

160 8 Analiza rezultatov avtomatiziranega snovanja

optimizirati razmestitve, dobljene v zadnjem delu izvajanja algoritma.

Page 173: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 174: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 175: Metode razme²£anja in povezovanja logi£nih primitivov

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>

Page 176: Metode razme²£anja in povezovanja logi£nih primitivov

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>

Page 177: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 178: Metode razme²£anja in povezovanja logi£nih primitivov

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]

Page 179: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 180: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 181: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 182: Metode razme²£anja in povezovanja logi£nih primitivov
Page 183: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 184: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 185: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 186: Metode razme²£anja in povezovanja logi£nih primitivov
Page 187: Metode razme²£anja in povezovanja logi£nih primitivov

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

Page 188: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 189: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 190: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 191: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 192: Metode razme²£anja in povezovanja logi£nih primitivov

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.

Page 193: Metode razme²£anja in povezovanja logi£nih primitivov

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.