292
ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti: Nikola Sekulović

1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

ELEKTRONSKI FAKULTET U NIŠUKATEDRA ZA ELEKTRONIKU

SEMINARSKI RAD

VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi

Profesor:Prof.dr. Mile Stojčev

Studenti:Nikola Sekulović (10963)Lazar Velimirović (11017)

Page 2: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Niš, jul 2007.SADRŽAJ

Uvod ……………………………………………………………………………….. 4

1. Procesor…………………………………………………………………………… 51.1. Arhitektura računarskih sistema…………………………………………… 51.2. Funkcije procesora…………………………………………………………. 51.3. Struktura procesora………………………………………………………… 61.4. Istorijski pregled……………………………………………………………. 8

2. Sayeh………………………………………………………………………………. 92.1. Sayeh dizajn i testiranje…………………………………………………….. 92.2. Komponente CPU-a……………..………………………………………… 102.3.Sayeh instrukcija……...………………………....…………………………..112.4. Sayeh staza podataka……..……………………………………………….. 12

2.4.1. Komponente staze podataka…………………………………………...14

3. Računarski sistem…………………………………………………………………..16

4. Registri……………………………………………………………………………..184.1. Registri SAYEH-a……………………………………………………………19

•••Način testiranja komponenti •••………………………………………..194.1.1. VHDL opis registara …………………………………………………...35

4.1.1.1. VHDL opis bloka IR………………………………………….35 4.1.1.1.1.Testiranje bloka IR..............................................................37

4.1.1.2. VHDL opis bloka PC……...………………………………….38 4.1.1.2.1. Testiranje bloka PC ...........................................................40

4.1.1.3. VHDL opis bloka WP………..……………………………….46 4.1.1.3.1. Testiranje bloka WP...........................................................48

4.1.1.4. VHDL opis bloka FR………...………………………………51 4.1.1.4.1. Testiranje bloka FR............................................................54

4.1.1.5. VHDL opis bloka Register File…..………………………… 58 4.1.1.5.1. Testiranje bloka Register File............................................62

5. Aritmetičko-logička jedinica………………………………………………………....675.1. VHDL opis ALU jedinice……………………………………………………….67

5.1.1. Testiranje ALU jedinice .....................................................................71

6. Memorija………………………………………………………..……………………836.1. VHDL opis bloka memorija……………………………………………………83

2

Page 3: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

7. Multiplekser………………………………………………………………………… 85

7.1. VHDL opis multipleksera……………………………………………………...867.1.1. Testiranje multipleksera…………………………………….................87

8. Trostatički bafer………………………………………………………………………91 8.1. VHDL opis trostatičkog bafera 1……………………………………………….91 8.1.1. Testiranje trostatičkog bafera 1..............................................................92 8.2. VHDL opis trostatičkog bafera 2……………………………………………….94 8.2.1. Testiranje trostatičkog bafera 2.............................................................95

8.3. VHDL opis trostatičkog bafera 3……………………………………………….97 8.3.1. Testiranje trostatičkog bafera 3............................................................98

8.4. VHDL opis trostatičkog bafera 4………………………..…………………….100 8.4.1. Testiranje trostatičkog bafera 4..........................................................101

8.5. VHDL opis trostatičkog bafera 5 ………...………………………...…………103 8.5.1.Testiranje trostatičkog bafera 5..........................................................104

8.6. VHDL opis trostatičkog bafera 6………………………………..…………….106 8.6.1.Testiranje trostatičkog bafera 6.........................................................107

8.7. VHDL opis trostatičkog bafera 7……………………………..……………….109 8.7.1.Testiranje trostatičkog bafera 7..........................................................110

9. Upravljačka jedinica…………………….…………………………………………1129.1. Instrukcije procesora SAYEH…………………………….…………………..1129.2. VHDL opis bloka CU (upravljačka jedinica)………………………………....116

10. Procesor SAYEH………………...………………………………………………..157

11. Budućnost procesora………….………………..………………………………….179

12. Testiranje sintetizovanog procesora………………………………………….……182 12.1. Pozivanje programa…….………………………………………………...184

12.2. Inicijalizacija memorije…………………...……………………………...186 12.3. Inicijalizacija registarskig polja…………………………………………..191

12.4. Testiranje procesora………………………………………………………196

13. Laboratorijska vežba................................................................................................213

14. Literatura..................................................................................................................244

3

Page 4: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

UVOD

Predmet ovog seminarskog rada je VHDL opis SAYEH procesora (Simple Architecture, Yet Enough Hardware). Sayeh procesor je dizajniran u edukacione svrhe i svrhe testiranja. Predstavlja primer jednostavnog 16-bitnog procesora.

Seminarski rad je rađen u okviru predmeta “Mikroprocesorski sistemi”, iz VII semestra nastavnog programa Elektronskog fakulteta u Nišu.

4

Page 5: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

1. PROCESOR

1.1. Arhitektura računarskih sistema

Pod arhitekturom računarskog sistema podrazumeva se njegovo predstavljanje pomoću osnovnih funkcionalnih jedinica (modula).Arhitektura odražava sledeće aspekte strukture računarskog sistema vidljive korisniku: skup instrukcija realizovanih u procesoru, načine adresiranja operanada,načine predstavljanja i formate podataka, skup registara procesora vidljivih korisniku i dr. Drugim rečima, termin arhitektura se koristi za opis mogućnosti računarskog sistema.

Struktura ili strukturna organizacija odražava sastav i uzajamne veze elemenata sistema. Struktura računarskog sistema predstavlja model računarskog sistema na osnovu strukturnih (konstrukcionih) komponenata (elemenata), a odražava uzajamne veze elemenata u procesu funkcionisanja sistema.

U sastav računarskog sistema ulaze sledeće osnovne komponente: proceor (centralna procesorska jedinica) koji se sastoji od aritmetičko-logičke jedinice, operativna (osnovna,glavna) memorija i periferni uredjaji (ulazni i izlazni uredjaji).Sve ove komponente se povezuju pomoću magistrala.

Za vezu (komunikaciju) korisnika sa računarskim sistemom predvidjen je tzv.upravljački pult koji omogućava uključivanje računara, njegovo puštanje u rad, zaustavljanje izvršenja programa, poziv (punjenje) programa za izvršenje i dr.

1.2. Funkcije procesora

Procesor predstavlja programski upravljan digitalni uredjaj koji obavlja sledeće funkcije:

- na osnovu instrukcija obradjuje podatke izvršavanjem nad njima odredjenih relativno prostih operacija - mašinskih operacija;

- donosi odluke u procesu obrade o toku odvijanja izvršenja instrukcija programa:- upravlja ostalim komponentama računara;- obezbedjuje prenos podataka izmedju komponenata računara, kao i razmenu podataka sa

spoljnim okruženjem.

Procesor radi izvršavajuci program smešten u operativnu memoriju, koji se sastoji od sledećih aktivnosti:

5

Page 6: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

- prenos (povezivanje) svake instrukcije iz operativne memorije u upravljacku jedinicu;- prenos podataka iz operativne memorije ili registara procesora u aritmetičko-logičku

jedinicu;- izvrsenje (realizacija) operacije predvidjene tom intrukcijom;- pamćenje rezultata u operativnoj memoriji ili registrima.

Tako se izvršavanje programa odvija u neprekidnoj komunikaciji izmedju operativne memorije, aritmetičko-logičke jedinice i upravljačke jedinice.

1.3. Struktura procesora

Uprošćena strukturna šema procesora prikazana je na slici 1. Na šemi su prikazane samo sledeće najvažnije komponente:

-upravljačka (komandna) jedinica služi za prepoznavanje instrukcija (naredbi) koje treba izvršiti, kao i za formiranje upravljačkih signala za izvršenje tih instrukcija;

- aritmetičko-logička jedinica realizuje aritmetičke i logičke operacije;

- red instrukcija služi za pripremu I predobradu instrukcija;

- skup upravljačkih (radnih) registara služe za čuvanje informacija koje se koriste za upravljanje radom procesora;

- skup registara opšte namene imaju višestruku ulogu. Mogu se koristiti kao upravljački registri, na primer kao brojači instrukcija, pokazivači steak-a, indeksni registri itd. Medjutim, njihova osnovna namena je privremeno čuvanje podataka i medjurezultata pri izvršenju operacija u procesoru;

- unutrašnje magistrale povezuju sve komponente procesora u jednu celinu;

- generator sinhronizacionih signala služi za formiranje impulsa kojima se definišu odredjeni vremenski intervali za izvršenje operacija u procesoru;

-sprežna kola (intrfejs) za povezivanje procesora sa operativnom memorijom i periferijama; blok za spregu sadrži sprežna kola (interfejs) kojima se organizuje razmena podataka izmedju procesora i operativne memorije, kao i veza procesora sa perifernim uredjajima, drugim racunarima i sl.

6

Page 7: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika 1. Uprošćena strukturna šema procesora

Osim toga procesor može sadržati i keš-memoriju, stek-memoriju i niz blokova namenjenih organizaciji procesa obrade (blok prekida programa, blok zaštite memorije, blok za kontrolu ispravnosti rada i dijagnostiku procesora i dr.).

. U procesor se dovode signali spoljnih zahteva kojima se od procesora traži neka usluga, preduzimanje akcije i sl. Ovi signali dolaze od blokova samog procesora, od drugih jedinica računara i iz spoljašnjeg okruženja. U procesoru se takodje formiraju i prenose različiti signali koji se mogu svrstati u sledeće grupe: - signali za upravljanje procesorom - signali za upravljanje prenosom podataka - signali adresne magistrale i magistrale podataka - signali stanja procesora - signali za upravljanje prekidima - signali za sinhronizaciju itd.Izlazni signali procesora predstavljaju sinhronizacione (taktne) signale, razne upravljačke signale, signale koji saopštavaju stanje procesora i dr.

Moderniji procesori imaju i jedinice za rad sa brojevima u pokretnom zarezu, brzu internu memoriju itd. Superskalarni procesori imaju i po više operacionih jedinica što im omogućava da izvršavaju nekoliko insrukcija istovremeno ( kada one nisu medjusobno zavisne).

7

Page 8: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

1.4. Istorijski pregled

Prvi procesori su bili mehanički i praktično nisu bili zaseban deo racunara (na primer kakve je projektovao Charls Bebig).Zatim su usledili elektro-mehanički na bazi elektronskih vakumskih cevi koji su bili jako veliki. Obično su računari zauzimali cele prostorije ili čak spratove. Do značajnijeg smanjenja dimenzija i povećanja performansi došlo je upotrebom trasnzistora i integrisanih kola u drugoj polovini XX veka.

Svaki procesor spolja izgleda veoma jednostavno, alion je u svojoj unutrašnjosti jako kompleksan, jer se radi o stotinama miliona tranzistora koji su smešteni u jednom čipu. Prvi put takvo nešto je uspelo 1971. kada je napravljen prvi procesor Intel 4004, koji je mogao samo sabirati i oduzimati, ali su naučnici po prvi put uspeli da u jedan čip smeste silna integrisana kola i tranzistore, što je dalo osnovu za dalji razvoj procesora koji su tim napretkom počeli da troše mnogo manje el.energije.Prvi mikroprocesor koji se našao u kućnim računarima bio je Intel 8080, 8-bitni procesor nastao 1974. godine. Od tada do danas mikroprocesori su dobili na brzini, efikasnosti i kompleksnosti.

Veoma često se spominje i Moore-ov zakon koji objašnjava da se svakih 18 meseci broj tranzistora i brzina udvostručava, a glasi ovako: The complexity of an integrated circuit, with respect to minimum component cost will double in about 18 months.

8

Page 9: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

2. SAYEH

2.1. SAYEH dizajn i testiranje

U delu koji sledi prikazaćemo dizajn i opis procesora. CPU je SAYEH (Simple Architecture, Yet Enough Hardware-jednostavna arhitektura, ali sa dovoljno hardvera) koji je dizajniran za svrhe učenja i testiranja.

Detalji funkcionalnosti procesora

Jednostavan CPU primer koji je ovde razmatran ima registarsko polje koje se koristi za instrukcije za obradu podataka. CPU ima 16-bitnu magistralu podataka i 16-bitnu adresnu magistralu. Procesor ima 8-bitne i 16-bitne instrukcije. Kratke instrukcije sadrže instrukcije prikrivanja (shadow instructions), koje efikasno spajaju dve takve instrukcije u jednu 16-bitnu reč. Slika 1 prikazuje signale SAYEH interfejsa.

Slika 1. SAYEH Interfejs

9

Page 10: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

2.2. Komponenete CPU-a

SAYEH koristi svoje polje registara za većinu svojih instrukcija. Adresiranje kod ovog procesora takodje koristi prednosti ove strukture. Zbog ovoga, hardver za adresiranje SAYEH-a je jednostavan i izlaz polja registara se koristi u proračunima adrese. SAYEH komponente koje se koriste od strane instrukcija uključuju standardne registre kao što su programski brojač, instrukcioni registar, aritmetičko-logička jedinica i statusni registar. Osim toga, ovaj procesor ima registre koji čine polje registara R0,R1, R2, R3, kao i pokazivač prozora (Window Pointer) koji definiše R0, R1, R2, R3 unutar polja registara. CPU komponente i kratak opis svake su pokazani ispod. - PC: Programski brojač, 16 bitova

- R0, R1, R2, R3 registri opšte namene koji su deo polja registara, 16 bita - RegFile: Registri opšte namene koji čine prozor od 4 registra u registarskom polju

od 8 registara . - WP: Pokazivač prozora ukazuje polju registara da definiše RO, R1, R2, R3, 3 bita

- IR: Instrukcijski registar koji je napunjen sa jednom 16-bitnom, 8-bitnom ili dve 8-bitne instrukcije, 16 bita

- ALU: ALU može da obavlja sledeće aritmetičke i logičke operacije nad svojim 16-bitnim operandima: sabiranje, oduzimanje, množenje, AND, OR, NOT, Shiftleft, Shiftright i upoređivanje

- Z flag: Postaje 1 kada je izlaz iz ALU 0

- C flag: Postaje 1 kada ALU ima izlaz sa prenosom

10

Page 11: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

InstructionMnemonic andDefinition

Bits15:0

RTL notation:comments orcondition

nop No operation 0000-00-00 No operationhlt Halt 0000-00-01 Halt, fetching stopsszf Set zero flag 0000-00-10 Z <= 1'czf Clr zero flag 0000-00-11 Z <= '0'scf Set carry flag 0000-01-00 C<='1'ccf Clr carry flag 0000-01-01 C <= '0'cwp Clr

Window pointer0000-01-10 WP <= "000"

mvr Move Register 0001-D-S RD <= RsIda Load Addressed 0010-D-S RD <= (Rs)sta Store Addressed 0011-D-S (RD) <= Rsinp Input from port 0100-D-S In from Rs write to RDoup Output to port 0101-D-S Out to port RD from Rsand AND Registers 0110-D-S RD <= RD & Rsor OR Registers 0111-D-S RD <= RD I Rsnot NOT Register 1000-D-S RD <= ~Rsshl Shift Left 1001-D-S RD <= sla Rsshr Shift Right 1010-D-S RD <= sra Rsadd Add Registers 1011-D-S RD <= RD + RS + Csub Subtract

Registers1100-D-S RD <= RD - RS - C

mul MultiplyRegisters

1101-D-S RD <= RD * Rs :8-bitmultiplication

cmp Compare 1110-D-S RD, RS (if equal:Z=1; ifRD<RS: C=1)

mil Move Immd Low 1111-D-00-I RDL <= {8'bZ, I}mih Move Immd High 1111-D-01-I RDH <= {I, 8'bZ }spc Save PC 1111-D-10-I RD <= PC + Ijpa Jump Addressed 1111-D-ll-I PC <= RD + Ijpr Jump Relative 0000-01-11-I PC <= PC + Ibrz Branch if Zero 0000-10-00-I PC <= PC + I :if Z is 1brc Branch if Carry 0000-10-01-I PC <= PC + I :if C is 1awp Add Win pntr 0000-10-10-I WP <= WP + I

Tabela 1. Skup instrukcija SAYEH procesora

2.3. SAYEH instrukcije

Opšti format 8-bitnih i 16-bitnih SAYEH instrukcija je prikazan na slici 2. 16-bitne instrukcije imaju Immediate polje, a 8-bitne instrukcije nemaju. OPCODE polje je 4-bitni kod koji odredjuje tip instrukcije. Polja Left (levo) i Right (desno) su 2-bitni kodovi koji biraju registre R0 do R3 za izvor i/ili odredište instrukcije. Obično, Left se koristi za

11

Page 12: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

odredište, a Right za izvor. Immediate polje se koristi za trenutne podatke, ili ako su dve 8-bitne instrukcije zapakovane koristi se za drugu instrukciju.

15 12 11 10 09 08 07 00OPCODE Left Right Immediate

Slika 2. Format instrukcije

Naš procesor ima ukupno 29 instrukcija kao što je pokazano u tabeli 1. Instrukcije sa I trenutnim poljem su 16-bitne instrukcije a ostale su 8-bitne instrukcije. Instrukcije koje koriste polja Destination (odredište) i Source (izvor) (označeni sa D i S u tabeli seta instrukcija) imaju OPCODE koji je ograničen na 4 bita. Instrukcije koje ne zahtevaju specifikaciju izvornih i odredišnih registara korise ova polja kao OPCODE ekstenzije.

U setu instrukcija, adresirane lokacije u memoriji su naznačene zatvaranjem adrese u zagrade. Za ove instrukcije, procesor izdaje ReadMem ili WriteMem signale memoriji. Kada se instrukcije ulaza i izlaza (inp, oup) izvrše, SAYEH izdaje ReadIO signale ili WriteIO signale svojim UI uredjajima.

2.4. SAYEH staza podataka

Glavne komponente ovog procesora koji je prikazan na slici 3 su Addressing Unit(adresna jedinica) koja se sastoji od PC (Program Counter-programski brojač) i Address Logic(adresna logika), IR (instrukcioni registar), WP (Window Pointer), Register File koji se sastoji od Left Decoder 1 i Right Decoder 2, ALU (aritmetičko-logička jedinica) i Flags (zastavice). Kao što je pokazano na slici 3, ove komponente su ili povezane žicom ili povezane kroz trostatičke magistrale. Ulazi komponenata sa više izvora, kao što je ulaz sa leve strane ALU, koriste trostatičke magistrale. Trostatičke magistrale u ovoj strukturi su Databus i OpndBus. Na ovoj slici, signali koji su zakošeni (Italic) su kontrolni signali koje izdaje kontroler.

12

Page 13: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika 3. SAYEH staza podataka

13

Page 14: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

2.4.1. Komponente staze podataka (Datapath Components)

Slika 4 pokazuje hijerarhijsku strukturu SAYEH komponenti. Procesor se sastoji iz datapath(staza podataka) i kontroler. Datapath komponente su Addressing Unit, IR, WR, Register File, Arithmetic Unit i registri Flags. Addressing Unit se dalje deli na PC i Address Logic.

Addressing Logic(adresna logika) je kombinaciono kolo koje je sposobno dodavati svoje ulaze u cilju generisanja 16-bitnog izlaza koji formira adresu za memoriju procesora. Program Counter i Instruction Register su 16-bitni registri. Register File je dvoportna memorija i polje od 8 šesnaestobitnih registara. Window Pointer je trobitni registar koji se koristi kao osnova Register File. Specifični registri za čitanje i upis (R0, R1, R2 ili R3) u Register File su određeni svojim 4-bitnim magistralama koje dolaze iz Instruction Registera. 2 bita se koriste za izbor izvornog registra, a druga 2 bita biraju odredišni registar.

Slika 4. Hijerarhijska struktura SAYEH-a

14

Page 15: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Kada je Window Pointer aktivan, dodaje svoj trobitni ulaz na svoje trenutne podatke. Flags registar je dvobitni registar koji čuva flag izlaze iz Aritmetic Unit. Aritmetic Unit je 16-bitna aritmetička i logička jedinica koja ima funkcije prikazane u tabeli 2. 9-bitni ulaz bira funkciju ALU-a prikazanu u ovoj tabeli. Ovaj kod je obezbedjen od strane kontrolera procesora.

Operacije Opis KodBl5to0H Operand B smestiti na izlaz 1000000000

AandBH Na izlaz smestiti rezultat logičke operacije A' I ' B

0100000000

AorBH Na izlaz smestiti rezultat logičke operacije A' ILI ' B

0010000000

notBH Na izlaz smestiti komplement operanda B

0001000000

shlBH Pomeranje bitova operanda B za jedno mesto ulevo

0000100000

shrBH Pomeranje bitova operanda B za jedno mesto udesno

0000010000

AaddBH Zbir operanada A I B smestiti na izlaz

0000001000

AsubBH Razliku operanada A I B smestiti na izlaz

0000000100

AmulBH Proizvod operanada A I B smestiti na izlaz

0000000010

AcmpBH Z=1 ako je A=B; C=1 ako je A<B

0000000001

Tabela 2. ALU operacije

SAYEH sekvencijalne komponente podataka i njihov kontroler se okidaju

silaznom ivicom glavnog sistemskog takta. Kontrolni signali ostaju aktivni nakon jedne opadajuće ivice do druge. Ovaj period omogućava prostiranje signala kroz magistrale i logičke jedinice u putu podataka.

15

Page 16: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

3. Računarski sistem

Prilikom dizajna jednog računarskog sistema, ima se u vidu pet osnovnih elemenata od kojih se sastoji hardver (računar). To su : operaciona, odnosno aritmetičko-logička jedinica,upravljačka jedinica,memorija,ulazni i izlazni delovi.Aritmetičko-logička jedinica obavlja aritmetičke operacije i uporedjuje numeričke vrednosti. Upravljačka jedinica ili kontrolna jedinica upravlja funkcionisanjem računara primajući instrukcije od korisnika i transformišući ih u električne signale,koje računar može da shvati. Kombinacija aritmetičko-logičke i kontrolne jedinice čine mikroprocesor u savremenim računarima (CPU,skraćenica na engleskom). Memorija čuva instrukcije i podatke. Uopšteno gledano, instrukcije se čuva u primarnu , a podaci u sekundarnu memoriju. Delovi ulaza i izlaza respektivno, omogućavaju primanje i slanje podataka, odnosno komunikaciju korisnika i računara.

Kao što je već rečeno, procesor izvršava kompjuterski program, koji predstavlja skup mašinskih instrukcija kojima korisnik opisuje zadatke koje daje računaru. Međutim, program nije smešten u procesoru. Program je smešten u memoriji. Instrukcije i podaci definisani u okviru programa nalaze se u memorijskim lokacijama i procesor im selektivno pristupa.

Slika Računar sa memorisanim programom

Slika 1. Računar sa memorisanim programom

Procesor koji je odgovarajućim magistralama povezan sa memorijom predstavlja računarski sistem. Sistem sa slike se naziva računar sa memorisanim programom (eng. Stored program computer). Ovakav sistem često se naziva i von Neumann-ov računar, po matematičaru John von Neumann-u koji je još 1945. razvio ovu strukturu na Prinston

16

procesor

memorija

adrese

instrukcije i podaci

registri

instrukcije

podaci

Page 17: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Institutu za napredne nauke. Još uvek je osnova za gotovo sve računare i do današnjih dana.

17

Page 18: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

4. Registri Registar,u računarstvu procesorski registar, je poseban deo procesora koji služi za čuvanje informacija koje su potrebne procesoru tokom izvršavanja programa. Osnovne karakteristike su velika brzina, ali mali kapacitet. Brzina je posledica rada na taktu centralnog procesora, što je u današnjim primenama značajno više od takta operativne memorije. Kapacitet je posledica činjenice da procesor ima mali deo izdvojen za skladištenje podataka u odnosu na operativnu memoriju koja je ogromna.Većina današnjih računara radi na sledeći način-podatak se iz operativne memorije učita u registar, obradi, potom vrati u operativnu memoriju-to se zove čitaj-piši arhitektura.

Procesorski registri su na vrhu memorijske hijerarhije i najbrži su način za pristup podatku u računaru. Veličina registra se izražava u bitima,na primer 8-bitni registar (kod 8-bitnih procesora), 32-bitni registar (kod većine današnjih procesora) ili 64-bitni registar kod najnovije generacije procesora.

Registri su realizovani na istom komadu poluprovodnika kao i ostatak procesora, i organizovani kao tablica registara. Nekada su bili pravljeni kao diskretni elementi od flip-flopova ili u tehnologiji tankog filma, a pre toga od magnetnih prstenova.

Pojam registar se obično odnosi samo na one registre koji se mogu neposredno navesti kao ulazni ili izlazni za naredbe,prema skupu naredbi procesora. Ovi registri su, u stvari, arhitekturni registri. Na primer, x86 skup naredbi radi sa osam 32-bitnih registara, dok sam procesor ima jos registara koji služe za neke druge svrhe.

Postoji više vrsta registara:- Registri podataka se koriste za smeštanje celih brojeva i karaktera (za brojeve

u pokretnom zarezu postoje drugi registri). Kod starijih i jednostavnijih procesora postoji poseban registar akumulator koji učestvuje implicitno u mnogim operacijama;

