79
ALGIRDAS KLIMAVIČIUS PLM ALTERA MOKOMASIS METODINIS LEIDINYS VIKO ELEKTRONIKOS IR INFORMATIKOS FAKULTETAS 2008

ALGIRDAS KLIMAVIČIUS PLM ALTERA - eif.viko.lt · algirdas klimaviČius plm altera mokomasis metodinis leidinys viko elektronikos ir informatikos fakultetas 2008

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