Professional Documents
Culture Documents
• N ulaznih portova,
• clk ulaz za sinhronizaciju rada konačnog automata
Opciono, konačni automat može
posedovati i sledeće portove:
Staza podataka
Staza-podataka (datapath) je kolo koje nam omogućava da obavimo operacije koje se sastoje
od većeg broja koraka. Iz predmeta Mikroprocesorski Sistemi smo naučili da su staza-podataka
i upravljačka jedinica dva ključna gradivna bloka svakog mikroprocesora. Zadatak staze
podataka je da manipuliše podacima. Ona sadrži:
Projektovanje staze podataka se naziva RTL projektovanje (Register Transfer Level design).
Kod RTL projektovanja posmatra posmatra se kako se podaci prenose od jednog registra do
drugog, ili pak ponovo upisuju u isti registar.
Jezik za dokumentaciju
Jezik za simulaciju
Savremena primena:
Sinteza hardvera
Svaki celovit VHDL kôd, tj. onaj koji se može simulirati ili sintetizovati, sastoji se iz tri sekcije:
biblioteke, entiteta i arhitekture
• 2.1.1. LIBRARY
• Biblioteka se sastoji iz jednog ili više paketa (package) koji sadrže funkcije (functions),
procedure (procedures), komponente (components), konstante (constants) i definicije
tipova podataka (types) (Sl. 2-2).
• Jednom kreirana, biblioteka se može koristiti u drugim projektima ili razmenjivati s drugim
projektantima.
Biblioteke std i work su sastavni deo jezika VHDL.
• Biblioteka std sadrži definicije standardnih tipova podataka, dok je work tzv. podrazumevana
radna biblioteka, tj. biblioteka u koju će nakon kompajliranja biti smeštene sve
programske celine sadržane u konkretnom VHDL projektu.
Arhitektura (ARCHITECTURE) – sadržati opis funkcionisanja (ponašanja) ili opis unutrašnje
strukture kola
BEGIN [kôd]
END ime_arhitekture;
Kolo obavlja NI operaciju (NAND) nad dva ulazna signala, a i b, i rezultat dodeljuje ( ̋<= ̋)
izlaznom pinu c.
Naredba dodele se izvršava uvek kad se na nekom od signala a ili b desi događaj.
Naredba dodele je senzitivna na promenu vrednosti bilo kog signala s desne strane znaka
<=.
Dekoderi
Multiplekser, često u oznaci MUX, je digitalni preklopnik – tj. kolo koje omogućava da se
jedan od n izvora podataka logički poveže na zajedničko odredište. Multiplekser ima veći
broj ulaza za podatke, jedan ili više selekcionih ulaza i jedan izlaz. Vrednost selekcionih
ulaza određuje (tj. bira) jedan od ulaza za podatke čija se vrednost, u datom trenutku, prenosi
na izlaz. Na Sl. 4-10(a) je prikazan grafički simbol multipleksera 2-u-1. Ako je s=0, izlaz
multipleksera biće f=w0; ako je s=1, izlaz multipleksera je f=w1. Multiplekser 2-u-1 je po
funkciji analogan elektro-mehaničkom dvo-položajnom prekidaču sa Sl. 4-10(b), kod koga
signal s upravlja položajem preklopnika. Ponašanje multipleksera 2-u-1 opisano je tabelom
istinitosti sa Sl. 4-10(c), na osnovu koje lako možemo izvesti logički izraz oblika suma-
proizvoda: f=s`w0 + sw1. Ovom izrazu odgovara logička mreža sa Sl. 4-10(d). Na Sl. 4-10(e)
je prikazano kako se multiplekser 2-u-1 može realizovati pomoću transmisionih gejtova.
Koderi
n n
Binarni koder 2 -u-n (Sl. 4-19) kodira (transformiše) informaciju od 2 bita u n-bitnu kodnu
n
reč. Sa ograničenjem da u bilo kom trenutku samo jedan od 2 ulaza može imati vrednost 1,
na izlazu binarnog kodera generiše se n- bitni binarni broj koji ukazuje na indeks ulaza čija je
vrednost 1. Na Sl. 4-20(a) je prikazana tabela istinitosti kodera 4-u-2. Tabela istinitosti je
nepotpuna, jer sadrži samo one slogove koji su dozvoljeni na ulazu binarnog kodera. Za sve
ostale slogove, odziv kodera je nedefinisan. Uočimo da izlaz y0 ima vrednost 1 ako je w1=1
ili w3=1. Slično, izlaz y1 ima vrednost 1, ako je w2=1 ili w3=1. Na osnovu ovog zapažanja
možemo konstruisati logičku mrežu binarnog kodera 4-u-2 prikazanu na Sl. 4-20(b). U opštem
n n
slučaju, binarni koder 2 -u-n može se realizovati pomoću n (2 -1)-to ulaznih OR kola. Svako
OR kolo postavlja jedan izlaz. Ulaz wi je povezan sa j- tim OR kolom ako j-ti bit u binarnoj
reprezentaciji indeksa i ima vrednost 1.
Komparator magnitude
Relacioni izrazi se formiraju uz pomoć tri osnovna operatora: veće (X>Y), jednako (X=Y) i
manje (X<Y). Takođe, za svaki od ovih operatora postoji komplementarni operator. Operator
“veće ili jednako” (X≥Y) je komplement od “manje”, “manje ili jednako” (X≤Y) je
komplement od “veće”, dok je “različito” (X≠Y) komplement od “jednako”. Rezultat bilo kog
od navedenih operatora je logička promenljiva koja može imati vrednost 0 ili 1.
Binarno sabiranje obavlja se na sličan način kao decimalno sabiranje, s tom razlikom što
pojedinačne cifre mogu biti samo 0 ili 1. Sabiranje dva jedno-bitna broja, u opštem slučaju,
daje dvo-bitni rezultat, kao što je to ilustrovano na Sl. 4-36(a). Ako su oba sabirka 0, tada će i
njihov zbir biti 0, tj. (00)2. Ako je jedan sabirak 0, a drugi 1, zbir je 1, tj. (01)2. Ako su oba
sabirka 1, zbir je 2, tj. (10)2. Bit manje težine ovog zbira zove se bit sume, ili sum, tj. s. Bit
veće težine zove se bit prenosa ili carry, tj. c. Na Sl. 4-36(b) prikazana je tabela istinitosti koja
definiše operaciju sabiranja dva bita. Lako se može uočiti da je bit sume AND, a bit prenosa
XOR funkcija sabiraka. Na Sl. 4-36(c) je prikazana logička mreža koja realizuje funkcije s i c.
Kolo koje obavlja sabiranje dva bita zove se polu-sabirač (half-adder - HA). Za predstavljanje
polu-sabirača koristićemo grafički simbol sa Sl. 4-36(d).
Demultiplekseri
Kao što je rečeno u odeljku 4.1.2, multiplekser je digitalno kolo sa jednim izlazom, n ulaza za
podatke i log n 2 selekcionih ulaza. Namena multipleksera je da multipleksira n ulaza za
podatke preko jedinstvenog izlaza za podatak, pod kontrolom selekcionih ulaza. Kolo koje
obavlja suprotnu funkciju – vrednost sa jedinstvenog ulaza za podatak prosleđuje na jedan od
više izlaza za podatke, zove se demultiplekser.
Na Sl. 4-17(a) je prikazan grafički simbol demultipleksera 4-u-1. Kao što se vidi iz tabele
istinitosti sa Sl. 4-17(b), binarna kombinacija vrednosti selekcionih ulaza s1 i s2 bira jedan od
četiri izlaza, y0, ..., y3, na koji se prenosi vrednost jedinstvenog ulaza za podatak, d.
Demultiplekser 1-u-4 se može realizovati pomoću dekodera 2-u-4, kao što je prikazano na Sl.
4-17(c). U ovom slučaju, ulaz E dekodera se koristi kao ulaz za podatak demultipleksera, dok
su izlazi dekodera izlazi za podatke demultipleksera. Binarna kombinacija w1w0 određuje izlaz
koji će biti postavljen na vrednost E. Ako je E=0, tada će svi izlazi dekodera biti 0, uključujući
i izlaz koji je izabran kombinacijom w1w0; ako je E=1, tada kombinacija w1w0 postavlja 1 na
odgovarajući izlaz. Dakle, uvek važi y(w1w0) = E.
Flip-flopovi (*)
Postoji više tipova flip-flopova koji se razlikuju po funkciji i načinu konstrukcije. Opšte
karakteristike svih flip- flopova su sledeće: (a) flip-flop menja stanje sa rastućom ili
opadajućom ivicom taktnog signala; (b) ulazi podataka moraju biti stabilni u vremenu tsetup
pre i vremenu thold nakon aktivne ivice taktnog signala. U primeni su četiri osnovna tipa flip-
flopova: SR, JK, D i T, koji se razlikuju po broju ulaza i načinu na koji flip-flop reaguje na
vrednosti koje su postavljene na njegovim ulazima. Flip-flop se opisuje grafičkim simbolom,
tabelom prelaza, prenosnom funkcijom i tabelom pobude. Tabela sa Sl. 4-65 sadrži definicije
četiri tipa flip-flopova. Grafički simbol pokazuje broj i tipove ulaza i izlaza. Svi flip-flopovi
imaju izlazne signale Q i Q’. Vrednost na izlazu Q (pravi izlaz flip-flopa) ukazuje na tekuće
stanje flip-flopa. Na izlazu Q’ je uvek prisutna komplementarna vrednost izlaza Q. Takođe, svi
flip-flopovi poseduju ulaz za taktni signal. Trougao na ulazu na takt ukazuje da se flip-flop
taktuje rastućom ivicom taktnog signala. Suprotno, kružić na ulazu za takt ukazuje na
taktnovanje opadajućom ivicom.
Svaki flip-flop ima jedan ili dva ulaza podataka. SR flip-flop ima dva ulaza, S (Set) i R (Reset)
koji, kada su aktivni, setuju, odnosno resetuju flip-flop. Drugim rečima, pri S=1 i R=0, izlaz
flip-flopa Q se postavlja na 1, a pri S=0 i R=1 na 0. Slično SR flip-flopu, JK flip-flop, takođe,
ima dva ulaza, J i K, koji, kada su aktivni, setuju ili resetuju flip-flop. Dodatno, kada su oba
ulaza J i K aktivna u isto vreme, JK flip-flop menja (tj. komplementira) svoje stanje. D flip-
flop ima jedan ulaz, D (Data), koji setuje flip-flop ako je 1, odnosno resetuje flip-flop ako je 0.
T flip-flop ima jedan ulaz T, koji, kada je aktivan, menja (tj. komplementira) stanje flip-flopa.
Prihvatni registar
Leč predstavlja memorijski element koji je kontrolisan nivoom odgovarajućeg ulaznog signala.
Leč se realizuje pomoću odgovarajuće asinhrone kombinacione mreže koja obavezno sadrži
povratne sprege od izlaza ka ulazima. Postoji veliki broj različitih tipova lečeva: SR leč, D leč,
SR leč sa dozvolom upisa, D leč sa dozvolom upisa, itd. U praksi se najčešće koristi D leč sa
dozvolom upisa. Interfejs D leča sa dozvolom upisa prikazan je na slici 1.
D leč sa dozvolom
upisa ima dva ulazna porta:
• D ulaz za podatke
• Load ulaz za dozvolu upisa
D leč sa dozvolom upisa u opštem slučaju ima i dva izlazna
porta:
• Q izlaz za podatke
NAPOMENA: U praksi se najčešće koristi D leč koji ima samo jedan izlaz, izlaz Q.
Sekvencijalna kola mogu biti sinhrona ili asinhrona. Asinhrona sekvencijalna kola menjaju
svoje stanje uvek kada se desi promena ulaznih vrednosti, dok sinhrona sekvencijalna kola
menjaju svoje stanje i izlazne vrednosti samo u fiksnim vremenskim trenucima, koji su
određeni rastućom ili opadajućom ivicom taktnog signala. Lečevi su primer asinhronih kola, a
flip-flopovi, registarske komponente i konačni automati sinhronih sekvencijalnih kola.
U ovoj sekciji biće razmatrana sinhrona sekvencijalna kola. Najpre će biti opisani različiti
tipovi flip-flopova, a zatim i tipične registarske komponente koje se konstruišu pomoću flip-
flopova i kombinacionih struktura.
Registri
Flip flop je u stanju da skladišti samo jedan bit informacije. Kada se n flip flopova posmatra
kao celina koja je u stanju da skladišti n bita informacije, tada taj skup flip flopova nazivamo
registrom.
U zavisnosti od toga kako se podaci upisuju i čitaju iz registra, kao i da li se eventualno vrše
neke transformacije nad njima, postoji veliki broj različitih tipova registara:
clock enable (ce) signal za selekciju rastućih, odnosno opadajućih, ivica clk
ulaza na koje registar treba da reaguje
ulazni port dozvole upisa novog sadržaja u registar - load ili we (write
enable)
ulazni port dozvole čitanja trenutnog sadržaja iz registra - read ili re (read
enable)
Stacionarni registar
Funkcioniše po nailasku aktivne ivice takta. Ukoliko nema aktivne ivice takta, završava se
prethodni sadržaj. Ukoliko dođe do pojave reseta briše se sadržaj. Y se postavlja na 0,
nezavisno od vrednosti X. To je uloga stacionarnog registra. Stacionarni port ima još jedan port
–enable- on je takože jednobitan.
Generici
Verifikacija.
Vremenska verifikacija, ili verifikacija tajminga, znači proveru da li sistem generiše odziv u
granicama postavljenih vremenskih ograničenja. U praksi, verifikacija se sprovodi primenom
ili kombinacijom sledećih metoda: Simulacija, Vremenska analiza, Formalna verifikacija,
Hardverska emulacija.
Fizička verifikacija - nakon što se uverimo da program radi, generišemo signale, proverimo
da li to radi funkcionalna verifikacija i onda programiramo na ploči.