- Adresni registri sadrže memorijske adrese i služe za pristup operativnoj memoriji računara.Kod nekih procesora postoji poseban indeksni registar koji se često koristi za kompleksna kombinovanja radi računanja adrese;

- Registri opšte namene mogu čuvati i podatke i adrese;- Registri podataka u pokretnom zarezu su posebni registri koji se koriste

prilikom računa u pokretnom zarezu od strane specijalizovanog procesora (FPU-procesor za račun u pokretnom zarezu) odnosno dela procesora koji se bavi takvim računarom;

- Registri konstanti služe samo za čitanje i to neke unapred izabrane,često korišćene vrednosti.Često se tako tretira nula,mada postoje primeri i za 1 ili pi;

- Vektorski registri sadrže podatke za vektorski račun kod posebne vrste procesora (SIMD-jedna instrukcija više podataka).

- Registri posebne namene sadrže stanje programa i procesora i obično su to:∙ Programski brojač ili pokazatelj instrukcija sadrži adresu sledeće instrukcije programa koju treba izvršiti;

18

Page 19: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

∙ Pokazivač steka je takodje vrsta adresnog registra koji pokazuje na vrh strukture podataka organizovane u memoriji;∙ Statusni registar ili statusna reč sadrži podatke koji opisuju stanje procesora, izvršavanja tekuće instrukcije ili poslednjih značajnih promena;

- Registar instrukcija sadrži tekuću instrukciju koju izvršava procesor;- Indeks registri služe kombinovanju sa adresnim registrima radi ostvarivanja

složenijih načina dobijanja adrese podataka,operanada ili instrukcija;

Hardverski registri su slični registrima opšte namene, ali nisu smešteni na procesoru vec na drugim čipovima i služe za privremeni smeštaj podataka, adresa i statusa.

Procesor SAYEH se sastoji od sledećih registara:

IR- Instrukcioni registar (eng. Instruction Register): 16-bitni registar koji čuva instrukciju koja se trenutno izvršavaPC- Programski brojač (eng. Program Counter): 16-bitni registar koji sadrži adresu naredne instrukcije koju treba izvršitiWP- Pokazivač prozora (eng. Window Pointer): 3-bitni registar koji pokazuje na jedan od osam registara u registarskom polju (eng.Register File)R0, R1, R2 i R3 registri: 16-bitni registri opšte namene koji predstavljaju deo registarskog poljaFR- Statusni registar (eng. Flags Register): 2-bitni registar koji označava stanje ALU jedinice

***** Način testiranja komponenti*****

Korak 1: U prozoru DESIGN BROWSE izabrati komponentu koju treba testirati.

19

4.1. REGISTRI SAYEH-a-a

Page 20: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 2: Levi klik mišem na izabranu komponentu.

20

Page 21: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 3: Desni klik na fajl označen crvenom ikonicom i levi klik na opciju Set as Top-Level.

21

Page 22: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 4: Ponovo desni klik na fajl označen crvenom ikonicom i levi klik na opciju Generate TestBench.

22

Page 23: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 5: Na prozoru koji se otvara levi klik mišem na opciju Next.

23

Page 24: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 6: Na prozoru koji se otvara ponovo levi klik na opciju Next.

24

Page 25: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 7: Na prozoru koji se otvara još jednom levi klik na opciju Next.

25

Page 26: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 8: Levi klik na opciju Finish

26

Page 27: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 9: Levi klik na ikonicu označenu crvenom bojom.

27

Page 28: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 10: Desni klik na belo polje otvorenog prozora i levi klik na opciju Add Signals.

28

Page 29: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 11: U desnom delu novodobijenog prozora nalaze se signali izabrane komponente. Levim klikom na opciju Add dodajemo signale.

29

Page 30: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 12: Signali dodati preko opcije Add pojavljuju se kao na slici.

30

Page 31: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 13: Dodeljivanje vrednosti signalima vrši se desnim klikom na odgovarajući i izborom opcije Stimulators.

31

Page 32: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak14: U novootvorenom prozoru Stimulators biraju se konkretne vrednosti potrebne za simulaciju.

32

Page 33: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 15: Testiranje se startuje ikonicom koja je označena crvenom bojom.

33

Page 34: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 16: Nakon testiranja prozor treba izgledati kao na sledećoj slici.

34

Page 35: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

4.1.1.VHDL opis registara

4.1.1.1. VHDL opis bloka IR

Blok IR predstavlja 16-bitni registar koji se u okviru izvršne jedinice koristi kao instrukcioni registar.

Blok IR ima sledeće portove:- Clk – ulaz taktnog signala (kad je =1 registar pamti sadržaj na ulazu),- Load – ulaz za dozvolu izlaza podataka (kada je =0 registar je otkačen sa

magistrale, a kada je =1 memorisani sadržaj registra se pojavljuje na izlazu),- 16-bitni ulaz Data – ulaz na koji se dovodi instrukcija,

35

Page 36: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

- 16-bitni izlaz Q – izlaz iz instrukcionog registra usmeren ka upravljačkoj jednici (kontroleru),

- 8-bitni izlaz Q1– izlaz koji predstavlja gornjih 8 bitova iz 16-bitnog ulaza Data.

CLK Q(15:0) DATA(15:0)

Q1(7:0)

LOAD

U1

ir-------------------------------------------------------------------------------------- Design unit generated by Aldec IP Core Generator, version 6.3.-- Copyright (c) 2003-2004 by Aldec, Inc. All rights reserved.------------------------------------------------------------------------------------------ Created on Saturday 2007-03-31, 14:02:33---------------------------------------------------------------------------------------- Details:-- Type: D type flip-flop register-- Data width: 16-- Clock input CLK active high-- Load input LOAD active high------------------------------------------------------------------------------------

--{{ Section below this comment is automatically maintained-- and may be overwritten--{entity {ir} architecture {ir_arch}}

library IEEE;use IEEE.std_logic_1164.all;

entity ir isport (

LOAD : in std_logic;CLK : in std_logic;DATA : in std_logic_vector(15 downto 0);Q: out std_logic_vector(15 downto 0);Q1: out std_logic_vector(7 downto 0)

);end entity;

architecture ir_arch of ir is

36

Page 37: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

begin

process (CLK) variable TEMP_Q: std_logic_vector(15 downto 0);

begin

if rising_edge(CLK) thenif LOAD = '1' then

TEMP_Q :=DATA;end if;

end if; Q <= TEMP_Q; Q1<= TEMP_Q(15 downto 8);

end process;end ir_arch;

4.1.1.1.1. Testiranje bloka IR

Izabrali smo taktni impuls periode 100 ns (prvih 50 ns je logička '0' , a narednih 50 ns je logička'1'). Ako je kontrolni signal Load=1, šesnaestobitni uzlazDATA=1100101001011010 = CA5A, nailaskom prednje ivice takta Clk na šesnaestobitnom izlazu se javlja Q=1100101001011010=CA5A ,a na osmobitnom izlazu se javljaju osam viših bitova sa ulaza Q1=11001010=CA.

37

Page 38: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za instrukcioni registar IR

4.1.1.2. VHDL opis bloka PC

PC predstavlja blok koji određuje adresu naredne instrukcije koju treba izvršiti.Blok PC ima sledeće portove:

- Clk – ulaz taktnog signala (kad je =1 registar pamti sadržaj na ulazu),- PC -16-bitni ulaz- 16-bitni ulaz RSide – ulaz koji se dovodi iz registarskog polja,- 8-bitni ulaz IR– ulaz koji se dovodi iz instrukcionog registra,- Izl –16-bitni izlaz koji se vodi na memoriju i na ulaz PC-a,- Reset PC – ulaz koji postavlja izlaz na nula vektor,- PCplus1– kontrolni signal (ako je =1 sadržaj brojača se uvećava za 1) ,

38

Page 39: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

- PCplusI– kontrolni signal (ako je =1 sadržaj brojača se uvećava za vrednost IR),

- R0plusI– kontrolni signal (ako je =1 na izlazu brojača je zbir ulaza RSide i ulaza IR ),

- R0plus0– kontrolni signal (ako je =1 na izlazu brojača je ulaz RSide ), - Jmp – kontrolni signal (ako je =1 ulaz PC se samo prosleđuje na izlaz Izl).

IR(7:0)

izl(15:0)

PC(15:0)

PCplus1

PCplusI

R0plus0

R0plusI

RSide(15:0)

ResetPCclk

jmp

U1

adr_unt

library IEEE;use IEEE.STD_LOGIC_1164.all;use IEEE.STD_LOGIC_UNSIGNED.all;entity adr_unt is

port( clk : in STD_LOGIC; ResetPC : in STD_LOGIC;

PCplus1 : in std_logic;PCplusI : in std_logic;R0plusI : in std_logic;R0plus0 : in std_logic;jmp : in std_logic;RSide : in std_logic_vector(15 downto 0);IR : in std_logic_vector(7 downto 0);PC : in std_logic_vector(15 downto 0);

izl : out std_logic_vector(15 downto 0) );

end adr_unt;

--}} End of automatically maintained section

39

Page 40: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

architecture adr_unt of adr_unt isbegin

main:process (ResetPC,PCplus1,PCplusI,R0plusI,R0plus0,RSide,PC,IR,clk) variable PC_Buff : std_logic_vector(15 downto 0);begin

if rising_edge(clk)then

if jmp ='1'thenPC_Buff:=PC;izl<=PC_Buff;

end if;

if ResetPC ='1'thenPC_Buff:="0000000000000000";izl<=PC_Buff;

end if;if PCplus1 ='1'

thenPC_Buff:=PC_Buff + "0000000000000001";izl<=PC_Buff;

end if;if PCplusI ='1'

thenPC_Buff:=PC_Buff + IR;izl<=PC_Buff;

end if;if R0plusI ='1'

thenPC_Buff:=RSide + IR;izl<=PC_Buff;

end if;if R0plus0 ='1'

thenizl<=RSide;

end if;end if;

end process;end adr_unt;

4.1.1.2.1. Testiranje bloka PC

U primerima koji slede ulazni signali su sledeći:

40

Page 41: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

RSide=1000111100001100=8F0CIR=01110111=77PC=0000000011110000=00F0.

Izabrali smo taktni impuls periode 100 ns (prvih 50 ns je logička '0' , a narednih 50 ns je logička'1'). Ako je kontrolni signal PCplus1=1, nailaskom prednje ivice takta Clk sadržaj brojača se poveća za jedanizl=0000000011110001=00F1.

Slika: Test primer za brojač čiji se sadržaj uvećava za 1

Ako je kontrolni signal PCplusI=1, nailaskom prednje ivice takta Clk na izlazu se dobija zbir ulaza PC i IR tj.izl=0000000101100111=0167.

41

Page 42: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za brojač čiji se sadržaj uvećava za vrednost koja je na ulazu IR

Ako je kontrolni signal R0plus0=1, nailaskom prednje ivice takta Clk ulaz RSide se propušta na izlazizl=1000111100001100=8F0C.

42

Page 43: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za brojač kod koga se ulaz RSide propušta na izlaz

Ako je kontrolni signal R0plusI=1, nailaskom prednje ivice takta Clk na izlazu se dobija zbir ulaza RSide i IR tj. izl=1000111110000011=8F03.

43

Page 44: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za brojač kod koga se na izlaz vodi zbir vrednosti sa ulaza Ride i IR

Ako je kontrolni signal ResetPC=1, nailaskom prednje ivice takta Clk sadržaj brojača se resetujeizl=0000000000000000=0000.

44

Page 45: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za resetovanje brojača

Ako je kontrolni signal jmp=1, nailaskom prednje ivice takta Clk ulaz PC se prosleđuje na izlazizl=0000000011110000=00F0.

45

Page 46: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za brojač kod koga se ulaz PC prosleđuje na izlaz

4.1.1.3. VHDL opis bloka WP

WP je 3-bitni registar koji ukazuje na jedan od osam registara u polju Register File.Blok WP ima sledeće portove:

- Clk – ulaz taktnog signala (kad je =1 registar pamti sadržaj na ulazu),- Data – trobitni ulaz- Q – trobitni izlaz koji definiše registar u registarskom polju,- WPreset – kontrolni ulaz (ako je =1 izlaz Q je nula vektor),- WPadd – kontrolni ulaz (ako je =1 ulaz se dodaje na trenutno stanje WP-a).

46

Page 47: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

CLK

Q(2:0)DATA(2:0)

WP

add

WP

reset

U1

WP---------------------------------------------------------------------------------------- Design unit generated by Aldec IP Core Generator, version 6.3.-- Copyright (c) 2003-2004 by Aldec, Inc. All rights reserved.------------------------------------------------------------------------------------------ Created on Friday 2007-06-08, 21:57:26---------------------------------------------------------------------------------------- Details:-- Type: D type flip-flop register-- Data width: 3-- Clock input CLK active high-- Clock enable input WPadd active high-- Asynchronous clear input WPreset active high------------------------------------------------------------------------------------

--{{ Section below this comment is automatically maintained-- and may be overwritten--{entity {ffd} architecture {ffd_arch}}

library IEEE;use IEEE.std_logic_1164.all;use IEEE.STD_LOGIC_SIGNED.all;entity WP is

port (WPreset : in std_logic;WPadd : in std_logic;CLK : in std_logic;DATA : in std_logic_vector(2 downto 0);Q : out std_logic_vector(2 downto 0)

);end entity;

47

Page 48: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

--}} End of automatically maintained section

architecture WP_arch of WP is

signal TEMP_Q: std_logic_vector(2 downto 0);

begin

process (CLK, WPreset)begin

if rising_edge(CLK) then if WPreset = '1' then

TEMP_Q <= (others => '0'); elsif WPadd = '1' then

TEMP_Q <= TEMP_Q + DATA;else

TEMP_Q <= DATA;end if;

end if;

end process;

Q <= TEMP_Q;

end WP_arch;

4.1.1.3.1. Testiranje bloka WP (pokazivač prozora)

U primeru koji sledi, za kontrolne signaleWPadd=0 WPreset=0, nailaskom prednje ivice takta Clk signal sa ulaza DATA=010=2 vodi se na izlaz tj.Q=DATA=010=2.

48

Page 49: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za blok WP u kome se vrednost sa ulaza prosleđuje na izlaz

U primeru koji sledi, za kontrolne signaleWPadd=1 WPreset=0, nailaskom prednje ivice takta Clk, signal sa ulazaDATA=010=2dodaje se trenutnom stanju bloka WP Q=Q+DATA=010+010=100=4.

49

Page 50: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za blok WP u kojem se vrednost sa ulaza DATA dodaje trenutnom stanju WP-a

Za kontrolne signaleWPadd=0 WPreset=1, nailaskom prednje ivice takta Clk, izlaz se resetuje tj.Q=000=0.

50

Page 51: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer u kojem se resetuje sadržaj bloka WP

4.1.1.4. VHDL opis bloka FR

FR je 2-bitni registar koji opisuje stanje aritmetičko-logičke jedinice. Blok FR ima sledeće portove:

- Clk – ulaz taktnog signala (kad je =1 registar pamti sadržaj na ulazu),

51

Page 52: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

- Cout, Zout – 1-bitni ulazi,- C,Z – 1-bitni izlazi,- Cset – kontrolni ulaz (ako je =1 izlaz C se postavlja na 1),- Creset – kontrolni ulaz (ako je =1 izlaz C se postavlja na 0),- Zset – kontrolni ulaz (ako je =1 izlaz Z se postavlja na 1),- Zreset – kontrolni ulaz (ako je =1 izlaz Z se postavlja na 0).

CLK

C

CReset

Z

CSet

Cout

ZResetZSetZout

U2

flags

------------------ -- -- ---------------------------------------------------------------- Design unit generated by Aldec IP Core Generator, version 6.3.-- Copyright (c) 2003-2004 by Aldec, Inc. All rights reserved.------------------------------------------------------------------------------------------ Created on Tuesday 2007-06-12, 12:42:08---------------------------------------------------------------------------------------- Details:-- Type: D type flip-flop-- Data width: 1-- Clock input CLK active high-- Asynchronous clear input CLR active high-- Asynchronous set input SET active high------------------------------------------------------------------------------------

--{{ Section below this comment is automatically maintained-- and may be overwritten--{entity {flags} architecture {flags_arch}}

library IEEE;use IEEE.std_logic_1164.all;

entity flags is

52

Page 53: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

port (CReset,ZReset : in std_logic;CSet,ZSet : in std_logic;CLK : in std_logic;Cout,Zout : in std_logic;C,Z : out std_logic

);end entity;

--}} End of automatically maintained section

architecture flags_arch of flags is

begin

process (CLK, CReset,ZReset,CSet,ZSet) variable TEMP_QC: std_logic;

variable TEMP_QZ: std_logic;begin

if rising_edge(CLK) thenif CReset = '1' and ZReset = '1'and CSet = '0' and ZSet= '0' then

TEMP_QC := '0';TEMP_QZ := '0';

elsif CReset = '0' and ZReset = '1' and CSet = '0' and ZSet= '0' then TEMP_QC := Cout;TEMP_QZ := '0';

elsif CReset = '1' and ZReset = '0' and CSet = '0' and ZSet= '0' then TEMP_QC := '0';TEMP_QZ := Zout;

elsif CReset = '0' and ZReset = '0' and CSet = '0' and ZSet= '0' then TEMP_QC := Cout;TEMP_QZ := Zout;

elsif CReset = '0' and ZReset = '0'and CSet = '1' and ZSet= '1' then TEMP_QC := '1';TEMP_QZ := '1';

elsif CReset = '0' and ZReset = '0' and CSet = '0' and ZSet= '1' then TEMP_QC := Cout;TEMP_QZ := '1';

elsif CReset = '0' and ZReset = '0' and CSet = '1' and ZSet= '0' then TEMP_QC := '1';TEMP_QZ := Zout;

elsif CReset = '0' and ZReset = '0' and CSet = '0' and ZSet= '0' then TEMP_QC := Cout;

53

Page 54: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

TEMP_QZ := Zout;end if;

end if;C <= TEMP_QC;Z <= TEMP_QZ;

end process;

end flags_arch;

4.1.1.4.1. Testiranje bloka FR

Za ulaze Cout=1Zout=0i kontrolni signal Zset=1, nailaskom prednje ivice takta Clk, izlazi iz bloka FR suC=1Z=1.

54

Page 55: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za blok FR u kojem se setuje zastavica Z

Za ulaze Cout=1Zout=0i kontrolni signal Zreset=1, nailaskom prednje ivice takta Clk, izlazi iz bloka FR suC=1Z=0.

55

Page 56: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za blok FR u kojem se resetuje zastavica Z

Za ulaze Cout=1Zout=0i kontrolni signal Cset=1, nailaskom prednje ivice takta Clk, izlazi iz bloka FR suC=1Z=0.

56

Page 57: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za blok FR u kojem se setuje zastavica C

Za ulaze Cout=1Zout=0i kontrolni signal Creset=1, nailaskom prednje ivice takta Clk, izlazi iz bloka FR suC=0Z=0.

57

Page 58: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za blok FR u kojem se resetuje zastavica C

4.1.1.5. VHDL opis bloka Register File

Register File predstavlja polje od osam 16-bitnih registara. Blok Register File ima sledeće portove:

- Clk – ulaz taktnog signala (kad je =1 registar pamti sadržaj na ulazu),- Data -16-bitni ulaz- Rd, Rs –16-bitni izlazi koji predstavljaju operande za aritmetičko-logičku

jedinicu,- WP– 3-bitni kontrolni signal koji definiše registar,- Sel– 4-bitni kontrolni signal (donja dva bita se koriste za definisanje

izvora(source), a gornja dva za definisanje odredišta (destination) ),- WEL– kontrolni signal (ako je =1 na mestu osam nižih bitova u registru koji

je definisan kontrolnim signalom WP upisaće se nižih osam bitova sa ulaza DATA),

- WEH– kontrolni signal (ako je =1 na mestu osam viših bitova u registru koji je definisan kontrolnim signalom WP upisaće se osam viših bitova sa ulaza DATA).

58

Page 59: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

---------------------------------------------------------------------------------------- Design unit generated by Aldec IP Core Generator, version 6.3.-- Copyright (c) 2003-2004 by Aldec, Inc. All rights reserved.------------------------------------------------------------------------------------------ Created on Sunday 2007-04-01, 23:19:26---------------------------------------------------------------------------------------- Details:-- Type: Synchronous single port Random Access Memory (RAM)-- Word size: 16 bits-- Memory depth: 8 words-- Clock input CLK active high-- Write enable input WE active high------------------------------------------------------------------------------------

--{{ Section below this comment is automatically maintained-- and may be overwritten--{entity {ram} architecture {ram_arch}}

library IEEE;use IEEE.std_logic_1164.all;

entity registar_file isport (

WEL,WEH : in std_logic;CLK : in std_logic;WP : in std_logic_vector(2 downto 0);DATA : in std_logic_vector(15 downto 0);Sel : in std_logic_vector(3 downto 0); RD , RS : out std_logic_vector(15 downto 0)

);end entity;

59

CLK

RD(15:0)

DATA(15:0)

RS(15:0)

Sel(3:0)

WEHWEL

WP(2:0)

U3

registar_file

Page 60: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

--}} End of automatically maintained section

library IEEE;use IEEE.std_logic_unsigned.all;

architecture registar_file_arch of registar_file is

type ram_mem_type is array (7 downto 0) of std_logic_vector(15 downto 0);

begin

process (CLK)variable ADDR_TEMP: integer range 7 downto 0; variable ram_mem : ram_mem_type;begin

if rising_edge(CLK) thenif (WEL = '1' and WEH = '1') then

ADDR_TEMP := CONV_INTEGER(WP);ram_mem(ADDR_TEMP)(15 downto 0) := DATA

(15 downto 0);elsif (WEL = '1' and WEH = '0') then

ADDR_TEMP := CONV_INTEGER(WP);ram_mem(ADDR_TEMP)(7 downto 0) := DATA

(7 downto 0);elsif (WEL = '0' and WEH = '1') then

ADDR_TEMP := CONV_INTEGER(WP);ram_mem(ADDR_TEMP)(15 downto 8) := DATA

(15 downto 8);end if;

end if;

case Sel is when "0000" =>

RD <= ram_mem(0);RS <= ram_mem(4);

when "0001" =>RD <= ram_mem(0);RS <= ram_mem(5);

when "0010" =>RD <= ram_mem(0);RS <= ram_mem(6);

when "0011" =>RD <= ram_mem(0);RS <= ram_mem(7);

when "0100" =>

60

Page 61: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

RD <= ram_mem(1);RS <= ram_mem(4);

when "0101" =>RD <= ram_mem(1);RS <= ram_mem(5);

when "0110" =>RD <= ram_mem(1);RS <= ram_mem(6);

when "0111" =>RD <= ram_mem(1);RS <= ram_mem(7);

when "1000" =>RD <= ram_mem(2);RS <= ram_mem(4);

when "1001" =>RD <= ram_mem(2);RS <= ram_mem(5);

when "1010" =>RD <= ram_mem(2);RS <= ram_mem(6);

when "1011" =>RD <= ram_mem(2);RS <= ram_mem(7);

when "1100" =>RD <= ram_mem(3);RS <= ram_mem(4);

when "1101" =>RD <= ram_mem(3);RS <= ram_mem(5);

when "1110" =>RD <= ram_mem(3);RS <= ram_mem(6);

when "1111" =>RD <= ram_mem(3);RS <= ram_mem(7);

when others =>end case;

end process;

end architecture;

61

Page 62: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

4.1.1.5.1. Testiranje bloka Register File

Neka je sadržaj polja RegFileram_mem(7)=1111111111110000=FFF0, ram_mem(6)=1111111111111111=FFFF, ram_mem(5)=0000000000000000=0000, ram_mem(4)=1011101001010000=BA50, ram_mem(3)=1111111111110000=FFF0, ram_mem(2)=0000111100001111=0F0F, ram_mem(1)=0000111100000011=0F03, ram_mem(0)=0001000100010001=1111.

Slika: Sadržaj polja RegFile

Na adresi koja je određena ulaznim signalom WP = 000=0, nailaskom prednje ivice takta Clk, upisuje se vrednost sa ulaza DATA. To znači da jeram_mem(0)=DATA=1111111111110000=FFF0.

62

Page 63: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Upis vrednosti sa ulaza DATA u registar određen ulazom WP

Na adresi koja je određena ulaznim signalom WP = 100=4, nailaskom prednje ivice takta Clk, upisuje se vrednost sa ulaza DATA. To znači da jeRam_mem(4)=DATA=1000000010000000=8080.

63

Page 64: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Upis vrednosti sa ulaza DATA u registar određen ulazom WP

Na adresi koja je određena ulaznim signalom WP = 000=0, za kontrolne signale WEH=1 i WEL=0, nailaskom prednje ivice takta Clk, na mesto osam viših bitova upisuju se osam viših bitova sa ulaza DATA. Prema tome,Ram_mem(0)=0000100000010001=0811.

64

Page 65: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za blok RegFile u kojem se osam viših bitova sa ulaza DATAupisuje na mesto osam viših bitova registra određen ulazom WP

Na adresi koja je određena ulaznim signalom WP = 110=6, za kontrolne signaleWEH=0 i WEL=1, nailaskom prednje ivice takta Clk, na mesto osam nižih bitova upisuju se osam nižih bitova sa ulaza DATA. Prema tome,Ram_mem(6)=1111111100010001=FF11.

