Upload
nguyenkhuong
View
225
Download
0
Embed Size (px)
Citation preview
ALGIRDAS KLIMAVIIUS
PLM ALTERA MOKOMASIS METODINIS LEIDINYS
VIKO ELEKTRONIKOS IR INFORMATIKOS FAKULTETAS 2008
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
2
TURINYS:
1. PLM APVALGA ...........................................................................................................................5
2. PLM SCHEMOTECHNIN DALIS ...............................................................................................9
2.1 Paprasiausi programuojam logini tais sandara.........................................................9
2.2 Programuojamos logins matricos tipins funkcins schemos analiz, veikimo principo,
pakop ir element paskirties paaikinimas .............................................................................13
2.3 Programavimo proceso analiz ir principo paaikinimas ..................................................18
3. PLM KONSTRUKCIJA ................................................................................................................19
3.1 ALTERA MAX3000 serijos PLM konstrukcij apvalga..................................................19
3.2 ByteBlaster MV konstrukcija ...............................................................................................21
4. PROJEKTAVIMO SISTEMA MAX+plus II ................................................................................24
4.1 Pagrindiniai projekto sukrimo principai ...........................................................................24
4.2 Redaktori paaikinimas .......................................................................................................24
4.3 Darbas su projektu.................................................................................................................29
5. PRAKTINIAI PLM PROGRAMAVIMO DARBAI .....................................................................32
5.1 Darbas su AHDL programine kalba ....................................................................................32
5.2 Darbas su VHDL programine kalba ....................................................................................34
5.3 Tipini kombinacini grandini modeliavimas ..................................................................37
5.3.1 ifratoriaus modeliavimas tekstiniu bdu .........................................................................37
5.3.2 ifratoriaus modeliavimas grafiniu bdu ..........................................................................43
5.3.3 Deifratorius modeliavimas tekstiniu bdu.......................................................................44
5.3.4 Deifratoriaus modeliavimas grafiniu bdu ......................................................................45
5.3.5 Multiplekserio modeliavimas tekstiniu bdu ....................................................................47
5.3.6 Multiplekserio modeliavimas grafiniu bdu .....................................................................51
5.3.7 Demultiplekserio modeliavimas tekstiniu bdu................................................................52
5.3.8 Demultiplekserio modeliavimas grafiniu bdu .................................................................55
5.4 Skaitiklio modeliavimas .........................................................................................................56
5.4.1 Skaitiklio modeliavimas tekstiniu bdu ............................................................................56
5.4.2 Skaitiklio modeliavimas grafiniu bdu .............................................................................61
6. ATERA INTERNETE....................................................................................................................65
7. INFORMACIJA APIE ATERA PRODUKTUS INTERNETE ......................................................66
Purchasing Information ..............................................................................................................66
Cyclone II FPGA Starter Development Kit .......................................................................................68
Ordering Information .................................................................................................................68
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
3
Development Kit Contents .........................................................................................................68
Available Documentation...........................................................................................................69
Cyclone III FPGA Starter Kit from Altera Corporation.............................................................70
Ordering Information .................................................................................................................70
Cyclone III and Nios II 32-bit soft IP processor ........................................................................71
High-Speed Mezzanine Card Interface ......................................................................................71
Development Kit Contents .........................................................................................................71
Available Documentation...........................................................................................................72
DSP Development Kit, Cyclone II Edition ........................................................................................72
Ordering Information .................................................................................................................72
Development Kit Contents .........................................................................................................73
Available Documentation...........................................................................................................74
MAX II Development Kit from Altera Corporation .....................................................................74
Ordering Information .................................................................................................................74
Development Kit Contents .........................................................................................................74
Nios II Development Kit, Cyclone II Edition ....................................................................................75
Development Kit Contents .........................................................................................................76
Software Development Tools.....................................................................................................77
PCI Development Kit, Cyclone II Edition .........................................Error! Bookmark not defined.
Ordering Information .................................................................................................................78
Development Kit Contents .........................................................................................................78
Software Development Tools.....................................................................................................79
Hardware Development Tools ...................................................................................................79
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
4
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
5
1. PLM APVALGA Vis gaminam PLM bendros savybs yra tai, kad jie visi apdorojant signalus:
dirba labai greitai
yra galimyb realizuoti sudtingus paralelinius algoritmus
yra automatizuoto projektavimo sistemos, su kuriomis galima atlikti piln sistemos
modeliavim
yra galimyb programuoti arba keisti konfigracij tiesiogiai sistemoje
yra palaikymas keiiant algoritmus kalb VHDL, AHDL lygio
yra palaikymas pagal lygius ir galimyb realizuoti standartin ssaj
yra galimyb ikart panaudoti funkcijas, kuri algoritmai yra labai sudtingi
PLM architektrins savybs gali bti labai gerai pritaikytos tokioms operacijoms kaip
daugyba, kodavimas
Dabar PLM darbo greitis jau pasiek toki rib, kaip 250-300MHz, kas leidia realizuoti
daugum algoritm radijo diapazone.
Tam, kad geriau suprastume PLM skirtumus, reikia apvelgti j vystymsi. 1970 metais
integralini schem rinkoje dominavo schemos, kurios turjo programuojamas matricas IR ir
ARBA. ios architektros pavadinimas buvo FPLA (Field Programmable Logic Array) ir FPLS
(Field Programmable Logic Sequensers). i PLM analogai buvo K556PT1, PT2, PT21. ios
architektros trkumas tai maas ARBA dalies panaudojimas.
Tobuljant iai struktrai integralini schem krjai pasil paprastesnio tipo architektros
sprendim programuojamos logins matricos architektr (PAL Programmable Array Logic ir
GAL Gate Array Logic) tai PLM, kurie turi programuojam IR matric ir fiksuot ARBA
matric. PLM GAL tipo ijime yra trigeris. ioje klasje yra daug PLM su nedideliu integracijos
lygiu. Pavyzdiui, tai gali bti 155X4, X6, X8, X8 arba pradiniai gaminiai 1980
metais toki bendrovi kaip INTEL, ALTERA, AMD, LATTICE ir kit.
Taip pat buvo sukurtas PLM architektros tipas, kuris turjo tik programuojam matric IR.
Tokios matricos pavyzdys gali bti INTEL bendrovs 85C508 schema.
Kitas sprendimas sumainti programuojam matric ARBA yra programuojama makrologika.
PLM, sukurti pagal i architektr, turi vienintel programuojam matric IR-NE arba ARBA-
NE. Naudojant daug inversini atbulini ryi, yra galimyb ir iose PLM formuoti sudtingas
logines funkcijas. Tok tip turi PLM PLHS501 ir PLHS502 schem SIGNETICS bendrovs,
turintiems IR-NE matricos tip. ARBA-NE matricos tipo pagrindas yra bendrovs EXEL
schema XL78C800.
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
6
Visos anksiau ivardintos PLM architektros turi nedidel narveli kiek ir naudojamos
realizuojant nesudtingus taisus, kuriems nra integralini schem analog. Aiku, norint realizuoti
sudtingus valdymo algoritmus, j panaudojimas nra manomas.
1980m. PLM rinkoje dominuoja trys bendrovs. 1983 buvo steigta ALTERA Corporation
bendrov, (101 Innovation Drive, San Jose, CA 95134, USA, www.ALTERA.com). 1984m. steigta
Xilinx Inc. bendrov (2100 Logic Drive, San Jose, CA 95124-3400, USA, www.xilinx.com).
1985m. steigta Actel Corporation bendrov (955 East Arques Avenue, Sunnyvale, CA 94086-4533,
USA, www.actel.com). ios trys bendrovs valdo iki 80% visos PLM rinkos. Jeigu anksiau PLM
buvo vienu i daugelio produkt, kuriuos gamino tokios kompanijos kaip INTEL, AMD ir kiti, tai
pradedant nuo 1980 -1990 met PLM rinkoje vykdoma specializacija ir pagrindinius parametrus jau
uduoda tos bendrovs, kurios usiima tik PLM krimu ir gaminimu.
Atsiradus naujiems gamintojams, atsirado ir naujos architektros. Integralins schemos PLM
turi tok architektros tip, koks labai patogus realizuojant skaitmeninius aparatus. is architektros
vystymas CPLD (Complex Programmable Logic Device). Tai PLM, kuri turi keliolika logini
blok (LB), kurie sujungti panaudojant komutacin matric. Kiekvienas loginis blokas
atvaizduojamas kaip atskira PLM, iame bloke yra programuojama matrica IR ir fiksuota matrica
ARBA. PLM CPLD tipas daniausiai turi didel integracijos lyg (iki 10000 ekvivalentini
ventili, iki 256 makronarveli). iai integralini schem klasei priklauso ALTERA bendrovs
schemos PLM MAX5000 ir MAX7000, XILINX bendrovs schemos XC7000 ir XC9500 ir taip pat
daug kit mikrochem gamintoj (Atmel, Vantis, Lucent).
Didelis vystymasis ioje rinkoje dav savus rezultatus ir dabar panaios paskirties PLM gamina
ir Xilinx bendrov. Pai geriausi (High End) ios bendroves PLM yra Virtex klass. Virtex klas
charakterizuojama plataus pasirinkimo greitu trasavimo resursu, yra atskiras operatyviosios
atminties blokas, gera pagreitinamo perneimo logika. ios serijos PLM palaiko didel darbo dan
iki 200MHz (standartas HSTL IV). Serijos Virtex gaminiai dl geros gaminimo technologijos ir
gero verifikacijos proceso turi slyginai nedidel kain (iki 40% ekvivalentins serijos XC4000XL
kainos). Taip pat Xilinx bendrov gamina XC3000A, XC4000E, Spartan, XC5200, CPLD XC9500
ir CoolPLD serijos PLM, kurie vartoja maai energijos. Bendrov duoda galimyb nemokamai
naudotis WebPACK programiniu paketu, kuris palaiko CPLD XC9500 ir CoolPLD serijos PLM. Jis
leidia naudojant VHDL kalb programuoti PLM. Kit PLM programavimas manomas naudojant
kit versij programin rang (kr Synopsys bendrov).
Kita bendrov, kuri gamina panaios paskirties PLM, yra Actel Corporation. Dabar Actel
bendrovs PLM ypatumas yra tas, kad juose naudojama Antifuse technologija PLM turi
metalizuot trumpikl, kuris naudojamas programavimo metu. i technologija duoda didel
patikimum ir nereikalingas konfigracinis pastovios atminties taisas. Pagal i technologij
http://www.altera.com/http://www.xilinx.com/
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
7
gaminami ACT1, ACT2, 1200XL serijos PLM. Taip pat gaminamos ir naujos serijos 54SX,
A40MX ir A42MX (su integruota atmintimi). ios schemos turi gerus rodiklius kaina/login talpa
(PLM kuri pakeiia 300 350 TTL korpusu kainuoja 10$, su 250MHz darbo daniu).
Nauja Actel bendrovs ProASIC serija turi iki 500000 ekvivalentini ventili talp. i tais
ypatumai priklausomyb nuo maitinimo dl FLASH technologijos panaudojimo ir integruoto
atminties renginio egzistavimas. Projektuojant ias ir kitas PLM naudojamas programinis paketas
Actel DeskTOP, kuriame yra sistemos modeliavimo galimyb, teksto VeriBest generavimo
galimyb ir sintez su Synplicity priedu. Actel bendrovs mikroschemos, kurios gaminamos pagal
Antifuse technologij, reikalauja specialaus tipo programatoriaus. Bet ios mikroschemos turi didel
patikimum, todl jos yra perspektyvios specialiam panaudojimui. Pavyzdiui, PLM RH1280
serijos turi tokias charakteristikas:
galima spinduliavimo doz 300000 RAD
login talpa 16000 ekvivalentini ventinli
darbo greitis iki 135MHz buvo panaudotas Marse Tathindes sistemoje, kuri vald ir
apdorojo informacij, kuri buvo i skaitmenins kameros. Taip pat i sistema formavo kadr
ir siunt j em.
Nagrinsiu Alteros bendrovs PLM. Dabar i bendrov gamina PLM MAX3000, MAX7000,
MAX9000 serijos. Papildomas faktorius renkantis Alteros bendrovs PLM yra tas, kad i bendrov
silo gerus nemokamus programinius paketus. Daugum programini paket galima nemokamai
nusikopijuoti i www.atlera.com puslapio arba gauti su kompaktiniu disku CD ALTERA Digital
Library, kuriame yra pilnas dokumentacijos rinkinys apie architektr ir jos panaudojim PLM.
Taip pat Alteros bendrovs PLM ileidiami su galimybe programuoti juos tiesiogiai ant
plokts. Programavimui ir tais konfigracijos pakrovimui naudojamas ByteBlaster ir
ByteBlasterMV laidas. Reikia pabrti, kad naujos konfigracins pastovios atminties taisai EPC2
leidia programuoti su io taiso pagalba. Dl to fakto programatorius tampa nereikalingas. Tas
faktas sumaino viso technologinio proceso kain.
Diplominiame darbe bus apvelgtos PLM MAX3000 serijos. Jos architektra yra panai
MAX7000 serijos PLM, bet yra tam tikri skirtumai. Mikroschemos MAX3000 serijos pagaminti
pagal CMOS EPROM technologij su technologinmis normomis 0.35m, kas leido sumainti j
kain lyginant su MAX7000S serijos PLM. Visi MAX3000 serijos PLM palaiko sistemos (ISP, In-
system programmability) programavimo technologij ir periferin skanavim (boundary scan) pagal
IEEE std. 1149.1 JTAG standart.
http://www.atlera.com/
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
8
1. Lentel. Bendri PLM MAX3000 parametrai EPM3032A EPM3064A EPM3128A EPM3256A
Ekvivalentini ventili login talpa 600 1250 2500 5000
Makronarveli kiekis 32 64 128 256
Logini blok kiekis 2 4 8 16
Krogramuojam ivad kiekis 34 66 96 158
Signalo jimas-ijimas sklidimo
ulaikymas, tPD, ns 4.5 4.5 5 6
Bendro taktinio signalo nustatymo laikas,
tSU, ns 3.0 3.0 3.2 3.7
Bendro taktinio signalo ulaikymas iki
ijimo, tCO1, ns 2.8 2.8 3.0 3.3
Maksimalus bendras taktinis danis, fCNT,
Hz 192.3 192.3 181.8 156.3
Detaliam nagrinjimui bus parinkta programuojama login EPM3032A tipo matrica, nes ji yra
viena i paprasiausi MAX3000 serijos ir jos charakteristikos yra priimtinos skaitmenini
grandini laboratorijoje.
MAX3000 serijos PLM jimo-ijimo elementai leidia dirbti sistemose su 5V, 3.3V, 2.5V
signal lygiu. Matrica turi tolyd struktros tip, kas leidia realizuoti signalo sklidimo ulaikymo
laik iki 4.5 ns. PLM MAX3000 turi galimyb ijim aparatinei simuliacijai su atviru kolektoriumi
(open drains pin) ir palaiko PCI standart. Yra galimyb pasirinktinai programuoti numetimo
grandines, nustatinti ir taktuoti trigerius, kurie eina makronarvel. Galima panaudoti sumainto
energijos vartojimo reim. Programuojamas loginis plstuvas leidia realizuoti viename
makronarvelyje iki 32 funkcijos kintamj. Yra galimyb uduoti slaptumo bit (security bit) norint
apsaugoti informacij nuo nesankcionuoto tirao.
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
9
2. PLM SCHEMOTECHNIN DALIS
2.1 Paprasiausi programuojam logini tais sandara
ioje dalyje apvelgsime paprasiausi programuojam logini tais sandar
PL sudaryti i IR ir ARBA logini matric loginmis matricomis vadiname kelis ar
keliolika vienod logini element, kuri atitinkami jimai sujungti (t.y. tarpusavyje sujungti visi
pirmi jimai, visi antri it t.t.). IR ir ARBA jimuose yra lengvai sunaikinamos elektrins jungtys
t.y. lyds saugikliai. taisai programuojami nutraukiant programavimui skirtus elektrinius ryius.
Programuojamos jungtys, veikiant pakankamai didelei iorinei tampai, pradeginamos (sudeginami
saugikliai). Programuoti galima tik vien kart, nes nutraukt ryi atstatyti nebemanoma.
Yra trys PL tipai, jie skiriasi pagal saugikli idstym IR ir ARBA matricose. Trys
programuojam logini tais tipai ir saugikli vieta juose parodyta 2.1 pav.
NeprogramuojamaIR matrica (de
ifratorius)ProgramuojamaABRA matrica
Pradeginamajungtis
jimai Ijimai
a)Programuojama pastovi atmintis (tik skaitoma atmintis).( Programmable read only memory PROM).
NeprogramuojamaABRA matrica
ProgramuojamaIR matrica
Pradeginamajungtisjimai Ijimai
b) Programuojamos matricos IR logika PML. (Programmable array logic PAL).
ProgramuojamaIR matrica
ProgramuojamaABRA matrica
Pradeginamajungtis
Pradeginamajungtis
jimai Ijimai
c) Programuojamosios logins matricos PLM.(Programmable logic array PLA).
2.1 pav. Programuojam logini tais rys
Daniausiai i i matric tip naudojame vienos programuojamos matricos IR logik PML,
kuri sudaryta i programuojamos IR matricos ir neprogramuojamos ARBA matricos; ir
programuojamsias logines matricas, kur programuojamos abi matricos.
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
10
Abiej mint programuojam tais jimuose yra jimo grandys, kurios perduoda
tiesioginius ir invertuotus jim signalus, o tais ijimuose daniausiai yra programuojamos
ijimo grandys, kurios gali iduoti tiesiogin arba invertuot signal.
2.2 pav. matome labai paprast trij jim programuojam login tais PML, kuris
sudarytas i:
1. jimo grandies - 3 inverteriai;
2. programuojamos matricos IR, i trij, ei jim IR element;
3. elemento ARBA.
CBA
BCABCACBAF +=
0
A
B
C
Matrica IR poprogramavimo
0
0
0
0
A
B
C
Matrica IR prieprogramavim
2.2 pav. PML prie programavim ir po programavimo
Logini element IR jimuose yra lyds saugikliai, kuriuos programavimo metu nutraukus,
ijime galime gauti trij logini sandaug login sum. Kiekviena sandauga, priklausomai nuo
programavimo, bus kombinacija, sudaryta i trij kintamj - ABC, kuri kiekvienas gali bti
tiesioginje ar inversinje formoje. 2.2 pav. matome, kaip atrodo grandin prie programavim ir po
programavimo. Nagrindami SIG serijas visas grandines sudarinjome i serijos bazini element,
PL naudojami kiti scheminiai sprendimai, todl ia netinka tvirtinimas, kad neprijungtas logini
element IR, ARBA jimas, atitinka loginio 1 prijungim prie jimo. PL. iose schemose
programavimo metu nereikalingas jimas nepaliekamas neprijungtas, o tiesiog panaikinamas.
(jimas, kurio nra, nepriima informacijos ir savaime aiku netrukdo).
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
11
Dabar apie tirpisias jungtis. Joms galime panaudoti vairius elektroninius taisus. 2.3 pav.
matome emiterin kartotuv, kurio emiteris su apkrova sujungtas per nikelio chromo lydinio
saugikl, kuris isilydo, jei per j tekanti srov virija leistin, o tai ir vykdoma programavimo metu.
Apkrova
jimas
2.3 pav. Programuojamas elementas - emiterinis kartotuvas
Toks programavimo metodas ir panaudotas 5.4 pav. pavaizduotoje schemoje. Palygin
paveiksll su 5.2 pav., matome, kad schema, papildyta emiteriniais kartotuvais, kuri jimai
sujungti su taiso jimo grandimis, o ijimai per saugiklius su atitinkamu IR jimu.
2.2 pav. ir 2.4 pav. pavaizduotos schemos PL vaizdavimui nenaudojamos, toks vaizdavimo
bdas buvo parinktas tik tam, kad geriau suprasti PL vidin sandar.
A
B
CC
B
AA
B
C
BCA
0
BCA
0
A
B
C
2.4 pav. PML programuojama nutraukiant jungtis tranzistori emiteriuose.
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
12
Kaip PL vaizduojami realiose schemose matome 2.5 pav. Paveiksllyje pavaizduota
schema prie programavim, joje visi programuojami takai pavaizduoti enklu - . Jei
programavimo metu jungtis nutraukiama, tai laid susikirtimo vietoje joks enkliukas nepieiamas.
Daniausiai vaizduojant schem prie programavim enkliukai taip pat nepieiami. Nes ne taip jau
svarbu, kaip atrodo schema prie programavim svarbiausia inoti kaip programuoti ir kas gausis
po programavimo. Be to realios schemos daug sudtingesns negu nagrinjamos ir j vidin
sandara rodoma tik inynuose, o elektros principinse schemose vaizduojami tik PL ymenys,
kaip ir vis kit element.
01
C
B
A
jimograndin Matrica IR
Ijimograndin
Matrica ARBA
2.5 pav. Trij jim PLM, kuri gali atlikti 8 logines sandaugas ir turi 4 ijimus
2.5 pav. matome Programuojamj logini matric PLM login schem, kuri sudaryta i:
1. jimo grandins trims kintamiesiems A, B, C;
2. programuojamos 8 logini element IR matricos;
3. programuojamos 4 logini element ARBA matricos;
4. ijimo grandins.
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
13
PLM jimo grandin turi 3 jimus kintamiesiems A, B ir C ir 6 ijimus tiesioginiams ir
invertuotiems jimo signalams.
Visi 8 matricos IR loginiai elementai turi po 6 jimus (t.y. tiek yra jimo grandins ijimo
signal), kurie sujungti su tiesioginiais ir invertuotais jimo signalais. Visi 6 IR jimai pavaizduoti
kaip vienas laidas su 6 programuojamais takais.
Visi 4 matricos ARBA loginiai elementai turi po 8 jimus (t.y. tiek kiek yra IR element
ijim), kurie sujungti su matricos IR ijimais. Visi 8 ARBA jimai pavaizduoti kaip vienas
laidas su 8 programuojamais takais.
Ijimo grandin tai 4 XOR elementai, kurie, priklausomai nuo programavimo, ijimus
perduoda tiesioginius arba invertuotus matricos ARBA signalus. vien kiekvienos XOR jim
paduoti signalai i matricos ARBA, kitus XOR jimus po programavimo prijungiamas arba
loginis 0 - tuomet ijimo signalas neinvertuojamas, arba 1 signalas invertuojamas.
2.5 pav. pavaizduot PLM galime apibdinti taip: tai trij jim PLM, kuri gali atlikti 8
logines sandaugas ir turi 4 ijimus.
2.2 Programuojamos logins matricos tipins funkcins schemos analiz,
veikimo principo, pakop ir element paskirties paaikinimas
ioje dalyje apvelgsime iuolaikini programuojam logini tais sandar ir veikimo
princip.
Programuojamos logins matricos sandaros ir principins schemos analiz, veikimo principo
ir pakop paaikinimas bus atliekamas kartu dl didelio integracijos lygio iame taise.
Programuojamos logins matricos MAX3000 gaminamos vairiuose korpusuose. Ivad
skaiius priklauso nuo PLM tipo ir gali bti nuo 44 iki 208, bet bendra funkcin schema ir darbo
principas yra toks pats.
2.6 pav. Parodyta PLM MAX3000 serijos pagrindini element idstymas.
Pagrindiniai programuojamos logins matricos MAX3000 serijos elementai tai:
loginiai blokai (LB), (LAB, Logic array blocks)
makronarveliai MN (macrocells)
loginiai plstuvas (expanders) (lygiagretus (parallel) ir dalijantis (shareble))
programuojama sujungimo matrica (PSM), (Programmable interconnect array, PIA)
jimo ijimo elementai (IE),(I/O control block)
PLM MAX3000 serijos turi keturis ivadus, kurie pritvirtinti prie bendr grandini (dedicated
inputs). ios bendros grandins nustato sinchronizacijos numetim ir trei bsen visus
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
14
makronarvelius. Taip pat iuos ivadus galima naudoti kaip jimus ir ijimus, kurie skirti
spartiems signalams, kurie apdorojami PLM.
IE
IE
IE
IE
36 36PSMLB A
LB C
LB B
LB D
MN1-16
3636
MN17-32
MN33-48
MN49-6416
1616
16
16
16
16
16
6 arba 10 6 arba 10
6 arba 10 6 arba 10
16
16
16
16
16
16
16
16
2.6 pav. PLM MAX3000 serijos pagrindini element idstymas.
Kaip matome 2.6 pav. PLM MAX3000 serijos architektros pagrindas yra loginiai blokai.
Loginis blokas sudarytas i 16 makronarveli sujungt tarp savs ir sujungt su programuojama
sujungimo matrica. Kiekvienas loginis blokas turi 36 ivadus nuo PSM.
PLM MAX3000 serijos makronarveliai (5.7 pav.) sudaryti i trij pagrindini mazg:
lokalios programuojamos matricos (LPM), (LAB local array)
term paskirstymo matrica (TPM), (product-term select matrix)
programuojamo registro (PR), (Programmable register)
Kombinacins funkcijos realizuojamos lokaliose programuojamoje matricoje ir term
paskirstym matricoje. Jos duoda galimyb sujungti logines sandaugos su ARBA (OR) arba pagal
atvirktin ARBA (XOR) funkcijas. Taip pat term paskirstymo matrica duoda galimyb komutuoti
makronarvelius, valdymo grandines.
Sinchronizacijos reimas ir trigerio konfigracija parenkami automatikai projekto sintezs
metu, priklausomai nuo parinkto trigerio tipo apraant projekt.
PLM MAX3000 serijos yra galimyb parinkti du nepriklausanius vienas nuo kito taktinius
signalus. Tai leidia projektuoti schemas su dviej fazi sinchronizacija.
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
15
2.7 pav. PLM MAX3000 makronarvelio struktrin schema
Loginiai plstuvai, kai yra daug kintamj, naudojami realizuoti logines funkcijas. Dalinantis
loginis plstuvas (2.8 pav.) duoda galimyb sujungti makronarvelius, kurie yra vieno loginio bloko
struktroje. Tokiu atveju dalinantis plstuvas formuoja term, kurio inversin bsena perduodama
per term paskirstymo matric lokali matric. Perduodamas lygis gali bti panaudojamas su bet
kokiu io loginio bloko makronarveliu. Kaip matome 2.8 pav. yra 36 signalai nuo programuojamos
sujungimo matricos ir 16 inversini signal nuo dalijani logini plstuv, kas duoda galimyb
viename loginiame bloke realizuoti funkcij, kuri turi iki 52 term.
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
16
2.8 pav. PLM MAX3000 serijos dalijantis loginis plstuvas
2.9 pav. PLM MAX3000 serijos lygiagretus loginis plstuvas
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
17
Lygiagretus loginis plstuvas, pavaizduotas 2.9 pav., duoda galimyb naudoti lokalias gretimas
matricas, realizuojant funkcijas, kuriose yra daugiau negu 5 termos. Viena lygiagrei logini
plstuv grandin gali bti sudaryta iki 4 makronarveli, realizuojant 20 term funkcij.
Programuojamo paketo MAX+plus II kompiliatorius paliko iki trij blok, kuriuose yra ne daugiau
negu 5 lygiagrets loginiai plstuvai.
2.10 pav. PLM MAX3000 serijos programuojamos sujungimo matricos struktrin schema
2.10 pav. parodo PLM MAX3000 serijos programuojam sujungimo matricu vidin struktrin
schem ir j idstymo tvark.
programuojam matric paduodami signalai i jimo ijimo element, i logini blok
atbulinio ryio. Programavimo metu tik reikalingi signalai paduodami arba grta kiekvien login
blok.
2.11 pav. PLM MAX3000 serijos jimo ijimo element schema
2.11 pav. pavaizduota PLM MAX3000 serijos jimo ijimo element schema, kuri
duoda galimyb organizuoti darbo reim su atviru kolektoriumi ir treioje bsenoje.
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
18
2.3 Programavimo proceso analiz ir principo paaikinimas
Daniausiai Alteros bendrovs mikroschemos (MAX7000S, A, B, E, MAX3000, MAX9000)
programuojamos su standartine keturi kontakt JTAG ssaja. Programin rang sukr
konfigracinis nuoseklumas, pagal kur programuojama PLM. Visa informacija perduodama per
specializuot laid (ByteBlaster, BitBlaster arba MasterBlaster). Taip pat PLM galima programuoti
naudojant standartin JTAG tester arba paprast ssaj, kuri emuliuoja JTAG komand
nuoseklum.
ALTERA bendrov silo programavimo metu naudoti konfigracin laid 2.12 pav.)
ByteBlaster MV, kuris skirtas programuoti MAX7000S, A, B, E, MAX3000, MAX9000 serijos
programuojamas logines matricas.
Rezistoriai R1R8 ir R15R19 yra 100 (realiai gali bti nuo 50 iki 150). ie rezistoriai
nra privalomi, bet j panaudojimas apsaugo programuojam login matric programavimo metu.
Rezistoriai R9R14 yra 2.2k, bet praktikai j vara gali bti nuo 1k iki 3.3k.
25242322212019181716151413121110987654321
R8
R7
R6
R5
R4
R3
R2
J1R1
R11
R10R9
VCC
R12
R13
R14
3Y45Y37Y29Y1
17 A415 A313 A211 A1
19 G
DD1:B
GND
12Y414Y316Y218Y1
8 A46 A34 A22 A1
1 G
DD1:A
R15
R16
J2
R18
R19
R17
10987654321
2.12 pav. ByteBlaster MV taiso principin elektros schema
Magistrals formavimo mikroschem galima pritaikyti 74HC244 (galimi analogai: 156A5
arba 74AC). Taip pat jei programavimas bus atliekamas tik su 5V PLM, galima panaudoti 74ALS ir
74LS mikroschem serijas (analogai 1533 ir 555 serij mikroschemos).
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
19
3. PLM KONSTRUKCIJA
3.1 ALTERA MAX3000 serijos PLM konstrukcij apvalga
Dabar gaminami skaitmenins technikos taisai labai skiriasi nuo t tais, kurie buvo
gaminami 1980-1990 metais. Pirmiausiai tai priklauso nuo to, kad naujos montao technologijos
leido daug kart sumainti matmenis. Taip pat atsirado naujo tipo integralini mikroschem
korpusai, kurie turi maus atstumus tarp ivad (0.5 -065 mm). Atsirado naujo tipo ma gabarit
diskretiniai komponentai ir jungikliai. Padidjo tikslumas gaminant spausdintsias ploktes. Visi
itie pakeitimai ir patobulinimai duoda galimyb kurti aukto lygio sistemas vienoje ploktje arba
viename kristale (system on chip). Programuojama login matrica taip pat taisas su dideliu
integracijos lygiu.
MAX3000 serijos PLM pagaminti su 0.30m technologiniu procesu. J darbo temperatrinis
diapazonas yra nuo 00C iki 850C (norint padidinti temperatrinio diapazono spektr nuo -400 iki
1000 siloma kreiptis gamintoj). PLM MA3000 serijos EPM3032A tip yra 44 ivad ir jie
silomi ir su plastikiniu korpusu (Plastic J-Lead Chip), ir su specialiu plonu korpusu (Thin - Quad
Flat Pack). Nuo korpuso tipo priklauso tam tikros PLM konstrukcins savybs (6.1 lentelje
ivardinti atsirandantys skirtumai).
3.1 lentel. PLM MAX3000 serijos EPM3032A tipo skirtumai (dl korpuso tipo).
Korpuso tipas Plastikinis korpusas
(Plastic J-Lead Chip)
Specialus plonas korpusas
(Thin - Quad Flat Pack
Ivad skaiius 44 44
Nominalus ilgis ir plotis (mm) 18x18 12x12
Maksimalus. plotas (mm2) 312 149
Maksimalus auktis (mm) 4.57 1.6
Nominalus sujungim ilgis (mm) 1.27 0.8
Maksimalus sujungim plotis (mm) 0.53 0.45
Nuo korpuso tipo taip pat priklauso ir ivad funkcijos (pasikeit numeracija). 6.2 lentelje
ivardintos vis ivad paskirtys kiekviename korpuso tipe.
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
20
3.2 lentel. PLM MAX3000 serijos EPM3032A tipo ivad paskirtis
Paskirtas ivadas Plastikinis korpusas
(Plastic J-Lead Chip)
Specialus plonas korpusas
(Thin - Quad Flat Pack
INPUT/GCLK1 43 37
INPUT/GCLRn 1 39
INPUT/OE1 44 38
INPUT/OE2/GCLK2 2 40
TDI (1) 7 1
TMS (1) 13 7
TCK (1) 32 26
TDO (1) 38 32
GNDINT 22, 42 16, 36
GNDIO 10, 17, 30, 36 4, 11, 24, 30
VCINT (3.3V) 3, 23 17, 41
VCCIO (2.5V arba 3.3V) 15, 35 9, 29
Nra sujungimo (N. C.) - -
Bendras naudojam jim-
ijim skaiius (I/O pins) 34 34
3.1 pav. PLM MAX3000 tipo EMP3032A ivad paskirtis ir numeracija
ie ivadai gali funkcionuoti ir kaip JTAG ssaja, ir kaip jimo-ijimo ivadai. Jei ivadai
formuojami naudotis JTAG ssaja, vartoti jimo-ijimo ivad nemanoma.
Taip pat bt gerai vertinti patarimus konstruojant plokt su PLM:
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
21
Didel dmes reikia skirti programuojam logini matric eminimui. Kaip inoma,
eminimas nustatomas kaip ekvipotencialus lygis ir skirtas nustatyti tampos atskaitos
tak. Projektuojant eminimo grandines, reikia minimizuoti tampos triukmus, kurie
atsiranda pratekant srovei i atskir schem bendr eminim. Todl geriausiai reikia
ivengti nuoseklaus eminimo (kai skirtingi eminimai susijungia viename take prie
eminimo).
Perduodant spart signal dideliais atstumais geriausiai panaudoti maos varos laidus.
Projektuojant schemas su PLM geriausiai panaudoti ger buferin element. Tai gali bti
74HC244, 74HC245 arba panaus elementas.
PLM naudojimas kuriant impulsines schemas (pvz. generatorius), kurios dirba su iorine
talpa ir vara yra nelabai priimtinas. Aiku, tokios schemos gali dirbti, bet PLM nelabai
stabiliai dirba su apkrova.
Labai danai schem krjai parenka filtravimo elementus tik pagal normuotus papildom
mikroschem lygius, bet reikia vertinti ir PLM reikalavimus.
Norint, kad filtr elementai efektyviai dirbt, laido ilgis nuo mikroschemos iki talpos
elemento turi bti kuo maesnis.
Projektuojant ploktes su PLM reikia atkreipti dmes iskiriam ilum. Geriausiai
panaudoti papildomus metalizacijos sluoksnius.
3.2 ByteBlaster MV konstrukcija
Programavimo sistemoje (In-system programmability, ISP) svoka yra tuose PLM, kuriuos
galima programuoti tiesiogiai ploktje nenaudojant specialaus programatoriaus. IN-circuit
reconfigurability (ISR) procesas duoda galimyb atlikti duomen siuntim PLM schem, kurios
sukurtos pagal SRAM technologij tiesiogiai, tai yra neijungiant sistemos maitinimo. ISP ir ISR
savybs turi beveik visi PLM, kurie dabar gaminami.
Laido ilgis nuo LTP ssajos iki ByteBlaster MV laido neturi viryti 1 1.2 metr. io laido
ALTERA bendrovs silomame standartiniame taise nra, bet be jo programavimo procesas yra
labai nepatogus. ByteBlaster MV laido ilgis neturi viryti 0.25 metr. Daniausiai naudojamas
standartinis 10 gysl laidas.
ByteBlaster MV plokts siloma konstrukcija pavaizduota 3.2 pav. i plokt projektuota
naudojant PiCAD program
3.2 pav. Pavaizduotas suprojektuotos ByteBlaster MV spausdintosios ploktes brinys
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
22
80*
135* 15*
3.2 pav. ByteBlaster MV spausdintosios ploktes surinkimo brinys
80
0,5
+ - 75
0,2
+ -
135 0,5
+
-130 0,2+ - 1,5*
6.3 pav. ByteBlaster MV spausdintosios ploktes brinys
6.3 lentelje matome ByteBlaster MV laido kontakt paskirt skirtinguose darbo reimuose:
1. pasyvus nuoseklus konfigracijos reimas (PS mode)
2. programavimo reimas su JTAG ssaja (JTAG mode).
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
23
3.3 lentel. ByteBlaster MV laido kontakt paskirtis PS Mode JTAG mode Ssajos
ByteBlaster
kontaktas Signalas Paskirtis Signalas Paskirtis
1 DCLK Taktinis signalas TCK Taktinis signalas
2 GND emintas GND emintas
3 CONF_DONE Konfigracijos
baigimo valdymas TDO
Informacija nuo
PLM
4 VCC Maitinimo tampa VCC Maitinimo tampa
5 nCONFIG Konfigracijos
kontrol TMS
JTAG automato
kortel
6 - Neprijungtas - Neprijungtas
7 nSTATUS Konfigracijos bsena - Neprijungtas
8 - Neprijungtas - Neprijungtas
9 DATA0 Informacija PLM TDI Informacija PLM
10 GND emintas GND emintas
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
24
4. PROJEKTAVIMO SISTEMA MAX+plus II
4.1 Pagrindiniai projekto sukrimo principai
Projektavimo sistemos MAX+plus II pavadinimas atsirado nuo abreviatros Multiple Array
MatriX Programmable Logic User System. Sistema MAX+plus II, turi galimybes vesti projekt,
sukompiliuoti, paderinti ir tiesiogiai programuoti taisus.
Naujo projekto sukrimo principus nuo koncepcijos iki pabaigos galima sivaizduoti taip:
1. Naujo projekto failo arba keli fail sukrimas, kuri struktrinis tipas yra hierarchinis.
Tam tikslui galima panauduoti grafin, signalin arba tekstin redaktorius.
2. Priskirti failui projekto vard.
3. Priskirti tam tikr PLM projektui.
4. Atidaryti kompiliatoriaus lang Compiler ir pasirinkus mygtuk Start pradti kompiliacijos
proces. Jei vartotojas nors, galima prijungti modul, kuris irinkins projekto Timing SHF
Extractor laiko parametrus ir sukurs fail, kur bus galima panaudoti atliekant laiko
modeliavim.
5. Jei kompiliacijos procesas buvo skmingas, galima atlikti laiko analiz, tam tikslui reikia
atlikti iuos veiksmus:
Norint atlikti ulaikym laikin analiz, reikia atidaryti Timing Analyzer lang, irinkti
analizs reim ir paspausti mygtuk Start;
Norint atlikti simuliavim, pradioje reikia, panaudojant signalin redaktori, sukurti
testavimo vektorius testavimo faile (.scf), arba panaudojant tekstin redaktori uduoti
testavimo vektorius vektoriniame faile (.vec). Po to atidaryti Simuliator lang ir paspausti
mygtuk Start.
6. Atidaryti programatoriaus lang Programmer ir isirinkti vien i dviej programavimo
bd: panaudojant programatori MPU (Master Programming Unit) arba prijungti
pakrovimo taisus BitBlaster, ByteBlaster arba FLEX Download Cable prie taiso, kuris bus
programuojamas.
7. Parinkti mygtuk Program programuoti taisus su EPROM arba EEPROM atminties tipu. Jei
taisas turi SRAM tipo atmint, reikia atlikti taiso derinim, paspaudus mygtuk Configure.
4.2 Redaktori paaikinimas
Programinis paketas MAX-plus II turi 11 pried ir pagrindin valdymo program. vairs
priedai, kurie duoda galimyb sukurti projekt, gali bti aktyvuoti bet kuriuo momentu panaudojant
pel arba komandas i meniu. Tuo paiu momentu gali dirbti ir kiti programos priedai, pavyzdiui
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
25
kompiliatorius, simuliatorius, sinchronizacijos analizatorius ir programatorius. Tos paios vairi
pried komandos dirba vienodai, kas lengvina loginio dizaino sukrim.
Kiekvienas priedas programiniame pakete MAX+plus II turi savo funkcijas ir privalumus:
Hierarchy Display (4.1 pav.) tai hierarchijos apvalgos priedas, kuris atvaizduoja esani
hierarchijos fail struktr medio su aknimis pavidalu. Medio aknys tai prijungti projektai
prie pagrindinio projekto.
4.1 pav. Hierarchy Dysplay priedo langas
Craphic Editor (4.2 pav.) tai grafinis redaktorius, kuris leidia kurti schemin login
projekt, kuris bus realiai atvaizduojamas ekrane WYSIWYG. Projekto grafiniai failai (.gdf) arba
scheminiai OrCAD failai (.sch) sukurti iame grafiniame redaktoriuje gali turti bet kokia paprast
simboli kombinacij. Simboliai gali bti bet koki projekt fail.
4.2 Craphic Editor priedo langas
Symbol Editor (4.3 pav.) tai simboli redaktorius, kuris leidia redaguoti esanius
simbolius ir kurti naujus. Simbolinis failas turi tok pat vard kaip ir projektas. Komanda Creat
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
26
Default Symbol kuri yra visose redaktoriuose sukuria simbol bet kuriam projekto failui. Simbolinis
redaktorius gali kurti ir redaguoti kontaktus ir j vardus, uduoti parametrus.
7.3 pav. Symbol Editor priedo langas
Text Editor (7.4 pav.) tai tekstinis redaktorius, kuris leidia kurti ir redaguoti tekstinius
failus su loginiu dizainu, kurie parayti AHDL, VHDL ir Verilog HDL kalba. Tekstiniame
redaktoriuje taip pat galima dirbti su ASCII formato failu. Galima redaguoti .acf failus ir nustatyti
kompiliatoriui ir laiko analizatoriui norim konfigracij.
4.4 pav. Text Editor priedo langas
Waveform Editor (4.5 pav.) tai signalinis redaktorius, kuris atlieka ikart dvi funkcijas: tai
dizaino krimo redaktorius ir redaktorius, kuriame vedinjami testavimo vektoriai norint perirti
testavimo rezultatus. Vartotojas gali kurti projekto signalinius failus .wdf, kuriuose yra laiko
diagramos. ios diagramos aprao projekto logik. Failai .scf testuoja projekto darb.
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
27
4.5 pav. Waveform Editor priedo langas
Floorplan Editor (4.6 pav.) demonstracijos redaktorius, kuris leidia grafiniu bdu sudaryti
priskyrimus taiso kontaktams ir logini element resursams.
4.6 pav. Floorplan Editor priedo langas
4.7 pav. Compiler priedo langas
Compiler (4.7 pav.) tai kompiliatorius, kuris apdoroja loginius projektus. Kompiliavimo
proceso metu galima pasirinkti filtrus ir laiko patikrinimo metodik.
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
28
Simuliator (4.8 pav.) simuliatorius, kuris leidia testuoti logines operacijas ir
projektuojamos logins grandins vidin sinchronizacij.
4.8 pav. Simuliator priedo langas
Timing Analizer (4.9 pav.) laiko analizatorius, kuris analizuoja projektuojamos logins
grandins darb po to, kai ji buvo sintezuota ir optimizuota kompiliatoriaus.
4.9 pav. Timing Analizer priedo langas
Programmer (4.10 pav.) programatorius, kuris leidia programuoti, derinti, atlikinti
testavim Alteros firmos PLM.
4.10 pav. Programmer priedo langas
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
29
Message Procesor (4.11 pav.) praneim generatorius, kuris iveda ekran praneimus
apie klaidas ir kitus informacinio tipo praneimus.
4.11 pav. Message Procesor priedo langas
4.3 Darbas su projektu
Prie pradedant dirbti MAX+plus sistema reikia suprasti skirtum tarp projekto fail ir
pagalbini projekt.
Projekto failas tai grafinis, tekstinis arba signalinis failas, kuris buvo sukurtas panaudojant
tam tikr projektavimo sistemos MAX+plus II redaktori. Failas, kuriame urayti loginiai dsniai
kompiliuojamas kompiliatoriais. Kompiliatorius gali automatikai apdoroti vairius projekto failus:
grafinius projekto failus (.gdf); tekstinius projekto failus, kurie buvo parayti AHDL kalba (.tdf);
signalinius projekto failus (.wdf); VHDL kalbos projekto failus (.vhd); Verilog kalbos projekto
failus (.v); programinio paketo OrCAD scheminius failus (.sch); EDIF programinio paketo jimo
failus (.edf); failus, kuri formatas yra Xilinx Netlist paketo (.xnf); Alteros projekto failus (.adf);
skaitmeninio automato failus (.smf).
Pagalbiniai failai tai failai, kurie susij su MAX+plus II projektu, bet jie nra projekto
hierarchinio medio dalis. Dauguma toki fail neturi krimo projekto logikos. Kai kurie i j
kuriami automatikai koki nors projektavimo sistemos pried arba juos kuria pats vartotojas.
Toki fail pavyzdys yra priskyrimo ir derinimo failai (.acf), simboliniai failai (.sym), ataskaitos
failai (.rpt) ir testavimo vektori failai (.vec).
Projektas sudarytas i vis fail, kurie yra jo hierarchinje struktroje. Projekto vardas tai
failo vardas, kuris yra projekto virutiniame lygyje. Sistema MAX+plus II atlieka kompiliavim,
testavim, sinchronizacijos analiz ir ikart viso projekto programavim, nors vartotojas gali tuo
paiu laiku redaguoti failus kitame projekte. Kiekvienam projektui geriausiai kurti atskir viet
darbui. MAX+plus sistemoje visi projekto krimo instrumentai lengvai pasiekiami. Krimas
pagreitinamas panaudojant standartines funkcijas, modulius (LMP) ir 74 serij mikroschem
funkcijas.
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
30
Hierarchinje projekto struktroje bet kuriame lygyje yra galimas mirus . gdf, .tdf, .vhd, .v,
.edf, .scf fail panaudojimas. Bet failai .wdf, .xnf, .adf, .smf turi bti hierarchiniame apatiniame
lygyje arba jie turi bti vieninteliai projekto failai.
Visuose MAX+plus II prieduose yra galimyb panaudojant komandas i Assign lentels
vedinti ir redaguoti parametrus, kurie valdo kompiliacijos proces. Vartotojas gali daryti
priskyrim projektui nepriklausomai nuo to, ar aktyvuotas koks nors projekto failas arba priedo
langas. Galimi vairs priskyrimo tipai:
Clique assignment uduoda, kokios logins funkcijos turi bti paliktos tame paiame
loginiame bloke LAB, atminties narveli bloke EAB, vienoje eilje arba taise.
Chip assignment uduoda kokios logins funkcijos turi bti realizuotos tame paiame taise,
jei projektas bus padalintas keliolika tais.
Pin assinment priskiria realiam kontaktui jima arba ijim vienos logins funkcijos.
Location assignment priskiria vien login funkcij konkreiam kristalo narveliui.
Probe assignment priskiria unikal vard logins funkcijos jimui arba ijimui.
Connected pin assignment uduoda dviej arba daugiau kontakt iorin sujungim
schemoje.
Local routing assignment priskiria siakojimo koeficient loginio elemento ijimui, kuris
yra tame paiame bloke LAB. Jei naudojami bendri vietiniai siakojimai, galimas kito bloko LAB
panaudojimas.
Device assignment uduoda programuojamos logins matricos tip, kurioje bus
realizuojamas projektas.
Logic option assignment valdo loginius sujungimus atskir logini funkcij kompiliacijos
metu.
Timing assignment valdo logini sujungim ar atskir logini funkcij derinimui, norint
gauti laiko parametrus.
Galima suderinti kompiliatori taip, kad jis naudos bendrus nustatymus visiems taisams.
Norint rezervuoti papildomas galimybes, galima uduoti, kiek procent (kontaktai/loginiai
elementai) turi bti neinaudota kompiliacijos metu.
Panaudojant Global Project Parameters komanda galima vesti vardus ir globalius parametrus,
kurie bus naudojami kompiliatori parametrams visoms funkcijoms projekte, kurios turi uduotus
parametrus.
Global Project Timing Reguirements duoda galimyb vesti projekto globalius sinchronizacijos
parametrus, nustatyti bendrus laiko ulaikymo parametrus.
Global Project Logic Synthesis nustato globalius parametrus kompiliatoriui projekto loginiame
sinteze.
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
31
Visi penki MAX+pluis II redaktoriai ir trys krimo redaktoriai turi bendras funkcijas, tokias
kaip sukrimas ir failo atidarymas. Taip pat redaktori priedai gali sudaryti simboli failus, failus
su funkcijomis (include failai), mazg paiek, laiko analiz, teksto fragment paiek ir kitas
windows tipo paprasiausias operacijas. Visa tai palengvina projektavimo darb ir labai teigiamai
charakterizuoja projektavimo sistem MAX+plus II.
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
32
5. PRAKTINIAI PLM PROGRAMAVIMO DARBAI
5.1 Darbas su AHDL programine kalba
Programin kalba AHDL buvo sukurta Alteros bendrovje ir yra skirta aprayti
kombinacines grandines, loginius taisus, grupines operacijas, skaitmeninius automatus (state
machine) ir reikmi lenteles, vertinant Alteros bendrovs programuojam logini matric
architektrines savybes. AHDL kalba pilnai integruojama MAX+plus II projektavimo sistem.
AHDL kalbos aparatros apraymo failai yra .TDF formato (Text Design File). Norint sukurti .TDF
fail, galima naudoti MAX+plus II tekstin redaktori arba kitus programinius paketus. Sukurtas
projektas kompiliuojamas, derinamas ir naudojamas formuoti kit programavimo fail arba
programuoja Alteros firmos PLM.
Programins kalbos AHDL elementai ir operatoriai yra labai universalus ir patogus bdas
aprayti skaitmenini tais funkcionavimo algoritmus. Su juo galima kurti hierarchijos tipo
projektus, kai visas projektas paraytas su AHDL kalba, taip ir kada naudojam kit tip projekto
failai.
MAX+plus II projektavimo sistema duoda galimyb automatikai sukurti komponento simbol,
kuriuo algoritmas apraomas su AHDL kalba. Po to fail galima integruoti schemin aparatros
apraym (GDF tipo failas). Projektavimo sistemoje yra tokio tipo paruoti failai. Tai .inc tipo failai
kurie naudojami su INCLUDE operatoriumi.
Dalijant resursus, krjas gali naudotis tekstinio redaktori komandomis arba AHDL kalbos
ablonais. Taip pat krjas gali patikrinti sintaks (check komanda) arba atlikti piln kompiliacijos
proces. Kompiliavimo metu sintaks tikrinama automatikai.
Dirbant su AHDL programine kalba geriausiai vykdyti Alteros bendrovs Auksin darbo
metodik (Golden Rules). i taisykli naudojimas duoda galimyb efektyviai taikyti AHDL kalb
ir ivengti daugelio galim klaid:
Reikia naudoti standartinius formatus, kurie suderinti su AHDL kalba. Tai leis visada
perskaityti projekt ir sumains klaid kiek.
Nekreipiant dmesio t fakt, kad AHDL kalboje nra skirtumo tarp dideli ir ma
raidi, ALTERA bendrov silo naudoti dideles raides pagrindiniuose odiuose.
Nereikia naudoti slyg operatori IF ablon, jei galima naudoti parinkimo operatori
CASE.
TDF failo eilut gali bti ne ilgesn negu 255 simboli. Bet geriausiai naudoti tokio ilgio
eilutes, kurios telpa ekran. Eilut baigiasi paspaudus Enter mygtuk.
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
33
Nauj eilut galima pradti bet kurioje laisvoje vietoje. Pagrindins kalbos konstrukcijos
skiriamos su tuia erdve.
Pagrindiniai odiai, vardai ir skaiiai turi bti skiriami panaudojant specialius simbolius
arba operatorius.
Komentarai turi bti skiriami su procento enklu (%). Komentaruose gali bt bet koks
simbolis, neskaitant % simbolio. MAX+plus sistemos kompiliatorius ignoruoja visus
komentarus.
Sujungiant paprasto tipo modelius, reikia naudoti tik leidiamo tipo sujungimus, nes ne visi
elementai gali bti sujungiami.
Geriausiai naudoti tik EXPDFF, EXPLATCH, NANDLTCH ir NORLTCH tipo
makrofunkcijas, kurie yra MAX+plus II sistemoje. Paiam geriausiai nekurti susijungimo
struktros. Taip pat geriausiai nenaudoti i funkcij kartu. ios funkcijos visada turi bti
skiriamos su LCELL funkciniu ablonu.
Programuojant LPM su AHDL kalba taip pat geriausiai naudoti bendr Auksin metodik:
Jeigu daug dviej krypi arba ijim ivad suriti tarp savs, krjas negali naudoti PIN
CONECTION funkcijos, nordamas sujungti ivados modeliuojant funkcionaliai su
aparatiniu palaikymu arba funkcionaliai testuojant.
Nra prasms kurti funkcij prototip paprastoms funkcijoms. Bet krjas gali i anksto
numatyti paprastas funkcijas, norint keisti jim aktyvacijos eil TDF faile.
Nereikia redaguoti .FIT formato failo. Jei krjas nori redaguoti projekto paskirt, reikia
pradioje nukopijuoti fail TDF formate ir tik po to padaryti atvirktin priskyrim su
Project Back Annotate komanda. Po to geriausiai atlikti redagavim su Chip to Device,
Pin/LC/Chip ir Enter Assignments komand pagalba.
Jeigu krjas nori pakrauti registr, panaudojant bendra taktin signal Clock, ALTERA
bendrov rekomenduoja (kai registras pakrautas) naudoti vien i Enable tipo trigeri
(DFFE, TFFE, JKFFE arba SRFFE) valdyti Clock Enable jim.
Pradedant dirbti su projekto naujo failo, reikia ikart nurodyti PLM serij, kuriems skirtas
projektas, panaudojant Family konstrukcij. Tai daroma norint turti galimyb pasinaudoti
makrofunkcijomis, kurios yra specifins kuriai nors serijai. Jei krjas nenurodys PLM
serijos tipo, programinis paketas dirbs su tomis makrofunkcijomis, kurios skirtos praeito
projekto PLM.
Norint patikrinti projekto logikos patikimum, reikia naudoti Design Doctor opcij
kompiliacijos metu.
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
34
Alteros bendrovs silomos loginio sintezs stiliai yra vairs ir priklauso nuo tais serijos.
Tai duoda galimyb efektyviai naudoti kiekvienos serijos architektrinius bruous.
Pakeiiant programuojamos serijos tip, reikia btinai patikrinti naujo stiliaus nustatymus.
Dirbant MAX+plus II sistemoje taip pat yra savos taisykls:
Darbo pradioje su nauju projektu rekomenduojama ikart uduoti jo vard kaip ir naujo
projekto panaudojant Project Name komand. iuo atveju projektas bus lengvai
sukompiliuotas. Vliau projekto krjas visada gals pakeisti projekto vard.
Pereinant nuo vieno projekto failo prie kito, geriausiai visada naudoti projektavimo sistemos
MAX+plus II hierarchines galimybes. Norint atidaryti emesnio lygio fail, reikia atidaryti
auktesnio lygio fail ir panaudojant Hierarchy Display lang (arba Hierarchy Down)
atidaryti emesnio lygio fail. Jeigu krjas parenka Open arba Retrieve projektavimo
sistem, laikoma, kad tai aukiausio lygio failas ir visi resurso paskirstymai, tais
paskirstymai bus priskiriami prie ios naujos hierarchijos, o ne prie pagrindinio projekto.
Jeigu krjas sukr pagalbin fail kokiam nors projektui, io failo piktograma atsiras
Hierarchy Display lange tik tuo atveju, jei ji turi toki pat vard, kaip ir pats projektas.
Nerekomenduojama redaguoti projektavimo sistemos MAX+plus II sistemini fail. Taip
pat nereikia redaguoti projekto fail .prb, .hif arba .ini formato.
Jeigu projekto krjas nori pakeisti projekto vard arba pagalbinio failo vard, geriausiai
taikyti Save as ... komand. Nerekomenduojama keisti failo vard ne i MAX+plus II
programinio paketo.
Atlikus projektavim, rekomenduojama atlikti projekto glaudim panaudojant komand
Project Archive, sukuriant rezervin kopij visam projektui. Tuo atveju rezervin kopija bus
apsaugota nuo tolesni projekto redagavim.
AHDL programinje kalboje galima naudoti: skaiius (dvejetain, atuntain, deimtain ir
eioliktain sistemas), konstantas (priskyrimas vykdomas panaudojant komand Constant),
kombinacinius logikos tipo uraymus, realizuoti logines lygybes ir dirbti su integruotais
operatoriais.
5.2 Darbas su VHDL programine kalba
Programin kalba VHDL tai formalus uraymas, kuris gali bti panaudotas visuose
skaitmenini grandini projektavimo etapuose. i galimyb atsiranda dl to, kad i programin
kalba lengvai suprantama kaip ir taisui, taip ir mogui. Programin kalba gali bti panaudojama
visuose projektavimo etapuose, testuojant aparatr, perduodant duomenis apie projekt,
modifikuojant. Visuose atvejuose programin kalba VHDL bus universalesn. i programin kalba
leidia aprayti kaip ir skaitmenins grandins darb, taip ir struktros tip.
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
35
Programin kalba VHDL naudojama daugelyje sistem, modeliuojant skaitmenines
grandines, projektuojant programuojamas logines integralines mikroschemas ir bazinius matricos
tipo kristalus.
Darb su VHDL kalba galima suskaidyti du komponentus: bendro algoritmo komponent
ir klausim orientuot komponent.
Bendro algoritmo komponentas tai programin kalba, kuri pagal sintaks panai
dabartines programavimo kalbas (tai Paskalis, C++ ir kitos kalbos). i programin kalba priskiriama
prie grietai orientuot kalb klass. Programiniame pakete yra integruoti (Standart tipo) paprasti
(skaliarinio tipo) duomenys: loginio tipo apraymai, duomenys apraantys laik ir kiti. Taip pat
galima naudoti masyvus (Array), bit vektorius (bit_vector) ir simbolines eilutes (string).
Nuosekliai vykdomi VHDL kalbos operatoriai gali bti panaudoti, apraant procesus ir
funkcijas. Juose yra:
1. Kintamj priskyrimo operatorius (:=)
2. Signalo priskyrimo nuoseklus operatorius (
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
36
Kiekvienas ianalizuotas projekto modulis integruojamas Design Library viet ir bus
skaitomas kaip modulis (Library unit). Kiekviena tokia vieta VHDL kalboje turi savo login vard.
Atliekant projektavimo darb su VHDL kalba, egzistuoja dviej tip projekto darbo bazs:
paprastos darbo bazs ir resurs bazs. Paprasta darbo baz tai baz Work, su kuria vartotojas
dirba konkreiame projekte ir kur integruoja paket, kuris buvo sukurtas analizuojant projekto
paket. Resurs baz tai baz, kurioje yra moduliai, prie kuri galimas prijimas i projekt
analizuojanio modulio. Vartotojas visada dirba su viena paprasta darbo baze ir su norimu resurs
bazi kiekiu.
Kaip ir paprastose algoritminse kalbose, moduliai tai irinkti i program duomen,
kintamj, procedr ir funkcij dalys, kurios duoda galimyb supaprastinti projektavimo darb.
Pavyzdiui, tai supaprastina projekto dali pakeitim.
VHDL programinje kalboje ssaj apraymas ir paketo kno apraymas yra skirtingas. Pagal
nutyljim numatytas standartini paket Standart ir Text 10 prijungimas prie projekto. Pavyzdiui,
pakete Standart yra logini operacij apraymai su bit vektoriumi. Nestandartini tip paketai
realizuojami norint su didesniu tikslumu atvaizduoti apraym objekt savybes. Pavyzdiui, galima
i anksto pakeisti logines IR, ARBA ir NE operacijas ir dirbti ne su 0 ir 1 reikmmis, o su
daugiareikme (1, 0, X, Z ...) modeliavimo abcle.
klausim orientuotas komponentas duoda galimyb aprayti skaitmenines sistemas naudojant
pastamus terminus. Prie j gali bti priskirti:
Modeliavimo laiko supratimas NOW.
Time tipo duomenys, kurie nurodo ulaikymo laik fizikiniais skaiiais.
Signal tipo signaliniai duomenys, kuri bsena keiiama ne ikart, kaip pas paprastus
kintamuosius, o su nurodytu ulaikymu. Taip pat prie j priskiriamos specialios operacijos ir
funkcijos su signaliniais duomenimis.
Galimybs aprayti objektus Entity tipo ir j architektros (architecture) tip.
Kaip ir visos kitos programavimo kalbos, VHDL turi savo abcl kuri eina simboli
rinkinys. Rinkinyje yra:
1. Lotyn didels ir maos raids : A, B, . . . , Z ir a, b, . . . , z.
2. Skaiiai nuo 0 iki 9.
3. Pabraukimo simbolis _ (ASCII kodo numeris 95).
Tik i i simboli gali bti konstruojamos programos dalys. Kit simboli panaudojimas
kompiliatoriuje bus suprantamas kaip klaidingas uraymas.
Programinje kalboje VHDL komentaras parodomas panaudojant -- simbol.
Kompiliatorius ignoruoja tekst, kuris prasideda nuo -- simbolio. iuo atveju komentaras gali
turti raidi tipus, kuri nra galim raidi srae.
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
37
Programins kalbos standartas gali dirbti su vairi tip skaiiais, bet PLM sintezavimo
priemons leidia dirbti tik su sveikais skaiiais. Sveikas skaiius gali bti pavaizduotas vienoje i
skaiiavimo sistem: dvejetainje, atuntainje, deimtainje ir eioliktainje.
Simboli uraymas tai simbolis, esantis kabutse. Pavyzdiui, A arba B.
Programinje kalboje yra daug paprast ir sudting duomen tip. Prie paprast tip
priskiriami tokie duomen tipai:
1. BOOLEAN (loginis tipas) io tipo objektai gali bti FALSE (melas) ir TRUE (tiesa)
bsenos.
2. INTEGER (sveikas) io tipo objektai tai skaiiai i (2311)2311 (-2147483647
2147483647) diapazono.
3. BIT (bitas) tai vienas loginis bitas. io tipo objektai gali bti 0 arba 1.
4. STD_LOGIC (bitinis tipas) tai vienas duomen bitas. io tipo objektai gali bti devyni
bsen. is tipas apraytas pagal IEEE 1164 standart.
5. STD_ULOGIC (bitinis tipas) tai vienas duomen bitas. io tipo objektai gali bti devyni
bsen. is tipas irgi apraytas pagal IEEE 1164 standart.
6. ENUMERATED (numeruojamas tipas) skirtas uduoti vartotj tipus.
7. SEVERITY_LEVEL numeruojamas tipas, kuris naudojamas tik ASSERT operatori.
8. CHARACTER simbolinis tipas.
I vis sudting tip logini schem programavime naudojami tik masyvai (ARRAY) ir
uraymai (RECORD tipas). Pavyzdiui, i masyv tipai yra i anksto numatyti:
1. BIT_VECTOR BIT tipo element masyvas.
2. STD_LOGIC_VECTOR STD_LOGIC element masyvas.
3. STD_ULOGIC_VECTOR STD_ULOGIC tipo element masyvas.
4. STRING CHARACTER tipo element masyvas.
Masyv indeksai ir ribos turi bti nurodyti tiesiogiai apraant duotus objekt tipus.
5.3 Tipini kombinacini grandini modeliavimas
5.3.1 ifratoriaus modeliavimas tekstiniu bdu
ifratorius (CD) tai tipin skaitmenin kombinacin grandin, kuri signal viename i n
jim keiia dvejetain m skili kod su vertmis 8-4-2-1 ijime. Norint atlikti ifratoriaus
modeliavim su Max+plus II programiniu paketu, reikia File lentelje paspausti New.
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
38
5.1 pav. Naujo falo sudarymas programiniame pakete Max+plus II
Paspaudus New atsiras galimyb irinkti krimo objekto modeliavimo bd. Modeliuojant
ifratori, bus pasirinktas sukrimas jo tekstiniame reime Text Editor File.
5.2 pav. Sudaromo objekto projektavimo reimo pasirinkimas
Sukrimo objekto patikrinimas ir kompiliavimas gali bti padarytas tik tada, kai objektui
bus atlikta operacija Set Project to Current File.
5.3 pav. Priskyrimas sukurto objekto darbiniam projektui
Sukurta programa toliau atrodys taip:
SUBDESIGN CD ( IN[8..1] :INPUT; Binary_code[3..1] :OUTPUT; ) BEGIN TABLE IN[] => Binary_code[]; b"00000001" => 0; b"00000010" => 1; b"00000100" => 2; b"00001000" => 3; b"00010000" => 4; b"00100000" => 5; b"01000000" => 6; b"10000000" => 7; END TABLE; END;
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
39
Norint simuliuoti program, ireikt tekstu, reikia File lentelje paspausti Simulator.
Atidarytame langelyje, kuris pavaizduotas 8.4 pav., galima nustatyti modeliavimo laiko pradi ir
pabaig, naudojamos mikroschemos automatin patikrinim.
5.4 pav. Simuliator funkcijos parametr nustatymo lentel
Pagal sukurt program galima atlikti programos grafin testavim. Norint tai atlikti, reikia
nurodyti kokie jimai ir kokie ijimai yra projekte. Taip pat reikia nurodyti modeliavimo laiko
trukm. Tai daroma paspaudus .scf fail.
5.5 pav. jim ir ijim instaliavimas projekte
5.6 pav. ifratoriaus modeliavimo rezultatai grafiniame reime
Ateinantiems signalams galima priskirti norim bsen ir nurodyti norimus laiko intervalus.
Po simulate mygtuko paspaudimo kombinacins grandins simuliatorius nurodys ijimo signalo
bsenas.
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
40
5.7 pav. Floorplan Editor funkcijos panaudojimas ifratoriaus modeliavime
Floorplan Editor leidia pamatyti sukurtos schemos silom kojeli PLM idstym. Taip
pat galima pasirinkti PLM tip. PLM tipas EPM7032LC44-6 yra integruotas programiniame pakete,
todl visi kiti modeliavimo rezultatai demonstruojami su iuo PLM tipu.
Tekstiniame aprae pavaizduota programa yra pati paprasiausia. Joje nepanaudotas
operatorius Defaults ir visoms nenurodytoms jimo reikmms ijimo signalams bus priskirtas
B000 lygis. Duomen vedimui klaviatros pagalba daniausiai naudojamas nepilnas ifratorius
104. Tokiame ifratoriuje kiekvienam klaviatros deimtainiam skaiiui priskiriamas dvejetainis
kodas. Galima pamatyti atsiradusias klaidas, jei paspausim daugiau negu vien mygtuk arba
nepaspausim nei vieno.
Tokiu atveju programa atrodys taip: SUBDESIGN CD10_4 ( IN[9..1] :INPUT; Binary_code[4..1], ERROR_ :OUTPUT; ) BEGIN CASE IN[] IS WHEN H"001" => Binary_code[] = B"0000"; WHEN H"002" => Binary_code[] = B"0001"; WHEN H"004" => Binary_code[] = B"0010"; WHEN H"008" => Binary_code[] = B"0011"; WHEN H"010" => Binary_code[] = B"0100"; WHEN H"020" => Binary_code[] = B"0101"; WHEN H"040" => Binary_code[] = B"0110"; WHEN H"080" => Binary_code[] = B"0111"; WHEN H"100" => Binary_code[] = B"1000"; WHEN OTHERS => ERROR_ = VCC; END CASE; END;
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
41
ioje programoje Binary_code[4..1] ir ERROR_ logins funkcijos reikms uduotos ne
visiems funkcijos galimiems argumentams, todl, kaip ir pirmu ifratoriaus modeliavimo atveju, jie
turs loginio nulio bsen.
Pagal sukurt program galima atlikti modeliavim grafiniu reimu uduodant jimo
signalo reikmes. iuo atveju jimo signalams galima priskirti loginio nulio arba vieneto bsen.
jimo signalo reikms buvo priskirtos vienos po kitos, norint modeliavimo rezultatus padaryti kuo
aikesnius. Taip pat kaip ir pirmu atveju mlynos linijos nustatymas rodo Value lentelje
sumodeliuotos funkcijos bsen kiekvienu laiko momentu.
5.8 pav. ifratoriaus 10 4 modeliavimo rezultatai pavaizduoti grafikai
5.9 pav. Floorplan Editor funkcijos ifratoriaus 10 4 modeliavime panaudojimas
Kaip matome, antru ifratoriaus modeliavimo atveju mikroschem kojeli idstymas bus
kitoks dl to, kad padidjo ijim skaiius ir atsirado ERROR_ variantas.
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
42
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
43
5.3.2 ifratoriaus modeliavimas grafiniu bdu
ifratoriaus modeliavimas grafiniu bdu pradedamas parenkant lentelje File mygtuk New.
Po to parenkamas grafinio modeliavimo bdas (Graphic Editor File). Projektui sudaroma operacija
Set Project to Current File. ifratoriaus modeliavimas grafiniu bdu buvo atliktas panaudojant
integruot element baz 74147 tipo mikroschem. io ifratoriaus mikroschema daniausiai
naudojama deimtains informacijos keitimui BCD kod.
5.10 pav. ifratoriaus i 10 BCDmodeliavimas grafiniu bdu
Dl to, kad iame mikroschemos modelyje yra invertuoti jimai ir ijimai, modeliavimo
rezultatai atrodo taip:
5.11 pav. ifratoriaus i 10 BCD grafiniu bdu modeliavimo rezultatai
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
44
5.12 pav. Floorplan Editor funkcijos ifratoriaus i 10 BCD modeliavime panaudojimas
5.3.3 Deifratorius modeliavimas tekstiniu bdu
Deifratorius (DC) tai tipin skaitmenin kombinacin grandin, kuri dvejetain kod su
vertmis 8-4-2-1 jime keiia reikiamo formato kod ijime. Pilnas deifratorius turi n jim ir
2n ijim, nepilnas maiau negu 2n ijim.
Norint atlikti deifratoriaus modeliavim su Max+plus II programiniu paketu reikia atlikti tokius pat
veiksmus objekto sukrimui.
Trij skili pilno deifratoriaus su inversiniais ijimais projektavimas bus toks: SUBDESIGN DC ( IN[3..1] :INPUT; OUT[7..0] :OUTPUT; ) BEGIN CASE IN[] IS WHEN 0 => nOUT[] = B"11111110"; WHEN 1 => nOUT[] = B"11111101"; WHEN 2 => nOUT[] = B"11111011"; WHEN 3 => nOUT[] = B"11110111"; WHEN 4 => nOUT[] = B"11101111"; WHEN 5 => nOUT[] = B"11011111"; WHEN 6 => nOUT[] = B"10111111"; WHEN 7 => nOUT[] = B"01111111"; END CASE; END;
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
45
5.13 pav. Deifratoriaus modeliavimo rezultatai pavaizduoti grafikai
5.14 pav. Floorplan Editor funkcijos panaudojimas deifratoriaus modeliavime
5.3.4 Deifratoriaus modeliavimas grafiniu bdu
Deifratoriaus modeliavimas grafiniu bdu taip pat pradedamas parenkant lentelje File
mygtuk New. Tik dabar parenkamas grafinio modeliavimo bdas (Graphic Editor File). Projektui
taip pat atliekama operacija Set Project to Current File.
Sukurtas projektas grafikai atrodo taip:
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
46
5.15 pav. Deifratoriaus i 2 4 projektavimas
Pavaizduotas deifratorius turi jimo leidimo jim EI, du tiesioginius duomen jimus,
kuriuos paduodamas dviskiltis dvejetainis kodas ir keturis tiesioginius duomen ijimus.
Informacija i deifratoriaus bus gaunama tik tuomet, kai EI=1. Jei EI=0, tai visuose ijimuose bus
0, nepriklausomai nuo logini lygi, esani duomen jimuose.
Sukurtas deifratoriaus turi toki reikmi lentel:
5.1 lentel. ifratoriaus i 2 4 reikmi lentel
jimai Ijimai
EI IN_2 IN_1 OUT_4 OUT_3 OUT_2 OUT_1
0 x x 0 0 0 0
1 0 0 0 0 0 1
1 0 1 0 0 1 0
1 1 0 0 1 0 0
1 1 1 0 1 1 1
Modeliavimo rezultatai grafiniu bdu taip pat gaunami parenkant .scf. formato faile jimo
signalus ir paspaudus mygtuk Simuliate:
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
47
5.16 pav. Deifratorius i 2 4 modeliavimo rezultatai
5.17 pav. Floorplan Editor funkcijos panaudojimas deifratoriaus i 2 4 modeliavime
5.3.5 Multiplekserio modeliavimas tekstiniu bdu
Multiplekseris(MUX) tai kombinacin schema, kuri leidia nuosekliai apklausti daugum
jim ir perdavinti j bsenas per vien ijim. Multiplekseriuose informacini jim skaiius
daniausiai lygus 2n, kur n- adresini jim skaiius.
Multiplekserio modeliavimo etapai buvo parinkti tokie pat, kaip ir kit kombinacini
grandini.
Tekstiniame reime multiplekserius, kuris turi keturis informacinius jimus (IN[4..1]), du
adresinius jimus (ADR[2..1]) ir vykdyti darbo galimyb (ENABLE) turi toki tekstin form:
SUBDESIGN MUX ( I[4..1], ADR[2..1], ENABLE : INPUT; OUT : OUTPUT;
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
48
) BEGIN IF ENABLE THEN CASE ADR[] IS WHEN 0 => OUT = I[1]; WHEN 1 => OUT = I[2]; WHEN 2 => OUT = I[3]; WHEN 3 => OUT = I[4]; END CASE; END IF; END;
Jeigu ENABLE = 0, tai multiplekserio ijimuose bus loginis nulis nepriklausomai nuo kit
jim bsenos (nes iame tekstiniame aprayme login funkcija OUT nevertina vis galim
variant). Jeigu ENABLE = 1, tai multiplekserio ijimo signalas bus apsprendiamas pagal
adresin kod ADR[] ir informacinio signalo lyg. ioje slygoje sukurto multiplekserines
kombinacins grandins modeliavimo rezultatai atrodys taip:
5.18 pav. Multiplekserio modeliavimo rezultatai grafiniame reime
5.19 pav. Floorplan Editor funkcijos panaudojimas multiplekserio modeliavime
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
49
Norint sukurti parametruot multiplekser, kurio jime yra dvi WIDTH magistrals
A[WIDTH..1] ir B[WIDTH..1] ir vienas adresas, reikia panaudoti ASSERT operatori, kuris skirtas
parametro WIDTH patikrinimui. Programa tokiu atveju bus tokia:
PARAMETERS (WIDTH= 8); ASSERT (WIDTH != 1) REPORT "Value of parametr WIDTH = %"WIDTH SEVERITY INFO; ASSERT (WIDTH > 0) REPORT "Value of parametr WIDTH must be greater than %"WIDTH SEVERITY INFO; SUBDESIGN MUX_P (A[WIDTH..1], B[WIDTH..1], ADR :INPUT; OUT[WIDTH..1] :OUTPUT;) BEGIN IF ADR THEN OUT[] = A[]; ELSE OUT[] = B[]; END IF; END; Programa nedirbs, jei parametrui WIDTH nebus priskirta tam tikra reikm. Norint tai padaryti
reiks Assign lentelje parinkti Global Project Parameters komand:
5.20 pav. Global Project Parameters komandos Assign lentelje parinkimas
5.21 pav. Parametrui WIDTH vieneto priskyrimas
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
50
Pavyzdiui panaudojant komand Global Project Parameters kuri yra Assign lentelje
WIDTH priskirti vienet, tai modulio kompiliavimo metu bus suformuotas praneimas, kuris
informuos apie parametro priskyrim:
Info: Line 2, File f:\Mokslas\mux\mux_p.tdf:
Value of parametr WIDTH=1.
Grietumo riba praneimui apsprendia INFO, todl kompiliatorius prats darb. Bet jeigu
parametrui WIDTH bus priskirtas nulis, bus suformuotas praneimas:
Error: Line 5, File f:\Mokslas\mux\mux_p.tdf:
Value of parametr WIDTH must be greater than 0.
Multiplekserio simuliavimo rezultatai grafiniame reime bus tokie:
5.22 pav. Parametrizuoto multiplekserio modeliavimo rezultatai pavaizduoti grafikai
5.23 pav. Floorplan Editor funkcijos panaudojimas parametrizuoto multiplekserio modeliavime
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
51
5.3.6 Multiplekserio modeliavimas grafiniu bdu
Multiplekserio projektavimas grafiniu bdu pradedamas nuo logins schemos pieimo.
Multiplekseris i 2 4 su INH jimu (invertuotas jimo leidimo jimas) sudaromas i keturi
element IR, vieno ARBA ir penki invertori.
5.24 pav. Multiplekserio nuo 4 prie 1 login schema
8.25 pav. Multiplekserio nuo 4 prie 1 modeliavimo rezultatai
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
52
5.26 pav. Floorplan Editor funkcijos panaudojimas multiplekserio modeliavime
5.3.7 Demultiplekserio modeliavimas tekstiniu bdu
Demultiplekseris (DMX) tai skaitmeninis kombinacinis taisas, skirtas informacijai,
ateinaniai viena jimo linija, perduoti vien parinkt ijim. Ijimo linija parenkama pagal
adreso kod. Jei n yra adreso ilgis, tai bus 2n adres kombinacij ir tiek pat ijim linij. Pagal
parinkt adreso dvejetain kod, jimo duomenys perduodami parinkt ijim.
Demultiplekseris, kuris turi vien informacin jim IN, trij skili adreso ilg ADR[3..1] ir
atuonis ijimus OUT[7..0] atrodo taip:
SUBDESIGN DMX ( IN, ADR[3..1] :INPUT; OUT[7..0] :OUTPUT; ) BEGIN CASE ADR[] IS WHEN 0 => OUT[0] = IN; WHEN 1 => OUT[1] = IN; WHEN 2 => OUT[2] = IN; WHEN 3 => OUT[3] = IN; WHEN 4 => OUT[4] = IN; WHEN 5 => OUT[5] = IN; WHEN 6 => OUT[6] = IN; WHEN 7 => OUT[7] = IN; END CASE; END; Kiekvienoje eilutje CASE operatoriaus uduodama reikm tik vienam modulio ijimui.
ioje programoje operatorius Defaults nebuvo panaudotas, todl visuose kituose ijimuose bus
loginiai nuliai. Modeliavimo rezultatai atrodys taip:
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
53
5.27 pav. Demultiplekserio modeliavimo rezultatai grafiniame reime
5.28 pav. Floorplan Editor funkcijos panaudojimas demultiplekserio modeliavime
Demultiplekseris, kuris turi WIDTH skili informacin jim (IN[]), trij skili adreso
jim (ADR[3..1]) ir atuonis WIDTH skili ijimus (OUT[7..0] [WIDTH..1]) atrodo taip:
PARAMETERS (WIDTH=8); ASSERT (WIDTH != 1) REPORT "Value of parametr WIDTH = %"WIDTH SEVERITY INFO; ASSERT (WIDTH > 0) REPORT "Value of parametr WIDTH must be greater than %"WIDTH SEVERITY INFO; SUBDESIGN DMX_P ( IN[WIDTH..1], ADR[3..1] :INPUT; OUT[7..0][WIDTH..1] :OUTPUT;
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
54
) BEGIN CASE ADR[] IS WHEN 0 => OUT[0][] = IN[]; WHEN 1 => OUT[1][] = IN[]; WHEN 2 => OUT[2][] = IN[]; WHEN 3 => OUT[3][] = IN[]; WHEN 4 => OUT[4][] = IN[]; WHEN 5 => OUT[5][] = IN[]; WHEN 6 => OUT[6][] = IN[]; WHEN 7 => OUT[7][] = IN[]; END CASE; END; Parametrui WIDTH Assign lentelje panaudojant komand Global Project Parameters
priskiriamas vienetas. Modeliavimo rezultatai atrodys taip:
5.29 pav. Parametrizuoto demultiplekserio modeliavimo rezultatai grafiniame reime
5.30 pav. Floorplan Editor funkcijos panaudojimas parametrizuoto demultiplekserio modeliavime
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
55
5.3.8 Demultiplekserio modeliavimas grafiniu bdu
Grafiniu bdu demultiplekserio projektavimas buvo atliktas, sukomutuojant keturis IR
elementus ir du NE elementus, nes demultiplekseriai atlieka atbulin multiplekserio operacij
perduoda duomenis i vieno jimo kanalo vien i ijimo kanal.
Suprojektuotas demultiplekseris turi du adresinius jimus, vien darbo leidimo jim ir
keturis ijimus. Jo reikmi lentel atrodys taip:
8.2 lentel. Multiplekserio reikmi lentel EI A_1 A_0 Q_0 Q_1 Q_2 Q_3 0 X X 0 0 0 0 1 0 0 D 0 0 0 1 0 1 0 D 0 0 1 1 0 0 0 D 0 1 1 1 0 0 0 D
5.31 pav. Demultiplekserio login schema
5.32 pav. Demultiplekserio schemos modeliavimo rezultatai
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
56
5.33 pav. Floorplan Editor funkcijos panaudojimas demultiplekserio modeliavime
5.4 Skaitiklio modeliavimas
5.4.1 Skaitiklio modeliavimas tekstiniu bdu
Skaitiklis tai nuoseklus taisas, skirtas registruoti impuls skaii, kuris patenka jo taktin
jim.
Parametrinis dvejetainis WIDTH skili asinchroninis sudties skaitiklis turi tokius
kontaktus:
CLK taktini impuls jimas;
Reset jimas skirtas 0 nustatymui;
Dout[WIDTH..1] WIDTH skili skaitiklio ijimas
Tekstinis apraymas asinchroninio sudties skaitiklio atrodys taip:
PARAMETERS (WIDTH= 8); ASSERT (WIDTH>0) REPORT "Value of WIDTH parameter must be greater than %"WIDTH SEVERITY ERROR; SUBDESIGN ct_sum ( CLK :INPUT; Reset :INPUT= GND; Dout[WIDTH..1] :OUTPUT; ) VARIABLE RG[WIDTH..1] : DFF;
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
57
BEGIN RG[].CLRn= !Reset; RG[].CLK= CLK; RG[].D= RG[].Q+1; Dout[]= RG[].Q; END; Tekstiniame aprayme buvo panaudotas trigerio primityvas DFF (RG[WIDTH..1] : DFF),
kurio prototipas bus FUNCTION DFF (D, CLK, CLRN, PRN) kur D informacinis jimas, CLK
taktinio impulso jimas, CLRN trigerio asinchroninis numetimas (aktyvus lygis yra loginis
nulis), PRN trigerio asinchroninis nustatymas (aktyvus lygis yra loginis nulis).
Modeliavimo rezultatai ct_sum skaitiklio kai WIDTH=8 (WIDTH parametro reikme buvo
nustatyta Assign/Global Project Parameters) pavaizduoti 5.34 pav.
5.34 pav. Parametrinio asinchroninio sudties skaitiklio modeliavimo rezultatai
8.35 pav. Floorplan Editor funkcijos panaudojimas parametrinio asinchroninio sudties skaitiklio
modeliavime.
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
58
Po taktinio signalo CLK jime atsiradimo sumavimo skaitiklio ijime pridedamas vienetas.
Vieneto sumavimas su 2WIDTH-1 skaiiumi privers sumatori pereiti pradin bsen.
Analogikai galima aprayti parametrin dvejetain WIDTH skili asinchronin atimties
skaitikl.
Asinchroninis atimties skaitiklis turs sekanius kontaktus:
CLK taktini impuls jimas;
Set jimas skirtas asinchroniniam skaitiklio nustatymui;
Dout[WIDTH..1] WIDTH skili skaitiklio ijimas.
Tekstinis asinchroninio atimties skaitiklio apraymas atrodo taip:
PARAMETERS (WIDTH= 8); ASSERT (WIDTH>0) REPORT "Value of WIDTH parameter must be greater than %"WIDTH SEVERITY ERROR; SUBDESIGN ct_sub (CLK :INPUT; Set :INPUT= GND; Dout[WIDTH..1] :OUTPUT; ) VARIABLE RG[WIDTH..1] : DFF; BEGIN RG[].PRn= !Set; RG[].CLK= CLK; RG[].D= RG[].Q-1; Dout[]= RG[].Q; END;
5.36 pav. Parametrinio asinchroninio atimties skaitiklio modeliavimo rezultatai
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
59
5.37 pav. Floorplan Editor funkcijos panaudojimas parametrinio asinchroninio atimties skaitiklio
modeliavime
Modeliuojant asinchronin dvejetain WIDTH skili reversin skaitikl, kuris turi darbo leidimo
jim ir asinchroninio nulio nustatymo jim, laikoma, kad skaitiklis turi tokius kontaktus:
CLK taktini impuls jimas;
Sreset jimas skirtas asinchroniniam skaitiklio nustatymui nulio bsen;
Dout[WIDTH..1] WIDTH skili skaitiklio ijimas
Enable darbo leidimo jim
Dir jimas skirtas skaiiavimo valdymui
Asinchroninio reversinio skaitiklio tekstinis apraymas atrodo taip:
PARAMETERS (WIDTH= 8); ASSERT (WIDTH>0) REPORT "Value of WIDTH parameter must be greater than %"WIDTH SEVERITY ERROR; SUBDESIGN ct_rev ( CLK :INPUT; SReset :INPUT= GND; Enable, Dir :INPUT= VCC; Dout[WIDTH..1] :OUTPUT; ) VARIABLE RG[WIDTH..1] : DFFE; BEGIN RG[].(CLK, Ena)= (CLK, Enable); if Sreset
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
60
THEN RG[].D= 0; elsif Dir THEN RG[].D= RG[].Q+1; ELSE RG[].D= RG[].Q-1; END IF; Dout[]= RG[].Q; END;
Tekstiniame aprayme buvo panaudotas trigerio primityvas DFFE (RG[WIDTH..1] :
DFFE), kurio prototipas bus FUNCTION DFFE (D, CLK, CLRN, PRN, ENA) kur ENA trigerio
darbo leidimas (aktyvus lygis yra loginis vienetas).
Taip pat reikia pabrti, kad Enable jimas turi auktesn prioritet lyginant su Sreset
jimu, o Sreset turi auktesn prioritet lyginant su Dir jimu.
Modeliavimo rezultatai pavaizduoti 5.38 pav. kai WIDTH = 8.
5.38 pav. Parametrinio asinchroninio reversinio skaitiklio modeliavimo rezultatai
5.39 pav. Floorplan Editor funkcijos panaudojimas asinchroninio reversinio skaitiklio modeliavime
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
61
5.4.2 Skaitiklio modeliavimas grafiniu bdu
5.40 pav. Asinchroninis dvejetainis trij skili sudties skaitiklis
Asinchroninio dvejetainio sudties skaitiklio projektavimas buvo atliekamas su JK tipo
trigeriais. Login skaitiklio schema buvo sudaryta taip, kad: emiausios skilties Q1 trigeris keiia
bsen nuo kiekvieno jimo impulso, skilties Q trigeris nuo kas antro jimo impulso, skilties Q4
nuo kas ketvirto jimo impulso. I to seka, kad Q2 ir Q4 skili trigeriai keiia bsen, kai visi
prie tai esantys emesni skili trigeriai keiia bsen i 1 0. Todl projektavimo metu trigeriai
turi bti valdomi su dinaminiu inversiniu valdymu. Skaiiuojami impulsai turi bti paduoti
emiausios skilties sinchronizacijos jim.
5.41 pav. Asinchroninio dvejetainio trij skili sudties skaitiklio modeliavimo rezultatai
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
62
5.42 pav. Floorplan Editor funkcijos panaudojimas asinchroninio dvejetainio trij skili sudties
skaitiklio modeliavime.
Asinchroninio dvejetainio atimties skaitiklio modeliavimas gali bti atliktas panaudojant
panaios struktros schem. Atimties skaitiklio funkcionavimo schema skyrsi savo pradine bsena
(111 vietoje 000) ir tuo kad vis auktesni skili trigeriai pereina kit bsen tuomet, kai prie j
esanios emesns skilties trigeris pereina i 0 1 bsen, o ne atvirkiai, kaip buvo sudties
skaitiklio atveju.
5.43 pav. Asinchroninis dvejetainis trij skili atimties skaitiklis
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
63
5.44 pav. Asinchroninio dvejetainio trij skili atimties skaitiklio modeliavimo rezultatai
5.45 pav. Floorplan Editor funkcijos panaudojimas asinchroninio dvejetainio trij skili atimties
skaitiklio modeliavime
Visuose iuose skaitikliuose auktesni skili trigeri reikms tampa pastoviomis tik
nusistovjus vis emesni skili trigeri reikmms. Jei vienos skilties trigerio vlinimo laikas
(vertinant ir tarp trigerio esanio loginio elemento vlinimo laik) yra tp, tai maksimalus n skili
skaitikli nusistovjimo laikas tp=ntp yra gana didelis.
Sinchronini lygiagretaus perklimo skaitikli nusistovjimo laikas yra daug maesnis. Juose
jimo impulsai vienu metu, lygiagreiai, paduodami vis skili trigerius. Tokio skaitiklio
vlinimo laikas artimas vienos skilties trigerio vlinimo laikui ir nepriklauso nuo skili skaiiaus.
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
64
Sinchroninio sudties skaitiklio schemoje (5.46 pav.) panaudoti dinaminio valdymo JK
trigeriai, kuri visi sinchronizacijos jimas sujungti ir juos visus paduodami skaiiuojami
impulsai.
5.46 pav. Sinchroninis keturi skili sudties skaitiklis
Pavaizduotame skaitiklyje emiausios skilties trigerio JK jimai sujungti su maitinimo altiniu
(VCC), todl jis keiia bsen nuo kiekvieno skaiiuojamo impulso. Vis auktesni skili trigeri
JK jimai sujungti prie juos esani trigeri tiesioginiais ijimais per login schem IR. Tai
reikia, kad skaiiavimo reime jie bus kaip tik tuomet, kai prie juos esani trigeri ijimuose
bus loginis 1, nes tik tuomet IR schemos ijime bus loginis 1.
5.47 pav. Sinchroninio keturi skili sudties skaitiklio modeliavimo rezultatai
PROGRAMUOJAMOS LOGINS MATRICOS ALTERA
Algirdas Klimaviius, VIKO EIF
65
5.48 pav. Floorplan Editor funkcijos panaudojimas sinchroninio keturi skili sudties skaitiklio
modeliavime
Daugiau informacijos ir programas galima rasti INTERNETE
6. ATERA IN