UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNITVO IN INFORMATIKO tqca - Seštevalnik Seminarska naloga pri predmetu Optične in nanotehnologije Blaž Lampre

Podobni dokumenti
Univerza v Ljubljani FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Tržaška c. 25, 1000 Ljubljana Realizacija n-bitnega polnega seštevalnika z uporabo kvan

Turingov stroj in programiranje Barbara Strniša Opis in definicija Definirajmo nekaj oznak: Σ abeceda... končna neprazna množica simbolo

DES

5 Programirljiva vezja 5.1 Kompleksna programirljiva vezja - CPLD Sodobna programirljiva vezja delimo v dve veliki skupini: CPLD in FPGA. Vezja CPLD (

Mladi za napredek Maribora srečanje DOLŽINA»SPIRALE«Matematika Raziskovalna naloga Februar 2015

Delavnica Načrtovanje digitalnih vezij

Delavnica Načrtovanje digitalnih vezij

Microsoft Word - Analiza rezultatov NPZ matematika 2018.docx

Slide 1

DIGITALNE STRUKTURE Zapiski predavanj Branko Šter, Ljubo Pipan 2 Razdeljevalniki Razdeljevalnik (demultipleksor) opravlja funkcijo, ki je obratna funk

Microsoft Word - avd_vaje_ars1_1.doc

DES11_realno

CelotniPraktikum_2011_verZaTisk.pdf

NAVODILA AVTORJEM PRISPEVKOV

SESTAVA VSEBINE MATEMATIKE V 6

Geometrija v nacionalnih preverjanjih znanja

Microsoft Word - ELEKTROTEHNIKA2_ junij 2013_pola1 in 2

Univerza v Mariboru Fakulteta za naravoslovje in matematiko Oddelek za matematiko in računalništvo Enopredmetna matematika IZPIT IZ VERJETNOSTI IN STA

DES

Microsoft Word - M doc

Microsoft Word - ELEKTROTEHNIKA2_11. junij 2104

seminarska_naloga_za_ev

resitve.dvi

Microsoft Word - UP_Lekcija04_2014.docx

RAČUNALNIŠKA ORODJA V MATEMATIKI

Diapozitiv 1

Microsoft PowerPoint - IPPU-V2.ppt

Univerza v Ljubljani

RAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni

1. izbirni test za MMO 2018 Ljubljana, 16. december Naj bo n naravno število. Na mizi imamo n 2 okraskov n različnih barv in ni nujno, da imam

Diapozitiv 1

Osnove verjetnosti in statistika

Gregor Rabič, janja čeh Ploščina štirikotnika Vsebina dokumenta je avtorsko zaščitena. Gradivo je v dani obliki dostopno brezplačno in povsem in brez

Poročilo za 1. del seminarske naloge- igrica Kača Opis igrice Kača (Snake) je klasična igrica, pogosto prednaložena na malce starejših mobilnih telefo

6.1 Uvod 6 Igra Chomp Marko Repše, Chomp je nepristranska igra dveh igralcev s popolno informacijo na dvo (ali vec) dimenzionalnem prostoru

UPRAVLJANJE RAZPRŠENIH PODATKOV Shranjevanje, zaščita in vzdrževanje informacij, ki jih najbolj potrebujete

Podatkovni model ER

resitve.dvi

Diapozitiv 1

10. Meritev šumnega števila ojačevalnika Vsako radijsko zvezo načrtujemo za zahtevano razmerje signal/šum. Šum ima vsaj dva izvora: naravni šum T A, k

STAVKI _5_

Microsoft PowerPoint - Java_spremenljivke

Diapozitiv 1

Urejevalna razdalja Avtorji: Nino Cajnkar, Gregor Kikelj Mentorica: Anja Petković 1 Motivacija Tajnica v posadki MARS - a je pridna delavka, ampak se

ANALITIČNA GEOMETRIJA V RAVNINI

Microsoft Word - Seštevamo stotice.doc

AKCIJSKO RAZISKOVANJE INOVACIJSKI PROJEKT ZA ZNANJE IN SPOŠTOVANJE Udeleženci: Učenci 2. c Razredničarka: Irena Železnik, prof. Učni predmet: MAT Učna

Microsoft Word - CelotniPraktikum_2011_verZaTisk.doc

7. VAJA A. ENAČBA ZBIRALNE LEČE

Microsoft Word - M docx

Računalniški praktikum Projektna naloga - Izdelava spletne strani Avtor: Matej Tekavčič Skupina: Matej Tekavčič - koordinator Simon Vrhovnik Tine Kavč

GHOSTBUSTERS navodila za učitelje O PROJEKTU S tem projektom se učenci sami naučijo izdelati igro. Ustvariti morajo več ikon (duhcov ali kaj drugega)

Diapozitiv 1

Mrežni modeli polimernih verig Boštjan Jenčič 22. maj 2013 Eden preprostejših opisov polimerne verige je mrežni model, kjer lahko posamezni segmenti p

PowerPointova predstavitev

DN5(Kor).dvi

4.Racionalna števila Ulomek je zapis oblike. Sestavljen je iz števila a (a ), ki ga imenujemo števec, in iz števila b (b, b 0), ki ga imenujemo imenov

UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO Katja Ciglar Analiza občutljivosti v Excel-u Seminarska naloga pri predmetu Optimizacija v fina

FGG13

Matematika Diferencialne enačbe prvega reda (1) Reši diferencialne enačbe z ločljivimi spremenljivkami: (a) y = 2xy, (b) y tg x = y, (c) y = 2x(1 + y

Microsoft Word - N _moderacija.docx

Učinkovita izvedba algoritma Goldberg-Tarjan Teja Peklaj 26. februar Definicije Definicija 1 Naj bo (G, u, s, t) omrežje, f : E(G) R, za katero v

Uvodno predavanje

OSNOVE LOGIKE 1. Kaj je izjava? Kaj je negacija izjave? Kaj je konjunkcija in kaj disjunkcija izjav? Povejte, kako je s pravilnostjo negacije, konjunk

Microsoft Word - CNC obdelava kazalo vsebine.doc

Microsoft Word - Astronomija-Projekt19fin

Microsoft Word - CNR-BTU3_Bluetooth_vmesnik

Microsoft Word - Avditorne.docx

Osnove matematicne analize 2018/19

ŠTEVCI PROMETA IN NJIHOVA UPORABA ZA NAMENE STATISTIK ČRT GRAHONJA

Vostro 430 Informacijski tehnični list o namestitvi in funkcijah

Uvodno predavanje

ARS1

Kotne in krožne funkcije Kotne funkcije v pravokotnem trikotniku β a c γ b α sin = a c cos = b c tan = a b cot = b a Sinus kota je razmerje kotu naspr

Priloga 1: Pravila za oblikovanje in uporabo standardiziranih referenc pri opravljanju plačilnih storitev Stran 4012 / Št. 34 / Uradni lis

Datum in kraj

MATEMATIKA Zbirka nalog za nacionalno preverjanje znanja Jana Draksler in Marjana Robič 9+ znam za več

Osnove statistike v fizični geografiji 2

VAJE

Poročilo projekta : Učinkovita raba energije Primerjava klasične sončne elektrarne z sončno elektrarno ki sledi soncu. Cilj projekta: Cilj našega proj

3. Metode, ki temeljijo na minimalnem ostanku Denimo, da smo z Arnoldijevim algoritmom zgenerirali ON bazo podprostora Krilova K k (A, r 0 ) in velja

INDIVIDUALNI PROGRAM PREDMET: MATEMATIKA ŠOL. LETO 2015/2016 UČITELJ: ANDREJ PRAH Učenec: Razred: 7. Leto šolanja: Ugotovitev stanja: Učenec je lani n

Microsoft Word - M docx

Princip oskrbovalnega kroga ALENKA KNEZ Design Manager

Microsoft Word - A-3-Dezelak-SLO.doc

PREDMETNI KURIKULUM ZA RAZVOJ METEMATIČNIH KOMPETENC

LABORATORIJSKE VAJE IZ FIZIKE

VHF1-VHF2

2. izbirni test za MMO 2017 Ljubljana, 17. februar Naj bosta k 1 in k 2 dve krožnici s središčema O 1 in O 2, ki se sekata v dveh točkah, ter

Prevodnik_v_polju_14_

MAGIČNI KVADRATI DIMENZIJE 4n+2

Microsoft Word - M docx

DELOVNI LIST ZA UČENCA

Equation Chapter 1 Section 24Trifazni sistemi

Univerza v Mariboru Fakulteta za naravoslovje in matematiko Oddelek za matematiko in ra unalni²tvo Izobraºevalna matematika Pisni izpit pri predmetu K

PowerPoint Presentation

PRIPRAVA NA 1. Š. N.: KVADRATNA FUNKCIJA IN KVADRATNA ENAČBA 1. Izračunaj presečišča parabole y=5 x x 8 s koordinatnima osema. R: 2 0, 8, 4,0,,0

INDUSTRIJA 4.0: PRILOŽNOSTI DIGITALNE PREOBRAZBE PROCESA RAZVOJA BARV IN PREMAZOV TOMAŽ KERN, BENJAMIN URH, MARJAN SENEGAČNIK, EVA KRHAČ

Transkripcija:

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNITVO IN INFORMATIKO tqca - Seštevalnik Seminarska naloga pri predmetu Optične in nanotehnologije Blaž Lampreht, Luka Stepančič, Igor Vizec, Boštjan Žankar Povzetek Za seminarsko nalogo je bilo potrebno realizirati enotritni seštevalnik oz. odštevalnik s pomočjo tqca struktur. tqca struktura je podobno kot binarna QCA struktura zgrajena iz QCA celic, le da imajo celice v tqca strukturi namesto dveh štiri stanja. Želeli smo dokazati, da je v primeru seštevalnika za zgradbo vezja bolje uporabiti večvrednostno logiko kot pa binarno. V okviru seminarske naloge smo analizirali različne možnosti implementacije, tako z uporabo Postovega nabora funkcij, kot tudi z ad-hoc metodo. Ljubljana, Januar 2008 1

1 Uvod Poskusi uporabe večvrednostne logike v integriranih vezjih sega nazaj v leto 1970. Večvrednostna logična vezja so bila sprva implementirana v bipolarni tehnologiji (ECL,CMOS,...), kar ni prineslo nobenih, oziroma malo izboljšav v primerjavi z binarno logiko. Pojavili pa so se novi načini implementacije večvrednostne logike, kot npr. RTT (resonant tunneling transistors), RTD (resonant tunneling diodes), STT (surface tunneling transistors). Negativno diferencialno uporne karakteristike, ki se pojavijo v teh napravah omogočajo čiste pragove ter zanesljivo računanje v večvrednostni logiki. 1.1 Zakaj trojiška logika Predstavitev triarnih števil lahko razdelimo v dve večji skupini: neporavnana (unbalanced ali positive ali unsigned) - zahteva, da gredo števila le v eno smer. Npr.: 0,1,2 ali 1,1/2,2,... poravnana (signed) - dovoljuje da gredo števila v obe smeri, npr.: -1,0,1 Slednji je zelo uporaben pri realizaciji seštevalnika oziroma odštevalnika, saj lahko za odštevanje in seštevanje uporabimo isto logiko - vse kar moramo storiti, je to, da spremenimo predznak odštevanca, kar je pri uporabi poravnane triarne logike povsem preprosto. Če je odštevanec enak 1, je njegova negativna vrednost enaka +1, in obratno. 1.2 Označevanje Pri realizaciji seštevalnika/odštevalnika smo uporabljali poravnano trojiško logiko. Označevanje z tqca oznakami { A, B, C, (D) } je neugodno za poravnano logiko, zato bomo v nadaljevanju raje uporabljali oznake { 1, 0, +1}, oziroma krajšano le +, 0, in dodatno 1 vrednost D. 1 A +1 B 0 C D D 1 Ker nam tqca ponuja tudi prepovedano vrednost D, jo bomo označevali enako, kljub temu, da je v poravnanem trojiškem sistemu ni. 2

1.3 Predstavitev enotritnega seštevalnika Enotritni seštevalnik je logično vezje, ki podobno kot binarni seštevalnik potrebuje dva izhoda - vsota s in prenos c. Izhodi so seveda trojiški. Če bi naprimer želeli testirati seštevalnik pri odštevanju števila B (1) od števila A (-1), bi morali le število B zamenjati z A, ter števili sešteti - torej dobili bi enak rezultat kot pri seštevanju števil x in -y. Na ta način lahko seštevalnik uporabimo tudi kot odštevalnik. x y c s + 0 0 + 0 0 0 0 0 0 0 0 0 + 0 + + 0 0 + 0 0 + + + + Tabela 1: Pravilnostna tabela seštevalnika 2 Metode 2.1 Postov funkcijsko polni nabor V Postovi trojiški logiki obstaja funkcijsko poln nabor, ki je zaradi treh vrednosti večji kot so dvojiški nabori (na primer konjunkcija, disjunkcija, negacija). Njen nabor funkcij sestoji iz: vseh konstant(a,b,c), karakterističnih funkcij konstant(f A, f B, f C ), ter funkcij minimum( ) in maksimum( ). Sedaj ko smo si izbrali trojiško logiko, in vzeli funkcijsko polni nabor, lahko zapišemo enačbi za vsoto dveh števil nad tritom, ter enačbo za prenos. 3

Tu smo si pomagali z minimizacijo z Vietchovim diagramom. Iz tabele 1 pravilnostna tabela seštevalnika, izhajata naslednja diagrama za minimizacijo. y x A C B A B A C C A C B B C B A (a) Vsota y x A C B A A C C C C C C B C C B (b) Prenos Tabela 2: Veitchevi diagrami za vsoto in prenos Iz diagramov dobimo minimizirani enačbi, ki ustrezata seštevalniku odštevalniku. s = x A y A B x A y B C x C y C C x C y B B x B y A C x B y C B 2.2 Ad-hoc metoda c = x C y C x A y B C x B y A C x B y B B Do t. i. ad-hoc postopka smo prišli po ugotovitvi, da z uporabo Postove trojiške logike praktično ni mogoče testirati implementacije, kajti že strukture s 100 in več celicami so za trenutno uporabljeni simulirator preveliko breme. Da bi prišli do idealne rešitve, bi bilo potrebno poiskati vse možne primitive v tqca. Primeri najosnovnejših primitivov v tqca : 1. majoritetna vrata: 2. negacija po vertikali (x x): 3. negacija po diagonali (x x): maj(x, y, z) A B, B A, C C, D D A A, B B, C D, D C 4

2.2.1 Postopek iskanja rešitve ad-hoc Funkcija signala carry (prenos) smo takorekoč dobili že iz majoritetne funkcije - poleg vhodov operandov x in y je bilo potrebno napeljati samo konstanto 0 na majoritetna vrata, c = maj(x, y, 0). Med preiskovanjem majoritetne funkcije smo opazili tudi precejšnjo podobnost med funkcijo vsote s(x, y) in funkcijo f 1 = maj(x, y, D). Na spodnji tabeli so prikazani izhodi funkcije f 1 in želeni izhodi za vsoto (s), s sivo so označene razlike. x y c s f 1 + 0 0 + 0 0 0 0 0 0 0 0 0 D 0 + 0 + + + 0 0 0 + 0 0 + + + + + + Funkcija f 1 se v treh od devetih vrednosti razlikuje, vendar hitro lahko opazimo nekaj zanimivih lastnosti: 1. funkcija je polarno simetrična 2 - ravno tako kot vsota in prenos 2. prva in zadnja vrednost f 1 sta enaki negiranim vrednostim funkcije prenosa ( c) 3. precej moteča je prepovedana vrednost D pri vhodih x = 0, y = 0, le-te bi se znebili, če bi imeli element, ki pretvori D C, ki pa obenem ohrani vse ostale vrednosti. Pri tem se vprašamo, kako spremeniti vrednosti pri vhodih ( 1, 1) in (+1, +1), da bodo ustrezale funkciji c. Najlažji način, da to storimo, je tako, da na majoritetna vrata napeljemo f 1 in nekako obtežen vhod c. Trik je v tem, da se obteži samo vrednosti +1 in 1, medtem ko mora biti 2 vrednosti na spodnji polovici so enake negiranim vrednostim na zgornji polovici 5

x 1 x 2 x 3 f 1 ρ A D A A 0.998592 A D C A 0.998592 A D B D 0.998685 C D A A 0.998592 C D C C 0.998516 C D B B 0.998592 B D A D 0.998685 B D C B 0.998593 B D B B 0.998592 Tabela 3: Rezultati simulacije za f 1 vpliv vrednosti 0 nekako nevtraliziran - tudi to je razmeroma enostavno, ker lahko s pomočjo negacije po diagonali dobimo nasprotne vrednosti za 0 (C) in D, medtem ko 1 (A) in +1 (B) ostanejo nespremenjene. Če zgoraj omenjene signale napeljemo na majoritetna vrata, takorekoč izničimo vpliv polarizacije C oz. 0. f 2 = maj( (maj(x, y, D)), c, ( c)) = maj( (maj(x, y, D)), (maj(x, y, 0)), (maj(x, y, 0))) x y c f 1 c ( c) f 2 + + + 0 0 0 D + 0 0 0 D 0 0 0 0 D 0 0 0 D 0 D D 0 + 0 + 0 D + + 0 0 0 D 0 + 0 0 + 0 D + + + + + Tabela 4: Vrednosti funkcije/signala f 2 in vmesne vrednosti Rezultat je sedaj precej bolj podoben vsoti, vendar na žalost v tej enačbi nastopa funkcija f 1, ki vrača pri vh. kombinaciji (0, 0) vrednost D. Nujno 6

je bilo treba poiskati funkcijo, ki pretvori vrednost D v vrednost 0 oz. C, sicer bi bila metoda neuporabna. Odločili smo se sistematično preiskati vse primitive na polju celic velikosti 3 3, in sicer, za vse možne vhodne kombinacije - ta postopek bi lahko trajal celo večnost, vendar se je, na srečo, iskana operacija pojavila že v tretjem poizkusu. 2.3 Implementacija Teoretična podlaga za to rešitev je zelo preprosta. Imamo dve enačbi, ki ju je le potrebno predelati v tqca vezje. Prvi problem je nastal takoj, saj nismo imeli vseh struktur funkcijsko polnega nabora. Iskanje karakterističnih funkcij, kot strukture je nivo nižje od sestavljanja vezja preko že znanih primitivov. Primitive dobimo s preiskovanjem prostora celic in upanja da bomo našli iskano. Primitive karakterističnih funkcij 3, katere so našli v laboratoriju za računalniške strukture in sisteme. (a) f A (b) f B (c) f C Slika 1: Karakteristične funkcije Do naslednjega problema pa smo naleteli, ko smo glede na enačbe predvideli celotno strukturo. Enačba za prenos je še kar lepa, saj se jo da minimizirati. Enačba seštevalnika pa se žal ne čisto ne minimizirana, in njen diagram predstavlja analogijo šahovnice Vietchovega diagrama v dvojiški logiki (problem, ki se ga ne da minimizirati). Preden smo se odločili strukturo sestaviti, smo naredili oceno končne strukture in smiselnost rešitve. 3 Te funkcije smo testirali samostojno, potrebno bi bilo tudi testirati kako se obnašajo v večjem vezju. 7

struktura št. potrebnih elem. št. celic strukture št. celic f A 6 10 60 f B 8 10 80 f C 6 40 240 min(maj. vrata) 18 10 180 max(maj. vrata) 9 10 90 Vseh celic (brez povezovalnih linij) 650 Tabela 5: Poraba celic Iz zgornje tabele je razvidno, da potrebujemo za seštevalnik oz. odštevalnik, ki deluje nad dvema tritoma potrebno vsaj 650 celic. V tej točki smo prenehali iskati rešitev s Postovim funkcijsko polnim naborom. Dokazali bi si edino, da enačbe delujejo. Nebi pa našli strukture, ki bi bila majhna, ki bi se jo dalo uporabiti za gradnjo npr. kompleksnejšega kaskadnega seštevalnika. 3 Rezultati Pri implementaciji smo težili k rešitvi, ki bi bila karseda enostavna (najmanjše število celic, vhodov in konstant). V 2.3 smo predstavili dve možni smeri iskanja rešitve tqca seštevalnika, ter odnehali z iskanjem rešitve preko funkcijsko polnega nabora. Mogoče obstajajo manjše strukture funkcij nabora, vseeno pa enačbi zahtevata 47 operacij, česar pa ne moremo zmanjšati. Zato je edino vprašanje, ali je naša ad-hoc rešitev optimalna. Zaseda 120 celic, kar je manj kot 20% prostora, ki bi ga zasedala rešitev iz Postovega nabora funkcij - kar ni slaba izboljšava. Kljub temu, pa ne moremo reči, da je vezje idealno, saj je v vezju dvakrat izračunana vrednost negiranega prenosa. Redundanci celic bi se izognili, če nebi potrebovali negiranega prenosa, še negirati z sodo linijo (D C). Oba rezultata pa se morata obvezno združiti v eni celici. Na sliki je to celica Q2, kjer se kraka združita na levi in zgornji stranici. Kraka pa bi morala nastati iz ene celice Q2, po principu razvejitve. Tu nastane problem - oba kraka, ne glede kako postavimo celici Q1 in Q2, sta vedno le sode ali lihe dolžine, ne pa različnih dolžin. Zato se, na žalost, s tem pristopom ne da zmanjšati redundance. Ko smo v iskanju rešitve dopustili konstanto D in uporabo sode dolžine linije, kot posebna negacija, smo se približali rešitvi. Problem je nastal, ko so se v rezultatu pojavili obe vrednosti C in D. Če bi imeli le vrerdnosti C 8

Slika 2: Celotno vezje seštevalnika Slika 3: Problem kvadrata ni problema, če pa imamo le vrednosti D pa lahko dodamo celico, oziroma jo le odstranimo in tudi rešimo problem. Ker pa sta nastopali obe, je bilo potrebno najti novo strukturo. Ne glede, da je v vezju struktura, kot nekaj kar bi se mogoče dalo minimizirati, je pa pomemben stranski rezultat. Zelo kmalu pri razvoju strukture smo opazili, da je vrednost C velik vzrok težav. Je vrednost, ki bi jo lahko opisali kot absorbirana vrednost. Njena lega se izkaže, da je velikokrat stanje minimalne energije ter tudi le stežka dosežemo kaj drugega. Opazili smo, da če združimo dve liniji pravokotno z vrednostjo C in D dobimo vrednost B. 9

Tako ta struktura olajša delo, saj se sedaj ni potrebno bati in izogibati vrednosti D stanja C. Slika 4: Vezje elementa, ki filtrira prepovedane vrednosti Vseeno pa je potrebno povedati, da je struktura mogoče manj stabilna od majoritetnih vrat, negacije, in še kakšnega podobnega primitiva. Izkaže se, da nanjo močno vplivajo sosednje strukture. Zato jo je pomembno postaviti raje kakšno celico bolj stran od vezja. To pa ravno ni velika omejitev, saj je struktura, ki jo ponavadi potrebujemo v stanju izhoda. Deluje pa ravno na principu združevanja stanj C in D v pravokotni združitvi linij. Zaradi boljšega razumevanja samega elementa smo na sliki 4 razdelili celice v tri področja delovanja. Ta območja se prekrivajo in celice so v istem ciklu ure. Oranžen oziroma vhodni del, ter tudi sredinski - modri del, imata kot vhod konstanto C. Z svojo oddaljenostjo smo poskrbeli, da vpliv na vhoda A in B ne vplivata in ju ne spremenita pri prehodu do izhoda. Pri vhodni vrednosti C ne pridemo do nobenega problema saj ga konstanti le ojačata. Pri vrednosti D pa se zgodi to, da se po celotnem notranjem delu celice postavijo na vrednost C. Z liho dolžino linije na izhodu pa pskrbimo da se pravilno prenese preko izhodnega dela. Kljub vsem problemom, pa smo glede na izbiro primitivov, vezje optimizirali na najmanjše možno. Število celic je v območju želenega rezultata. Vseeno pa se nam je kar poznalo pri sami simulaciji z qdsim. Struktura z 12 vhodi, 2 izhodoma in 120 celicami, je za simulacijo, porabila v povprečju dobro uro na vhodno kombinacijo. Spodaj je še prikaz izhoda simulacije našega vezja. 10

Vhodi v vezje Izhodi x y x y x y c ρ(c) s ρ(s) A C A A C A A D A C C A 0.999967 B 0.999967 A C C A C C A D C C C C 0.999964 A 0.999967 A C B A C B A D B C C C 0.999964 C 0.999964 C C A C C A C D A C C C 0.999964 A 0.999967 C C C C C C C D C C C C 0.999964 C 0.999964 C C B C C B C D B C C C 0.999964 B 0.999967 B C A B C A B D A C C C 0.999964 C 0.999964 B C C B C C B D C C C C 0.999964 B 0.999967 B C B B C B B D B C C B 0.999967 A 0.999967 4 Zaključek Tabela 6: Rezultati končne simulacije, ɛ = 1 10 5 Pot do naše rešitve ni bila niti približno lahka. Vsakič ko smo bili blizu rešitve se je le-ta spretno izmuznila in oddaljila. Prva ovira nas je doletela že na samem začetku iskanje rešitve. Ker ni bilo nobenega grafičnega vmesnika za sestavljanje struktur, je bilo potrebno vsako strukturo najprej natančno narisati na papir in jo nato prepisati v tekstovno datoteko. Popravki so bili izjemno zamudni. Zato se je Luka pogumno lotil velikega projekta izdelave grafičnega vmesnika in ga tudi (skoraj) uspešno dokončal. S tem smo pridobili marsikatero uro pri gradnji naših struktur. Takoj za tem smo naleteli na drugo oviro. Izjemno dolgi časi testiranja struktur. To smo lahko nekoliko omilili in smo žrtvovali nekaj natančnosti za hitrejše izvajanje. To nas je pripeljalo do nekaterih na videz pravilnih rešitev, ki so kasneje ob večji natančnosti odpovedale. Če bi imeli primitive primernih velikosti (znotraj ranga 3x3 polj), bi nam to že na začetku iskanja rešitve zelo olajšalo delo. Ker do danes primitivov v tako majhni obliki še ni, smo lahko nekatere rešitve našli le v teoriji, a so se hitro izkazale prevelike za realizacijo. Naslednjo veliko težavo nam je predstavljal problem križanja linij, ki jih trenutni simulator ne podpira. To je privedlo do strukture z večimi vhodi kot bi bilo potrebno in posledično do večje strukture, kar je še dodatno podaljšalo čas testiranja. Za gradnjo in testiranje struktur bi vsekakor potrebovali veliko zmoglivejše računalnike ali pa kar računalniško polje. Navkljub našim težavam pri realizaciji, pa smo prepričani, da bodo QCA avtomati vsekakor del prihodnosti računalništva. 11