65

Page 66: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za blok RegFile u kojem se osam nižih bitova sa ulaza DATAupisuje na mesto osam nižih bitova registra određen ulazom WP

66

Page 67: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

5. ARITMETIČKO-LOGIČKA JEDINICA

Aritmetičko-logička jedinica (Arithmetic Logic Unit – ALU) je deo centralnog procesora koji služi za obavljanje aritmetičkih i logičkih operacija nad ulaznim podacima. Pored ulaza za podatke, ALU sadrži i upravljačke (kontrolne) ulaze pomoću kojih se bira određena operacija, iz skupa operacija ALU-a, koja će se obaviti. Aritmetičko-logička jedinica procesora SAYEH izvršava sledeće operacije nad 16-bitnim ulaznim podacima: sabiranje, oduzimanje, množenje, AND (logička operacija 'i' ), OR (logička operacija 'ili'), NOT (negacija), Shift Left (pomeranje ulevo), Shift Right (pomeranje udesno) i Compare (poređenje).

U sledećoj tabeli prikazane su operacije koje podržava aritmetičko-logička jedinica procesora SAYEH:

Oznaka Operacija ALUsel RTLand Logička ' I ' operacija 0110 RD <= RD & Rs

or Logička ' ILI ' operacija 0111 RD <= RD I Rs

not Negacija 1000 RD <= ~Rs

shl Pomeranje ulevo 1001 RD <= sla Rs

shr Pomeranje udesno 1010 RD <= sra Rs

add Sabiranje 1011 RD <= RD + RS

sub Oduzimanje 1100 RD <= RD - RS

mul Množenje 1101 RD <= RD * Rs :8-bitnomnoženje

cmp Poređenje 1110 RD, RS (ako su jednaki:Z=1; ako je RD<RS: C=1)

5.1.VHDL opis ALU jedinice

Aritmetičko-logička jedinica ima sledeće portove: - Clk – ulaz taktnog signala,

- B15to0 – ulazni kontrolni signal (ako je =1 ulaz B se propusti na izlaz ALUout),

- AandB – ulazni kontrolni signal (ako je =1 izvršava se logička operacija 'i' ),- AorB – ulazni kontrolni signal (ako je =1 izvršava se logička operacija 'ili' ),- NotB – ulazni kontrolni signal (ako je =1 vrši se komplementiranje ulaza B),

67

Page 68: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

- AaddB – ulazni kontrolni signal (ako je =1 izvršava se sabiranje nad ulaznim operandima),

- AsubB – ulazni kontrolni signal (ako je =1 ALU jedinica od operanda na ulazu A oduzima operand na ulazu B),

- AmulB – ulazni kontrolni signal (ako je =1 izvršava se množenje ulaznih operanada),

- AcmpB – ulazni kontrolni signal (ako je =1 ulaz A se poredi sa ulazom B),- ShrB– ulazni kontrolni signal (ako je =1 sadržaj ulaza B se pomera za jedno

mesto ulevo),- ShlB– ulazni kontrolni signal (ako je =1 sadržaj ulaza B se pomera za jedno

mesto udesno),- 16-bitni ulaz A – ulaz podataka,- 16-bitni ulaz B – ulaz podataka,- 16-bitni izlaz ALUout – izlaz rezultata operacije,- jednobitni izlazi Cout, Zout – izlazi statusnih markera.

A(15:0)

ALUout(15:0)

AaddB

Cout AandB

Zout

AcmpB

AmulB

AorB

AsubB

B(15:0)

B15to0

Clk

NotB

ShlB

ShrB

U1

ALU

--------- ---------------------------------------------------------------------------------------------- Title : alu-- Design : nikola 1-- Author : Nikola Sekulovic-- Company : SekulaCo--------------------------------------------------------------------------------------------------------- File : alu.vhd

68

Page 69: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

-- Generated : Thu Jun 7 22:31:59 2007-- From : interface description file-- By : Itf2Vhdl ver. 1.20--------------------------------------------------------------------------------------------------------- Description : -----------------------------------------------------------------------------------------------------

