FUNKTSIONAALSED SIGNAALIPROTSESSORID
Loengumaterjal 1 Toomas
RuubenToomas Ruuben. TTÜ Raadio ja
sidetehnika 1 instituut.
Teemad Ülevaade DSP-dest, signaalitöötlusest,
FPGA -dest Digitaalarvuti töö üldpõhimõtted
Tehted kahendsüsteemis (+,-,*,/ jne) Erinevaid arvsüsteemid Peamisi
loogikafunktsioonid (AND, OR jne) Loogikavõrrandid
Trigerid , registrid, dekoodrid, multipleksorid, demultipleksorid, aritmeetika
loogika seadmed jne)
Toomas Ruuben. TTÜ Raadio ja sidetehnika 2 instituut.
1 Teemad Programmeeritavad loogikaseadmed
CPLD , PLD FPGA FPGA (
Field programmable
gate array )arhidektuurid, tööpõhimõtted Arenduskeskkonnad (Verilog,
VHDL ) DSP
versus FPGA Signaalitöötlusalgoritmid FPGA-s FPGA-de tootjad Laboratoorsed tööd www.
xilinx .com www.altera.com Toomas Ruuben. TTÜ Raadio ja sidetehnika 3 instituut.
Digitaalsed
signaaliprotsessorid (DSP) DSP (
Digital Signal Processor) on disainitud spetsiaalselt intensiivseks signaalitöötluseks. Üks levinumatest signaalitöötlusalgoritmidest on digitaalne
filtreerimine mis baseerub järgmisel struktuuril:
N F -1
y (n ) = h(i )x(n - i ) i=0
Toomas Ruuben. TTÜ Raadio ja sidetehnika 4 instituut.
2 Digitaalsed
signaaliprotsessorid (DSP) Miks on vaja eelpooltoodud operatsiooni teostamiseks DSP-d: Tehted on vaja
sooritada kahe diskreedi vahelises ajas (lühike, näiteks 44000 Hz diskteetimissageduse juures 22.7 mikrosekundit)
Tehete liikideks on:
korrutamine ,
liitmine (akumuleerimine), andmete
nihutamine Kui
filter omab 50 järku, tuleb igal taktil (22.7 mikrosekundi jooksul) sooritada 50 korrutamistehet liitmistehet ning andmete nihutamist. Protsessori
taktsagedus minimaalselt 6.6 MHz Tavaprotsessorid: Operatsioonid
sooritatakse järjestikku. Signaaliprotsessorid: Operatsioonid sooritatakse paralleelselt (MACD) Toomas Ruuben. TTÜ Raadio ja sidetehnika 5 instituut.
Digitaalsed
signaaliprotsessorid (DSP) MAC korrutamine, liitmine ja akumuleerimine. DSP-s samaaegselt ("Single intruction MAC")
Seostatakse protsessori
clock -iga (0.1....1 GHz) Võimsamad DSP-d sooritavad 8 MAC-I ühes tsüklis, seega kokku 8 GMAC sekundis FPGA-d võivad sooritada kuni 100 GMAC !! DSP - "
advanced "/"super" HARVARD ARHIDECTURE !! Tavaprotsessorid- "Von
Neumann Machine " Andmemälu siine võib olla palju erinevaid
Toomas Ruuben. TTÜ Raadio ja sidetehnika 6 instituut.
3 TMS320C6000
Toomas Ruuben. TTÜ Raadio ja sidetehnika 7 instituut.
TMS320C6000 TMS 320C6000 omab: VLIW (Very Long Instruction Word)
arhidektuur 256-bitised instruktsiooni-koodid 4 korrutit! 4 ALU-d, kuni 1GHz (8 GMACi/s) Ujuvkoma (c67) ja püsikoma-variandid
Rakendused (pilditöötlus, sonar,
radar , ADSL jne jne)
Toomas Ruuben. TTÜ Raadio ja sidetehnika 8 instituut.
4 DSP eelised
Mitu MAC operatsiooni sekundis
Reaalaja töötlus
Programmeerimise paindlikkus Suur jõudlus Normaalne hind
Tänapäeval PC on samuti suure jõudlusega, aga kas saab panna mobiiltelefoni sisse ?
Toomas Ruuben. TTÜ Raadio ja sidetehnika 9 instituut.
DSP puudused Orienteeritud liigselt ühte tüüpi
operatsioonide sooritamiseks Süsteemi juhtloogika
realiseerimine on tülikas Teinekord võib osutuda nn. "tankiga kärbse püüdmiseks"
Signaalitöötlus hakkab liikuma FPGA-de suunas Süsteemid võivad olla projekteeritud kui FPGA ja DSP
kooslus või puhtalt FPGA-de baasil, mis sisaldavad signaalitöötlusplokke
Toomas Ruuben. TTÜ Raadio ja sidetehnika 10 instituut.
5 SISSEJUHATUS FPGA-sse FPGA-de areng on alguse saanud 1970-ndate aastate lõpust Eelkäiateks on PLA (Programmable
Logic Array CPLD, XILINX lasi FPGA välja alates 1985. Koosneb lihtloogika elementidest (AND, OR), nende vahele koostatakse ühendused
Toomas Ruuben. TTÜ Raadio ja sidetehnika 11 instituut.
SISSEJUHATUS FPGA-sse
PLA
Toomas Ruuben. TTÜ Raadio ja sidetehnika 12 instituut.
6 SISSEJUHATUS FPGA-sse Kõrge integreerituse aste (VLSI-Very Large Scale Integration) võimaldab luua väikese maksumusega digitaalseid
skeeme . ASIC
Application Specific
Integrated Circuits FPGA Field-Programmable Gate Arrays Võimaldavad tuua turule uusi tooteid võimalikult lühikese
ajaga seejuures maandades majanduslikke riske. FPGA korral kujundab süsteemi (tema sisemise loogilise struktuuri) lõppkasutaja. Laialdaselt kasutuses (signaalitöötlussüsteemid, SDR- software defined
radio ) Toomas Ruuben. TTÜ Raadio ja sidetehnika 13 instituut.
SISSEJUHATUS FPGA-sse FPGA kujutab endast elementide (loogikalülitusete) võrku (array), mida on võimalik vastavalt vajadustele omavahel siduda. Kõik ühendused on kasutaja poolt programmeeritavad FPGA-de põhilised tootjad Xilinx (alates 1985) Actel Altera Plessy
Plus AMD
Toomas Ruuben. TTÜ Raadio ja sidetehnika 14 instituut.
7 SISSEJUHATUS FPGA-sse
FPGA arhidektuur
Toomas Ruuben. TTÜ Raadio ja sidetehnika 15 instituut.
SISSEJUHATUS FPGA-sse Iga kompanii poolt toodetud FPGA-d tuleks eraldi vaadelda. Tüüpiline FPGA koosneb kahemõõtmliest võrest mis sisaldab loogilisi plokke. Neid plokke on võimalik vastavalt vajadusele omavahel siduda. (vt. Joonis) Sidumine toimub programmeeritavate lülitite abil (programmable switches) Loogiliste plokkide arhidektuur võib olla koostatud mitmel
erineval viisil. Lihtsam neist võib olla kahe sisendiga NAND (NING-EI) lülitus. Keerulistemaks on multipleksorid, otsingutabelid jne. Toomas Ruuben. TTÜ Raadio ja sidetehnika 16 instituut.
8 SISSEJUHATUS FPGA-sse Loogiliste plokkide defineerimisvõimalusi on lõputu hulk. FPGA konfigureerimisel kasutatakse kahte tüüpi vahendeid: Wire segments Programmale switches Sarnaselt loogiliste plokkide defineerimisele on olemas ka ühenduste tekitamise (routing
architecture ) erinevaid viise, põhimõte Palju lihtsaid mooduseid Vähem mooduseid kuid
olemuselt keerukamad
Toomas Ruuben. TTÜ Raadio ja sidetehnika 17 instituut.
SISSEJUHATUS FPGA-sse.
Majanduslikud näitajad FPGA omab madalat prototüübi hinda ja võimaldab kiirendada arendusprotsessi FPGA-de miinused Suhteliselt väike kiirus võrreldes MPGA-ga (Mask-Programmed Gate Array). Põhjus-Programmeeritavad lülitid-
taksitus -
mahtuvus Väiksem nn. loogiline tihedus (Loogikaelementide arv, mis oleks võimalik paigutada ühele mikroskeemile). Programmeeritavate lülitite loomine võtab
chip -il ruumi. Chip-I suuruse määrab siiski tema sisendite-väljundite arv, mitte tema loogiliste plokkide ja ühenduste arv. Seega ei pruugi hinna mõttes loogiline tihedus olla probleemiks. Toomas Ruuben. TTÜ Raadio ja sidetehnika 18 instituut.
9 Kaks Suuremat FPGA-de
tootjat Nimi Xilinx Altera Asutatud 1984 Müügistrateegia "Tühi lint" PC lisakomponent Müügisegment
Telecom ja Prof AV seadmed Käive 1843M 1290M Kasum 350M 323M Töötajaid 3353 2600
Toomas Ruuben. TTÜ Raadio ja sidetehnika 19 instituut.
FPGA võrreldes
tavaprotsessoriga
Intel Xeon FPGA
Takt 3 Ghz 350 MHz Gflops 24 60 Võimsus 80 W 10 W Mälukiirus 3 GB/Sec 50 Gb/sec Sisemälu Kiirus 10 Tb/sec Kuni 700 Tb/sec
Toomas Ruuben. TTÜ Raadio ja sidetehnika 20 instituut.
10 FPGA võrreldes DSP-ga Kõige moodsam DSP
Texas Instumendilt on hetkel TMS320C600 Omab VLIW (Very Long Instruction Word) arhidektuuri. Sisaldab 256 bitiseid instruktsiooni koode 4 korrutit! 4 ALU-d, kuni 1GHz (8 GMAC-I /s!) (TMS320C6416) Võrdluseks FPGA 350 MHz, 60 Gflops (omab erinevat sisu võrreldes GMAC-iga) Ujuvkoma (c67) ja püsikoma vaiandid (c62, c64) Kasutusvaldkonnad: Pilditöötlus, sonar, radar, tlf keskjaamad jne Osades rakendustes kasutatakse FPGA-d eeltöötluseks, enne DSPd
Toomas Ruuben. TTÜ Raadio ja sidetehnika 21 instituut.
SISSEJUHATUS FPGA-sse.
Kasutusvaldkonnad ASIC (Application-Specific Integrated Circuits (ASICs)). Telekommunikatsiooni rakendused, DRAM controllerrid jne.
Random Logic - asendab 10-20 PAL (Programmable Array Logic) Võib olla kasutusel ka lihtsalt prototüübina
Protsessorite vaheline andmeülekanne, nende haldamine, parlleelsus (Hardware programming)
Toomas Ruuben. TTÜ Raadio ja sidetehnika 22 instituut.
11 FPGA-st ASIC-usse Xilinx Kasutatakse nn. katkisi FPGA-sid, mis
sobiksid siiski konkreetse projekti tarbeks (Easypath)
Altera
Asendanda programmeeritavad struktuurid ASIC moodulitega (HardCopy)
FPGA-l baseeruva süsteemi
projekteerimine on siiski kallim võrreldes ASIC-uga kuna Arendusvahendid võivad olla väga kallid (kuni 500 milj) Chipi tootmise kulud,
vigade parandus läheb kalliks Keerukusest ja
tehnoloogiast tulenev pikem arengutsükkel
Toomas Ruuben. TTÜ Raadio ja sidetehnika 23 instituut.
FPGA-de eelkäiad PLA ja PLD PLA (Programmable Logic Array) omab:
Kahte programmeeritavat tasapinda Võimaldab koostada suvalise
kombinatsiooni AND/OR lülitustest Annab
parima võimaliku loogikatiheduse Suur lülituste (fuse) arv Aeglane, keerukas, seoses kahe prorammeerimistasandiga
Struktuurskeemid tuuakse sageli lihtsustatud kujul. Loogikaelementide
sisendid kujutatakse ühe juhtmega
Toomas Ruuben. TTÜ Raadio ja sidetehnika 24 instituut.
12 FPGA-de eelkäiad PLA ja PLD Traditsiooniline PLA
struktuurskeemToomas Ruuben. TTÜ Raadio ja sidetehnika 25 instituut.
FPGA-de eelkäiad PLA ja PLD Tegelikkuses sisaldavad loogikalülitused mitmeid
sisendeid .
Toomas Ruuben. TTÜ Raadio ja sidetehnika 26 instituut.
13 FPGA-de eelkäiad PLA ja PLD Näide
Toomas Ruuben. TTÜ Raadio ja sidetehnika 27 instituut.
FPGA-de eelkäiad PLA ja PLD Struktuurskeem võib olla välja toodud ka AND ja OR lülitusi eraldi välja toomata
Toomas Ruuben. TTÜ Raadio ja sidetehnika 28 instituut.
14 FPGA-de eelkäiad PLA ja PLD PAL (Programmable Array Logic) on PLA edasiarendus kus OR (VÕI) lültuste
tasapind fikseeriti. PAL on PLD (Programmable Logic
Device ) alus. PLD jaguneb omakorda SPLD (
Simple Programmable Logic Device ) CPLD (
Complex Programmable Logic Device )
PAL struktuuri iseloomustab:
Üks programmeeritav tasapind (OR tasapind on fikseeritud) AND/OR kombinatsioonide arv on piratud Loogiline tihedus on väiksem võrreldes PLA-ga Lülituste arv on väiksem, kiirem kui PLA
Toomas Ruuben. TTÜ Raadio ja sidetehnika 29 instituut.
FPGA-de eelkäiad PLA ja PLD SPLD arhidektuur (PAL)
Toomas Ruuben. TTÜ Raadio ja sidetehnika 30 instituut.
15 FPGA-de eelkäiad PLA ja PLD PLD-de prgrammeerimine seisneb antud juhul meile mittevajalike ühenduste likvideerimises. PLD võib olla ühekordselt või korduvalt programmeeritav.
Ühekordne
programmeerimineÜhenduste sõlmpunktides asuvad nn.
kaitsmed (fuses). Programmeeria peab "läbi sulatama" kaitsmed ühenduskohtades mida ei vajata.
Mitmekordne
Kasutatakse
FLASH mälu tehnoloogial baseeruvaid madala voolutarbega CMOS lülitusi Toomas Ruuben. TTÜ Raadio ja sidetehnika 31 instituut.
CPLD (Complex programmable
logic device) CPLD on oma keerukuselt PAL-I ja FPGA
vahepeal Omab mitmeid SPLD plokke ühes
seadmes koos üldkasutatavate ühenduslülidega "Interconnect array-s"
Toomas Ruuben. TTÜ Raadio ja sidetehnika 32 instituut.
16 CPLD (Complex programmable
logic device) Lihtloogika on võimalik realiseerida ühes SPLD plokis,
keerukam loogika mitmes korraga kasutades plokkidevahelisi ühendusi
CPLD-de omadused: Arhidektuur, mis sisaldab globaalseid, plokkidevahelisi ühendusskeeme Lihtne, determineeritud ajastus (sünkroonsus) Marsruutimine on suhteliselt lihtne Saab ära kasudada PLD vahendeid, lisada tuleb vaid plokkidevahelised ühendused Võimaldab tekitada "laiadel siinidel" (palju paralleelseid sisendeid/väljundeid) baseeruvaid lülitusi. Ajastus on võimalik lihtsalt välja arvutada (kui palju kulub aega sisendist väljundisse)
Toomas Ruuben. TTÜ Raadio ja sidetehnika 33 instituut.
CPLD (Complex programmable
logic device) Miks kasutada CPLD-d? Madalad väljatöötluskulud. Ümberprogrammeeritavus, arendusvahedid võivad olla teatud juhul tasuta. Riistvaraline risk on väike Lihtne disan. Kui
algoritm on kirjeldatud skemaatiliselt või HDL (Hardware
Description Language ) tasemel, saab kasutada CPLD olemasolevaid vahendeid optimiseerimiseks,
paigalduseks ja marsruutimiseks. Kiire arendusprotsess. ISP (In System Programming). Arndusvahenditega
luuakse nn. "bitstream", mis laetakse otse kas CPLD-sse või FPGA-sse. Näiteks arendussüsteem
Eclipse , mis toetab suurimaid tootjaid Xilinx, Altera, Actel, AMD, Cypress ja Lattice. Miniatuursus. Väike kogumaksumus. Juba
olemasolevat riistvara saab kasutada erinevate rakenduste jaoks
Toomas Ruuben. TTÜ Raadio ja sidetehnika 34 instituut.
17 ECLIPSE Test-arendus
süsteem.
Sisaldab FPGA/CPLD-de andmebaasi
Teostab "Scan
Path Integrity Test (SPIT)" protseduuri JTAG (
Joint Test
Action Group )liidesele, et ühildavus
seadmega oleks tagatud. Teostab konfigureerimise ja programmeerimise. Võimaldab
seadet testida ja analüüsida (Debugger)
Toomas Ruuben. TTÜ Raadio ja sidetehnika 35 instituut.
FPGA (Field Programmable
Gate Array) FPGA omab regulaarset struktuuri loogilistest lülitustest (CELL) või moodulitest mida kasutaja saab piiranguteta kasutada. FPGA-d iseloomustab
Kanalipõhine marsruutimine Arendusvahendid on keerukamad võrreldes CPLD-ga. Kiire registrite konveierdamine (
pipeline ) Üks FPGA võib
sisaldada üle 10 miljoni loogilise lülituse. Võivad olla kas ühekordselt (OTP) või mitmekordselt programmeeritavad (
SRAM tehnoloogia ). Üldstruktuurid võivad olla erinevalt üles ehitatud
Toomas Ruuben. TTÜ Raadio ja sidetehnika 36 instituut.
18 FPGA-de tüübid Üldiselt jagatakse nelja kategooriasse:
Sümmeetriline võre Nn. ridadel põhinev
Hierarhiline PLD "Sea-of-
Gates "
Eelpoolnimetatud kategooriad on üldised. Tegelikult sõltuvad otseselt tootjast.
Igat tüüpi FPGA vajab erinevat CAD programmi. CAD
programmid -võivad olla toodetud FPGA tootja poolt kui ka kolmandate osapoolte poolt Toomas Ruuben. TTÜ Raadio ja sidetehnika 37 instituut.
FPGA-de tüübid Sümmeetriline võre ja ridadel baseeruv
LB LB LB LB LB LB LB LB
LB LB LB LB LB LB LB LB
LB LB LB LB LB LB LB LB
Toomas Ruuben. TTÜ Raadio ja sidetehnika 38 instituut.
19 FPGA-de tüübid Sea-of-Gates ja Hierarhical PLD
PLA PLA PLA PLA PLA PLA PLA PLA
Toomas Ruuben. TTÜ Raadio ja sidetehnika 39 instituut.
FPGA-de tüübid Mis tüübile vastab see struktuurskeem ?
Toomas Ruuben. TTÜ Raadio ja sidetehnika 40 instituut.
20 Ühekordselt ja mitmekordelt
programmeeritavad FPGA-d Erinevad teineteisest loogikalülituste ja
nendevaheliste ühenduste implementeerimise poolest. Valitsevaks on staatilisel RAM-il põhinev ümberprogrammeeritav FPGA. SRAM-FPGA programmeeritakse ümber iga kord kui
toide peale tuleb. (SRAM-FPGA kui kujutletav mälukiip) SRAM-FPGA-des kasutatakse traditsiooniliste lülituse asemel nn. olekutabeleid (LUT-
Lookup Table) kus determineeritud operatsioonid on asendatud mälu indekseerimisega. Biti ülekandeks on
FLIP -FLOP seade (kannab biti sisendist väljundisse vastavalt taktimpulssidele)
Toomas Ruuben. TTÜ Raadio ja sidetehnika 41 instituut.
Ühekordselt ja mitmekordelt
programmeeritavad FPGA-d
SRAM-il baseeruv loogiline lülitus
Toomas Ruuben. TTÜ Raadio ja sidetehnika 42 instituut.
21 Ühekordselt ja mitmekordelt
programmeeritavad FPGA-d Ühekordselt programmeeritavad FPGA-d (OTP) kasutavad ühenduste tekitamisekd pöörd-kaitsmeid ("anti-fuse"). Ühekordselt programmeeritav FPGA ei vaja softi ümberlaadimist peale igat sisselülitamist, Sarnaneb PLD-ga.
Toomas Ruuben. TTÜ Raadio ja sidetehnika 43 instituut.
FPGA-de programmeerimise
tehnoloogiad Programmeerimiseks kasutatakse "
switch "-e, täpsem
vaste oleks "programming element" (Static RAM cells, anti-fuses,
EPROM transistors,
EEPROM transistors). Peab vastama järgmistele omadustele Võtma chip-il nii vähe ruumi kui võimalik Peab omama väikest takistust asendis "ON" ja väga suurt takistust asendis "OFF" Peab omama väikest parasiitmahtuvust ümbritsevate juhtmete suhtes. Peab olema võimalik pigutada võimalikult palju elemente ühele mikroskeemile (Chip-ile) Elemendid peaksid olema ümberprogrammeeritavad Toomas Ruuben. TTÜ Raadio ja sidetehnika 44 instituut.
22 FPGA-de programmeerimise
tehnoloogiad (Static RAM) Kasutusel erinevate kompaniide toodangus (sh. Xilinx) Programmeeritavad ühendused teostatake kasutades järgmisi elemente:
Pass -transistors Transmission gates Multiplexors Kõiki elemente juhitakse SRAM rakkude (cell) abil Pass-
transistor RAM cell juhib, kas "värav" on kinni või lahti. Kui on lahti, siis tekitatakse kahe juhtme vahele väga kõrge takistus, vastasel juhul madal takistus.
Toomas Ruuben. TTÜ Raadio ja sidetehnika 45 instituut.
FPGA-de programmeerimise
tehnoloogiad (Static RAM) NB! Staatiline RAM ei hoia oma olekut. Selline FPGA tuleb konfigureerida alati uuesti kui toide peale lülitatakse. Olek tuleb säilitada kas ROM-is või kettal. Static RAM nõuab küllalt suurt ala mikroskeemist (vähemalt 5 transistori) Lisaks vajatakse lisatransistore "väravate" või multipleksorite tarbeks Eeliseks on lihtne ümberprogrammeeritavus.
Toomas Ruuben. TTÜ Raadio ja sidetehnika 46 instituut.
23 FPGA-de programmeerimise
tehnoloogiad (Anti-Fuse) Seda tehnoloogiat kasutavad Actel
Corp , QuickLogic ja Crosspoint Solutions.
Konstruktsioonid on erinevad kuid tööpõhimõte sama Anti-fuse pöördkaitse Normaalolekus omab kõrget takistust Programmeerides kõrge pingega, lühistatakse madala takistusega seisu Actel-I Anti fuse omab kolme taset: Alumine kiht-positiivselt laetud räni (n+diffusion) Keskmine kiht- dielectic Ülemine kiht mitmekristalliline räni
Toomas Ruuben. TTÜ Raadio ja sidetehnika 47 instituut.
FPGA-de programmeerimise
tehnoloogiad (Anti-Fuse) Programmeerimiseks lastakse 18 V pinge kaitse mõlemale otsale vooluga 5 ma. Tekkinud kuumuse tulemusena sulab dielektrik ning moodustub juhtivuslik side ülemise ja alumise kihi vahel (takisus 300 kuni 500
oomi ). Acteli "anti-fuse"-t kutsutakse ka kui
PLICE anti-fuse. Quicklogic-u oma kutsutakse "ViaLink" omab madalamat takistust (80 oomi), vajalik programmeerimispinge on samuti madalam (10
volti ). Anti-Fuse omab väikest pindala võrreldes, teiste meetoditega, samas jälle kõrgepinge transistore. Toomas Ruuben. TTÜ Raadio ja sidetehnika 48 instituut.
24 FPGA-de programmeerimise
tehnoloogiad (EPROM ja EEPROM) Tehnoloogiat kasutavad Altera Corp ja Plus Logic. Tehnoloogija on sama, mis EPROM mälude juures. Kasutatakse kui "
pull down" seadet loogikaplokkide sisendites. Niikaua, kui transistor pole programmeeritud OFF positsiooni, hoiab ta loogilise ploki
sisendit loogilise nulli tasemel. Puuduseks on see, et pull-up takisti tarbib voolu. Eeeliseks on, et on ümberprogrammeeritav kuid samas ei nõua välist andmehoidjat (ROM vm.)
Toomas Ruuben. TTÜ Raadio ja sidetehnika 49 instituut.
FPGA-de programmeerimise
tehnoloogiad (EPROM ja EEPROM) EPROM pole elektriliselt ümberprogrammeeritav EEPROM on elektriliselt ümberprogrammeeritav. EEPROM võtab võrreldes EPROM-ga 2 korda enam ruumi.
Toomas Ruuben. TTÜ Raadio ja sidetehnika 50 instituut.
25 Implementeerimine CAD system (vt. Joonist). NB! Sõltub otseselt tootjast Põhilised etapid on: Loogilise skeemi genereerimine (
aplikatsioon ) teisendatakse loogilisteks avaldisteks-võrranditeks. Loogiliste
avaldiste optimiseerimine (kiirus-maht-algebraline minimiseerimine) Loogiliste avaldiste sidumine FPGA loogiliste plokkidega. Plokkide arvu minimiseerimine. Loogiliste plokkide efektiivne
paigutamine FPGA-sse. Üritatakse minimiseerida ühenduste pikkusi. Marsruutimine -"wire segments"- "programmable switches" Programmeerimine. Toomas Ruuben. TTÜ Raadio ja sidetehnika 51 instituut.
XILINX
Toomas Ruuben. TTÜ Raadio ja sidetehnika 52 instituut.
26 XILINX CPLD
Toomas Ruuben. TTÜ Raadio ja sidetehnika 53 instituut.
XILINX Spartan 3 FPGA Madal hind, palju arhidektuurilisi omadusi. Hinna madalal hoidmiseks kasutab 90 nm tehnoloogiat Omab DSP funktsionaalsust (kaksteist 18*18 riistvaralist korrutit) Spetsiaalkorrutid väärtuste korrutamiseks konstandiga Kuni 330 GMAC suurusjärgus DSP funtsionaalsus Digital Clock
Management , sageduste genereerimine 25-325 MHz Kvadratuurne ja täppisfaasi juhtimine Efektiivne mälukasitus: 520 Kb jagatud mälu, 1.87 Mb kaasatud Block-RAM-i LUT on võimalik ühendada kaskaadi, et saavutada pikemaid registreid Pipeline registrid video või juhtmevaba ühenduse tarbeks. Üldkasutatavad liidesed väliste mäluseadmete ühendamiseks
Toomas Ruuben. TTÜ Raadio ja sidetehnika 54 instituut.
27 XILINX Spartan 3 FPGA
kasutus auto multimeedias
Toomas Ruuben. TTÜ Raadio ja sidetehnika 55 instituut.
Digitaalarvuti toimimise
üldpõhimõtted, arvsüsteemid Kümnendsüsteem K -1 A10( D ) = ai 10i i =0
Näiteks: 2 102 + 5 101 + 3 100 = 200 + 50 + 3 = 253
Kahendsüsteem K -1 A2( B ) = ai 2i i =0
Näiteks: 1 23 + 0 2 2 + 1 21 + 1 2 0 = 8 + 2 + 1 = 1110
Toomas Ruuben. TTÜ Raadio ja sidetehnika 56 instituut.
28 Digitaalarvuti toimimise
üldpõhimõtted, arvsüsteemid Süsteemi baas määrab arvsüsteemi (10-kümnendsüsteem, 2- kahendsüsteem, 8-kaheksandisksüsteem jne). K järkude arv Kahendsüsteem omab kahte arvu (0 ja1).
BITT on kahendsüsteemi 1 järk Näiteks neljajärguline (K=4) või neljabitine kahendarv
101 1 MSB LSB Võimalik kombinatsioonide arv 2K
28 = 256 (
BAIT ) Toomas Ruuben. TTÜ Raadio ja sidetehnika 57 instituut.
Digitaalarvuti toimimise
üldpõhimõtted, arvsüsteemid
a 7 a 6 a 5 a 4 a 3 a 2 a1 a 0
210 = 1,02410 214 = 16,38410 216 = 65,53610 220 = 1,048,57610
224 = 16,777, 21610 232 = 4, 294,967, 29610 264 = 18, 446,744,073,709,551,61610
Toomas Ruuben. TTÜ Raadio ja sidetehnika 58 instituut.
29 Digitaalarvuti toimimise
üldpõhimõtted SÕNA (WORD) on seotud protsessori registri (siini) laiusega. Üheks sõnaks loetakse infot, mis on kirjutatud ühte
registrisse . Sõltivalt protsessorist võib sõna sisaldada:
1
baiti (8
bitine protsessor ) 2 baiti (16 bitine protsessor) 4 baiti (32 bitine protsessor) 8 baiti (64 bitine protsessor)
Ajalooliselt levinuim sõnapikkus on 16 bitti
a15 ...........a8 a7 ..............a0 |
Toomas Ruuben. TTÜ Raadio ja sidetehnika 59 instituut.
Digitaalarvuti toimimise
üldpõhimõtted, koodid Toeltsõna DWORD on protsessori põhisõnast kaks korda pikem. Kahendsüsteemis
enamkasutatavad koodid:
Otsekood Vastandkood (1-st complement) Täiendkood (2-s complement) Kahend kümnendkood (BCD
Binary Coded Decimal) BCD vastandkood (9-s complement) BCD täiendkood (10-s complement)
Toomas Ruuben. TTÜ Raadio ja sidetehnika 60 instituut.
30 Digitaalarvuti toimimise
üldpõhimõtted, koodid
10-nd Otsekood 1-st 2-s BCD 9-s 10-s
süst. MSB....LSB
comp . compl. compl. compl.
0
00000 11111 00000 0000 0000
1001 1001 +1
1 00001 11110 11111 0000 0001 1001 1000 +1
2 00010 11101 11110 0000 0010 1001 0111 +1
3 00011 11100 11101 0000 0011 1001 0110 +1
9 01001 10110 10111 0000 1001 1001 0000 +1
35 10011 01100 01101 0011 0101 0110 0100 +1
Toomas Ruuben. TTÜ Raadio ja sidetehnika 61 instituut.
Digitaalarvuti toimimise
üldpõhimõtted Kuueteiskümnendsüsteem
D 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 H 0 1 2 3 4 5 6 7 8 9 A B C D E F
K -1 A16( H ) = ai 16i i =0
16910 =
1010 10012 = A916 A 9
Toomas Ruuben. TTÜ Raadio ja sidetehnika 62 instituut.
31 Digitaalarvuti toimimise
üldpõhimõtted. Teisendused Üleminek kahendsüsteemist kümnendsüsteemi B D
10 2 = K -1
1*21 + 0*20 = 2 10 A2( B ) = ai 2i i =0
1111100111 2 =
1*29 + 1*28 + 1*27 + 1*26 + 1*25 + 0*24 + 0*23 + 1*22 + 1*21 + 1*20 =
999 10 Toomas Ruuben. TTÜ Raadio ja sidetehnika 63 instituut.
Digitaalarvuti toimimise
üldpõhimõtted. Ülesanne Ülesanne
Leida kahendkoodis arvu
101 0110 1 MSB LSB
kümnendkoodis vaste
Toomas Ruuben. TTÜ Raadio ja sidetehnika 64 instituut.
32 Digitaalarvuti toimimise
üldpõhimõtted. Teisendused Üleminek kümnendsüsteemist kahendsüsteemi D B
25 10 = 11001 2
25/ 2 = 12, jääk 1, see bitt on LSB 12/ 2 = 6, jääk 0 6/ 2 = 3, jääk 0 3/ 2 = 1, jääk 1 1 jääk 1, see bitt on MSB
Toomas Ruuben. TTÜ Raadio ja sidetehnika 65 instituut.
Digitaalarvuti toimimise
üldpõhimõtted. Teisendused Kümnendarvu
murdosa teisendamine kahendarvuks Murdosa korrutatakse kahega. Kui tekkis täisosa, see lahutatakse ja saadakse bitt väärtusega 1, kui täisosa ei tekkinud saadakse bitt väärtusega 0. Näiteks: 25,375 = 25 + 0,375 2510 = 110012
0,37510 2 = 0,75 0 MSB 0.75 2 = 1,5 1 0.5 2 = 1,0 1 LSB
25,37510 = 11001,0112
Toomas Ruuben. TTÜ Raadio ja sidetehnika 66 instituut.
33 Digitaalarvuti toimimise
üldpõhimõtted. Teisendused Üleminek 16-nd süsteemi D H Toimub vastavalt kümnendsüsteemis oleva arvu
jagamise teel 16- ga (täisarvud) või korrutamise (
murdarvud ) teel. Näiteks:
31710 :16 = 19 jääk 13 D 19 :16 = 1 jääk 3 3 1 jääk 1 1
31710 = 13D16
Toomas Ruuben. TTÜ Raadio ja sidetehnika 67 instituut.
Digitaalarvuti toimimise
üldpõhimõtted. Teisendused Üleminek 16-nd süsteemi võib toimuda ka kahendsüsteemi kaugu grupeerides bitte nelja kaupa
31710 = 1 0011 11012 = 13D16 1 3 13 D16 Murdarvude korral 0,7810 16 = 12 C jääk 0,48 0,48 16 = 7 7 jääk 0,68 0,68 16 = 10 A jääk 0,88 ....... 0,7810 = 0,C7A....16
Toomas Ruuben. TTÜ Raadio ja sidetehnika 68 instituut.
34 Digitaalarvuti toimimise
üldpõhimõtted. Teisendused Ülesanne
Leida kümnendsüsteemis arvu
52,425
kahendsüsteemis ja kuueteistkümnendsüsteemis vaste.
Toomas Ruuben. TTÜ Raadio ja sidetehnika 69 instituut.
Digitaalarvutis teostatavad
tehted (Liitmine) FPGA konteksis kasutatakse ainult summeerimist/lahutamine Liitmise reeglid: 0+0=0 0+1=1 1+0=1 1 + 1 = 10
Näiteks:
1101 +1 1 0 ----------- 10011
Toomas Ruuben. TTÜ Raadio ja sidetehnika 70 instituut.
35 Digitaalarvutis teostatavad
tehted (Liitmine) Poolsummaator (HA) Täissummaator (FA)
Serial adder (SA) Akumulaator serial adder (ASA) Paralleelsummator (PA) Ülekannet äratundvad skeemid
Toomas Ruuben. TTÜ Raadio ja sidetehnika 71 instituut.
Digitaalarvutis teostatavad
tehted (Lahutamine) Lahutamisel teisendatakse kõigepealt arv negatiivseks ja siis liidetakse Arvu teisendamine negatiivseks võib toimuda kahel erineval moel Arv inverteeritakse ja liidetakse ja liidetakse 1. Seejärel lisatakse märgibitt |-7710|=7710=10011012 0110010 +1
10110011 Arvu absoluutväärtus lahutatakse nullist 0000000 1001101
10110011
Toomas Ruuben. TTÜ Raadio ja sidetehnika 72 instituut.
36 Digitaalarvutis teostatavad tehted
(Negatiivsete atvude esitamine) Märgibitt on kajastatud vanemas bitis (MSB)
MSB LSB Arv MSB LSB 2-s C Liht 1-s C 0000 +0 1000 -8 (-)0 -7 0001 +1 1001 -7 -1 -6 0010 +2 1010 -6 -2 -5 0011 +3
1011 -5 -3 -4 0100 +4 1100 -4 -4 -3 0101 +5 1101 -3 -5 -2 0110 +6 1110 -2 -6 -1 0111 +7
1111 -1 -7 (-)0
Toomas Ruuben. TTÜ Raadio ja sidetehnika 73 instituut.
Digitaalarvutis teostatavad
tehted (Elementaartehted)
Loendamine0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001
Nihutamine viiakse läbi registris, mis võib olla
Toomas Ruuben. TTÜ Raadio ja sidetehnika 74 instituut.
37 Digitaalarvutis teostatavad tehted
(Elementaartehted) Aritmeetiline nihutamine:
Nihutamine ühe võrra vasakule vastab arvu korrutamisele 2-ga Nihutamine ühe võrra paremale vastab arvu jagamisele 2 ga
Ringnihe : Toimub vasakule või paremale ning nn. väljakukkunud bitt kirjutatakse vastavalt kas LSB või MSB järku
Toomas Ruuben. TTÜ Raadio ja sidetehnika 75 instituut.
Digitaalarvutis teostatavad
tehted (Korrutamine) Korrutamise reeglid:
0*0=0 0*1=0 1*0=0 1*1=1
Suuremate arvude korral võib korrutamist alustada nii noorematest kui
vanematest bittidest. Igale korrutatavale arvu järgule kulub 2
takti . Näiteks neljajärgulise arvu korrutamiseks vajame 8 takti + nullimised Negatiivsete arvude
korrutamisel on vaja selgeks teha märk. Kasutame XOR funktsiooni. Toomas Ruuben. TTÜ Raadio ja sidetehnika 76 instituut.
38 Digitaalarvutis teostatavad
tehted (Korrutamine) Korrutise tulemusregister peab olema piisavalt suur (vähemalt kaks korda pikem operandide registritest).
Korrutame omavahel kaks kahendarvu (Näide tahvlil):
A 1001 B 1011
Toomas Ruuben. TTÜ Raadio ja sidetehnika 77 instituut.
Digitaalarvutis teostatavad
tehted (Korrutamine) Iseseisev ülesanne
Korrutada omavahel 2 kahendarvu
A 10011010 B 1011
Toomas Ruuben. TTÜ Raadio ja sidetehnika 78 instituut.
39 Digitaalarvuti komponendid.
ALU ALU (
Aritmetic Logic
Unit ) Kujutab endast nn. protsessori südant milles teostatakse põhilised aritmeetika loogika tehted kahe
muutuja ehk kahe operaatori vahel. Klassikalised
aritmeetikatehted ALU-s:
Summeerimine Nihe Korrutamine Jagamine
Loogikatehted ALU-s NING (AND) VÕI (OR) Välistav VÕI (XOR) Invertor
Toomas Ruuben. TTÜ Raadio ja sidetehnika 79 instituut.
Digitaalarvuti komponendid.
ALU ALU struktuur
A ja B - andmeregistrid R - väljund F - käsukood (instruction) D - Olekusõna Toomas Ruuben. TTÜ Raadio ja sidetehnika 80 instituut.
40 Digitaalarvuti komponendid.
ALU
Toomas Ruuben. TTÜ Raadio ja sidetehnika 81 instituut.
Digitaalarvuti komponendid.
ALU olekuregister ALU olekuregister sisaldab klassikaliselt järgmisi väärtusi:
Z Zero flag. ALU väljund on null C Ülekande bitt (
Carry flag) X
Extend bit N või S Tulemus on negatiivne või märgiga V või O või W Tegemist on ületäitumisega P Paarsus bitt, kas tulemus omab paaris või paaritu arvu bitte
ALU järk, siisni laius määrab ära süsteemi järgu
Toomas Ruuben. TTÜ Raadio ja sidetehnika 82 instituut.
41 Digitaalarvuti komponendid
Trigerid
Triger on mäluga
loogikaelement .
Triger säilitab ühe biti informatsiooni (0 või 1)
Informatsioon trigeris säilub, kuni toide on sisse lülitatud
Trigerid koostatakse universaalsetest loogikaelementidest (NING-EI , VÕI -EI)
Trigerid jagunevad asünkroonseteks või sünkroonseteks e. takteeritavateks
Toomas Ruuben. TTÜ Raadio ja sidetehnika 83 instituut.
Digitaalarvuti komponendid
Trigerid TRIGER
ASÜNKROONNE SÜNKROONNE
Väljundi olek Väljundi olek muutub kohe muutub hetkel, kui
sisendsignaali sisendimpulsi ajal saabumisel. saabub taktimpulss.
Toomas Ruuben. TTÜ Raadio ja sidetehnika 84 instituut.
42 Digitaalarvuti komponendid
Trigerid Trigerid tähistatakse nende põhisisendite tähistega:
SR, JK, D, T,
Asünkroonsel RS
trigeril on kaks sisendit S ja R ja kaks väljundit
Q ja Q
Toomas Ruuben. TTÜ Raadio ja sidetehnika 85 instituut.
Digitaalarvuti komponendid RS
Trigerid RS
trigeri väljundis on 2 püsiolekut: Q=1 Q=0 Q=0 Q=1
Trigeri talitlus (VÕI-EI elemendi baasil)
R Q
S Q
Toomas Ruuben. TTÜ Raadio ja sidetehnika 86 instituut.
43 Digitaalarvuti komponendid RS
Trigerid R=0 ja S=0 korral säilitab RS triger selle oleku, mis tal oli enne sisendsignaalide saabumist.
S=0 ja R=1 korral tekib Q väljundis 0 sõltumata sellest, kas seal oli enne 1 või 0.
Sisendsignaalide S=1 ja R=0 korral tekib Q väljundis alati 1, sõltumata sellest, kas seal oli sisendsignaalide saabumise hetkel 1 või 0.
Kui trigeri mõlemas
sisendis on 1, jääb triger ebapüsivasse olukorda. Väljundis võib olla nii 1 kui 0.
Toomas Ruuben. TTÜ Raadio ja sidetehnika 87 instituut.
Digitaalarvuti komponendid RS
Trigerid
RS triger võib olla koostatud ka NING-EI elementide baasil kuid siis on olekutabel vastupidine ja sisendsignaalide keelatud kombinatsiooniks on R=0 , S=0. Toomas Ruuben. TTÜ Raadio ja sidetehnika 88 instituut.
44 Digitaalarvuti komponendid RS
Trigerid Sünkroontriger koosneb juhtlülitusest ja RS trigerist.
DD1 DD3 S Q
C DD2
Q R DD4
Toomas Ruuben. TTÜ Raadio ja sidetehnika 89 instituut.
Digitaalarvuti komponendid RS
Trigerid Kui juhtimissisendis C puudub taktimpulss, on mõlema juhtimistrigeri DD1 ja DD2 väljundis 0, sõltumata sellest, kas nende teise sisendisse saabub 0 või 1.
Taktimpulsi saabudes toimib triger samamoodi kui asünkroonne triger
Toomas Ruuben. TTÜ Raadio ja sidetehnika 90 instituut.
45 Digitaalarvuti komponendid JK
Trigerid JK trigeri põhisisendid on J ja K, sünkroonsel ka C
Kui sisendis on vastavalt kombinatsioonid
00 10 01
siis toimib samamoodi kui VÕI-EI elementidest koosneva RS - trigeriga Toomas Ruuben. TTÜ Raadio ja sidetehnika 91 instituut.
Digitaalarvuti komponendid JK
Trigerid Puuduvad keelatud kombinatsioonid J=1 ja K=1. JK trigeri väljundolek muutub vastupidiseks
Qn+1 = Qn
Tegemist on kaheastmelise trigeriga TT. Koosneb kahest NING-EI elementidest koosnevast RS sünkroontrigerist.
Toomas Ruuben. TTÜ Raadio ja sidetehnika 92 instituut.
46 Digitaalarvuti komponendid D
Trigerid Realiseerib viivituse (D, inglise keeles delay)
D trigeri väljundsignaal on taktis n+1 sama, mis oli sisendis eelmisel taktil
Qn +1 = D n
D triger viivitab tema sisendisse saabuvat informatsiooni ühe sünkroniseerimistakti võrra
Toomas Ruuben. TTÜ Raadio ja sidetehnika 93 instituut.
Digitaalarvuti komponendid T
Trigerid T triger on loendur, omab ühte nn. loendussisendit T triger saadakse JK trigerist kui
signaal anda C sisendisse ning kokkuühendatud J- ja K
sisendile rakendada 1 signaal
1 Q T Q
T triger lülitub ümber, kui sisendisse satub
impulssQ n+1 = Q n
Toomas Ruuben. TTÜ Raadio ja sidetehnika 94 instituut.
47 Digitaalarvuti komponendid T
Trigerid T triger võib olla realiseeritud ka sünkroonsena
Eksisteerivad ka nn. liittrigerid
RST, DRS,
JKKSTrigerite sisendid ja väljundid mida ei kasutata jäetakse joonisel näitamata.
Toomas Ruuben. TTÜ Raadio ja sidetehnika 95 instituut.
Digitaalarvuti komponendid
Register (põhitõed) Register on trigeritel põhinev lülitus
N- bitilise kahendkoodi salvestamiseks on vaja N trigerit mis moodustavadki registri.
Info säilib registris kuitahes kaua, kuni toide on sees.
Registris sisalduvat infot saab tarvidusel kustutada.
Info võib olla registrisse salvestatud paralleelselt või järjestikuselt.
Rööbitise sisendi ja väljundiga register on nn. mäluregister Toomas Ruuben. TTÜ Raadio ja sidetehnika 96 instituut.
48 Digitaalarvuti komponendid
Register Järjestikuse sisendi ja väljundiga register on nn. nihkeregister
Info sisestamist registrisse nimetatakse registri laadimiseks.
Info väljastamist registrist nimetatakse registrist lugemiseks.
Enne info salvestamist register nullitakse, st. viiakse nullimissisendisse antava impulsiga olekusse,
mispuhul kõikides väljundites on 0
Vaatleme lihtsat kolmebitist mäluregistrit, mille sisendisse saabub kahendsõna ABC=101 (vt. järgmine slaid)
Toomas Ruuben. TTÜ Raadio ja sidetehnika 97 instituut.
Digitaalarvuti komponendid
Register Kolmebitine mäluregister
Toomas Ruuben. TTÜ Raadio ja sidetehnika 98 instituut.
49 Digitaalarvuti komponendid
Register
Salvestamine saab toimuda ajal, kui NING elementide DD1 DD3 sisendisse saabub laadimisimpulss.
Elementide DD1 ja DD3 mõlemas sisendis on seega signaal 1 ehk ka nende elementide väljundites.
1 signaal on ka trigerite DD4 ja DD6 sisendites ja väljundites.
Elementide DD2 ja DD5 väljundites on endiselt 0.
Registrist lugemiseks tuleb anda lugemisimpulss NING elementide DD7 DD9 sisenditesse
Toomas Ruuben. TTÜ Raadio ja sidetehnika 99 instituut.
Digitaalarvuti komponendid
Register Lugemisimpulsi kestel on NING elementide DD7 ja DD9 mõlemas sisendis 1, mistõttu 1 signaal tekib ka nende väljundis.
DD8 ei saa ümber lülituda ning tema väljundisse jääb 0.
Trigeri väljundist saame sinna salvestatud sõna 1 0 1. Kuna trigerite
olekud ei muutu, saab lugemist
korrata .
Uue sõna salvestamiseks tuleb triger nullida.
Nihkeregister nihutab iga taktimpulsi toimel sisestatava kahendarvu kohti ühe võrra (vt. järgmine slaid).
Toomas Ruuben. TTÜ Raadio ja sidetehnika 100 instituut.
50 Digitaalarvuti komponendid
Register Nihkeregister
Nihkeregister nihutab iga taktimpulsi toimel sisestatava kahendarvu kohti ühe võrra (tuleneb D trigeri omadustest). Kahensõna nihkub ühe koha võrra kui taktimpulss anda sisendisse C Toomas Ruuben. TTÜ Raadio ja sidetehnika 101 instituut.
Digitaalarvuti komponendid
Register Registri lülitusse lisatavate loogikaelementide abil on võimalik sõna nihutada ka vasakule või sisestada ja väljastada teda rööbitiste bittidena.
Toomas Ruuben. TTÜ Raadio ja sidetehnika 102 instituut.
51 Digitaalarvuti komponendid
Dekooder Dekooder võimaldab identifitseerida sisendis olevat kahendkoodi.
Dekoodril on nii mitu sisendit, kui mitu kohta n on kahendarvudel. Väljundite arv võib
ulatuda võimalike koodikombinatsioonide arvuni 2 n. Dekodeerimislülitus võib baseeruda NING-EI elementidel. Neid elemente peab olema vastavalt koodikombinatsioonide vajalikule arvule 2 n .
Et NING-EI element reageerib üksnes 1-signaalidele, kood aga sisaldab ka 0-signaale, teisendatakse need ühtedeks inverterite DD1 ja DD2 abil (vt järgmine slaid).
Toomas Ruuben. TTÜ Raadio ja sidetehnika 103 instituut.
Digitaalarvuti komponendid
Dekooder Lihtne kahebitise koodi dekooder (koostada olekutabel)
Y0
Y1
Y2
Y3
Toomas Ruuben. TTÜ Raadio ja sidetehnika 104 instituut.
52 Digitaalarvuti komponendid
Dekooder Dekoodri olekutabel
A B Y0 Y1 Y2 Y3 0 0 0 1 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 0
Dekooder tunneb ära registri, loenduri v. jaguri väljundist dekoodri sisendisse
saabuva kahendarvu ja annab signaali vastavasse väljundisse. Dekoodrit saab kasutada protsessori kontaktide (port) kokkukoiuks. Toomas Ruuben. TTÜ Raadio ja sidetehnika 105 instituut.
Digitaalarvuti komponendid
Multipleksor Multipleksorit kasutatakse
siinide ehk magistraalide kommuteerimiseks
Multipleksor võimaldab valida ühe mitmest siinist ja ühendada selle oma väljundmagistraaliga
Multipleksori juhtimine toimub nn. sisendkoodi ehk juhtkoodi abil.
Juhtkoodi järk sõltub komuteeritavate sisendite arvust. Näiteks 4 sisendi korral vajame kahebitist juhtkoodi.
Multipleksor koosneb dekoodrist ning NING ja VÕI elementidest
Toomas Ruuben. TTÜ Raadio ja sidetehnika 106 instituut.
53 Digitaalarvuti komponendid
Multipleksor Skeem
Toomas Ruuben. TTÜ Raadio ja sidetehnika 107 instituut.
Digitaalarvuti komponendid
Demultipleksor Demultipleksor võimaldab komuteerida sisendmagistraali ühele mitmest väljundmagistraalist.
Demultipleksorit kasutatakse üldjuhul harvemini.
Juhtimiseks kasutatakse analoogiliselt multipleksoriga jutkoodi mille järkude arv sõltub siinide arvust väljundis.
Demultipleksor koosneb koosneb dekoodrist ning NING elementidest.
Reeglina kasutatakse lihtsusutatud skeeme
Toomas Ruuben. TTÜ Raadio ja sidetehnika 108 instituut.
54 Digitaalarvuti komponendid
Demultipleksor Skeem
Toomas Ruuben. TTÜ Raadio ja sidetehnika 109 instituut.
Loogikafunktsioonid,
loogikavõrrandid Loogikafunktsioonid
Toomas Ruuben. TTÜ Raadio ja sidetehnika 110 instituut.
55 Loogikafunktsioonid,
loogikavõrrandid Loogikafunktsioonid
Toomas Ruuben. TTÜ Raadio ja sidetehnika 111 instituut.
Loogikafunktsioonid,
loogikavõrrandid Loogikafunktsioonid
Toomas Ruuben. TTÜ Raadio ja sidetehnika 112 instituut.
56 Loogikafunktsioonid,
loogikavõrrandid Loogikafunktsioonid
Kahendfunktsioone esitada peale loogikatabelite ka valemite abil.
Oletame, et A ja B on valemid, siis muutujate arvu
suurendamine on sageli võimalik induktiivselt
Toomas Ruuben. TTÜ Raadio ja sidetehnika 113 instituut.
Loogikafunktsioonid,
loogikavõrrandid Muutujate arvu suurendamine. Näide:
Kui F=A&B ja A=a&b, B=c&d, siis F=a&b&c&d
Siinjuures F on nelja argumendi loogiline korrutis, F=1 ainult siis, kui
a=b=c=d=1
Kahendfunktsioonide teisendusvalemitel on suur analoogia algebraliste teisendustega
Toomas Ruuben. TTÜ Raadio ja sidetehnika 114 instituut.
57 Loogikafunktsioonid,
loogikavõrrandid
Nr. Teisendusvalemid Teisenduse alus
1. x+y=y+x x·y=y·x Kommutatiivsus
2. x+0=x x·1=x Identsus
3. x + (y · z) = (x + y) · (x + z) Distributiivsus x · (y + z) = (x · y)+ (x · z)
4. x + x =1 x x=0
Komplementaarsus 5. x+x=x x·x=x Idempotentsus
6. 1+x=1 0·x=0
Domineerimine 7. x + xy = x x(x+y)=x Absorbtsioon
8. x + (y + z) = (x + y) + z
Assotsiatiivsus z · (y · z) = (x · y) · z
9. x + y = x y x y = x + y De Morgani
teoreem 10. (x) = x Involutsioon Toomas Ruuben. TTÜ Raadio ja sidetehnika 115 instituut.
Loogikafunktsioonid,
loogikavõrrandid Teisendusvalemeid kasutatakse selleks, et
Funktsiooni esitavat valemit lihtsustada
Anda funktsiooni valemile niisugune kuju, mis sisaldab ainult kindla valiku etteantud elementaarfunktsioone ja mis kuulub realiseerimisele just neid elementaarfunktsioone realiseerivate lülituste abil
Vaatleme näiteid tahvlil lihtsustamise ja ühte tüüpi elementide kasutamise kohta.
Toomas Ruuben. TTÜ Raadio ja sidetehnika 116 instituut.
58 FPGA disaini etapid Simuleeritava spetsifikatsiooni loomine Kas idee põhimõtteliselt töötab?
Spetsifikatsiooni tükeldamine Hallatavus ja korduvkasutus
Algoritmiline täpsustamine Arhidektuursete lahenduste valimine
Spetsifikatsiooni teisendamine skeemiks
Prototüüpimine FPGA baasil, jah FPGA eesmärgiks võib olla ka vaid prototüübi koostamine,
Toomas Ruuben. TTÜ Raadio ja sidetehnika 117 instituut.
FPGA disaini etapid Simuleeritava spetsifikatsiooni eesmärgiks on tuvastada mudeli
korrektsus ning kas
tellija ja projekteerija on üksteisest õieti aru saanud.
Süsteemi tükeldamine seisneb ülesannete jagamises
riist - ja
tarkvara vahel, liideste spetsifitseerimises (siinid,
protokollid ).
Algoritmide täpsustamine seisneb erinevate arhidektuuriliste lahenduste läbimängimises enne lõplike otsuste tegemist.
Algoritmi valik (mooduli jõudlus ja suurus)
Toomas Ruuben. TTÜ Raadio ja sidetehnika 118 instituut.
59 FPGA disaini etapid Spetsifikatsiooni teisendamine skeemiks
Arhidektuuri fikseerimine (siinide arv ja
hierarhia , protsessorite arv) Tarkvara (operatsioonsüsteemi valik/loomine, riistvarapöörduste lahendamine) Algoritmist skeemini VHDL
Modelleerimise ja prototüüpimise abil toimub vajaduste ja ressursside reaalne hindamine, vajadusel ka algoritmi või riistvara täiendamine.
Testimis-strateegiate väljatöötamine.
Toomas Ruuben. TTÜ Raadio ja sidetehnika 119 instituut.
FPGA
disain FPGA programmeerimine (Disain) seisneb loogiliste plokkide valikus, paigutamises ja nendevaheliste ühenduste loomises
Toomas Ruuben. TTÜ Raadio ja sidetehnika 120 instituut.
60 Mis on VHDL VHDL (VHSIC-Hardware Description Language)
VHSIC- Very-High Speed Integrated Circuits (VHDL on osa sellest projektist)
VHDL on põhikeeleks FPGA-de ja ASIC-ute programmeerimisel
VHDL mudel transleeritakse nn. "Gates and
Wires "
tasemele , mis on võimalik laadida FPGA-sse
Algus-USA kaitseministeerium
Toomas Ruuben. TTÜ Raadio ja sidetehnika 121 instituut.
VHDL eelised/omadused
Avatus ja kättesaadavus
Toetab erinevaid disaini
meetodeid ja tehnoloogiad
Võimaldab kasutada tiimitööd erinvate partnerite vahel
Sõltumatu kiipide tootmistehnoloogiatest
Kirjeldusviiside suur valik
Riiklik toetus (USA-s)
Toomas Ruuben. TTÜ Raadio ja sidetehnika 122 instituut.
61 VHDL eelised/omadused Võimaldab algoritme enne riistvaraga sidumist testida ja modelleerida
Võimaldab luua mitmetegumilisi (nn. multitasking) süsteeme
Ei
eelda programmeerimiskeelte nagu C++ tundmist kuid teadmised sellest tulevad kasuks
Omab valmis nn. Library-d
Modelleerimine võib toimuda erinevatel abstraktsiooni tasemel (loogikavõrrandid, väravad (gates) )
Toomas Ruuben. TTÜ Raadio ja sidetehnika 123 instituut.
VHDL eelised/omadused VHDL omab valmis struktuure (templates) levinumate konstruktsioonide realiseerimiseks. Nenedeks on näiteks:
MUX multipleksor
D-type Flip-Flop, diskreedib signaali kas süsteemikella tõusva või
langeva frondi järgi (sünkroonse loogika üheks aluseks)
Loendurid (Counter)
VHDL võib omada konstruktsioone, mis on mõeldud vaid simuleerimiseks, mingite abitoimingute teostamiseks. Neid ei ole võimalik riistvaras realiseerida.
Toomas Ruuben. TTÜ Raadio ja sidetehnika 124 instituut.
62 VHDL objektid VHDL
jaotab objektid nelja klassi:
Konstant (constant) objekt, mille väärtust ei muudeta.
Signaal (signal) objekt, mis omab eelnevaid väärtusi
Muutuja (variable) objekt, mille väätrus võib olla eri ajahetkedel erinev
Fail (file) objekt, mis esitab faili programmeerimiskeskkonnas
Toomas Ruuben. TTÜ Raadio ja sidetehnika 125 instituut.
VHDL kood VHDL kood sisaldab minimaalselt järgmisi koostisosi:
Entity (olem, komponent, üksus) mis kirjeldab liidese.
Arhchidecture (arhidektuur) mis sisaldab aktuaalse implementatsiooni.
Praktikas kasutatakse ka valmis koostatud Library mooduleid
VHDL kood võib sisaldada ka mitmeid erinevaid arhidektuure ning kofiguratsioone
RTL (Register Transfer Level) kasutatakse sünkroonsete digitaalahelate kirjeldamiseks. Toomas Ruuben. TTÜ Raadio ja sidetehnika 126 instituut.
63 VHDL kood (näide)
Toomas Ruuben. TTÜ Raadio ja sidetehnika 127 instituut.
VHDL sünteesitavad
konstruktsioonid Süntees on protsess, kus VHDL kompileeritakse teisendatakse konkreetse kiibistiku tarbeks
Kõik VHDL-I konstruktsioonid pole ette nähtud sünteesiks. Näiteks on sellisteks ajastusega seotud konstruktsioonid (Delay)
Laialdaselt kasutatav sünteesitav
konstruktsioon on MUX (multiplexer) lülitus
Toomas Ruuben. TTÜ Raadio ja sidetehnika 128 instituut.
64 VHDL sünteesitavad
konstruktsioonid MUX
Toomas Ruuben. TTÜ Raadio ja sidetehnika 129 instituut.
VHDL sünteesitavad
konstruktsioonid VHDL MUX koodinäidis nelja sisendi korral
VHDL MUX koodinäidis kahe sisendi korral
Toomas Ruuben. TTÜ Raadio ja sidetehnika 130 instituut.
65 VHDL mittesünteesitavad
konstruktsioonid Mittesünteesitavad konstruktsioonid ei ole transleeritavad riistvara tasemele.
Mittesünteesitavaid konstruktsioone kasutatakse prototüüpimiseks, simulatsiooniks ja analüüsiks (debugging)
Näiteks kood 50 MHz kellasignaali tekitamiseks:
Toomas Ruuben. TTÜ Raadio ja sidetehnika 131 instituut.
VHDL Ülesanne
Kirjutada demultipleksori (DMUX) "
template " VHDL
koodis DMUX Eelnev MUX näide
Toomas Ruuben. TTÜ Raadio ja sidetehnika 132 instituut.
66 Kirjandus VHDL-I kohta K. Tammemäe. "Riistvara kirjeldamiskeel VHDL", TTÜ, 1992, 2002.
Chang , K.C, "Digital systems design with VHDL and
synthesis : an integrated
approach ". IEEE Computer Society, c1999.
David Pellerin,
Douglas Taylor, "VHDL Made Easy!", Prentice Hall PTR, 1997.
Smith, Douglas J., "HDL chip design: A
practical guide for designing, synthesizing and simulating ASICs and FPGAs using VHDL or Verilog", 1997.
Toomas Ruuben. TTÜ Raadio ja sidetehnika 133 instituut.
Verilog omadused Alternatiiv VHDL-ile
On püütud luua võimalikult "C++" sarnane, sisaldab "if", "
while " jne. tsükleid Põhirõhk on pandud reaalajas töötlemisele Baseerub
moodulite hierarhial Moodulid on defineeritud
sisend -väljund ja kahesuunaliste (bidirectional)
portide kaudu Võimaldab paralleeltöötlust, programmide täitmine ei pruugi toimuda lineaarselt
Operaatorid loogiliste tehete sooritamiseks (vt. Järgmine slaid)
Toomas Ruuben. TTÜ Raadio ja sidetehnika 134 instituut.
67 Verilog omadused Verilogis eksisteerib 2 omistavat
operaatoritBlokeeriv
omistamine (=) Mitteblokeeriv omistamine (
Kõik kommentaarid