--{{ Section below this comment is automatically maintained-- and may be overwritten--{entity {alu} architecture {alu}}

library IEEE;use IEEE.STD_LOGIC_1164.all;use IEEE.STD_LOGIC_UNSIGNED.all;entity ALU is

port(Clk,B15to0,AandB,AorB,NotB,AaddB,AsubB,AmulB,AcmpB,ShrB,ShlB : in

STD_LOGIC;A,B : in STD_LOGIC_VECTOR (15 downto 0);Cout,Zout : out STD_LOGIC; ALUout: out STD_LOGIC_VECTOR (15 downto 0));

end ALU;architecture ALU_arch of ALU is

begin process

(Clk,B15to0,AandB,AorB,NotB,AaddB,AsubB,AmulB,AcmpB,ShrB,ShlB)variable ALUouttmp,Asig,Bsig,Csig,pom: STD_LOGIC_VECTOR (16 downto

0);

begin if rising_edge(Clk)

thenAsig:='0'& A;Bsig:='0'& B;

if AaddB = '1' then ALUouttmp := Asig + Bsig; Cout<= ALUouttmp(16); if ALUouttmp(16)='0' then

Zout<='1' ; else Zout<='0';

end if;

69

Page 70: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

--Cout<=(Cin and B(15)) or (Cin and A(15)) or (A(15) and B(15)); elsif B15to0 = '1' then

ALUouttmp(15 downto 0) := Bsig(15 downto 0);Cout<= '0';Zout<='1' ; elsif AandB = '1' then

ALUouttmp := Asig and Bsig; Cout<='0';

Zout<='1' ; elsif AorB = '1' then

ALUouttmp := Asig or Bsig; Cout<= '0';Zout<='1' ; elsif NotB = '1' then

ALUouttmp := Not Bsig; Cout<= '0';Zout<='1' ; elsif AsubB = '1' then

ALUouttmp := Asig - Bsig;Cout<= ALUouttmp(16);if ALUouttmp(16)='0' then

Zout<='1' ;else Zout<='0';

end if; elsif AmulB = '1' then

ALUouttmp(15 downto 0) := Asig(7 downto 0) * Bsig(7 downto 0); Cout<='0';

Zout<='1' ;if ALUouttmp(16)='0' then

Zout<='1' ;else Zout<='0';

end if;elsif ShrB = '1' then

ALUouttmp(15 downto 0 ) := Bsig(0) & Bsig(15 downto 1) ; Cout<= '0';Zout<= '1';

elsif ShlB = '1' then ALUouttmp (15 downto 0 ):= Bsig(14 downto 0) & Bsig(15);

Cout<='0';Zout<= '1'; elsif AcmpB='1' then

pom:=Asig-Bsig;if pom(15)='1' then

Cout<='1'; Zout<= '0';

elsif pom="0000000000000000" then Cout<='0';

70

Page 71: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Zout<= '1';else

Cout<='0'; Zout<= '0';

end if;

end if;end if;ALUout <= ALUouttmp(15 downto 0); end process;

end ALU_arch;

5.1.1. Testiranje ALU jedinice

U test primerima koji slede ulazima (operandima) zadali smo sledeće vrednosti:A=1111000011110000=F0F0B=0000111100001111=0F0F . Pokazali smo da ako je kontrolni signal B15to0=1, nailaskom prednje ivice Clk, na izlaz ALU jedinice je operand B tj.ALUout=0000111100001111=0F0F.

71

Page 72: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za ALU jedinicu u kojem se operand B prosleđuje na izlaz Za logičku ' I ' operaciju kontrolnom signalu AandB treba dodeliti vrednost 1AandB=1. Za date ulaze, , nailaskom prednje ivice Clk, na izlazu ALU jedinice dobija seALUout=0000000000000000=0000.

72

Page 73: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za ALU jedinicu u kojem se obavlja logička ' I ' operacija nad operandima A i B Za logičku operaciju ' ILI ' kontrolnom signalu AorB treba dodeliti vrednost 1AorB=1. Za date ulaze, nailaskom prednje ivice takta Clk, na izlazu ALU jedinice dobija seALUout=1111111111111111=FFFF.

73

Page 74: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za ALU jedinicu u kojem se obavlja logička ' ILI ' operacija nad operandima A i B

Za logičku ' Not ' operaciju kontrolnom signalu NotB treba dodeliti vrednost 1NotB=1. Za navedene ulaze, nailaskom prednje ivice takta Clk, na izlazu ALU jedinice dobija seALUout=1111000011110000=F0F0.

74

Page 75: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za ALU jedinicu u kojem se obavlja logička operacija negacije nad operandom B

Za aritmetičku operaciju sabiranja kontrolnom signalu AaddB treba dodeliti vrednost 1AaddB=1. Za date ulaze A i B, nailaskom prednje ivice takta Clk, na izlazu ALU jedinice dobija seALUout=1111111111111111=FFFF.

75

Page 76: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za ALU jedinicu u kojem se obavlja aritmetička operacija sabiranje nad operandima A i B

Za aritmetičku operaciju oduzimanja kontrolnom signalu AsubB treba dodeliti vrednost 1AsubB=1. Za date ulaze A i B, nailaskom prednje ivice takta Clk, na izlazu ALU jedinice dobija seALUout=1110000111100001=E1E1.

76

Page 77: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za ALU jedinicu u kojem se obavlja aritmetička operacija oduzimanje nad operandima A i B

Za aritmetičku operaciju množenja kontrolnom signalu AmulB treba dodeliti vrednost 1AmulB=1. Na izlazu ALU jedinice, nailaskom prednje ivice takta Clk, dobija se proizvod osam nižih bitova operanada A i B ALUout=0000111000010000=0E10.

77

Page 78: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za ALU jedinicu u kojem se obavlja aritmetička operacija množenje nad operandima A i B

Za operaciju poređenja kontrolnom signalu AcmpB treba dodeliti vrednost 1AcmpB=1. Ako je operand A veći od operanda B, nailaskom prednje ivice takta Clk, zastavica Cout se postavlja na jedinicuCout=1.

78

Page 79: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za ALU jedinicu u kojem se porede operandi A i B

U primeru koji sledi operandi A i B su jednakiA=B=1111000011110000=F0F0. Zastavica Zout se postavlja na jedinicu, nailaskom prednje ivice takta ClkZout=1.

79

Page 80: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za ALU jedinicu u kojem se porede operandi A i B

Za operaciju pomeranja udesno, kontrolnom signalu ShrB treba dovesti vrednost 1ShrB=1. Izlaz ALU jedinicedobija se pomeranjem bitova operanda B za jedno mesto udesno nailaskom prednje ivice takta ClkALUout=1000011110000111=8787.

80

Page 81: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za ALU jedinicu u kojem se obavlja logička operacija pomeranje udesno Shr nad operandom B

Za operaciju pomeranja ulevo, kontrolnom signalu ShlB treba dovesti vrednost 1ShlB=1. Izlaz ALU jedinice dobija se pomeranjem bitova operanda B za jedno mesto ulevo nailaskom prednje ivice takta ClkALUout=0001111000011110=1E1E.

81

Page 82: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za ALU jedinicu u kojem se obavlja logička operacija pomeranje ulevo Shl nad operandom B

82

Page 83: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

6. MEMORIJA

Procesor zajedno sa memorijom čini osnovu računarskog sistema. Memorija je element koji je sposoban da pamti veći broj podataka, kojima se može selektivno pristupati. RAM (eng. Random Access Memory) je memorija iz koje se mogu čitati i u koju se mogu upisivati podaci.

Memorija koju ovde opisujemo je RAM memorija koja koristi 16-bitne adrese, što znači da ima maksimalno do 65535 memorijskih lokacija. U svakoj lokaciji može se zapamtiti podatak dužine 16 bita.

6.1. VHDL opis bloka Memory

Blok memorije ima sledeće portove:- 16-bitni ulaz Addr – adresni ulaz memorije,- jednobitni ulaz RE – kontrolni signal (ako je =1 dozvoljeno je iščitavanje

podataka iz memorije),- jednobitni ulaz WE – kontrolni signal (ako je =1 dozvoljeno je upisivanje

podataka u memoriju),- Data – 16-bitni ulaz podataka,- Q– 16-bitni izlaz podataka.

ADDR(15:0)

Q(15:0)

DATA(15:0)REWE

U1

memorija

---------------------------------------------------------------------------------------- Design unit generated by Aldec IP Core Generator, version 6.3.-- Copyright (c) 2003-2004 by Aldec, Inc. All rights reserved.

83

Page 84: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

------------------------------------------------------------------------------------------ Created on Saturday 2007-03-31, 17:00:21---------------------------------------------------------------------------------------- Details:-- Type: Asynchronous single port Random Access Memory (RAM)-- Word size: 16 bits-- Memory depth: 256 words-- Write enable input WE active high------------------------------------------------------------------------------------

--{{ Section below this comment is automatically maintained-- and may be overwritten--{entity {memorija} architecture {memorija_arch}}

library IEEE;use IEEE.std_logic_1164.all;

entity memorija isport ( WE : in std_logic; RE : in std_logic;

ADDR : in std_logic_vector(15 downto 0);DATA : in std_logic_vector(15 downto 0);Q : out std_logic_vector(15 downto 0)

);end entity;

--}} End of automatically maintained section

library IEEE;use IEEE.std_logic_unsigned.all;

architecture memorija_arch of memorija is

type memorija_mem_type is array (1023 downto 0) of std_logic_vector(15 downto 0);

begin

process (WE, RE, ADDR, DATA)variable ADDR_TEMP: integer range 1023 downto 0;variable memorija_mem : memorija_mem_type;begin

if (WE = '1') then

84

Page 85: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

ADDR_TEMP := CONV_INTEGER(ADDR);memorija_mem(ADDR_TEMP) := DATA;

end if;if (RE = '1') thenQ <= memorija_mem(CONV_INTEGER(ADDR));else

Q <= "0000000000000000";end if;

end process;

end architecture;

85

Page 86: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

7. MULTIPLEKSER

Multiplekser je kombinaciono kolo koje vrši ulogu elektronskog prekidača. U svakom stanju se ostvaruje veza između izlaza i samo jednog odabranog ulaza. Multiplekser se sastoji iz jednog izlaza, n selekcionih ulaza i 2n informacijskih ulaza.

7.1. VHDL opis Multipleksera

Multiplekser SAYEH procesora ima sledeće portove:- I0 i I1– 4-bitni ulazi,- O - 4-bitni izlaz,- Shadow – kontrolni signal (ako je =1 na izlaz se vodi I0, a ako je =0 na izlaz

se vodi I1).

I0(11:8)O(3:0)

I1(3:0)

Shadow

U2

mux

--- - - --------------------------------------------------------------------------------- Design unit generated by Aldec IP Core Generator, version 6.3.-- Copyright (c) 2003-2004 by Aldec, Inc. All rights reserved.------------------------------------------------------------------------------------------ Created on Saturday 2007-03-31, 14:08:09---------------------------------------------------------------------------------------- Details:-- Type: Multiplexer-- Code style: Case statement-- Inputs and output width: 4-- Number of inputs: 2-- Defalut output bits value '0'------------------------------------------------------------------------------------

86

Page 87: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

--{{ Section below this comment is automatically maintained-- and may be overwritten--{entity {mux} architecture {mux_arch}}

library IEEE;use IEEE.std_logic_1164.all;

entity mux isport (

I0 : in std_logic_vector(11 downto 8);I1 : in std_logic_vector(3 downto 0);Shadow: in std_logic;O : out std_logic_vector(3 downto 0)

);end entity;

--}} End of automatically maintained section

library IEEE;use IEEE.std_logic_unsigned.all;

architecture mux_arch of mux isbegin

process (Shadow, I0, I1)begin

if Shadow = '1' then O <= I0;

else O <= I1;

end if;end process;

end architecture;

7.1.1. Testiranje multipleksera

U ovom test primeru ulazima multipleksera dodelili smo sledeće vrednosti:I0=0000=0I1=0001=1. Ako je kontrolni signal Shadow = 1, onda se na izlazu multipleksera vodi ulaz I0.O=0000=0.

87

Page 88: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za multiplekser u kojem je kontrolni signal Shadow=1 Ako je kontrolni signal Shadow = 0, onda se na izlazu multipleksera vodi ulaz I1.O=0001

88

Page 89: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za multiplekser u kojem je kontrolni signal Shadow=0

89

Page 90: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

8. TROSTATIČKI BAFERI

Trostatički bafer je kombinaciono kolo koje vrši ulogu elektronskog prekidača. Ako je kontrolni signal jednak 1, onda se ulaz prosleđuje na izlaz. Ako je kontrolni signal jednak 0, izlaz je u stanju visoke impedanse. Procesor SAYEH sadrži 7 trostatičkih bafera. Sledi njihov opis.

8.1. VHDL opis Trostatičkog bafera 1

Bafer 1 SAYEH procesora ima sledeće portove:- I– 8-bitni ulaz,- O - 8-bitni izlaz,- IR_on_LOpndBus – kontrolni signal (ako je =1 ulaz I se vodi na izlaz O koji

se dalje upisuje na mesto nižih 8 bitova operanda Rs).

O(7:0)

I(7:0)

IR_on_LOpndBus

U1

buff1

-- Design unit generated by Aldec IP Core Generator, version 6.3.-- Copyright (c) 2003-2004 by Aldec, Inc. All rights reserved.------------------------------------------------------------------------------------------ Created on Saturday 2007-03-31, 14:21:31---------------------------------------------------------------------------------------- Details:-- Type: Tristate buffer-- Enable input EN active high-- Output O is not inverted-- Data width : 8------------------------------------------------------------------------------------

--{{ Section below this comment is automatically maintained-- and may be overwritten--{entity {buff1} architecture {buff1_arch}}

library IEEE;

90

Page 91: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

use IEEE.std_logic_1164.all;

entity buff1 isport (

IR_on_LOpndBus : in std_logic;I : in std_logic_vector(7 downto 0);O : out std_logic_vector(7 downto 0)

);end entity;

--}} End of automatically maintained section

architecture buff1_arch of buff1 isbegin

O <= I when IR_on_LOpndBus = '1' else (others => 'Z');

end buff1_arch;

8.1.1. Testiranje trostatičkog bafera 1

Osmobitnom ulazu trostatičkog bafera 1 dodelili smo sledeću vrednostI=00000000=00. Ako je kontrolni signal jednak jedinici IR_on_LOpndBus=1, onda je na izlazu bafera njegov ulazO=00000000=00.

91

Page 92: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za bafer u kojem je kontrolni signal IR_on_LOpndBus=1

Ako je kontrolni signal jednak nuli IR_on_LOpndBus=0, onda je izlaz bafera u stanju visoke impedanseO=ZZZZZZZZ=ZZ.

92

Page 93: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za bafer u kojem je kontrolni signal IR_on_LOpndBus=0

8.2. VHDL opis Trostatičkog bafera 2

Bafer 2 SAYEH procesora ima sledeće portove:- I– 8-bitni ulaz,- O - 8-bitni izlaz,- IR_on_HOpndBus – kontrolni signal (ako je =1 ulaz I se vodi na izlaz O koji

se dalje upisuje na mesto viših 8 bitova operanda Rs).

93

Page 94: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

I(7:0)O

(7:0)

IR_on_HOpndBus

U2

buff2

-- Design unit generated by Aldec IP Core Generator, version 6.3.-- Copyright (c) 2003-2004 by Aldec, Inc. All rights reserved.------------------------------------------------------------------------------------------ Created on Saturday 2007-03-31, 14:21:31---------------------------------------------------------------------------------------- Details:-- Type: Tristate buffer-- Enable input EN active high-- Output O is not inverted-- Data width : 8------------------------------------------------------------------------------------

--{{ Section below this comment is automatically maintained-- and may be overwritten--{entity {buff1} architecture {buff1_arch}}

library IEEE;use IEEE.std_logic_1164.all;

entity buff2 isport (

IR_on_HOpndBus : in std_logic;I : in std_logic_vector(7 downto 0);O : out std_logic_vector(7 downto 0)

);end entity;

--}} End of automatically maintained section

architecture buff2_arch of buff2 isbegin

O <= I when IR_on_HOpndBus = '1' else (others => 'Z');

end buff2_arch;

94

Page 95: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

8.2.1. Testiranje trostatičkog bafera 2

Osmobitnom ulazu trostatičkog bafera 2 dodelili smo sledeću vrednostI=00000001=01. Ako je kontrolni signal jednak jedinici IR_on_HOpndBus=1, onda je na izlazu bafera njegov ulazO=00000001=01.

Slika: Test primer za bafer u kojem je kontrolni signal IR_on_HOpndBus=1

Ako je kontrolni signal jednak nuli IR_on_HOpndBus=0, onda je izlaz bafera u stanju visoke impedanseO=ZZZZZZZZ=ZZ.

95

Page 96: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za bafer u kojem je kontrolni signal IR_on_HOpndBus=0

8.3. VHDL opis Trostatičkog bafera 3

Bafer 3 SAYEH procesora ima sledeće portove:- I– 16-bitni ulaz,- O - 16-bitni izlaz,- RFright_on_OpndBus – kontrolni signal (ako je =1 ulaz I se vodi na izlaz O

koji se dalje vodi na ulaz B aritmetičko-logičke jedinice).

96

Page 97: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

I(15:0)

O(15:0)

RFright_on_OpndBus

U3

buff3

-- Design unit generated by Aldec IP Core Generator, version 6.3.-- Copyright (c) 2003-2004 by Aldec, Inc. All rights reserved.------------------------------------------------------------------------------------------ Created on Saturday 2007-03-31, 14:21:31---------------------------------------------------------------------------------------- Details:-- Type: Tristate buffer-- Enable input EN active high-- Output O is not inverted-- Data width : 8------------------------------------------------------------------------------------

--{{ Section below this comment is automatically maintained-- and may be overwritten--{entity {buff1} architecture {buff1_arch}}

library IEEE;use IEEE.std_logic_1164.all;

entity buff3 isport (

RFright_on_OpndBus : in std_logic;I : in std_logic_vector(15 downto 0);O : out std_logic_vector(15 downto 0)

);end entity;

--}} End of automatically maintained section

architecture buff3_arch of buff3 isbegin

O <= I when RFright_on_OpndBus = '1' else (others => 'Z');

97

Page 98: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

end buff3_arch;

8.3.1. Testiranje trostatičkog bafera 3

Šesnaestobitnom ulazu trostatičkog bafera 3 dodelili smo sledeću vrednostI=0000000000000010=0002. Ako je kontrolni signal jednak jedinici RFright_on_OpndBus=1, onda je na izlazu bafera njegov ulazO=0000000000000010=0002.

Slika: Test primer za bafer u kojem je kontrolni signal RFright_on_OpndBus=1

Ako je kontrolni signal jednak nuli RFright_on_OpndBus=0, onda je izlaz bafera u stanju visoke impedanseO=ZZZZZZZZZZZZZZZZ=ZZZZ.

98

Page 99: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za bafer u kojem je kontrolni signal RFright_on_OpndBus=0

8.4. VHDL opis Trostatičkog bafera 4

Bafer 4 SAYEH procesora ima sledeće portove:- I– 16-bitni ulaz,- O - 16-bitni izlaz,- Rs_on_AddressUnitRside – kontrolni signal (ako je =1 ulaz I (odnosno

operand Rs) se vodi na izlaz O koji se dalje vodi na ulaz Rside bloka PC).

I(15:0)O(15:0)

Rs_on_AdressUnitRSide

U4

buff4

99

Page 100: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

-- Design unit generated by Aldec IP Core Generator, version 6.3.-- Copyright (c) 2003-2004 by Aldec, Inc. All rights reserved.------------------------------------------------------------------------------------------ Created on Saturday 2007-03-31, 14:21:31---------------------------------------------------------------------------------------- Details:-- Type: Tristate buffer-- Enable input EN active high-- Output O is not inverted-- Data width : 8------------------------------------------------------------------------------------

--{{ Section below this comment is automatically maintained-- and may be overwritten--{entity {buff1} architecture {buff1_arch}}

library IEEE;use IEEE.std_logic_1164.all;

entity buff4 isport (

Rs_on_AdressUnitRSide : in std_logic;I : in std_logic_vector(15 downto 0);O : out std_logic_vector(15 downto 0)

);end entity;

--}} End of automatically maintained section

architecture buff4_arch of buff4 isbegin

O <= I when Rs_on_AdressUnitRSide = '1' else (others => 'Z');

end buff4_arch;

8.4.1. Testiranje trostatičkog bafera 4

Šesnaestobitnom ulazu trostatičkog bafera 4 dodelili smo sledeću vrednostI=0000000000001000=0008. Ako je kontrolni signal jednak jedinici Rs_on_AddressUnitRSide=1, onda je na izlazu bafera njegov ulaz

100

Page 101: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

O=0000000000001000=0008.

Slika: Test primer za bafer u kojem je kontrolni signal Rs_on_AddressUnitRSide=1

Ako je kontrolni signal jednak nuli Rs_on_AddressUnitRSide=0, onda je izlaz bafera u stanju visoke impedanseO=ZZZZZZZZZZZZZZZZ=ZZZZ.

101

Page 102: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za bafer u kojem je kontrolni signal Rs_on_AddressUnitRSide=0

8.5. VHDL opis Trostatičkog bafera 5 Bafer 5 SAYEH procesora ima sledeće portove:

- I– 16-bitni ulaz,- O - 16-bitni izlaz,- Rd_on_AddressUnitRside – kontrolni signal (ako je =1 ulaz I (odnosno

operand Rd) se vodi na izlaz O koji se dalje vodi na ulaz Rside bloka PC).

I(15:0) O(15:0)

Rd_on_AdressUnitRSide

U5

buff5

-- Design unit generated by Aldec IP Core Generator, version 6.3.-- Copyright (c) 2003-2004 by Aldec, Inc. All rights reserved.--

102

Page 103: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

---------------------------------------------------------------------------------------- Created on Saturday 2007-03-31, 14:21:31---------------------------------------------------------------------------------------- Details:-- Type: Tristate buffer-- Enable input EN active high-- Output O is not inverted-- Data width : 8------------------------------------------------------------------------------------

--{{ Section below this comment is automatically maintained-- and may be overwritten--{entity {buff1} architecture {buff1_arch}}

library IEEE;use IEEE.std_logic_1164.all;

entity buff5 isport (

Rd_on_AdressUnitRSide : in std_logic;I : in std_logic_vector(15 downto 0);O : out std_logic_vector(15 downto 0)

);end entity;

--}} End of automatically maintained section

architecture buff5_arch of buff5 isbegin

O <= I when Rd_on_AdressUnitRSide = '1' else (others => 'Z');

end buff5_arch;

8.5.1. Testiranje trostatičkog bafera 5

Šesnaestobitnom ulazu trostatičkog bafera 5 dodelili smo sledeću vrednostI=0000000010000001=0081. Ako je kontrolni signal jednak jedinici Rd_on_AddressUnitRSide=1, onda je na izlazu bafera njegov ulazO=0000000010000001=0081.

103

Page 104: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za bafer u kojem je kontrolni signal Rd_on_AddressUnitRSide=1 Ako je kontrolni signal jednak nuli Rd_on_AddressUnitRSide=0, onda je izlaz bafera u stanju visoke impedanseO=ZZZZZZZZZZZZZZZZ=ZZZZ.

104

Page 105: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za bafer u kojem je kontrolni signal Rd_on_AddressUnitRSide=0

8.6. VHDL opis Trostatičkog bafera 6

Bafer 6 SAYEH procesora ima sledeće portove:- I– 16-bitni ulaz,- O - 16-bitni izlaz,- ALUout_on_Databus – kontrolni signal (ako je =1 ulaz I (odnosno izlaz iz

aritmetičko-logičke jedinice) se vodi na izlaz O tj. na magistralu podataka).

ALUout_on_Databus

O(15:0)

I(15:0)

U6

buff6

105

Page 106: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

-- Design unit generated by Aldec IP Core Generator, version 6.3.-- Copyright (c) 2003-2004 by Aldec, Inc. All rights reserved.------------------------------------------------------------------------------------------ Created on Saturday 2007-03-31, 14:21:31---------------------------------------------------------------------------------------- Details:-- Type: Tristate buffer-- Enable input EN active high-- Output O is not inverted-- Data width : 8------------------------------------------------------------------------------------

--{{ Section below this comment is automatically maintained-- and may be overwritten--{entity {buff1} architecture {buff1_arch}}

library IEEE;use IEEE.std_logic_1164.all;

entity buff6 isport (

ALUout_on_Databus : in std_logic;I : in std_logic_vector(15 downto 0);O : out std_logic_vector(15 downto 0)

);end entity;

--}} End of automatically maintained section

architecture buff6_arch of buff6 isbegin

O <= I when ALUout_on_Databus = '1' else (others => 'Z');

end buff6_arch;

8.6.1. Testiranje trostatičkog bafera 6

Šesnaestobitnom ulazu trostatičkog bafera 6 dodelili smo sledeću vrednostI=1000000000000000=8000. Ako je kontrolni signal jednak jedinici ALUout_on_DataBus=1, onda je na izlazu bafera njegov ulaz

106

Page 107: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

O=1000000000000000=8000.

Slika: Test primer za bafer u kojem je kontrolni signal ALUout_on_DataBus=1

Ako je kontrolni signal jednak nuli ALUout_on_DataBus=0, onda je izlaz bafera u stanju visoke impedanseO=ZZZZZZZZZZZZZZZZ=ZZZZ.

107

Page 108: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za bafer u kojem je kontrolni signal ALUout_on_DataBus=0

8.7. VHDL opis Trostatičkog bafera 7

Bafer 7 SAYEH procesora ima sledeće portove:- I– 16-bitni ulaz,- O - 16-bitni izlaz,- Address_on_Databus – kontrolni signal (ako je =1 ulaz I (odnosno adresa

koju generiše blok PC) se vodi na magistralu podataka).

Address_on_Databus

O(15:0)

I(15:0)

U7

buff7

108

Page 109: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

-- Design unit generated by Aldec IP Core Generator, version 6.3.-- Copyright (c) 2003-2004 by Aldec, Inc. All rights reserved.------------------------------------------------------------------------------------------ Created on Saturday 2007-03-31, 14:21:31---------------------------------------------------------------------------------------- Details:-- Type: Tristate buffer-- Enable input EN active high-- Output O is not inverted-- Data width : 8------------------------------------------------------------------------------------

--{{ Section below this comment is automatically maintained-- and may be overwritten--{entity {buff1} architecture {buff1_arch}}

library IEEE;use IEEE.std_logic_1164.all;

entity buff7 isport (

Address_on_Databus : in std_logic;I : in std_logic_vector(15 downto 0);O : out std_logic_vector(15 downto 0)

);end entity;

--}} End of automatically maintained section

architecture buff7_arch of buff7 isbegin

O <= I when Address_on_Databus = '1' else (others => 'Z');

end buff7_arch;

8.7.1. Testiranje trostatičkog bafera 7

Šesnaestobitnom ulazu trostatičkog bafera 7 dodelili smo sledeću vrednostI=000000000000011=0003.

109

Page 110: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Ako je kontrolni signal jednak jedinici Adress_on_Databus=1, onda je na izlazu bafera njegov ulazO=0000000000000011=0003.

Slika: Test primer za bafer u kojem je kontrolni signal Adress_on_Databus=1

Ako je kontrolni signal jednak nuli Adress_on_Databus =0, onda je izlaz bafera u stanju visoke impedanseO=ZZZZZZZZZZZZZZZZ=ZZZZ.

110

Page 111: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Test primer za bafer u kojem je kontrolni signal Adress_on_Databus=0

111

Page 112: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

9. UPRAVLJAČKA JEDINICA

Upravljačka jedinica služi da na osnovu trenutne instrukcije izvrši generisanje upravljačkih signala. Postoje dva osnovna koncepta realizacije upravljačke jedinice:

- koncept upravljačke jedinice sa direktnim upravljanjem (eng. hardwired control)

- koncept upravljačke jedinice sa mikroprogramskim upravljanjem (eng. microprogrammed control)

Kod koncepta direktnog upravljanja upravljačka jedinica se realizuje kao sekvencijalno logičko kolo. Glavna prednost ovakve upravljačke jedinice je velika brzina rada sa minimalnim hardverom, a nedostatak u tome što kada se jednom isprojektuje, svaka izmena zahteva redizajn kola. Zato se ovaj tip upravljačke jedinice često sreće kod RISC procesora i neprogramabilnih kontrolera.

Koncept upravljačke jedinice sa mikroprogramskim upravljanjem zahteva realizaciju upravljačke jedinice na bazi ROM ili RAM memorije u kojoj se smeštaju vrednosti upravljačkih signala, koji će biti aktivirani u odgovarajućem trenutku. Glavne prednosti ovakvog načina realizacije upravljačke jedinice su lako uvođenje dodatnih instrukcija, a i ukupno projektovanje procesora je pojednostavljeno.Glavni nedostatak ovog pristupa je manja brzina rada.

Upravljačka jednica procesora SAYEH je realizovana kao upravljačka jedinica sa direktnim upravljanjem.

9.1. Instrukcije procesora SAYEH

Zadatak svakog procesora je da izvršava program koji je smešten u memoriji. Program predstavlja skup instrukcija. Instrukcije sa kojima radi procesor SAYEH su 16-bitne. Opšti format 8-bitnih i 16-bitnih SAYEH instrukcija je prikazan na slici . 16-bitne instrukcije imaju Immediate polje, a 8-bitne instrukcije nemaju. OPCODE polje je 4-bitni kod koji odredjuje tip instrukcije. Polja Left (levo) i Right (desno) su 2-bitni kodovi koji biraju registre R0 do R3 za izvor i/ili odredište instrukcije. Obično, Left se koristi za odredište, a Right za izvor. Immediate polje se koristi za trenutne podatke, ili ako su dve 8-bitne instrukcije zapakovane koristi se za drugu instrukciju.

15 12 11 09 07 00OPCODE Left Right Immediate

112

Page 113: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika . SAYEH Instruction FormatU sledećoj tabeli prikazana je lista svih intrukcija procesora SAYEH zajedno sa

rutinama na RTL (eng. Register Transfer Level) nivou.

InstructionMnemonic andDefinition

Bits15:0

RTL notation:comments orcondition

fch Fetch IR←[ M [PC] ]CU← [IR]

nop No operation 0000-00-00 No operation(PCplus1=' 1' , RE=' 1' , Load=' 1' )

hlt Halt 0000-00-01 Halt, fetching stops( WPreset= '1' , CReset = '1' , ZReset = '1' ,ResetPC= '1' )

szf Set zero flag 0000-00-10 Z ← ' 1'(PCplus1=' 1' , Zset=' 1' , RE=' 1' , Load=' 1' )

czf Clr zero flag 0000-00-11 Z ← '0'(PCplus1=' 1' , Zreset=' 1' , RE=' 1' , Load=' 1')

scf Set carry flag 0000-01-00 C← ‘1'(PCplus1=' 1' , Cset=' 1' , RE=' 1' , Load=' 1' )

ccf Clr carry flag 0000-01-01 C ← '0'(PCplus1=' 1' , Creset=' 1' , RE=' 1' , Load=' 1' )

cwp ClrWindow pointer

0000-01-10 WP ← "000"(PCplus1=' 1' , WPreset=' 1' , RE=' 1' , Load=' 1' )

mvr Move Register 0001-D-S B← [Rs]ALUout = [B] Rd← [ALUout](PCplus1=' 1' ,B15to0t=' 1' , RE=' 1' , Load=' 1' , WEL=' 1' , WEH=' 1' , Shadow=' 1' , ALUout_on_Databus=' 1' , Rfright_on_OpndBus=' 1' )

Ida Load Addressed 0010-D-S PC←[ Rs ]Rd← [M [PC] ](PCplus1='1' , R0plus0=' 1' ,K=' 1' , RE=' 1' , Load=' 1' , WEL=' 1' , WEH=' 1' , Shadow=' 1' , Rs_on_AddressUnitRside = '1'; )

113

Page 114: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

sta Store Addressed 0011-D-S B← [Rs]ALUout = [B] PC←[ Rd ]M[ PC ] ←[ALUout] (PCplus1='1' , R0plus0=' 1' ,B15to0=' 1' , RE=' 1' , WE= ' 1'Load=' 1' , Shadow=' 1' ,ALUout_on_Databus= '1' ,Rl_on_AddressUnitRside= '1' , RFright_on_OpndBus <= '1' )

inp Input from port 0100-D-S ReadIO← ‘1’ PC← [Rs] Rd←[ PC ](R0plus0 ='1' , PCplus1='1' , ReadIO = '1' ,B15to0= '1' , RE=' 1' , Load=' 1' , WEL=' 1' , WEH=' 1' ,Adress_on_Databus= '1' , Shadow = '1' , Rs_on_AddressUnitRside = '1' )

oup Output to port 0101-D-S WriteIO← ‘1’B← [Rs]ALUout = [B] Rd←[ ALUout ]( PCplus1='1' , WriteIO = '1' , RE=' 1' , Load=' 1' , WEL=' 1' , WEH=' 1' ,ALUout_on_Databus= '1' , Shadow = '1' , RFright_on_OpndBus = '1' )

and AND Registers 0110-D-S A← [Rd]B← [Rs]ALUout = [A] & [B]Rd← [ALUout](PCplus1='1' , AandB= '1' , WEL= '1' , WEH= '1' , RE= '1' , Load = '1' ,Shadow = '1' , ALUout_on_Databus= '1' , RFright_on_OpndBus = '1' )

or OR Registers 0111-D-S A← [Rd]B← [Rs]ALUout = [A] I [B]Rd← [ALUout](PCplus1='1' , AorB= '1' , WEL= '1' , WEH= '1' , RE= '1' , Load = '1' ,Shadow = '1' , ALUout_on_Databus= '1' , RFright_on_OpndBus = '1' )

not NOT Register 1000-D-S B← [Rs]ALUout = ~ [B]Rd← [ALUout](PCplus1='1' , NotB= '1' , WEL= '1' , WEH= '1' , RE= '1' , Load = '1' ,Shadow = '1' , ALUout_on_Databus= '1' , RFright_on_OpndBus = '1' )

114

Page 115: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

shl Shift Left 1001-D-S B← [Rs]ALUout = [B] <<1Rd← [ALUout](PCplus1='1' , ShlB= '1' , WEL= '1' , WEH= '1' , RE= '1' , Load = '1' ,Shadow = '1' , ALUout_on_Databus= '1' , RFright_on_OpndBus = '1' )

shr Shift Right 1010-D-S B← [Rs]ALUout = [B] >>1Rd← [ALUout](PCplus1='1' , ShrB= '1' , WEL= '1' , WEH= '1' , RE= '1' , Load = '1' ,Shadow = '1' , ALUout_on_Databus= '1' , RFright_on_OpndBus = '1' )

add Add Registers 1011-D-S A← [Rd]B← [Rs]ALUout = [A] + [B]Rd← [ALUout] (PCplus1='1' , AaddB= '1' , WEL= '1' , WEH= '1' , RE= '1' , Load = '1' ,Shadow = '1' , ALUout_on_Databus= '1' , RFright_on_OpndBus = '1' )

sub SubtractRegisters

1100-D-S A← [Rd]B← [Rs]ALUout = [A] - [B]Rd← [ALUout](PCplus1='1' , AsubB= '1' , WEL= '1' , WEH= '1' , RE= '1' , Load = '1' ,Shadow = '1' , ALUout_on_Databus= '1' , RFright_on_OpndBus = '1' )

mul MultiplyRegisters

1101-D-S A← [Rd]B← [Rs]ALUout = [A (7:0)] * [B (7:0)]Rd← [ALUout](PCplus1='1' , AmulB= '1' , WEL= '1' , WEH= '1' , RE= '1' , Load = '1' ,Shadow = '1' , ALUout_on_Databus= '1' , RFright_on_OpndBus = '1' )

cmp Compare 1110-D-S A← [Rd]B← [Rs]ALUout = [A] - [B] (if equal:Z=1; ifRD<RS: C=1)(PCplus1='1' , AcmpB= '1' , RE= '1' , Load = '1' ,Shadow = '1' , RFright_on_OpndBus = '1' )

mil Move Immd Low 1111-D-00-I B[15:8) ← Rs(15:8) B(7:0) ← IR(15:8)ALUout = [B] Rd(7:0)← [ALUout (7:0)] (PCplus1='1' , B15to0= '1' , WEL= '1' , RE= '1' , Load = '1' , Shadow= '1' ,IR_on_LOpndBus= '1' , ALUout_on_Databus= '1' )

115

Page 116: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

mih Move Immd High 1111-D-01-I B[15:8) ← IR(15:8) B(7:0) ← Rs(7:0)ALUout = [B] Rd(15:8)← [ALUout (15:8)](PCplus1='1' , B15to0= '1' , WEH= '1' , RE= '1' , Load = '1' , Shadow= '1' ,IR_on_HOpndBus= '1' , ALUout_on_Databus= '1' )

spc Save PC 1111-D-10-I RD ← PC + I(PCplusI= '1' , WEL= '1' , WEH= '1' , RE= '1' , Load = '1' , Adress_on_Databus= '1' , Shadow = '1' )

jpa Jump Addressed 1111-D-11-I PC ← RD + I(R0plusI = '1' , RE= '1' , Load = '1' , Shadow = '1' , Rl_on_AddressUnitRside = '1' )

jpr Jump Relative 0000-01-11-I PC ← PC + I(PCplusI ='1' , RE= '1' , Load = '1' )

brz Branch if Zero 0000-10-00-I PC ←PC + I :if Z is 1(if Z is 1 : PCplusI='1' , RE= '1' , Load = '1' if Z is 0 : PCplus1='1' , RE= '1' , Load = '1' )

brc Branch if Carry 0000-10-01-I PC ← PC + I :if C is 1(if C is 1 : PCplusI='1' , RE= '1' , Load = '1'if C is 0 : PCplus1='1' , RE= '1' , Load = '1' )

awp Add Win pntr 0000-10-10-I WP ← WP + I(PCplusI1='1' , Wpadd='1' , RE= '1' , Load = '1' )

9.2. VHDL opis bloka CU (Upravljačka jedinica)

Blok CU ima sledeće portove: - Clock – taktni signal procesora,- IR – tekuća instrukcija,- External Reset – signal kojim se resetuje stanje procesora,- MemDataReady – signali dozvole (ako je =1 moguće je čitanje podataka iz

memorije ili upis podataka u memoriju),- jednobitni ulazi C, Z – statusni markeri ALU-a,- ReadIO, WriteIO – signali koji se šalju ulazno-izlaznim jedinicama,- 36-bitni izlaz Control – upravljački signali izvršne jedinice.

116

Page 117: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

C

ALUout_on_DatabusClk

AaddBExternal_Reset

AandB

IR(15:0)

AcmpB

MemDataReady

Adress_on_DatabusZ

AmulB

AorB

AsubB

B15to0

CReset

CSet

IR_on_HOpndBus

IR_on_LOpndBus

K

Load

NotB

PCplus1

PCplusI

R0plus0

R0plusI

RE

RFright_on_OpndBus

ResetPC

Rl_on_AddressUnitRside

Rs_on_AddressUnitRside

Shadow

ShlB

ShrB

WE

WEH

WEL

WPadd

WPreset

ZReset

ZSet

jmp

ReadIO

WriteIO

U1

control

---------------------------------------------------------------------------------------- Design unit generated by Aldec IP Core Generator, version 6.3.-- Copyright (c) 2003-2004 by Aldec, Inc. All rights reserved.------------------------------------------------------------------------------------------ Created on Tuesday 2007-06-26, 18:10:01---------------------------------------------------------------------------------------- Details:-- Type: C-16450 serial asynchronous transceiver

117

Control

Page 118: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

-- Blocks included:-- Interrupt Control Logic-- Modem Control Logic-- Baud Generator

library IEEE;use IEEE.std_logic_1164.all;

entity control isport(IR: in STD_LOGIC_VECTOR(15 downto 0); External_Reset,MemDataReady,Z,C,Clk : in STD_LOGIC;

ResetPC : out STD_LOGIC;PCplus1 : out std_logic;PCplusI : out std_logic;R0plusI : out std_logic;R0plus0 : out std_logic;jmp : out std_logic;K : out STD_LOGIC;ReadIO,WriteIO : out STD_LOGIC;

WPreset : out std_logic;WPadd : out std_logic; CReset,ZReset : out std_logic;

CSet,ZSet : out std_logic; B15to0,AandB,AorB,NotB,AaddB,AsubB,AmulB,AcmpB,ShrB,ShlB : out STD_LOGIC;

WEL,WEH : out std_logic; WE : out std_logic; RE : out std_logic; Load : out std_logic;

Adress_on_Databus,Shadow,IR_on_LOpndBus,IR_on_HOpndBus,ALUout_on_Databus,RFright_on_OpndBus,Rs_on_AddressUnitRside, Rl_on_AddressUnitRside : out std_logic

);end control;

architecture control_ARCH of control isbegin

process (Clk) begin

if rising_edge(CLK) then if MemDataReady= '1' then

if External_Reset= '1' thenWPreset<= '1';

CReset <= '1';

118

Page 119: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

ZReset <= '1';ResetPC<= '1';

PCplus1<='0' ;PCplusI <='0';R0plusI <='0';R0plus0 <='0';jmp <= '0' ; WPadd <= '0';CSet <= '0';ZSet <= '0'; K <= '0';ReadIO <= '0';WriteIO <= '0';

B15to0 <= '0';AandB <= '0';AorB <= '0';NotB <= '0';AaddB <= '0';AsubB <= '0';AmulB <= '0';AcmpB <= '0';ShrB <= '0';ShlB <= '0';

WEL<= '0';WEH <= '0';

WE <= '0'; RE <= '1';

Load <= '1';

Adress_on_Databus <= '0'; Shadow <= '0'; IR_on_LOpndBus <= '0'; IR_on_HOpndBus <= '0'; ALUout_on_Databus <= '0'; RFright_on_OpndBus <= '0'; Rs_on_AddressUnitRside <= '0'; Rl_on_AddressUnitRside <= '0';

else

119

Page 120: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

if IR (15 downto 12)= "0000" then if IR (11 downto 8)= "0000" then --nop

--nop--WPreset<= '0';

-- CReset <= '0';--ZReset <= '0';--ResetPC<= '0';

PCplus1<='1' ;PCplusI<='0';R0plusI <='0';R0plus0 <='0';jmp <='0' ; WPadd <= '0';--CSet <= '0';--ZSet <= '0'; K <= '0';ReadIO <= '0';WriteIO <= '0';

B15to0 <= '0';AandB <= '0';AorB <= '0';NotB <= '0';AaddB <= '0';AsubB <= '0';AmulB <= '0';AcmpB <= '0';ShrB <= '0';ShlB <= '0';

WEL<= '0';WEH <= '0';

WE <= '0'; RE<= '1';

Load <= '1';

Adress_on_Databus <= '0'; Shadow <= '0'; IR_on_LOpndBus <= '0';

120

Page 121: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

IR_on_HOpndBus <= '0'; ALUout_on_Databus <= '0'; RFright_on_OpndBus <= '0'; Rs_on_AddressUnitRside <= '0'; Rl_on_AddressUnitRside <= '0';

end if; if IR (11 downto 8)= "0001" then

--halt WPreset<= '1';

CReset <= '1';ZReset <= '1';ResetPC<= '1';

PCplus1<='0' ;PCplusI<='0';R0plusI <='0';R0plus0 <='0';jmp <='0' ; WPadd <= '0';CSet <= '0';ZSet <= '0';K <= '0';ReadIO <= '0';WriteIO <= '0';

B15to0 <= '0';AandB <= '0';AorB <= '0';NotB <= '0';AaddB <= '0';AsubB <= '0';AmulB <= '0';AcmpB <= '0';ShrB <= '0';ShlB <= '0';

WEL<= '0';WEH <= '0';

WE <= '0'; RE<= '0';

Load <= '0';

121

Page 122: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Adress_on_Databus <= '0'; Shadow <= '0'; IR_on_LOpndBus <= '0'; IR_on_HOpndBus <= '0'; ALUout_on_Databus <= '0'; RFright_on_OpndBus <= '0'; Rs_on_AddressUnitRside <= '0'; Rl_on_AddressUnitRside <= '0';

end if;

if IR (11 downto 8)= "0010" then --szf

WPreset<= '0'; CReset <= '0';

ZReset <= '0'; ResetPC<= '0';

PCplus1<='1' ;PCplusI<='0';R0plusI <='0';R0plus0 <='0';jmp <='0'; WPadd <= '0';CSet <= '0';ZSet <= '1'; K <= '0';ReadIO <= '0';WriteIO <= '0';

B15to0 <= '0';AandB <= '0';AorB <= '0';NotB <= '0';AaddB <= '0';AsubB <= '0';AmulB <= '0';AcmpB <= '0';ShrB <= '0';ShlB <= '0';

122

Page 123: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

WEL<= '0';WEH <= '0';

WE <= '0'; RE <= '1';

Load <= '1';

Adress_on_Databus <= '0'; Shadow <= '0'; IR_on_LOpndBus <= '0'; IR_on_HOpndBus <= '0'; ALUout_on_Databus <= '0'; RFright_on_OpndBus <= '0'; Rs_on_AddressUnitRside <= '0'; Rl_on_AddressUnitRside <= '0';

end if; --czf

if IR (11 downto 8)= "0011" then WPreset<= '0';

CReset <= '0';ZReset <= '1';ResetPC<= '0';

PCplus1<='1' ;PCplusI<='0';R0plusI <='0';R0plus0 <='0';jmp <='0' ; WPadd <= '0';CSet <= '0';ZSet <= '0';K <= '0';ReadIO <= '0';WriteIO <= '0';

B15to0 <= '0';AandB <= '0';AorB <= '0';NotB <= '0';AaddB <= '0';AsubB <= '0';AmulB <= '0';AcmpB <= '0';ShrB <= '0';ShlB <= '0';

123

Page 124: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

WEL<= '0'; WEH <= '0'; WE <= '0';

RE <= '1'; Load <= '1';

Adress_on_Databus <= '0'; Shadow <= '0'; IR_on_LOpndBus <= '0'; IR_on_HOpndBus <= '0'; ALUout_on_Databus <= '0'; RFright_on_OpndBus <= '0'; Rs_on_AddressUnitRside <= '0'; Rl_on_AddressUnitRside <= '0';

end if; --scf

if IR (11 downto 8)= "0100" then

WPreset<= '0'; CReset <= '0';

ZReset <= '0';ResetPC<= '0';

PCplus1<='1' ;PCplusI <='0';R0plusI <='0';R0plus0 <='0';jmp <='0'; WPadd <= '0';CSet <= '1';ZSet <= '0';K <= '0';ReadIO <= '0';WriteIO <= '0';

B15to0 <= '0';AandB <= '0';AorB <= '0';NotB <= '0';AaddB <= '0';

124

Page 125: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

AsubB <= '0';AmulB <= '0';AcmpB <= '0';ShrB <= '0';ShlB <= '0';

WEL<= '0';WEH <= '0';

WE <= '0'; RE <= '1';

Load <= '1';

Adress_on_Databus <= '0'; Shadow <= '0'; IR_on_LOpndBus <= '0'; IR_on_HOpndBus <= '0'; ALUout_on_Databus <= '0'; RFright_on_OpndBus <= '0'; Rs_on_AddressUnitRside <= '0'; Rl_on_AddressUnitRside <= '0';

end if;

--ccf if IR (11 downto 8)= "0101" then

WPreset<= '0';

CReset <= '1';ZReset <= '0';ResetPC<= '0';

PCplus1<='1' ;PCplusI <='0';R0plusI <='0';R0plus0 <='0';jmp <='0'; WPadd <= '0';CSet <= '0';ZSet <= '0'; K <= '0';ReadIO <= '0';WriteIO <= '0';

125

Page 126: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

B15to0 <= '0';AandB <= '0';AorB <= '0';NotB <= '0';AaddB <= '0';AsubB <= '0';AmulB <= '0';AcmpB<= '0';ShrB <= '0';ShlB <= '0';

WEL<= '0';WEH <= '0';

WE <= '0'; RE <= '1';

Load <= '1';

Adress_on_Databus <= '0'; Shadow <= '0'; IR_on_LOpndBus <= '0'; IR_on_HOpndBus <= '0'; ALUout_on_Databus <= '0'; RFright_on_OpndBus <= '0'; Rs_on_AddressUnitRside <= '0'; Rl_on_AddressUnitRside <= '0';

end if; --cwp

if IR (11 downto 8)= "0110" then

WPreset<= '1'; CReset <= '0';

ZReset <= '0';ResetPC<= '0';

PCplus1<='1' ;PCplusI<='0';R0plusI <='0';R0plus0 <='0';jmp <='0'; WPadd <= '0';

126

Page 127: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

CSet <= '0';ZSet <= '0';K <= '0';ReadIO <= '0';WriteIO <= '0';

B15to0 <= '0';AandB <= '0';AorB <= '0';NotB <= '0';AaddB <= '0';AsubB <= '0';AmulB <= '0';AcmpB<= '0';ShrB <= '0';ShlB <= '0';

WEL<= '0';WEH <= '0';

WE <= '0'; RE <= '1';

Load <= '1';

Adress_on_Databus <= '0'; Shadow <= '0'; IR_on_LOpndBus <= '0'; IR_on_HOpndBus <= '0'; ALUout_on_Databus <= '0'; RFright_on_OpndBus <= '0'; Rs_on_AddressUnitRside <= '0'; Rl_on_AddressUnitRside <= '0';

end if; --jpr

if IR (11 downto 8)= "0111" then

WPreset<= '0'; CReset <= '0';

ZReset <= '0'; ResetPC<= '0';

PCplus1<='0' ;

127

Page 128: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

PCplusI<='1';R0plusI <='0';R0plus0 <='0';jmp <='0' ; WPadd <= '0';CSet <= '0';ZSet <= '0';K <= '0';ReadIO <= '0';WriteIO <= '0';

B15to0 <= '0';AandB <= '0';AorB <= '0';NotB <= '0';AaddB <= '0';AsubB <= '0';AmulB <= '0';AcmpB<= '0';ShrB <= '0';ShlB <= '0';

WEL<= '0';WEH <= '0';

WE <= '0'; RE <= '1';

Load <= '1';

Adress_on_Databus <= '0'; Shadow <= '0'; IR_on_LOpndBus <= '0'; IR_on_HOpndBus <= '0'; ALUout_on_Databus <= '0'; RFright_on_OpndBus <= '0'; Rs_on_AddressUnitRside <= '0'; Rl_on_AddressUnitRside <= '0';

end if; --brz

if IR (11 downto 8)= "1000" then if Z = '1' then

128

Page 129: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

WPreset<= '0'; CReset <= '0';

ZReset <= '0';ResetPC<= '0';

PCplus1<='0' ;PCplusI<='1';R0plusI <='0';R0plus0 <='0';jmp <= '0'; WPadd <= '0';CSet <= '0';ZSet <= '0';K <= '0';ReadIO <= '0';WriteIO <= '0';

B15to0 <= '0';AandB <= '0';AorB <= '0';NotB <= '0';AaddB <= '0';AsubB <= '0';AmulB <= '0';AcmpB <= '0';ShrB <= '0';ShlB <= '0';

WEL<= '0';WEH <= '0';

WE <= '0'; RE <= '1';

Load <= '1';

Adress_on_Databus <= '0'; Shadow <= '0'; IR_on_LOpndBus <= '0'; IR_on_HOpndBus <= '0'; ALUout_on_Databus <= '0'; RFright_on_OpndBus <= '0'; Rs_on_AddressUnitRside <= '0'; Rl_on_AddressUnitRside <= '0';

129

Page 130: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

else WPreset<= '0';

CReset <= '0';ZReset <= '0';ResetPC<= '0';

PCplus1<='1' ;PCplusI<='0';R0plusI <='0';R0plus0 <='0';jmp <= '0' ; WPadd <= '0';CSet <= '0';ZSet <= '0'; K <= '0';ReadIO <= '0';WriteIO <= '0';

B15to0 <= '0';AandB <= '0';AorB <= '0';NotB <= '0';AaddB <= '0';AsubB <= '0';AmulB <= '0';AcmpB <= '0';ShrB <= '0';ShlB <= '0';

WEL<= '0';WEH <= '0';

WE <= '0'; RE <= '1';

Load <= '1';

Adress_on_Databus <= '0'; Shadow <= '0'; IR_on_LOpndBus <= '0'; IR_on_HOpndBus <= '0'; ALUout_on_Databus <= '0'; RFright_on_OpndBus <= '0'; Rs_on_AddressUnitRside <= '0';

130

Page 131: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Rl_on_AddressUnitRside <= '0'; end if;

end if; --brc

if IR (11 downto 8)= "1001" then if C = '1' then

WPreset<= '0'; CReset <= '0';

ZReset <= '0';ResetPC<= '0';

PCplus1<='0' ;PCplusI<='1';R0plusI <='0';R0plus0 <='0';jmp <='0'; WPadd <= '0';CSet <= '0';ZSet <= '0'; K <= '0';ReadIO <= '0';WriteIO <= '0';

B15to0 <= '0';AandB <= '0';AorB <= '0';NotB <= '0';AaddB <= '0';AsubB <= '0';AmulB <= '0';AcmpB <= '0';ShrB <= '0';ShlB <= '0';

WEL<= '0';WEH <= '0';

WE <= '0'; RE <= '1';

Load <= '1';

131

Page 132: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Adress_on_Databus <= '0'; Shadow <= '0'; IR_on_LOpndBus <= '0'; IR_on_HOpndBus <= '0'; ALUout_on_Databus <= '0'; RFright_on_OpndBus <= '0'; Rs_on_AddressUnitRside <= '0'; Rl_on_AddressUnitRside <= '0'; else

WPreset<= '0'; CReset <= '0';

ZReset <= '0';ResetPC<= '0';

PCplus1<='1' ;PCplusI<='0';R0plusI <='0';R0plus0 <='0';jmp <= '0' ; WPadd <= '0';CSet <= '0';ZSet <= '0'; K <= '0';ReadIO <= '0';WriteIO <= '0';

B15to0 <= '0';AandB <= '0';AorB <= '0';NotB <= '0';AaddB <= '0';AsubB <= '0';AmulB <= '0';AcmpB <= '0';ShrB <= '0';ShlB <= '0';

WEL<= '0';WEH <= '0';

WE <= '0'; RE <= '1';

132

Page 133: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Load <= '1';

Adress_on_Databus <= '0'; Shadow <= '0'; IR_on_LOpndBus <= '0'; IR_on_HOpndBus <= '0'; ALUout_on_Databus <= '0'; RFright_on_OpndBus <= '0'; Rs_on_AddressUnitRside <= '0'; Rl_on_AddressUnitRside <= '0'; end if;

end if; --awp

if IR (11 downto 8)= "1010" then

WPreset<= '0'; CReset <= '0';

ZReset <= '0';ResetPC<= '0';

PCplus1<='1' ;PCplusI<='0';R0plusI <='0';R0plus0 <='0';jmp <= '0' ; WPadd <= '1';CSet <= '0';ZSet <= '0'; K <= '0';ReadIO <= '0';WriteIO <= '0';

B15to0 <= '0';AandB <= '0';AorB <= '0';NotB <= '0';AaddB <= '0';AsubB <= '0';AmulB <= '0';AcmpB<= '0';ShrB <= '0';ShlB <= '0';

133

Page 134: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

WEL<= '0';WEH <= '0';

WE <= '0'; RE <= '1';

Load <= '1';

Adress_on_Databus <= '0'; Shadow <= '0'; IR_on_LOpndBus <= '0'; IR_on_HOpndBus <= '0'; ALUout_on_Databus <= '0'; RFright_on_OpndBus <= '0'; Rs_on_AddressUnitRside <= '0'; Rl_on_AddressUnitRside <= '0';

end if;end if;

if IR (15 downto 12)= "0001" then

--mvr

WPreset<= '0'; CReset <= '0';

ZReset <= '0';ResetPC<= '0';

PCplus1<='1' ;PCplusI<='0';R0plusI <='0';R0plus0 <='0';jmp <= '0' ;

WPadd <= '0';CSet <= '0';ZSet <= '0';K <= '1';ReadIO <= '0';WriteIO <= '0';

B15to0 <= '1';AandB <= '0';AorB <= '0';NotB <= '0';AaddB <= '0';AsubB <= '0';

134

Page 135: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

AmulB <= '0';AcmpB <= '0';ShrB <= '0';ShlB <= '0';

WEL<= '1';WEH <= '1';

WE <= '0'; RE <= '0';

Load <= '1';

Adress_on_Databus <= '0'; Shadow <= '1'; IR_on_LOpndBus <= '0'; IR_on_HOpndBus <= '0'; ALUout_on_Databus <= '1'; RFright_on_OpndBus <= '1'; Rs_on_AddressUnitRside <= '0'; Rl_on_AddressUnitRside <= '0';

end if;

--lda if IR (15 downto 12)= "0010" then

WPreset<= '0'; CReset <= '0';

ZReset <= '0';ResetPC<= '0';

PCplus1<='0' ;PCplusI<='0';R0plusI <='0';R0plus0 <='1';jmp <='0';

WPadd <= '0';CSet <= '0';ZSet <= '0';K <= '1';ReadIO <= '0';WriteIO <= '0';

135

Page 136: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

B15to0 <= '0';AandB <= '0';AorB <= '0';NotB <= '0';AaddB <= '0';AsubB <= '0';AmulB <= '0';AcmpB <= '0';ShrB <= '0';ShlB <= '0';

WEL<= '1';WEH <= '1';

WE <= '0'; RE <= '1';

Load <= '1';

Adress_on_Databus <= '0'; Shadow <= '1'; IR_on_LOpndBus <= '0'; IR_on_HOpndBus <= '0'; ALUout_on_Databus <= '0'; RFright_on_OpndBus <= '0'; Rs_on_AddressUnitRside <= '1'; Rl_on_AddressUnitRside <= '0';

end if; if IR (15 downto 12)= "0011" then

--sta

WPreset<= '0'; CReset <= '0';

ZReset <= '0';ResetPC<= '0';

PCplus1<='0' ;PCplusI<='0';R0plusI <='0';R0plus0 <='1';

136

Page 137: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

jmp <= '0' ; WPadd <= '0';

CSet <= '0';ZSet <= '0'; K <= '1';ReadIO <= '0';WriteIO <= '0';

B15to0 <= '1';AandB <= '0';AorB <= '0';NotB <= '0';AaddB <= '0';AsubB <= '0';AmulB <= '0';AcmpB <= '0';ShrB <= '0';ShlB <= '0';

WEL<= '0';WEH <= '0';

WE <= '1'; RE <= '0';

Load <= '1';

Adress_on_Databus <= '0'; Shadow <= '1'; IR_on_LOpndBus <= '0'; IR_on_HOpndBus <= '0'; ALUout_on_Databus <= '1'; RFright_on_OpndBus <= '1'; Rs_on_AddressUnitRside <= '0'; Rl_on_AddressUnitRside <= '1';

end if;

if IR (15 downto 12)= "0100" then --inp

WPreset<= '0';

CReset <= '0';ZReset <= '0';

137

Page 138: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

ResetPC<= '0';

PCplus1<='0' ;PCplusI<='0';R0plusI <='0';R0plus0 <='1';jmp <='0' ;

WPadd <= '0';CSet <= '0';ZSet <= '0';K <= '1';ReadIO <= '1';WriteIO <= '0';

B15to0 <= '0';AandB <= '0';AorB <= '0';NotB <= '0';AaddB <= '0';AsubB <= '0';AmulB <= '0';AcmpB<= '0';ShrB <= '0';ShlB <= '0';

WEL<= '1';WEH <= '1';

WE <= '0'; RE <= '0';

Load <= '1';

Adress_on_Databus <= '1'; Shadow <= '1'; IR_on_LOpndBus <= '0'; IR_on_HOpndBus <= '0'; ALUout_on_Databus <= '0'; RFright_on_OpndBus <= '0'; Rs_on_AddressUnitRside <= '1'; Rl_on_AddressUnitRside <= '0';

end if; --oup

138

Page 139: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

if IR (15 downto 12)= "0101" then

WPreset<= '0'; CReset <= '0';

ZReset <= '0';ResetPC<= '0';

PCplus1<='0' ;PCplusI<='0';R0plusI <='0';R0plus0 <='1';jmp <='0';

WPadd <= '0';CSet <= '0';ZSet <= '0'; K <= '1';ReadIO <= '0';WriteIO <= '1';

B15to0 <= '0';AandB <= '0';AorB <= '0';NotB <= '0';AaddB <= '0';AsubB <= '0';AmulB <= '0';AcmpB <= '0';ShrB <= '0';ShlB <= '0';

WEL<= '1';WEH <= '1';

WE <= '0'; RE <= '0';

Load <= '1';

Adress_on_Databus <= '1'; Shadow <= '1'; IR_on_LOpndBus <= '0'; IR_on_HOpndBus <= '0';

139

Page 140: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

ALUout_on_Databus <= '0'; RFright_on_OpndBus <= '0'; Rs_on_AddressUnitRside <= '1'; Rl_on_AddressUnitRside <= '0';

end if;

--and

if IR (15 downto 12)= "0110" then

WPreset<= '0'; CReset <= '0';

ZReset <= '0';ResetPC<= '0';

PCplus1<='1' ;PCplusI<='0';R0plusI <='0';R0plus0 <='0';jmp <='0';

WPadd <= '0';CSet <= '0';ZSet <= '0';K <= '1';ReadIO <= '0';WriteIO <= '0';

B15to0 <= '0';AandB <= '1';AorB <= '0';NotB <= '0';AaddB <= '0';AsubB <= '0';AmulB <= '0';AcmpB <= '0';ShrB <= '0';ShlB <= '0';

WEL<= '1';WEH <= '1';

WE <= '0';

140

Page 141: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

RE <= '0'; Load <= '1';

Adress_on_Databus <= '0'; Shadow <= '1'; IR_on_LOpndBus <= '0'; IR_on_HOpndBus <= '0'; ALUout_on_Databus <= '1'; RFright_on_OpndBus <= '1'; Rs_on_AddressUnitRside <= '0'; Rl_on_AddressUnitRside <= '0';

end if;

if IR (15 downto 12)= "0111" then

--or WPreset<= '0';

CReset <= '0';ZReset <= '0';ResetPC<= '0';

PCplus1<='1' ;PCplusI<='0';R0plusI <='0';R0plus0 <='0';jmp <='0' ;

WPadd <= '0';CSet <= '0';ZSet <= '0';K <= '1';

B15to0 <= '0';AandB <= '0';AorB <= '1';NotB <= '0';AaddB <= '0';AsubB <= '0';AmulB <= '0';AcmpB<= '0';ShrB <= '0';ShlB <= '0';

141

Page 142: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

WEL<= '1';WEH <= '1';

WE <= '0'; RE <= '1';

Load <= '1';

Adress_on_Databus <= '0'; Shadow <= '1'; IR_on_LOpndBus <= '0'; IR_on_HOpndBus <= '0'; ALUout_on_Databus <= '1'; RFright_on_OpndBus <= '1'; Rs_on_AddressUnitRside <= '0'; Rl_on_AddressUnitRside <= '0';

end if; --not

if IR (15 downto 12)= "1000" then

WPreset<= '0'; CReset <= '0';

ZReset <= '0';ResetPC<= '0';

PCplus1<='1' ;PCplusI<='0';R0plusI <='0';R0plus0 <='0';jmp <= '0' ;

WPadd <= '0';CSet <= '0';ZSet <= '0';K <= '1';ReadIO <= '0';WriteIO <= '0';

B15to0 <= '0';AandB <= '0';AorB <= '0';NotB <= '1';AaddB <= '0';AsubB <= '0';AmulB <= '0';AcmpB<= '0';

142

Page 143: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

ShrB <= '0';ShlB <= '0';

WEL<= '1';WEH <= '1';

WE <= '0'; RE<= '1';

Load <= '1';

Adress_on_Databus <= '0'; Shadow <= '1'; IR_on_LOpndBus <= '0'; IR_on_HOpndBus <= '0'; ALUout_on_Databus <= '1'; RFright_on_OpndBus <= '1'; Rs_on_AddressUnitRside <= '0'; Rl_on_AddressUnitRside <= '0';

end if; --shl

if IR (15 downto 12)= "1001" then

WPreset<= '0'; CReset <= '0';

ZReset <= '0';ResetPC<= '0';

PCplus1<='1' ;PCplusI<='0';R0plusI <='0';R0plus0 <='0';jmp <= '0';

WPadd <= '0';CSet <= '0';ZSet <= '0'; K <= '1';ReadIO <= '0';WriteIO <= '0';

B15to0 <= '0';AandB <= '0';

143

Page 144: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

AorB <= '0';NotB <= '0';AaddB <= '0';AsubB <= '0';AmulB <= '0';AcmpB <= '0';ShrB <= '0';ShlB <= '1';

WEL<= '1';WEH <= '1';

WE <= '0'; RE <= '1';

Load <= '1';

Adress_on_Databus <= '0'; Shadow <= '1'; IR_on_LOpndBus <= '0'; IR_on_HOpndBus <= '0'; ALUout_on_Databus <= '1'; RFright_on_OpndBus <= '1'; Rs_on_AddressUnitRside <= '0'; Rl_on_AddressUnitRside <= '0';

end if; --shr

if IR (15 downto 12)= "1010" then

WPreset<= '0'; CReset <= '0';

ZReset <= '0';ResetPC<= '0';

PCplus1<='1' ;PCplusI<='0';R0plusI <='0';R0plus0 <='0';jmp <= '0';

WPadd <= '0';CSet <= '0';ZSet <= '0';

144

Page 145: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

K <= '1';ReadIO <= '0';WriteIO <= '0';

B15to0 <= '0';AandB <= '0';AorB <= '0';NotB <= '0';AaddB <= '0';AsubB <= '0';AmulB <= '0';AcmpB <= '0';ShrB <= '1';ShlB <= '0';

WEL<= '1';WEH <= '1';

WE <= '0'; RE <= '1';

Load <= '1';

Adress_on_Databus <= '0'; Shadow <= '1'; IR_on_LOpndBus <= '0'; IR_on_HOpndBus <= '0'; ALUout_on_Databus <= '1'; RFright_on_OpndBus <= '1'; Rs_on_AddressUnitRside <= '0'; Rl_on_AddressUnitRside <= '0';

end if; --add

if IR (15 downto 12)= "1011" then

WPreset<= '0'; CReset <= '0';

ZReset <= '0';ResetPC<= '0';

PCplus1<='1' ;PCplusI<='0';

145

Page 146: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

R0plusI <='0';R0plus0 <='0';jmp <= '0' ;

WPadd <= '0';CSet <= '0';ZSet <= '0'; K <= '1';ReadIO <= '0';WriteIO <= '0';

B15to0 <= '0';AandB <= '0';AorB <= '0';NotB <= '0';AaddB <= '1';AsubB <= '0';AmulB <= '0';AcmpB<= '0';ShrB <= '0';ShlB <= '0';

WEL<= '1';WEH <= '1';

WE <= '0'; RE <= '1';

Load <= '1';

Adress_on_Databus <= '0'; Shadow <= '1'; IR_on_LOpndBus <= '0'; IR_on_HOpndBus <= '0'; ALUout_on_Databus <= '1'; RFright_on_OpndBus <= '1'; Rs_on_AddressUnitRside <= '0'; Rl_on_AddressUnitRside <= '0';

end if; --sub

if IR (15 downto 12)= "1100" then

WPreset<= '0';

146

Page 147: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

CReset <= '0';ZReset <= '0';ResetPC<= '0';

PCplus1<='1' ;PCplusI<='0';R0plusI <='0';R0plus0 <='0';jmp <= '0' ;

WPadd <= '0';CSet <= '0';ZSet <= '0';K <= '1';ReadIO <= '0';WriteIO <= '0';

B15to0 <= '0';AandB <= '0';AorB <= '0';NotB <= '0';AaddB <= '0';AsubB <= '1';AmulB <= '0';AcmpB <= '0';ShrB <= '0';ShlB <= '0';

WEL<= '1';WEH <= '1';

WE <= '0'; RE <= '1';

Load <= '1';

Adress_on_Databus <= '0'; Shadow <= '1'; IR_on_LOpndBus <= '0'; IR_on_HOpndBus <= '0'; ALUout_on_Databus <= '1'; RFright_on_OpndBus <= '1'; Rs_on_AddressUnitRside <= '0'; Rl_on_AddressUnitRside <= '0';

147

Page 148: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

end if;--mul

if IR (15 downto 12)= "1101" then

WPreset<= '0'; CReset <= '0';

ZReset <= '0';ResetPC<= '0';

PCplus1<='1' ;PCplusI <='0';R0plusI <='0';R0plus0 <='0';jmp <= '0' ;

WPadd <= '0';CSet <= '0';ZSet <= '0';K <= '1';ReadIO <= '0';WriteIO <= '0';

B15to0 <= '0';AandB <= '0';AorB <= '0';NotB <= '0';AaddB <= '0';AsubB <= '0';AmulB <= '1';AcmpB <= '0';ShrB <= '0';ShlB <= '0';

WEL<= '1';WEH <= '1';

WE <= '0'; RE <= '1';

Load <= '1';

Adress_on_Databus <= '0'; Shadow <= '1'; IR_on_LOpndBus <= '0';

148

Page 149: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

IR_on_HOpndBus <= '0'; ALUout_on_Databus <= '1'; RFright_on_OpndBus <= '1'; Rs_on_AddressUnitRside <= '0'; Rl_on_AddressUnitRside <= '0';

end if; --cmp

if IR (15 downto 12)= "1110" then

WPreset<= '0'; CReset <= '0';

ZReset <= '0';ResetPC<= '0';

PCplus1<='1' ;PCplusI <='0';R0plusI <='0';R0plus0 <='0';jmp <= '0';

WPadd <= '0';CSet <= '0';ZSet <= '0';K <= '0';ReadIO <= '0';WriteIO <= '0';

B15to0 <= '0';AandB <= '0';AorB <= '0';NotB <= '0';AaddB <= '0';AsubB <= '0';AmulB <= '0';AcmpB <= '1';ShrB <= '0';ShlB <= '0';

WEL<= '0';WEH <= '0';

WE <= '0'; RE <= '1';

149

Page 150: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Load <= '1';

Adress_on_Databus <= '0'; Shadow <= '1'; IR_on_LOpndBus <= '0'; IR_on_HOpndBus <= '0'; ALUout_on_Databus <= '0'; RFright_on_OpndBus <= '1'; Rs_on_AddressUnitRside <= '0'; Rl_on_AddressUnitRside <= '0';

end if;

if IR (15 downto 12)= "1111" then--mil

if IR (9 downto 8)= "00" then

WPreset<= '0'; CReset <= '0';

ZReset <= '0';ResetPC<= '0';

PCplus1<='1' ;PCplusI<='0';R0plusI <='0';R0plus0 <='0';jmp <='0' ;

WPadd <= '0';CSet <= '0';ZSet <= '0'; K <= '1';ReadIO <= '0';WriteIO <= '0';

B15to0 <= '1';AandB <= '0';AorB <= '0';NotB <= '0';AaddB <= '0';AsubB <= '0';AmulB <= '0';AcmpB <= '0';ShrB <= '0';ShlB <= '0';

150

Page 151: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

WEL<= '1';WEH <= '0';

WE <= '0'; RE <= '1';

Load <= '1';

Adress_on_Databus <= '0'; Shadow <= '1'; IR_on_LOpndBus <= '1'; IR_on_HOpndBus <= '0'; ALUout_on_Databus <= '1'; RFright_on_OpndBus <= '0'; Rs_on_AddressUnitRside <= '0'; Rl_on_AddressUnitRside <= '0';

end if;--mih

if IR (9 downto 8)= "01" then

WPreset<= '0'; CReset <= '0';

ZReset <= '0';ResetPC<= '0';

PCplus1<='1' ;PCplusI<='0';R0plusI <='0';R0plus0 <='0';jmp <= '0';

WPadd <= '0';CSet <= '0';ZSet <= '0'; K <= '1';ReadIO <= '0';WriteIO <= '0';

B15to0 <= '1';AandB <= '0';AorB <= '0';

151

Page 152: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

NotB <= '0';AaddB <= '0';AsubB <= '0';AmulB <= '0';AcmpB <= '0';ShrB <= '0';ShlB <= '0';

WEL<= '0';WEH <= '1';

WE <= '0'; RE <= '1';

Load <= '1';

Adress_on_Databus <= '0'; Shadow <= '1'; IR_on_LOpndBus <= '0'; IR_on_HOpndBus <= '1'; ALUout_on_Databus <= '1'; RFright_on_OpndBus <= '0'; Rs_on_AddressUnitRside <= '0'; Rl_on_AddressUnitRside <= '0';

end if;

--spc if IR (9 downto 8)= "10" then

WPreset<= '0'; CReset <= '0';

ZReset <= '0';ResetPC<= '0';

PCplus1<='0' ;PCplusI<='1';R0plusI <='0';R0plus0 <='0';jmp <='0' ;

WPadd <= '0';CSet <= '0';ZSet <= '0';

152

Page 153: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

K <= '1';ReadIO <= '0';WriteIO <= '0';

B15to0 <= '0';AandB <= '0';AorB <= '0';NotB <= '0';AaddB <= '0';AsubB <= '0';AmulB <= '0';AcmpB <= '0';ShrB <= '0';ShlB <= '0';

WEL<= '1';WEH <= '1';

WE <= '0'; RE <= '1';

Load <= '1';

Adress_on_Databus <= '1'; Shadow <= '1'; IR_on_LOpndBus <= '0'; IR_on_HOpndBus <= '0'; ALUout_on_Databus <= '0'; RFright_on_OpndBus <= '0'; Rs_on_AddressUnitRside <= '0'; Rl_on_AddressUnitRside <= '0';

end if; --jpa

if IR (9 downto 8)= "11" then

WPreset<= '0'; CReset <= '0';

ZReset <= '0';ResetPC<= '0';

PCplus1<='0' ;PCplusI<='0';

153

Page 154: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

R0plusI <='1';R0plus0 <='0';jmp <= '0' ;

WPadd <= '0';CSet <= '0';ZSet <= '0'; K <= '1';ReadIO <= '0';WriteIO <= '0';

B15to0 <= '0';AandB <= '0';AorB <= '0';NotB <= '0';AaddB <= '0';AsubB <= '0';AmulB <= '0';AcmpB<= '0';ShrB <= '0';ShlB <= '0';

WEL<= '0';WEH <= '0';

WE <= '0'; RE <= '1';

Load <= '1';

Adress_on_Databus <= '0'; Shadow <= '1'; IR_on_LOpndBus <= '0'; IR_on_HOpndBus <= '0'; ALUout_on_Databus <= '0'; RFright_on_OpndBus <= '0'; Rs_on_AddressUnitRside <= '0'; Rl_on_AddressUnitRside <= '1';

end if; end if;end if;

else

154

Page 155: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

WPreset<= '0'; CReset <= '0';

ZReset <= '0';ResetPC<= '0';

PCplus1<='0' ;PCplusI<='0';R0plusI <='0';R0plus0 <='0';jmp <='0' ;

WPadd <= '0';CSet <= '0';ZSet <= '0'; K <= '0';ReadIO <= '0';WriteIO <= '0';

B15to0 <= '0';AandB <= '0';AorB <= '0';NotB <= '0';AaddB <= '0';AsubB <= '0';AmulB <= '0';AcmpB <= '0';ShrB <= '0';ShlB <= '0';

WEL<= '0';WEH <= '0';

WE <= '0'; RE <= '0';

Load <= '0';

Adress_on_Databus <= '0'; Shadow <= '0'; IR_on_LOpndBus <= '0'; IR_on_HOpndBus <= '0'; ALUout_on_Databus <= '0'; RFright_on_OpndBus <= '0';

155

Page 156: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Rs_on_AddressUnitRside <= '0'; Rl_on_AddressUnitRside <= '0';

end if; end if; end process;end control_ARCH;

156

Page 157: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

10. PROCESOR SAYEH

U delu koji sledi dat je VHDL opis procesora SAYEH. Blokovi koji su do sada opisani povezani su na sledeći način:

ADDR(15:0)

Q(15:0)

DATA(15:0)REWE

U1

memorija

CLK

RD(15:0)

DATA(15:0)

RS(15:0)

Sel(3:0)

WEHWEL

WP(2:0)

U2

registar_file

A(15:0)

ALUout(15:0)

AaddB

Cout AandB

Zout

AcmpB

AmulB

AorB

AsubB

B(15:0)

B15to0

Clk

NotB

ShlB

ShrB

U3

alu

CLK

C

CReset

Z

CSet

Cout

ZResetZSetZout

U4

flags

IR(7:0)

izl(15:0)

PC(15:0)

PCplus1

PCplusI

R0plus0

R0plusI

RSide(15:0)

ResetPCclk

jmp

U5

adr_unt

C

ALUout_on_DatabusClk

AaddBExternal_Reset

AandB

IR(15:0)

AcmpB

MemDataReady

Adress_on_DatabusZ

AmulB

AorB

AsubB

B15to0

CReset

CSet

IR_on_HOpndBus

IR_on_LOpndBus

K

Load

NotB

PCplus1

PCplusI

R0plus0

R0plusI

RE

RFright_on_OpndBus

ResetPC

Rl_on_AddressUnitRside

Rs_on_AddressUnitRside

Shadow

ShlB

ShrB

WE

WEH

WEL

WPadd

WPreset

ZReset

ZSet

jmp

ReadIO

WriteIO

U6

control

CLK Q(15:0) DATA(15:0)

Q1(7:0)

LOAD

U7

irI0(11:8)

O(3:0)I1(3:0)

Shadow

U8

mux

CLK

IZL(2:0)

K

ULAZ(2:0)

U10

novo

O(7:0)

I(7:0)

IR_on_LOpndBus

U11

buff1

CLK

Q(2:0)DATA(2:0)

WP

add

WP

reset

U12

WP

I(7:0)O

(7:0)

IR_on_HOpndBus

U13

buff2

I(15:0)O

(15:0)

RFright_on_OpndBus

U14

buff3

I(15:0)O(15:0)

Rs_on_AdressUnitRSide

U15

buff4I(15:0) O(15:0)

Rd_on_AdressUnitRSide

U16

buff5

ALUout_on_Databus

O(15:0)

I(15:0)

U17

buff6

Address_on_Databus

O(15:0)

I(15:0)

U18

buff7

Opnd(15:0)

Opnd(15:8)

Irout(7:0)

Irout(3:1)

Ir_bus(15:0)Ir_bus(11:8)

Ir_bus(3:0)

clock

Opnd(7:0)

ExtResetMemDatReady ReadIO

WriteIO

Procesor SAYEH ima sledeće portove:- Clk – ulaz taktnog signala- ExternalReset – jednobitni ulaz za spoljašnje resetovanje procesora,- MemDataready – jednobitni ulaz kojim se obaveštava procesor da je

memorija spremna za rad,- ReadMem – izlazni kontrolni signal (ako je =1 dozvoljeno je iščitavanje iz

memorija),- WriteMem – izlazni kontrolni signal (ako je =1 dozvoljen je upis u

memoriju),

157

Page 158: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

---------------------------------------------------------------------------------------------------

--

-- Title : No Title

-- Design : sayeh

-- Author : Nikola Sekulovic

-- Company : SekulaCo

--

---------------------------------------------------------------------------------------------------

--

-- File : c:\Documents and Settings\Nikola\Desktop\sayeh\sayeh\compile\sayeh procesor.vhd

-- Generated : Tue Jul 17 10:55:52 2007

-- From : c:\Documents and Settings\Nikola\Desktop\sayeh\sayeh\src\sayeh procesor.bde

-- By : Bde2Vhdl ver. 2.6

--

---------------------------------------------------------------------------------------------------

--

-- Description :

--

---------------------------------------------------------------------------------------------------

-- Design unit header --

library IEEE;

use IEEE.std_logic_1164.all;

158

Page 159: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

entity \sayeh procesor\ is

port(

ExtReset : in STD_LOGIC;

MemDatReady : in STD_LOGIC;

clock : in STD_LOGIC;

ReadIO : out STD_LOGIC;

WriteIO : out STD_LOGIC

);

end \sayeh procesor\;

architecture \sayeh procesor\ of \sayeh procesor\ is

---- Component declarations -----

component adr_unt

port (

IR : in STD_LOGIC_VECTOR(7 downto 0);

PC : in STD_LOGIC_VECTOR(15 downto 0);

PCplus1 : in STD_LOGIC;

PCplusI : in STD_LOGIC;

R0plus0 : in STD_LOGIC;

R0plusI : in STD_LOGIC;

RSide : in STD_LOGIC_VECTOR(15 downto 0);

ResetPC : in STD_LOGIC;

clk : in STD_LOGIC;

159

Page 160: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

jmp : in STD_LOGIC;

izl : out STD_LOGIC_VECTOR(15 downto 0)

);

end component;

component ALU

port (

A : in STD_LOGIC_VECTOR(15 downto 0);

AaddB : in STD_LOGIC;

AandB : in STD_LOGIC;

AcmpB : in STD_LOGIC;

AmulB : in STD_LOGIC;

AorB : in STD_LOGIC;

AsubB : in STD_LOGIC;

B : in STD_LOGIC_VECTOR(15 downto 0);

B15to0 : in STD_LOGIC;

Clk : in STD_LOGIC;

NotB : in STD_LOGIC;

ShlB : in STD_LOGIC;

ShrB : in STD_LOGIC;

ALUout : out STD_LOGIC_VECTOR(15 downto 0);

Cout : out STD_LOGIC;

Zout : out STD_LOGIC

);

end component;

component buff1

160

Page 161: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

port (

I : in STD_LOGIC_VECTOR(7 downto 0);

IR_on_LOpndBus : in STD_LOGIC;

O : out STD_LOGIC_VECTOR(7 downto 0)

);

end component;

component buff2

port (

I : in STD_LOGIC_VECTOR(7 downto 0);

IR_on_HOpndBus : in STD_LOGIC;

O : out STD_LOGIC_VECTOR(7 downto 0)

);

end component;

component buff3

port (

I : in STD_LOGIC_VECTOR(15 downto 0);

RFright_on_OpndBus : in STD_LOGIC;

O : out STD_LOGIC_VECTOR(15 downto 0)

);

end component;

component buff4

port (

I : in STD_LOGIC_VECTOR(15 downto 0);

Rs_on_AdressUnitRSide : in STD_LOGIC;

O : out STD_LOGIC_VECTOR(15 downto 0)

161

Page 162: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

);

end component;

component buff5

port (

I : in STD_LOGIC_VECTOR(15 downto 0);

Rd_on_AdressUnitRSide : in STD_LOGIC;

O : out STD_LOGIC_VECTOR(15 downto 0)

);

end component;

component buff6

port (

ALUout_on_Databus : in STD_LOGIC;

I : in STD_LOGIC_VECTOR(15 downto 0);

O : out STD_LOGIC_VECTOR(15 downto 0)

);

end component;

component buff7

port (

Address_on_Databus : in STD_LOGIC;

I : in STD_LOGIC_VECTOR(15 downto 0);

O : out STD_LOGIC_VECTOR(15 downto 0)

);

end component;

component control

port (

162

Page 163: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

C : in STD_LOGIC;

Clk : in STD_LOGIC;

External_Reset : in STD_LOGIC;

IR : in STD_LOGIC_VECTOR(15 downto 0);

MemDataReady : in STD_LOGIC;

Z : in STD_LOGIC;

ALUout_on_Databus : out STD_LOGIC;

AaddB : out STD_LOGIC;

AandB : out STD_LOGIC;

AcmpB : out STD_LOGIC;

Adress_on_Databus : out STD_LOGIC;

AmulB : out STD_LOGIC;

AorB : out STD_LOGIC;

AsubB : out STD_LOGIC;

B15to0 : out STD_LOGIC;

CReset : out STD_LOGIC;

CSet : out STD_LOGIC;

IR_on_HOpndBus : out STD_LOGIC;

IR_on_LOpndBus : out STD_LOGIC;

K : out STD_LOGIC;

Load : out STD_LOGIC;

NotB : out STD_LOGIC;

PCplus1 : out STD_LOGIC;

PCplusI : out STD_LOGIC;

R0plus0 : out STD_LOGIC;

163

Page 164: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

R0plusI : out STD_LOGIC;

RE : out STD_LOGIC;

RFright_on_OpndBus : out STD_LOGIC;

ReadIO : out STD_LOGIC;

ResetPC : out STD_LOGIC;

Rl_on_AddressUnitRside : out STD_LOGIC;

Rs_on_AddressUnitRside : out STD_LOGIC;

Shadow : out STD_LOGIC;

ShlB : out STD_LOGIC;

ShrB : out STD_LOGIC;

WE : out STD_LOGIC;

WEH : out STD_LOGIC;

WEL : out STD_LOGIC;

WPadd : out STD_LOGIC;

WPreset : out STD_LOGIC;

WriteIO : out STD_LOGIC;

ZReset : out STD_LOGIC;

ZSet : out STD_LOGIC;

jmp : out STD_LOGIC

);

end component;

component flags

port (

CLK : in STD_LOGIC;

CReset : in STD_LOGIC;

164

Page 165: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

CSet : in STD_LOGIC;

Cout : in STD_LOGIC;

ZReset : in STD_LOGIC;

ZSet : in STD_LOGIC;

Zout : in STD_LOGIC;

C : out STD_LOGIC;

Z : out STD_LOGIC

);

end component;

component ir

port (

CLK : in STD_LOGIC;

DATA : in STD_LOGIC_VECTOR(15 downto 0);

LOAD : in STD_LOGIC;

Q : out STD_LOGIC_VECTOR(15 downto 0);

Q1 : out STD_LOGIC_VECTOR(7 downto 0)

);

end component;

component memorija

port (

ADDR : in STD_LOGIC_VECTOR(15 downto 0);

DATA : in STD_LOGIC_VECTOR(15 downto 0);

RE : in STD_LOGIC;

WE : in STD_LOGIC;

Q : out STD_LOGIC_VECTOR(15 downto 0)

165

Page 166: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

);

end component;

component mux

port (

I0 : in STD_LOGIC_VECTOR(11 downto 8);

I1 : in STD_LOGIC_VECTOR(3 downto 0);

Shadow : in STD_LOGIC;

O : out STD_LOGIC_VECTOR(3 downto 0)

);

end component;

component novo

port (

CLK : in STD_LOGIC;

K : in STD_LOGIC;

ULAZ : in STD_LOGIC_VECTOR(2 downto 0);

IZL : out STD_LOGIC_VECTOR(2 downto 0)

);

end component;

component registar_file

port (

CLK : in STD_LOGIC;

DATA : in STD_LOGIC_VECTOR(15 downto 0);

Sel : in STD_LOGIC_VECTOR(3 downto 0);

WEH : in STD_LOGIC;

WEL : in STD_LOGIC;

166

Page 167: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

WP : in STD_LOGIC_VECTOR(2 downto 0);

RD : out STD_LOGIC_VECTOR(15 downto 0);

RS : out STD_LOGIC_VECTOR(15 downto 0)

);

end component;

component WP

port (

CLK : in STD_LOGIC;

DATA : in STD_LOGIC_VECTOR(2 downto 0);

WPadd : in STD_LOGIC;

WPreset : in STD_LOGIC;

Q : out STD_LOGIC_VECTOR(2 downto 0)

);

end component;

---- Signal declarations used on the diagram ----

signal NET2418 : STD_LOGIC;

signal NET2420 : STD_LOGIC;

signal NET2442 : STD_LOGIC;

signal NET2444 : STD_LOGIC;

signal NET2470 : STD_LOGIC;

signal NET2472 : STD_LOGIC;

signal NET2474 : STD_LOGIC;

signal NET2476 : STD_LOGIC;

167

Page 168: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

signal NET2478 : STD_LOGIC;

signal NET2480 : STD_LOGIC;

signal NET2482 : STD_LOGIC;

signal NET2484 : STD_LOGIC;

signal NET2488 : STD_LOGIC;

signal NET2491 : STD_LOGIC;

signal NET2493 : STD_LOGIC;

signal NET2495 : STD_LOGIC;

signal NET2510 : STD_LOGIC;

signal NET2512 : STD_LOGIC;

signal NET2514 : STD_LOGIC;

signal NET2516 : STD_LOGIC;

signal NET2518 : STD_LOGIC;

signal NET2520 : STD_LOGIC;

signal NET2541 : STD_LOGIC;

signal NET2543 : STD_LOGIC;

signal NET2545 : STD_LOGIC;

signal NET2547 : STD_LOGIC;

signal NET2551 : STD_LOGIC;

signal NET2554 : STD_LOGIC;

signal NET2604 : STD_LOGIC;

signal NET2615 : STD_LOGIC;

signal NET2624 : STD_LOGIC;

signal NET2626 : STD_LOGIC;

signal NET2628 : STD_LOGIC;

168

Page 169: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

signal NET2630 : STD_LOGIC;

signal NET2638 : STD_LOGIC;

signal NET2641 : STD_LOGIC;

signal NET2643 : STD_LOGIC;

signal NET2645 : STD_LOGIC;

signal NET2652 : STD_LOGIC;

signal NET2654 : STD_LOGIC;

signal BUS2412 : STD_LOGIC_VECTOR (15 downto 0);

signal BUS2414 : STD_LOGIC_VECTOR (15 downto 0);

signal BUS2416 : STD_LOGIC_VECTOR (15 downto 0);

signal BUS2435 : STD_LOGIC_VECTOR (15 downto 0);

signal BUS2438 : STD_LOGIC_VECTOR (15 downto 0);

signal BUS2440 : STD_LOGIC_VECTOR (3 downto 0);

signal BUS2446 : STD_LOGIC_VECTOR (2 downto 0);

signal BUS2468 : STD_LOGIC_VECTOR (15 downto 0);

signal BUS2538 : STD_LOGIC_VECTOR (15 downto 0);

signal BUS2549 : STD_LOGIC_VECTOR (15 downto 0);

signal BUS2696 : STD_LOGIC_VECTOR (2 downto 0);

signal Irout : STD_LOGIC_VECTOR (7 downto 0);

signal Ir_bus : STD_LOGIC_VECTOR (15 downto 0);

signal Opnd : STD_LOGIC_VECTOR (15 downto 0);

begin

---- Component instantiations ----

169

Page 170: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

U1 : memorija

port map(

ADDR => BUS2412,

DATA => BUS2416,

Q => BUS2414,

RE => NET2418,

WE => NET2420

);

U10 : novo

port map(

CLK => clock,

IZL => BUS2446,

K => NET2628,

ULAZ => BUS2696

);

U11 : buff1

port map(

I => Irout,

IR_on_LOpndBus => NET2626,

O(0) => Opnd(0),

O(1) => Opnd(1),

O(2) => Opnd(2),

170

Page 171: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

O(3) => Opnd(3),

O(4) => Opnd(4),

O(5) => Opnd(5),

O(6) => Opnd(6),

O(7) => Opnd(7)

);

U12 : WP

port map(

CLK => clock,

DATA(0) => Irout(1),

DATA(1) => Irout(2),

DATA(2) => Irout(3),

Q => BUS2696,

WPadd => NET2652,

WPreset => NET2654

);

U13 : buff2

port map(

I => Irout,

IR_on_HOpndBus => NET2624,

O(0) => Opnd(8),

O(1) => Opnd(9),

O(2) => Opnd(10),

171

Page 172: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

O(3) => Opnd(11),

O(4) => Opnd(12),

O(5) => Opnd(13),

O(6) => Opnd(14),

O(7) => Opnd(15)

);

U14 : buff3

port map(

I => BUS2438,

O => Opnd,

RFright_on_OpndBus => NET2638

);

U15 : buff4

port map(

I => BUS2438,

O => BUS2549,

Rs_on_AdressUnitRSide => NET2643

);

U16 : buff5

port map(

I => BUS2435,

O => BUS2549,

172

Page 173: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Rd_on_AdressUnitRSide => NET2641

);

U17 : buff6

port map(

ALUout_on_Databus => NET2604,

I => BUS2468,

O => BUS2416

);

U18 : buff7

port map(

Address_on_Databus => NET2615,

I => BUS2538,

O => BUS2412

);

U2 : registar_file

port map(

CLK => clock,

DATA => BUS2414,

RD => BUS2435,

RS => BUS2438,

Sel => BUS2440,

WEH => NET2442,

173

Page 174: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

WEL => NET2444,

WP => BUS2446

);

U3 : ALU

port map(

A => BUS2435,

ALUout => BUS2468,

AaddB => NET2470,

AandB => NET2474,

AcmpB => NET2478,

AmulB => NET2480,

AorB => NET2482,

AsubB => NET2484,

B => Opnd,

B15to0 => NET2488,

Clk => clock,

Cout => NET2472,

NotB => NET2491,

ShlB => NET2493,

ShrB => NET2495,

Zout => NET2476

);

U4 : flags

174

Page 175: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

port map(

C => NET2510,

CLK => clock,

CReset => NET2512,

CSet => NET2516,

Cout => NET2472,

Z => NET2514,

ZReset => NET2518,

ZSet => NET2520,

Zout => NET2476

);

U5 : adr_unt

port map(

IR => Irout,

PC => BUS2538,

PCplus1 => NET2541,

PCplusI => NET2543,

R0plus0 => NET2545,

R0plusI => NET2547,

RSide => BUS2549,

ResetPC => NET2551,

clk => clock,

izl => BUS2538,

jmp => NET2554

175

Page 176: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

);

U6 : control

port map(

ALUout_on_Databus => NET2604,

AaddB => NET2470,

AandB => NET2474,

AcmpB => NET2478,

Adress_on_Databus => NET2615,

AmulB => NET2480,

AorB => NET2482,

AsubB => NET2484,

B15to0 => NET2488,

C => NET2510,

CReset => NET2512,

CSet => NET2516,

Clk => clock,

External_Reset => ExtReset,

IR => Ir_bus,

IR_on_HOpndBus => NET2624,

IR_on_LOpndBus => NET2626,

K => NET2628,

Load => NET2630,

MemDataReady => MemDatReady,

NotB => NET2491,

176

Page 177: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

PCplus1 => NET2541,

PCplusI => NET2543,

R0plus0 => NET2545,

R0plusI => NET2547,

RE => NET2418,

RFright_on_OpndBus => NET2638,

ReadIO => ReadIO,

ResetPC => NET2551,

Rl_on_AddressUnitRside => NET2641,

Rs_on_AddressUnitRside => NET2643,

Shadow => NET2645,

ShlB => NET2493,

ShrB => NET2495,

WE => NET2420,

WEH => NET2442,

WEL => NET2444,

WPadd => NET2652,

WPreset => NET2654,

WriteIO => WriteIO,

Z => NET2514,

ZReset => NET2518,

ZSet => NET2520,

jmp => NET2554

);

177

Page 178: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

U7 : ir

port map(

CLK => clock,

DATA => BUS2416,

LOAD => NET2630,

Q => Ir_bus,

Q1 => Irout

);

U8 : mux

port map(

I0(8) => Ir_bus(8),

I0(9) => Ir_bus(9),

I0(10) => Ir_bus(10),

I0(11) => Ir_bus(11),

I1(0) => Ir_bus(0),

I1(1) => Ir_bus(1),

I1(2) => Ir_bus(2),

I1(3) => Ir_bus(3),

O => BUS2440,

Shadow => NET2645

);

end \sayeh procesor\;

178

Page 179: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

11. BUDUĆNOST PROCESORA

Do 2010. godine današnje kompjutere će zameniti 1000 puta moćniji multimedijalni uređaji.

Slika 1. Personalni računar budućnosti

Napredak našeg društva već više od 150 godina diktiraju elektroni. Iako će oni i ubuduće nastaviti da nam služe kao prenosnici električne energije, čini se da se njihovoj primeni, prvenstveno u računarima a i u ostalim tehničkim uređajima, polako bliži kraj. Na scenu dolaze fotoni. Razlozi za ovu smenu generacija postaju svakim danom sve više evidentni. Elektron je jednostavno prevelik, prespor i prevruć. Danas u procesorima veze od 0,25-mikrometara (mikrona) polako zamenjuju one od 0,18, a sledeći korak je 0,13 mikrona. Pored činjenice da je proizvodnja još tanjih veza sve skuplja, biće gotovo nemoguće izbeći preskakanje elektrona između susednih veza. S druge strane, foton gotovo da nema masu i može da nosi više podataka u jednom snopu zavisno od frekvencije, i to bez zagrevanja. Na kraju, fotoni su najbrže čestice poznate čoveku jer, naravno, putuju brzinom svetlosti.Sa ovom činjenicom na umu, ljudi koji se bave projektovanjem superračunara skočili su kroz vreme deset godina unapred i sklopili prosečnu konfiguraciju personalnog računara budućnosti. Kod ovog računara je svaki deo koji se trenutno oslanja na elektrone zamenjen optičkim pandanom. Naravno, elektronski prekidači će i dalje ostati važan deo računara. Rezultat ovog spoja je pouzdaniji, jeftiniji i mnogo manji računar nego oni koje poznajemo danas. Zapravo dizajneri predviđaju da će ovi računari pre ličiti na frizbi nego na sadašnje računare. Naravno, ono što svakog korisnika najviše zanima, performanse računara, dostići će nivo današnjih superkompjutera. Računar takve snage, toliko jeftin da će svako moći da ga priušti i toliko mali da ćete moći da ga nosite svuda sa sobom, postaće nezamenjiva alatka u životu svakog modernog čoveka. To znači da na poslu nećete imati drugi kompjuter, već samo spustite sopstveni računar na sto i on se već povezao s mrežom! Upravljački interfejs ovog računara biće vaš glas i desktop. Površina samog stola (engl. desktop) biće veliki touch screen koji će zameniti današnje monitore, tastature i miševe. Pored toga što će prepoznavati glas, ovi računari će imati i vlastiti sintetizator

179

Page 180: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

glasa, tako da će moći da vam pročitaju pristigle poruke ili da vas upozore na termine iz podsetnika. Da ne biste morali da brinete za bezbednost svojih podataka na samom kućištu stajaće biometrički senzor za očitavanje otisaka prstiju. Da biste mogli sa sastavite ovaj računar budućnosti potrebne su vam komponente iz budućnosti. Većina ovih komponenti postoji već sada, ali su trenutno preskupe za prosečnog korisnika. Pored toga skoro sve su još uvek u takvom stadijumu razvoja da čak i kada biste mogli da ih kupite njihovim spajanjem napunili biste celu sobu, a još uvek ne biste imali željene performanse. Tako, recimo, hard diskovi koji će se koristiti u ovakvim računarima već postoje, ali u laboratorijama. Hologramski diskovi će se u slobodnoj prodaji pojaviti „mnogo” pre potpuno optičkih kompjutera, a do 2010. godine biće dovoljno jeftini da se ugrađuju u sve računare. Za deset godina današnje procesore zameniće oni sa optoelektronskim integralnim kolima. Ova kola su kombinacija elektronskih i optičkih delova. Prekidači u procesoru su od silicijuma, ali oni više neće biti povezani metalnim vezama nego će komunicirati optičkim putem. Tako će se otkloniti osnovna mana današnjih procesora – predugo čekanje na nove podatke za obradu. Otklanjanjem metalnih veza koji se zagrevaju i sprečavaju povećanje takta, brzina procesora preći će čak 100 GHz. Za razliku od sadašnjih procesora koji su četvorougaoni, procesor u računaru budućnosti imaće izgled pravilnog šestougla. Dok je četvrtasti oblik današnjih procesora rezultat potrebe za minijaturizacijom i maksimalnim iskorišćenjem silicijumske ploče, naredne generacije biće šestougaone da bi svaki deo procesora mogao što brže da komunicira sa keš memorijom koja će ga okruživati poput prstena. Veoma proste verzije optoelektronskih integralnih kola postoje već sada, ali su još uvek daleko od stepena koji je potreban za proizvodnju procesora sa željenim specifikacijama. Po trenutnim procenama, ovakvi procesori će se pojaviti tek za deset godina. Na usavršavanju optoelektronike najviše rade kompanije „Scientific-Atlanta” i „Nortel”, a u „Lucentu” pokušavaju da naprave i optičke prekidače, tj. potpuno optički procesor. Da ova vrsta procesora predstavlja budućnost pokazao je i veliki „Intel”, kada je kupio dansku kompaniju „GIGA”, jednog od navećih svetskih proizvođača optoelektronskih kola. Optika će ubrzati još jedno usko grlo današnjih računara – magistralu. Dok su trenutno najbrži procesori već probili barijeru od 1 GHz, krajnje brzine magistrala se kreću od 133 MHz kod „Intela” do 200 MHz kod AMD-ovog Athlona. Optička magistrala će bez problema raditi na taktu procesora – 100 GHz. Za brzinu magistrale vezana je i brzina RAM memorije. Računari će imati veliki keš od ultrabrzog magnetnog RAM-a, dok će osnovna sistemska radna memorija biti optički tj. holografski RAM. Kod današnje memorije od silicijumskih elemenata osvežavanje, zbog konstrukcije, traje predugo. S druge strane, magnetni RAM čine mali naelektrisani molekuli. Osvežavanje ove memorije vrši se jednostavnim električnim impulsom i dostizaće brzinu od 100 GHz. Sama brzina magnetne memorije omogućiće da se u računare stavlja čak 1 GB (da, gigabajt!) keša. Nažalost, magnetna memorija je još uvek u eksperimentalnom stadijumu razvoja, na njoj rade samo u državnim laboratorijama američke vlade i, naravno, u IBM-u. Iako su ljudi iz „Velikog plavog” do sada postigli najbolje rezultate na ovom polju, njihove su procene da će do komercijalno pristupačne magnetne memorije najverovatnije morati da se čeka više od deset godina. Ako imate gigabajt keša, šta mislite koliko ćete imati RAM-a? Očekuje se da će standardne konfiguracije imati i više od 256 GB potpuno optičkog, odnosno holografskog

180

Page 181: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

RAM-a. Holografski RAM u principu funkcioniše slično holografskim hard diskovima, ali je mnogo brži i skuplji. Ovakva memorija takođe već postoji u univerzitetskim laboratorijama. Procenjuje se da će se u narednih osam godina, nakon višestrukog povećanje brzine i kapaciteta, veće kompanije zainteresovati za serijsku proizvodnju. Pošto će kompjuteri budućnosti biti zasnovani na fotonima, a ne na elektronima kao današnji, trošiće mnogo manje električne energije. Ovi računari će pored konvencionalnog napajanja imati i okruglu litijumsku bateriju ugrađenu u obod kućišta, koja će pružati nekoliko nedelja rada bez priključivanja na električnu mrežu. „Hewlett-Packard” je najavio da će do 2007. godine imati ovakve baterije. Što se tiče ekrana, sem velikih displeja od preko 30 inča koji će biti ugrađeni u stolove i zidove u kućama i na radnim mestima, trebaće vam pregledni prenosivi monitor. Veliki ekrani biće ili paneli od tečnog kristala pobuđenog fotonima ili nova generacija plazma-displeja. Ovakva rešenja mogu se očekivati od kompanija kao što su „Sony”, „Toshiba” i „IBM”. Prenosni monitori neće biti veliki kao sadašnji displeji na notebook računrima, nego mnogo sitniji. Ovi mali displeji nose se poput naočara i stvaraju u oku prividno veliku sliku, kao da gledate ekran od nekoliko metara. „Sharp Electronics” je najdalje odmakao na polju kolor LCD tehnologije, a pored mikrodispleja u poslednje vreme mnogo ulažu i u primenu optoelektronike. Na kraju se postavlja pitanje – koja će kompanija napraviti ovakav računar? Ako pogledamo tržište komponenti za računare, još uvek postoje žestoke borbe za primat i standarde. Kako očekivati od konkurentskih kompanija da sarađuju? Trenutno postoje tri velika igrača na polju optičkih komponenti, „Lucent Technologies”, „Cisco Systems” i „Nortel Networks” i najveće borbe na tržištu odvijaće se između ovih kompanija. U želji da ne se izgubi korak sa „velikim momcima”, osnovana je koalicija „Optical Domain Service Interconnect” koja se zalaže za izgradnju otvorenog sistema. To bi im omogućilo da prave komponente koje bi bile kompatibilne sa sva tri velika proizvođača. Ova koalicija broji već preko 130 „malih” kompanija od kojih neke mogu da se pohvale godišnjim prihodima od preko dvadeset milijardi dolara. Bez obzira koja strana prevagne, potencijalni kupci moći će, kao i uvek, samo da profitiraju od sukoba između proizvođača. Kako godine budu odmicale, sve više komponenti potrebnih za ovaj računar izlaziće iz laboratorija i nalaziti mesto na tržištu. Možda se ovakav računar, kao jedinstvena celina, neće pojaviti još izvesno vreme. Međutim, vremenom ćete sigurno sve svoje stare komponente postepeno zamenjivati sve novijim i novijim, usavršenijim i usavršenijim... i tako sve dok jednog vrelog letnjeg dana daleke 2010. godine ne shvatite da već radite na – kompjuteru budućnosti!

181

Page 182: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

12. Testiranje sintetizovanog procesora

Programskom sekvencom od šest naredbi testiraćemo korektnost rada sintetizovanog procesora SAYEH.

Add R1, R6; R1 ← R1 + R6

Shl R7; R0 ← Shl R7

Or R3, R7; R3 ← R3 Or R7

Not R5; R0 ← Not R5

Sub R1, R6; R1 ← R1 – R6

Sta (R3), R4; mem(R3) ← R4

Definisanje inicijalnih vrednosti memorijskih lokacija i sadržaja registara registarskog polja

a) Sadržaj programske memorije za odgovarajuću programsku sekvencu treba da bude sledećeg oblika:

Memory[0]=1011011000000000=B600: Add Memory[1]=1001001100000000=9300: Shl Memory[2]=0111111100000000=7F00: Or Memory[3]=1000000100000000=8100: Not Memory[4]=1100011000000000=C600: SubMemory[5]=0011110000000000=3C00: Sta

Napomena: Mašinski kod, četiri MS bita instrukcije, označen je crvenom bojom, naredna četiri bita označena plavom bojom specificiraju izvorišni i odredišni operand instrukcije, zadnjih osam bitova specificiraju neposrednu vrednost opkoda instrukcije, tj. polje koje se naziva imm. Kada se opkodom ne specificira korišćenje polja imm tada je njegova vrednost 00h (za više detalja videti poglavlje 2.3. Sayeh instrukcije).

b) Sadržaj registara registarskog polja pre početka izvršenja programske sekvence treba biti sledeći:

Reg_file[0]=0000000000000000=0000; Reg_file[4]=0000000000000100=0004; Reg_file[1]=0000000000000001=0001; Reg_file[5]=0000000000000101=0005;Reg_file[2]=0000000000001010=000A; Reg_file[6]=0000000000000110=0006;Reg_file[3]=0000000000000011=0003; Reg_file[7]=0000000000000111=0007;

Nakon prve instrukcije Add sadržaj registarskog polja je sledeći:Reg_file[0]=0000000000000000=0000; Reg_file[4]=0000000000000100=0004; Reg_file[1]=0000000000000111=0007; Reg_file[5]=0000000000000101=0005;Reg_file[2]=0000000000001010=000A; Reg_file[6]=0000000000000110=0006;Reg_file[3]=0000000000000011=0003; Reg_file[7]=0000000000000111=0007;

Nakon druge instrukcije Shl sadržaj registarskog polja je sledeći:

182

Page 183: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Reg_file[0]=0000000000001110=000E; Reg_file[4]=0000000000000100=0004; Reg_file[1]=0000000000000111=0007; Reg_file[5]=0000000000000101=0005;Reg_file[2]=0000000000001010=000A; Reg_file[6]=0000000000000110=0006;Reg_file[3]=0000000000000011=0003; Reg_file[7]=0000000000000111=0007;Nakon treće instrukcije Or sadržaj registarskog polja je sledeći:Reg_file[0]=0000000000001110=000E; Reg_file[4]=0000000000000100=0004; Reg_file[1]=0000000000000111=0007; Reg_file[5]=0000000000000101=0005;Reg_file[2]=0000000000001010=000A; Reg_file[6]=0000000000000110=0006;Reg_file[3]=0000000000000111=0007; Reg_file[7]=0000000000000111=0007;

Nakon četvrte instrukcije Not sadržaj registarskog polja je sledeći:Reg_file[0]=1111111111111010=FFFA; Reg_file[4]=0000000000000100=0004; Reg_file[1]=0000000000000111=0007; Reg_file[5]=0000000000000101=0005;Reg_file[2]=0000000000001010=000A; Reg_file[6]=0000000000000110=0006;Reg_file[3]=0000000000000111=0007; Reg_file[7]=0000000000000111=0007;Nakon pete instrukcije Sub sadržaj registarskog polja je sledeći:Reg_file[0]=1111111111111010=FFFA; Reg_file[4]=0000000000000100=0004; Reg_file[1]=0000000000000111=0001; Reg_file[5]=0000000000000101=0005;Reg_file[2]=0000000000001010=000A; Reg_file[6]=0000000000000110=0006;Reg_file[3]=0000000000000111=0007; Reg_file[7]=0000000000000111=0007;Nakon šeste instrukcije Sta sadržaj registarskog polja je ostao nepromenjen, dok je Memory[7]=0000000000000100=0004.

U delu koji sledi dat je detaljan postupak kojim se vrši pozivanje programa, inicijalizacija memorije, inicijalizacija registarskog polja i testiranje procesora.

12.1 Pozivanje programa

183

Page 184: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 1: Pokrenuti program Active-HDL 6.3 dvostrukim klikom na ikonicu smeštenu na desktop računara.

Korak 2: a) U prozoru Getting Started izabrati levim klikom miša opciju Open existing workspace. b) Levim klikom miša selektovati projekat Sayeh. c) Levim klikom na opciju Ok pozivamo program koji opisuje procesor Sayeh.

Slika uz korak 2

184

Page 185: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Posle koraka 2 otvara se prozor kao na narednoj slici:

Slika: Workspace (radni prostor) ' Sayeh '

12.2. Inicijalizacija memorije

185

Page 186: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 1: a) U prozoru DESIGN BROWSER levim klikom miša izabrati komponentu memorija.vhd.

b) Desni klik u padajućem meniju na fajl označen crvenom ikonicom memorija (memorija_arch). c) Levi klik u novodobijenom prozoru na opciju Set as Top-Level.

Slika uz korak 1

Korak 2: Levim klikom miša na ikonicu New Waveform označenu crvenom bojom otvara se polje Waveform Editor u koje se unose signali i njihove vrednosti.

Slika uz korak 2

Korak 3: Desnim klikom na polje Waveform Editor otvaramo novi prozor u kojem levim klikom odabiramo opciju Add Signals.

186

Page 187: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika uz korak 3

Korak 4: U desnom delu novodobijenog prozora nalaze se signali izabrane komponente. a) Desnim klikom miša u desnom delu prozora otvaramo novi prozor kao na slici. Levim klikom u novodobijenom prozoru na opciju Select All selektujemo prikazane signale.b) Levim klikom na opciju Add dodajemo selektovane signale polju Waveform Editor.

Slika uz korak 4Korak 5: a) Levim klikom na opciju line_47 u levom delu prozora, pojavljuje se promenljiva V= memorija_mem u desnom delu prozora.

187

Page 188: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

b) Levim klikom na promenljivu V= memorija_mem vršimo njeno selektovanje. c) Levim klikom na opciju Add, polju Waveform Editor dodajemo prethodno selektovanu promenljivu V= memorija_mem.

Slika uz korak 5

Korak 6: Polje Waveform Editor izgleda kao na slici. Levim klikom na ikonicu Run označenu crvenom bojom startuje se simulacija.

Slika uz korak 6

Korak 7: a) Nakon levog klika mišem na opciju line_47 u prozoru DESIGN BROWSER,pojavljuje se promenljiva V=memorija_mem.

188

Page 189: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

b) Desnim klikom na promenljivu V=memorija_mem otvara se novi prozor kao na slici. c) Levi klik na opciju Add_to_Memory_View.

Slika uz korak 7

Korak 8: Nakon klika na opciju Add_to_Memory_View, dobijamo prozor kao na slici. Mogućnost upisivanje željenog sadržaja u odgovarajuću memorijsku lokaciju obezbeđuje se dvostrukim klikom miša na memorijsku lokaciju, dok se unošenje željenog sadržaja vrši tastaturom.

Slika uz korak 8

Korak 9: Za našu progamsku sekvencu sadržaj memorijskih lokacija je sledeći:Memory[0]=1011011000000011=B600: Add

189

Page 190: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Memory[1]=1001001101000100=9300: Shl Memory[2]=0111111100000000=7F00: Or Memory[3]=1000000100010001=8100: Not Memory[4]=1100011000000011=C600: Sub

Memory[5]=0011110000000010=3C00: Sta a) Nakon unošenja odgovarajućih vrednosti, levim klikom na opciju Save označenu crvenom bojom javlja se prozor Save Memory View file. b) U prozoru Save Memory View file u delu File name navodi se ime pod kojim će sadržaj memorijskih lokacija, nakon levog klika na opciju Save, ostati zapamćen (npr. memorija_mem).

Slika uz korak 9

12.3. Inicijalizacija registarskog polja

190

Page 191: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 1: a) U prozoru DESIGN BROWSER levim klikom miša izabrati komponentu register file.vhd. b) Desni klik u padajućem meniju na fajl označen crvenom ikonicom register_ file(register_ file_arch). c) Levi klik u novodobijenom prozoru na opciju Set as Top-Level.

Slika uz korak 1

Korak 2: Levim klikom miša na ikonicu New Waveform označenu crvenom bojom otvara se polje Waveform Editor u koje se unose signali i njihove vrednosti.

Slika uz korak 2

Korak 3: Desnim klikom na polje Waveform Editor otvaramo novi prozor u kojem levim klikom odabiramo opciju Add Signals.

191

Page 192: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika uz korak 3

Korak 4: U desnom delu novodobijenog prozora nalaze se signali izabrane komponente. a) Desnim klikom miša u desnom delu prozora otvaramo novi prozor kao na slici. Levim klikom u novodobijenom prozoru na opciju Select All selektujemo prikazane signale.b) Levim klikom na opciju Add dodajemo selektovane signale polju Waveform Editor.

Slika uz korak 4

192

Page 193: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 5: a) Levim klikom na opciju line_49 u levom delu prozora, pojavljuje se promenljiva V= ram_mem u desnom delu prozora. b) Levim klikom na promenljivu V= ram_mem vršimo njeno selektovanje. c) Levim klikom na opciju Add, polju Waveform Editor dodajemo prethodno selektovanu promenljivu V= ram_mem.

Slika uz korak 5

Korak 6: Polje Waveform Editor izgleda kao na slici. Levim klikom na ikonicu Run označenu crvenom bojom startuje se simulacija.

Slika uz korak 6

Korak 7: a) Nakon levog klika mišem na opciju line_49 u prozoru DESIGN BROWSER,

193

Page 194: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

pojavljuje se promenljiva V=ram_mem. b) Desnim klikom na promenljivu V=ram_mem otvara se novi prozor kao na slici. c) Levi klik na opciju Add_to_Memory_View.

Slika uz korak 7

Korak 8: Nakon klika na opciju Add_to_Memory_View, dobijamo prozor kao na slici. Mogućnost upisivanje željenog sadržaja u odgovarajući registar registarskog polja obezbeđuje se dvostrukim klikom miša na polje registra, dok se unošenje željenog sadržaja vrši tastaturom.

Slika uz korak 8

194

Page 195: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 9: Neka je za našu progamsku sekvencu sadržaj registara registarskog polja sledeći:Regfile[0]=0000000000000000=0000;Regfile[0]=0000000000000001=0001; Regfile[0]=0000000000001010=000A;Regfile[0]=0000000000000011=0003;Regfile[0]=0000000000000100=0004;Regfile[0]=0000000000000101=0005;Regfile[0]=0000000000000110=0006;Regfile[0]=0000000000000111=0007;

a) Nakon unošenja odgovarajućih vrednosti, levim klikom na opciju Save označenu crvenom bojom javlja se prozor Save Memory View file. b) U prozoru Save Memory View file u delu File name navodi se ime pod kojim će sadržaj registara registarskog polja, nakon levog klika na opciju Save, ostati zapamćen (npr. ram_mem).

Slika uz korak 9

12.4.Testiranje procesora

195

Page 196: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Nakon inicijalizacije memorije i registarskog polja, možemo pristuputi testiranju sintetizovanog procesora. Korak 1: a) U prozoru DESIGN BROWSER levim klikom miša izabrati komponentu sayeh procesor.bde. b) Levim klikom miša u padajućem meniju izabrati komponentu sayeh procesor.vhd. c) Desnim klikom u padajućem meniju izabrati fajl označen crvenom ikonicom \ sayeh procesor \(\ sayeh procesor \). d) Levi klik u novodobijenom prozoru na opciju Set as Top-Level.

Slika uz korak 1

Korak 2: Levim klikom miša na ikonicu New Waveform označenu crvenom bojom otvara se polje Waveform Editor u koje se unose signali i njihove vrednosti.

Slika uz korak 2

Korak 3: Desnim klikom na polje Waveform Editor otvaramo novi prozor u kojem levim klikom odabiramo opciju Add Signals.

196

Page 197: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika uz korak 3

Korak 4: U desnom delu novodobijenog prozora nalaze se signali procesora SAYEH. Levim klikom na željeni signal vršimo njegovo selektovanje, dok se levim klikom na opciju Add selektovani signali dodaju polju Waveform Editor (selektovali smo signale ExtReset, MemDatReady i clock)

Slika uz korak 4

197

Page 198: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 5: a) Nakon levog klika u levom delu prozora na jedinicu U1: memorija (memorija_arch) i levog klika u padajućem meniju na opciju line_47, pojavljuje se promenljiva V= memorija_mem u desnom delu prozora. b) Levim klikom na promenljivu V= memorija_mem vršimo njeno selektovanje. c) Levim klikom na opciju Add, polju Waveform Editor dodajemo prethodno selektovanu promenljivu V= memorija_mem.

Slika uz korak 5

Korak 6: a) Nakon levog klika u levom delu prozora na jedinicu U2: registar_file (registar_file_arch) i levog klika u padajućem meniju na opciju line_49, pojavljuje se promenljiva V= ram_mem u desnom delu prozora. b) Levim klikom na promenljivu V= ram_mem vršimo njeno selektovanje. c) Levim klikom na opciju Add, polju Waveform Editor dodajemo prethodno selektovanu promenljivu V= ram_mem.

Slika uz korak 6

198

Page 199: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 7: Selektovani signali ExtReset, MemDatReady i clock, kao i promenljive V= memorija_mem i V= ram_mem pojavljuju se u polju Waveform Editor kao na slici. Desnim klikom na signal ExtReset dobijamo novi prozor u kojem treba levim klikom izabrati opciju Stimulators.

Slika uz korak 7

Korak 7.1: a) U novootvorenom prozoru Stimulators levim klikom miša selektujemo polje Value.

b) U polju Force value tastaturom unosimo vrednost '1'. c) Levim klikom na opciju Apply signalu ExtReset dodeljujemo prethodno unetu vrednost.

199

Page 200: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika uz korak 7.1

Korak 7.2: a) U polju Waveform Editor selektujemo signal MemDatReady levim klikom miša. b) U prozoru Stimulators levim klikom miša selektujemo polje Value.

c) U polju Force value tastaturom unosimo vrednost '1'. d) Levim klikom na opciju Apply signalu MemDatReady dodeljujemo prethodno unetu vrednost.

Slika uz korak 7.2

200

Page 201: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 7.3: a) U polju Waveform Editor selektujemo signal clock levim klikom miša. b) U prozoru Stimulators levim klikom miša selektujemo polje Clock. c) Levim klikom na opciju Apply signalu clock dodeljujemo signal periode 100 ns (trajanje logičke jedinice je 50 ns; trajanje logičke nule je 50 ns). d) Levim klikom na opciju Close zatvaramo prozor Stimulators.

Slika uz korak 7.3

Korak 8: Levim klikom na ikonicu Run označenu crvenom bojom startuje se simulacija.

Slika uz korak 8

201

Page 202: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 9: a) Nakon levog klika mišem u prozoru DESIGN BROWSER na jedinicu U1: memorija (memorija_arch) i levog klika u padajućem meniju na opciju line_47,pojavljuje se promenljiva V=memorija_mem. b) Desnim klikom na promenljivu V=memorija_mem otvara se novi prozor kao na slici. c) Levi klik na opciju Add_to_Memory_View.

Slika uz korak 9

Korak 10: Levim klikom na opciju Memory otvaramo novi prozor u kojem levim klikom selektujemo opciju Change Memory.

Slika uz korak 10

202

Page 203: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 11: U prozoru Change Memory treba levim klikom miša izabrati opciju Load From File, a zatim i opciju Browse.

Slika uz korak 11

Korak 12: a) U prozoru Open memory block file levim klikom miša izabrati fajl u kojem je smeštena predhodno inicijalizovana memorija (inicijalizovanu memoriju za našu programsku sekvencu zapamtili smo pod imenom memorija.mem). b) Levim klikom na opciju Open, a zatim i levim klikom na opciju Ok u prozoru Change Memory sadržaj naše memorije postaje jednak sadržaju izabranog fajla.

Slika uz korak 12Inicijalizovana memorija za našu programsku sekvencu izgleda kao na slici:

203

Page 204: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Inicijalizovana memorija

Korak 13: a) Nakon levog klika mišem u prozoru DESIGN BROWSER na jedinicu U2: register_file (register_file_arch) i levog klika u padajućem meniju na opciju line_49,pojavljuje se promenljiva V=ram_mem. b) Desnim klikom na promenljivu V=ram_mem otvara se novi prozor kao na slici. c) Levi klik na opciju Add_to_Memory_View.

Slika uz korak 13

204

Page 205: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 14: Levim klikom na opciju Memory otvaramo novi prozor u kojem levim klikom selektujemo opciju Change Memory.

Slika uz korak 14

Korak 15: U prozoru Change Memory treba levim klikom miša izabrati opciju Load From File, a zatim i opciju Browse.

Slika uz korak 15

205

Page 206: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 16: a) U prozoru Open memory block file levim klikom miša izabrati fajl u kojem je smešteno predhodno inicijalizovano registarsko polje (inicijalizovano registarsko polje zapamtili smo pod imenom ram.mem). b Levim klikom na opciju Open, a zatim i levim klikom na opciju Ok u prozoru Change Memory sadržaj registarskog polja postaje jednak sadržaju izabranog fajla.

Slika uz korak 16

Inicijalizovano registarsko polje u našem primeru je kao na slici:

Slika: Inicijalizovano registarsko polje

206

Page 207: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 17: Levim klikom na ikonicu Run označenu crvenom bojom pokrećemo simulaciju.

Slika uz korak 17

Korak 18: Desnim klikom na signal ExtReset dobijamo novi prozor u kojem treba levim klikom izabrati opciju Stimulators.

Slika uz korak 18

207

Page 208: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 18.1: a) U novootvorenom prozoru Stimulators levim klikom miša selektujemo polje Value.

b) U polju Force value tastaturom unosimo vrednost '0'. c) Levim klikom na opciju Apply signalu ExtReset dodeljujemo prethodno unetu vrednost. d) Levim klikom na opciju Close zatvaramo prozor Stimulators.

Slika uz korak 18.1

Korak 19: Levim klikom na opciju Run oznašenu crvenom bojom pokrećemo izvršenje programske sekvence.

Slika uz korak 19

208

Page 209: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika 1. Sadržaj registara pre izvršenja programske sekvence

Slika 2. Sadržaj registara nakon prve instrukcije ( Add R1,R6 : R1 ← R1 + R6 )

209

Page 210: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika 3. Sadržaj registara nakon druge instrukcije (Shl R7; R0 ← Shl R7)

Slika 4. Sadržaj registara nakon treće instrukcije (Or R3,R7; R3 ← R3 Or R7 )

210

Page 211: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika 5. Sadržaj registara nakon četvrte instrukcije(Not R5; R0 ← Not R5 )

Slika 6. Sadržaj registara nakon pete instrukcije (Sub R1,R6; R1 ← R1 – R6)

211

Page 212: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika 7. Sadržaj registara i memorije nakon šeste instrukcije (Sta (R3),R4; mem(R3) ← R4)

Korak 20: Testiranje završavamo levim klikom na ikonicu End simulation označenu crvenom bojom.

Slika uz korak 20

212

Page 213: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

13. Laboratorijska vežba analize izvršavanja instrukcija jednostavnog 16-bitnog procesora

Cilj ove vežbe je upoznavanje sa skupom instrukcija i načinom izvršavanja instrukcija 16-bitnog procesora SAYEH. Procesor SAYEH manipuliše sa 16-bitnim podacima i operiše sa 16-bitnom adresnom magistralom (za više detalja videti poglavlje 2. SAYEH ).Zadatak studenta:- na osnovu datog skupa instrukcija, opkodova (slika 1) i formata instrukcija (slika 2)ručno definisati sadržaj programske memorije za zadatu programsku sekvencu;- pozvati program postupkom koji je opisan u sekciji 13.1. Pozivanje programa- definisani sadržaj inicijalizirati u programsku memoriju postupkom koji je opisan u sekciji 13.2. Inicijalizacija memorije ;- inicijalizirati sadržaj registara registrskog polja na specificirane vrednosti postupkom koji je opisan u sekciji 13.3. Inicijalizacija registarskog polja ;- izvršiti simulaciju na način koji je opisan u sekciji 13.4. Testiranje procesora ;- izvršiti analizu rezultata simulacije upisivanjem aktivnih signala u odgovarajuću tabelu, verifikaciju rezultata i odštampati izveštaj o rezultatima simulacije.

Instrukcija Bits 15:0 Opis instrukcije

nop No operation 0000-00-00 Operacija bez efektahlt Halt 0000-00-01 Halt, stop fečszf Set zero flag 0000-00-10 Z <= 1'czf Clr zero flag 0000-00-11 Z <= '0'scf Set carry flag 0000-01-00 C<='1'ccf Clr carry flag 0000-01-01 C <= '0'cwp Clr

Window pointer0000-01-10 WP <= "000"

mvr Move Register 0001-D-S RD <= RsIda Load Addressed 0010-D-S RD <= (Rs)sta Store Addressed 0011-D-S (RD) <= Rsinp Input from port 0100-D-S In from Rs write to RDoup Output to port 0101-D-S Out to port RD from Rsand AND Registers 0110-D-S RD <= RD & Rsor OR Registers 0111-D-S RD <= RD I Rsnot NOT Register 1000-D-S RD <= ~Rsshl Shift Left 1001-D-S RD <= sla Rsshr Shift Right 1010-D-S RD <= sra Rsadd Add Registers 1011-D-S RD <= RD + RS + Csub Subtract

Registers1100-D-S RD <= RD - RS - C

mul MultiplyRegisters

1101-D-S RD <= RD * Rs :8-bitnomnoženje

cmp Compare 1110-D-S RD, RS (ako je:Z=1; ako jeRD<RS: C=1)

mil Move Immd Low 1111-D-00-I RDL <= {8'bZ, I}mih Move Immd High 1111-D-01-I RDH <= {I, 8'bZ }spc Save PC 1111-D-10-I RD <= PC + Ijpa Jump Addressed 1111-D-ll-I PC <= RD + Ijpr Jump Relative 0000-01-11-I PC <= PC + Ibrz Branch if Zero 0000-10-00-I PC <= PC + I :ako je Z= 1

213

Page 214: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

brc Branch if Carry 0000-10-01-I PC <= PC + I :ako je C= 1awp Add Win pntr 0000-10-10-I WP <= WP + I

Slika 1. Skup instrukcija SAYEH procesora

15 12 11 1 0 09 08 07 00 00OPCODE Left Right Immediate

Slika 2. Format instrukcije Nadalje će biti dat skup od 16 sekvenci instrukcija koje trebaju da budu analizirane.Odgovarajuće rezultate treba upisati u polje tabele.

Tabela 1. Programska sekvenca za studenta 1Instrukcija Sadržaj memorijske lokacije

Opcode Left Right Immediate

Aktivni signali

Sub R3,R4

Orr R2,R5Ccf Add R1,R7Sta (R2), R6

Tabela 2. Programska sekvenca za studenta 2Instrukcija Sadržaj memorijske lokacije

Opcode Left Right Immediate

Aktivni signali

Shl R5

And R3,R4Szf Add R1,R4Jpa

Tabela 3. Programska sekvenca za studenta 3Instrukcija Sadržaj memorijske lokacije

Opcode Left Right Immediate

Aktivni signali

214

Page 215: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Not R5

Mul R2,R7Cmp R3,R6Cwp Spc

Tabela 4. Programska sekvenca za studenta 4Instrukcija Sadržaj memorijske lokacije

Opcode Left Right Immediate

Aktivni signali

Shr R4

Shl R7Not R4Add R3,R4Lda R3,(R5)

Tabela 5. Programska sekvenca za studenta 5Instrukcija Sadržaj memorijske lokacije

Opcode Left Right Immediate

Aktivni signali

Mul R1,R7

Shl R4Sub R1,R6Mil R3Sta (R2), R6

Tabela 6. Programska sekvenca za studenta 6Instrukcija Sadržaj memorijske lokacije

Opcode Left Right Immediate

Aktivni signali

215

Page 216: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Add R1,R7

Not R7Shr R5Or R2,R6Mvr R3,R6

Tabela 7. Programska sekvenca za studenta 7Instrukcija Sadržaj memorijske lokacije

Opcode Left Right Immediate

Aktivni signali

Ccf

Mih R1And R2,R5Not R7Sta (R3), R6

Tabela 8. Programska sekvenca za studenta 8Instrukcija Sadržaj memorijske lokacije

Opcode Left Right Immediate

Aktivni signali

And R2,R5

Sub R1,R7Ccf Add R1,R5Lda R3,(R5)

Tabela 9. Programska sekvenca za studenta 9

216

Page 217: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Instrukcija Sadržaj memorijske lokacije

Opcode Left Right Immediate

Aktivni signali

Cwp

Awp Mul R1,R5Orr R2,R7Sta (R2), R7

Tabela 10. Programska sekvenca za studenta 10Instrukcija Sadržaj memorijske lokacije

Opcode Left Right Immediate

Aktivni signali

Shl R5

Shr R7Not R6Scf Brc

Tabela 11. Programska sekvenca za studenta 11Instrukcija Sadržaj memorijske lokacije

Opcode Left Right Immediate

Aktivni signali

And R1,R4

Not R4Mul R2,R5Szf Brz

Tabela 12. Programska sekvenca za studenta 12

217

Page 218: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Instrukcija Sadržaj memorijske lokacije

Opcode Left Right Immediate

Aktivni signali

Mul R0,R5

Not R6Orr R2,R7Shl R6Mvr R3,R6

Tabela 13. Programska sekvenca za studenta 13Instrukcija Sadržaj memorijske lokacije

Opcode Left Right Immediate

Aktivni signali

Shr R6

Ccf Add R0,R5Sub R1,R6Sta (R0), R7

Tabela 14. Programska sekvenca za studenta 14Instrukcija Sadržaj memorijske lokacije

Opcode Left Right Immediate

Aktivni signali

Shl R7

Not R5Sub R1,R6Szf Brz

Tabela 15. Programska sekvenca za studenta 15

218

Page 219: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Instrukcija Sadržaj memorijske lokacije

Opcode Left Right Immediate

Aktivni signali

And R0,R7

Ccf Add R0,R5Not R4Jpa

Tabela 16. Programska sekvenca za studenta 16Instrukcija Sadržaj memorijske lokacije

Opcode Left Right Immediate

Aktivni signali

Shl R5

Orr R1,R6Mul R2,R4Szf Sta (R2), R7

219

Page 220: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

13.1. Pozivanje programa

Korak 1: Pokrenuti program Active-HDL 6.3 dvostrukim klikom na ikonicu smeštenu na desktop računara.

Korak 2: a) U prozoru Getting Started izabrati levim klikom miša opciju Open existing workspace. b) Levim klikom miša selektovati projekat Sayeh. c) Levim klikom na opciju Ok pozivamo program koji opisuje procesor Sayeh.

220

Page 221: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika uz korak 2

Posle koraka 2 otvara se prozor kao na narednoj slici:

221

Page 222: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika: Workspace (radni prostor) ' Sayeh '

13.2. Inicijalizacija memorije

Korak 1: a) U prozoru DESIGN BROWSER levim klikom miša izabrati komponentu memorija.vhd.

b) Desni klik u padajućem meniju na fajl označen crvenom ikonicom

222

Page 223: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

memorija (memorija_arch). c) Levi klik u novodobijenom prozoru na opciju Set as Top-Level.

Slika uz korak 1

Korak 2: Levim klikom miša na ikonicu New Waveform označenu crvenom bojom otvara se polje Waveform Editor u koje se unose signali i njihove vrednosti.

Slika uz korak 2

Korak 3: Desnim klikom na polje Waveform Editor otvaramo novi prozor u kojem levim klikom odabiramo opciju Add Signals.

223

Page 224: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika uz korak 3

Korak 4: U desnom delu novodobijenog prozora nalaze se signali izabrane komponente. a) Desnim klikom miša u desnom delu prozora otvaramo novi prozor kao na slici. Levim klikom u novodobijenom prozoru na opciju Select All selektujemo prikazane signale.b) Levim klikom na opciju Add dodajemo selektovane signale polju Waveform Editor.

Slika uz korak 4Korak 5: a) Levim klikom na opciju line_47 u levom delu prozora, pojavljuje se promenljiva V= memorija_mem u desnom delu prozora. b) Levim klikom na promenljivu V= memorija_mem vršimo njeno selektovanje.

224

Page 225: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

c) Levim klikom na opciju Add, polju Waveform Editor dodajemo prethodno selektovanu promenljivu V= memorija_mem.

Slika uz korak 5

Korak 6: Polje Waveform Editor izgleda kao na slici. Levim klikom na ikonicu Run označenu crvenom bojom startuje se simulacija.

Slika uz korak 6

Korak 7: a) Nakon levog klika mišem na opciju line_47 u prozoru DESIGN BROWSER,pojavljuje se promenljiva V=memorija_mem. b) Desnim klikom na promenljivu V=memorija_mem otvara se novi prozor kao na slici.

225

Page 226: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

c) Levi klik na opciju Add_to_Memory_View.

Slika uz korak 7

Korak 8: Nakon klika na opciju Add_to_Memory_View, dobijamo prozor kao na slici. Mogućnost upisivanje željenog sadržaja u odgovarajuću memorijsku lokaciju obezbeđuje se dvostrukim klikom miša na memorijsku lokaciju, dok se unošenje željenog sadržaja vrši tastaturom.

Slika uz korak 8

Korak 9: a) Nakon unošenja odgovarajućih vrednosti (za zadatu programsku sekvencu), levim klikom na opciju Save označenu crvenom bojom javlja se prozor Save Memory View file.

226

Page 227: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

b) U prozoru Save Memory View file u delu File name navodi se ime pod kojim će sadržaj memorijskih lokacija, nakon levog klika na opciju Save, ostati zapamćen (npr. memorija_(redni broj programske sekvence)).

Slika uz korak 9

13.3. Inicijalizacija registarskog polja

227

Page 228: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 1: a) U prozoru DESIGN BROWSER levim klikom miša izabrati komponentu register file.vhd. b) Desni klik u padajućem meniju na fajl označen crvenom ikonicom register_ file(register_ file_arch). c) Levi klik u novodobijenom prozoru na opciju Set as Top-Level.

Slika uz korak 1

Korak 2: Levim klikom miša na ikonicu New Waveform označenu crvenom bojom otvara se polje Waveform Editor u koje se unose signali i njihove vrednosti.

Slika uz korak 2

Korak 3: Desnim klikom na polje Waveform Editor otvaramo novi prozor u kojem levim klikom odabiramo opciju Add Signals.

228

Page 229: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika uz korak 3

Korak 4: U desnom delu novodobijenog prozora nalaze se signali izabrane komponente. a) Desnim klikom miša u desnom delu prozora otvaramo novi prozor kao na slici. Levim klikom u novodobijenom prozoru na opciju Select All selektujemo prikazane signale.b) Levim klikom na opciju Add dodajemo selektovane signale polju Waveform Editor.

Slika uz korak 4

229

Page 230: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 5: a) Levim klikom na opciju line_49 u levom delu prozora, pojavljuje se promenljiva V= ram_mem u desnom delu prozora. b) Levim klikom na promenljivu V= ram_mem vršimo njeno selektovanje. c) Levim klikom na opciju Add, polju Waveform Editor dodajemo prethodno selektovanu promenljivu V= ram_mem.

Slika uz korak 5

Korak 6: Polje Waveform Editor izgleda kao na slici. Levim klikom na ikonicu Run označenu crvenom bojom startuje se simulacija.

Slika uz korak 6

Korak 7: a) Nakon levog klika mišem na opciju line_49 u prozoru DESIGN BROWSER,

230

Page 231: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

pojavljuje se promenljiva V=ram_mem. b) Desnim klikom na promenljivu V=ram_mem otvara se novi prozor kao na slici. c) Levi klik na opciju Add_to_Memory_View.

Slika uz korak 7

Korak 8: Nakon klika na opciju Add_to_Memory_View, dobijamo prozor kao na slici. Mogućnost upisivanje željenog sadržaja u odgovarajući registar registarskog polja obezbeđuje se dvostrukim klikom miša na polje registra, dok se unošenje željenog sadržaja vrši tastaturom.

Slika uz korak 8

231

Page 232: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 9: a) Nakon unošenja željenih vrednosti, levim klikom na opciju Save označenu crvenom bojom javlja se prozor Save Memory View file. b) U prozoru Save Memory View file u delu File name navodi se ime pod kojim će sadržaj registara registarskog polja, nakon levog klika na opciju Save, ostati zapamćen (npr. ram_(redni broj programske sekvence)).

Slika uz korak 9

13.4. Testiranje procesora

232

Page 233: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Nakon inicijalizacije memorije i registarskog polja, možemo pristuputi testiranju sintetizovanog procesora. Korak 1: a) U prozoru DESIGN BROWSER levim klikom miša izabrati komponentu sayeh procesor.bde. b) Levim klikom miša u padajućem meniju izabrati komponentu sayeh procesor.vhd. c) Desnim klikom u padajućem meniju izabrati fajl označen crvenom ikonicom \ sayeh procesor \(\ sayeh procesor \). d) Levi klik u novodobijenom prozoru na opciju Set as Top-Level.

Slika uz korak 1

Korak 2: Levim klikom miša na ikonicu New Waveform označenu crvenom bojom otvara se polje Waveform Editor u koje se unose signali i njihove vrednosti.

Slika uz korak 2

Korak 3: Desnim klikom na polje Waveform Editor otvaramo novi prozor u kojem levim klikom odabiramo opciju Add Signals.

233

Page 234: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika uz korak 3

Korak 4: U desnom delu novodobijenog prozora nalaze se signali procesora SAYEH. Levim klikom na željeni signal vršimo njegovo selektovanje, dok se levim klikom na opciju Add selektovani signali dodaju polju Waveform Editor (npr. selektovati signale ExtReset, MemDatReady i clock)

Slika uz korak 4

234

Page 235: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 5: a) Nakon levog klika u levom delu prozora na jedinicu U1: memorija (memorija_arch) i levog klika u padajućem meniju na opciju line_47, pojavljuje se promenljiva V= memorija_mem u desnom delu prozora. b) Levim klikom na promenljivu V= memorija_mem izvršiti njeno selektovanje. c) Levim klikom na opciju Add, polju Waveform Editor dodati prethodno selektovanu promenljivu V= memorija_mem.

Slika uz korak 5

Korak 6: a) Nakon levog klika u levom delu prozora na jedinicu U2: registar_file (registar_file_arch) i levog klika u padajućem meniju na opciju line_49, pojavljuje se promenljiva V= ram_mem u desnom delu prozora. b) Levim klikom na promenljivu V= ram_mem izvršiti njeno selektovanje. c) Levim klikom na opciju Add, polju Waveform Editor dodati prethodno selektovanu promenljivu V= ram_mem.

Slika uz korak 6

235

Page 236: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 7: Selektovani signali ExtReset, MemDatReady i clock, kao i promenljive V= memorija_mem i V= ram_mem pojavljuju se u polju Waveform Editor kao na slici. Desnim klikom na signal ExtReset dobijamo novi prozor u kojem treba levim klikom izabrati opciju Stimulators.

Slika uz korak 7

Korak 7.1: a) U novootvorenom prozoru Stimulators levim klikom miša selektovati polje Value.

b) U polju Force value tastaturom uneti vrednost '1'. c) Levim klikom na opciju Apply signalu ExtReset dodeljujemo prethodno unetu vrednost.

236

Page 237: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Slika uz korak 7.1

Korak 7.2: a) U polju Waveform Editor selektovati signal MemDatReady levim klikom miša. b) U prozoru Stimulators levim klikom miša selektovati polje Value.

d) U polju Force value tastaturom uneti vrednost '1'. d) Levim klikom na opciju Apply signalu MemDatReady dodeljujemo prethodno unetu vrednost.

Slika uz korak 7.2

237

Page 238: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 7.3: a) U polju Waveform Editor selektovati signal clock levim klikom miša. b) U prozoru Stimulators levim klikom miša selektovati polje Clock. c) Levim klikom na opciju Apply signalu clock dodeljujemo signal periode 100 ns (trajanje logičke jedinice je 50 ns; trajanje logičke nule je 50 ns). d) Levim klikom na opciju Close zatvaramo prozor Stimulators.

Slika uz korak 7.3

Korak 8: Levim klikom na ikonicu Run označenu crvenom bojom startuje se simulacija.

Slika uz korak 8

238

Page 239: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 9: a) Nakon levog klika mišem u prozoru DESIGN BROWSER na jedinicu U1: memorija (memorija_arch) i levog klika u padajućem meniju na opciju line_47,pojavljuje se promenljiva V=memorija_mem. b) Desnim klikom na promenljivu V=memorija_mem otvara se novi prozor kao na slici. c) Levi klik na opciju Add_to_Memory_View.

Slika uz korak 9

Korak 10: Levim klikom na opciju Memory otvaramo novi prozor u kojem levim klikom selektujemo opciju Change Memory.

Slika uz korak 10

239

Page 240: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 11: U prozoru Change Memory treba levim klikom miša izabrati opciju Load From File, a zatim i opciju Browse.

Slika uz korak 11

Korak 12: a) U prozoru Open memory block file levim klikom miša izabrati fajl u kojem je smeštena predhodno inicijalizovana memorija (inicijalizovanu memoriju za zadatu programsku sekvencu zapamtili smo pod imenom memorija.(redni broj programske sekvence)). b) Levim klikom na opciju Open, a zatim i levim klikom na opciju Ok u prozoru Change Memory sadržaj naše memorije postaje jednak sadržaju izabranog fajla.

Slika uz korak 12

240

Page 241: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 13: a) Nakon levog klika mišem u prozoru DESIGN BROWSER na jedinicu U2: register_file (register_file_arch) i levog klika u padajućem meniju na opciju line_49,pojavljuje se promenljiva V=ram_mem. b) Desnim klikom na promenljivu V=ram_mem otvara se novi prozor kao na slici. c) Levi klik na opciju Add_to_Memory_View.

Slika uz korak 13Korak 14: Levim klikom na opciju Memory otvaramo novi prozor u kojem levim klikom selektujemo opciju Change Memory.

Slika uz korak 14

241

Page 242: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 15: U prozoru Change Memory treba levim klikom miša izabrati opciju Load From File, a zatim i opciju Browse.

Slika uz korak 15

Korak 16: a) U prozoru Open memory block file levim klikom miša izabrati fajl u kojem je smešteno predhodno inicijalizovano registarsko polje (inicijalizovano registarsko polje zapamtili smo pod imenom ram.(redni broj programske sekvence)). b Levim klikom na opciju Open, a zatim i levim klikom na opciju Ok u prozoru Change Memory sadržaj registarskog polja postaje jednak sadržaju izabranog fajla.

Slika uz korak 16

242

Page 243: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 17: Levim klikom na ikonicu Run označenu crvenom bojom pokrećemo simulaciju.

Slika uz korak 17

Korak 18: Desnim klikom na signal ExtReset dobijamo novi prozor u kojem treba levim klikom izabrati opciju Stimulators.

Slika uz korak 18

243

Page 244: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 18.1: a) U novootvorenom prozoru Stimulators levim klikom miša selektujemo polje Value.

b) U polju Force value tastaturom unosimo vrednost '0'. c) Levim klikom na opciju Apply signalu ExtReset dodeljujemo prethodno unetu vrednost. d) Levim klikom na opciju Close zatvaramo prozor Stimulators.

Slika uz korak 18.1

Korak 19: Levim klikom na opciju Run oznašenu crvenom bojom pokrećemo izvršenje programske sekvence.

Slika uz korak 19

244

Page 245: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Korak 20: Testiranje završavamo levim klikom na ikonicu End simulation označenu crvenom bojom.

Slika uz korak 20

245

Page 246: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

Literatura

Mile Stojčev – “RICS, CISC i DSP procesori”, Elektronski Fakultet Niš, 1997

Mile K. Stojčev, Saša S. Ristić, Miloš D. Krstić – “Zbirka zadataka iz mikroprocesora i mikroračunara”, Elektronski Fakultet Niš, 1999

Prof.dr Milunka Damnjanović (kao urednik) i grupa predavača na Elektronskom fakultetu u Nišu – “Praktikum laboratorijskih vežbanja iz projektovanja i testiranja elektronskih kola i sitema”, Elektronski Fakultet Niš, 2000

Dr Živko Tošić, Momčilo Randjelović − “Računari”

J.Mirkowski, M.Kapustka, Z.Skovronski, A.Biniszkiewicz − “Interactive VHDL Tutorial REV. 2.1”

K.Sobolewski, M.Ossysek − “Getting Started Guide”

246

Page 247: 1es.elfak.ni.ac.rs/Files/SAYEH.doc · Web viewKATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor: Prof.dr. Mile Stojčev Studenti:

247