Presentation is loading. Please wait.

Presentation is loading. Please wait.

BIT-SERIJSKI ZA NEOZNA^ENE BROJEVE

Similar presentations


Presentation on theme: "BIT-SERIJSKI ZA NEOZNA^ENE BROJEVE"— Presentation transcript:

1 BIT-SERIJSKI MNO@A^ ZA NEOZNA^ENE BROJEVE

2 DOMINANTNE OPERACIJE I CILJ PROJEKTANTA
Dominantne operacije u DSP-u su sabiranje i mno`enje, odnosno mno`enje sa akumulacijom. Cilj je da se projektuje mno`a~ koji: a. zauzima malu povr{inu na silicijumu b. karakteri{e se velikom brzinom rada c. odlikuje se mikro potro{njom

3 PODELA Proto~ne mno`a~e mo`emo prema formatu prenosa ulazno-izlaznih podataka podeliti na bit-paralelne, cifarsko-serijske i bit-serijske. Bit-serijski mno`a~ zadovoljava zahteve male povr{ine na ~ipu i mikro potro{nje.

4 PODELA MNO@A^A - Karakteristike
Velika povr{ina ~ipa Neznatno ka{njenje Velika disipacija snage Umerena povr{ina ~ipa Umereno ka{njenje Umerena disipacija snage Mala povr{ina ~ipa Veliko ka{njenje Veoma mala disipacija snage

5 RE[ENJE Bit-serijski mno`a~ sa paralelnim izlazom tipa SSP (Serial_in-Serial_op-Paralell_out). Koncept stati~kog rezultata omogu}ava direktnu implementaciju operacije mno`enja sa akumulacijom. Ova osobina je iskori{}ena za formiranje polja za mno`enje matrica zasnovanog na bit-serijskom pristupu (Milerov mno`a~).

6 Milerov mno`a~ Milerov mno`a~ predstavlja linerano polje dve proste }elije. Operand "b" se unosi sa leve strane polja po~ev od bita najmanje te`ine. Operand "a" se unosi sa desne strane polja po~ev od bita najve}e te`ine. Svaka }elija u polju izra~unava po jedan bit proizvoda p. Prva }elija sleva izra~unava bit najve}e te`ine. Prva }elija sdesna izra~unava bit najmanje te`ine.

7 REALIZACIJA U VHDL-u Rad kola bit-serijskog mno`a~a je opisan u programskom jeziku Active-HDL 5.1. Sinteza i implementacija opisa izvr{ena je u programskom paketu ISE kompanije "XILINX". Osim osnovnih gradivnih elemetana, razlikujemo slede}e sklopove : -mulitiplekser -"mux.bde" -potpuni sabira~ - "potpun_sabirac.bde" -pomera~ki registar za operand "A" - "SHIFTreg.bde" -pomera~ki registar za operand "B" - "SHIFTreg_B.bde" -}elija Milerovog mno`a~a - "celija.bde" -bit-serijski SSP mno`a~ - "bit_serijski.bde" -finalno kolo mno`a~a sa registrima za upis - "KOLO.bde"

8 REALIZACIJA U VHDL-u Struktura mno`a~a sa registrima
Funkcija ulazno-izlaznih pinova je slede}a: A(7:0) -paralelni ulaz za bitove operanda "A" B(7:0) -paralelni ulaz za bitove operanda "B" REZ(15:0) -paralelni izlaz za bitove rezultata R -ulaz "RESET" funkcije clk -signal taktne pobude nula -ulaz logi~ke nule

9 REALIZACIJA U VHDL-u Struktura mno`a~a sa registrima – nastavak 1
“bit_serijski" predstavlja kolo bit-serijskog SSP mno`a~a. "SHIFTreg" predstavlja pomera~ki registar za upis operanda "A“. "SHIFTreg_B" predstavlja pomera~ki registar za upis operanda "B". U kolo se unose 8-bitni operandi, a rezultat je du`ine 16 bitova.

10 REALIZACIJA U VHDL-u Struktura bit-serijskog SSP mno`a~a
Mno`a~ je sa~injen od 16 bafera i 16 }elija Milerovog mno`a~a. Funkcija ulazno-izlaznih pinova je slede}a: A -serijski ulaz za bitove prvog operanda B -serijski ulaz za bitove drugog operanda R -ulaz "RESET" funkcije clk -signal taktne pobude nula -ulaz logi~ke nule pom -paralelni izlaz za bitove rezultata

11 REALIZACIJA U VHDL-u Prikaz bit-serijskog SSP mno`a~a
aout ain bout bin cout cin izlaz clk U1 celija U2 U3 in1 out1 U17 buf U18 U19 pom(15:0) pom(15) pom(14) pom(13) B U14 U15 U16 U30 U31 U32 pom(0) pom(1) pom(2) A nula

12 REALIZACIJA U VHDL-u Struktura }elije bit-serijskog mno`a~a
Funkcija ulazno-izlaznih pinova je slede}a: ain -ulaz za bitove operanda "a" aout -izlaz za bitove operanda "a" iz prethodnog takta bin -ulaz za bitove operanda "b" bout -izlaz za bitove operanda "b" iz prethodnog takta cin -ulaz za bitove prenosa iz prethodne }elije cout -izlaz za bitove prenosa iz prethodnog takta izlaz -izlaz za bitove rezultata (izlaz = izlaz+(ainxbin)+cin) clk -signal taktne pobude R -ulaz za "RESET" funkciju

13 REALIZACIJA U VHDL-u Prikaz }elije bit-serijskog mno`a~a

14 REALIZACIJA U VHDL-u Struktura potpunog sabira~a
Funkcija ulazno-izlaznih pinova je slede}a: x -ulaz za bitove prvog operanda y -ulaz za bitove drugog operanda z -izlaz za bitove rezultata c -ulaz za bitove prenosa iz prethodnog blokka c0 -izlaz za bitove prenosa iz posmatranog bloka Realizovani potpuni sabira~ je projektovan u odnosu na slede}u tablicu istinitosti: x y c c0 z 1

15 REALIZACIJA U VHDL-u Prikaz potpunog sabira~a

16 REALIZACIJA U VHDL-u Struktura pomera~kih registara
Funkcija pomera~kog registra je pomeranje upisanog sadr`aja u jednu, odnosno drugu stranu. Pomera~ki registri omogu}avaju paralelni upis operanada, i ubacivanje bitova "0" izmedju svakog bita operanada "A" i "B“.

17 REALIZACIJA U VHDL-u Struktura pomera~kih registara – nastavak 1
Bitovi modifikovanih operanada, paralelno se unose u registre, a iz registara se serijski unose u bit-serijski mno`a~. Operacija mno`enja je kompletna nakon 24 taktnih intervala. Funkcija ulazno-izlaznih pinova je slede}a: A(7:0) -paralelni ulaz za bitove operanda "A" nula -ulaz za bitove logi~ke nule par_ser_in -izbor re`ima rada ("1"-paralelni upis; "0“-funkcija pomeranja) serijski_izlaz -serijski izlaz operanda "A" clock -signal taktne pobude

18 REALIZACIJA U VHDL-u Prikaz pomera~kog registra za unos operanda “A”
Q R clk U1 flip_flop paralelno_serijski Out1 peralelniIN serijskiIN U4 mux U7 A(7:0) nula clock par_ser_in A(0) U26 U27 U29 U30 U32 serijski_izlaz A(7) U33 U34

19 REALIZACIJA U VHDL-u Struktura multipleksera
Multiplekser ima ulogu preklopnika. Funkcija ulazno-izlaznih pinova je slede}a: paralelno_serijski -izbor ulaza serijsjkiIN -ulaz multipleksera paralelniIN -ulaz multipleksera Out1 -izlaz multipleksera Dovodjenjem vrednosti "0" ili "1" na "paralelno_serijski" vr{i se izbor jednog od dva ulaza. Ako je dovedena "0" izabran je "serijskiIN“. Trenutno stanje ulaza "serijskiIN" bi}e preneto na “Out1”. Ako je dovedena "1" izabran je "paralelniIN“. Trenutno stanje ulaza "paralelniIN" bi}e preneto na "Out1".

20 REALIZACIJA U VHDL-u Prikaz multipleksera
in1 out1 in2 U1 i_kolo U2 U3 inv paralelno_serijski serijskiIN peralelniIN U4 ili_kolo Out1

21 REALIZACIJA U VHDL-u Struktura D flip-flopa
Flip-flop je osnovno kolo za izgradnju memorijskih elemenata. Uz pomo} D flip-flopa realizovanie su }elije Milerovog mno`a~a i pomera~ki registri. VHDL kôd D flip-flopa je oblika: library IEEE; --biblioteka koju koristimo use IEEE.STD_LOGIC_1164.all; entity flip_flop is --funkcija koja realizuje D flip-flop port ( D : in std_logic; --D ulaz koji se upisuje u flip-flop na uzlaznu ivicu clk-a clk : in std_logic; --ulaz za clk Q : out std_logic; --izlaz iz flip-flopa na kome je vrednost D u trajanju od jednog clk intervala R : in std_logic); --ulaz za asinhroni reset kada R ima vrednost '1' end entity flip_flop; architecture flip_flop of flip_flop is --opis funkcije kola begin process (clk) --proces koji je aktivan kada se menja clk if R='1' then --ispitujemo da li se vrsi resetovanje ili ne Q<='0'; --resetujemo ff tako sto mu izlaz postavimo na nulu else --ako se ne resetuje: if clk='1' then obezbedjuje da ff radi na uzlaznu ivicu clk-a Q<=D; --ako je clk na uzlaznoj ivici, upisuje se nova vrednost ulaza end if; end if; end process; end;

22 SINTEZA I IMPLEMENTACIJA KOLA
Bit-serijski mno`a~ za neozna~ene brojeve je sintetizovan u programskom paketu ISE 4.1i kompanije XILINX koji se koristi za razvoj aplikacija baziranih na CPLD i FPGA kolima. Za implementaciju mno`a~a iskorišćeno je FPGA kolo iz XILINX-ove familije "SPARTAN2" tipa "2S15CS144".

23 SINTEZA I IMPLEMENTACIJA KOLA Listing rezultata implementacije
Design Information Command Line : C:\Xilinx\bin\nt\map.exe -p 2S15CS o map.ncd bit_serijski.ngd bit_serijski.pcf Target Device : x2s15 Target Package : cs144 Target Speed : -5 Mapper Version : spartan2 -- $Revision: 1.58 $ Mapped Date : Wed Sep 21 20:14: Design Summary Number of errors: Number of warnings: 0 Number of Slices: out of % Number of Slices containing unrelated logic: out of % Number of Slice Latches: out of % Number of 4 input LUTs: out of % Number of bonded IOBs: out of % Number of GCLKs: out of % Total equivalent gate count for design: 806 Additional JTAG gate count for IOBs: 1,008

24 SINTEZA I IMPLEMENTACIJA KOLA Rezlutati implementacije kola
Implemetnirano kolo je zauzelo 806 ekvivalentnih gejtova. 1008 gejtova je neophodno za realizaciju JTAG logike kojom se vrši testiranje i programiranje FPGA kola. Kolo koristi napajanje od 2.5V. Iskori{}enost FPGA ~ipa je 21%. Maksimalna radna frekvencija kola 161,316 MHz. Maksimalna potrošnja kola je 12,5mW.

25 SINTEZA I IMPLEMENTACIJA KOLA [ema zauzetosti }elija FPGA kola

26 SINTEZA I IMPLEMENTACIJA KOLA [ema veza }elija FPGA kola

27 SINTEZA I IMPLEMENTACIJA KOLA
Prikaz gotovog ~ipa Raspored pinova ~ipa

28 TESTIRANJE RADA KOLA Testiranje rada potpunog sabira~a
Na slici je dat talasni dijagram testiranja rada sabira~a za slede}e vrednosti: takt 1 takt 2 takt 3 takt 4 x 1 y c c0 z takt 1 takt 3 takt 4 takt 2

29 TESTIRANJE RADA KOLA Testiranje rada multipleksera
Na slici je dat talasni dijagram testiranja rada multipleksera za slede}e vrednosti: takt 1 takt 2 takt 3 takt 4 paralelno_serijski 1 paralelniIN serijskiIN Out1 takt 1 takt 4 takt 3 takt 2

30 TESTIRANJE RADA KOLA Testiranje rada pomera~kog registra
Vrednost ulaza "par_ser_in" je u prvom taktu "1" (upis "A"). Nakon prvog takta "par_ser_in" se menja u "0" (vr{i se pomeranje sadr`aja). Upisan je broj "A"= Izmedju svakog bita operanda "A" upisuje se vrednost "0", i za to vreme se vr{i upisivanje bitova operanda "B" (komentar “upis b“ na dijagramu).

31 TESTIRANJE RADA KOLA Testiranje rada }elije mno`a~a
]elija Milerovog mno`a~a je projektovana tako da na izlazu imamo uvek zbir vrednosti izlaza iz prethodnog takta, proizvoda "ain" i "bin", i vrednosti "cin". U slu~aju da se dobije rezlutat veli~ine dva bita, "cout" dobija vrednost bita ve}e te`ine dok "izlaz" dobija vrednost bita manje te`ine. takt 1 takt 3 takt 2

32 TESTIRANJE RADA KOLA Testiranje rada mno`a~a
Kolo bit-serijskog mno`a~a sa registrima ima funkciju da izra~una proizvod dva binarna broja maksimalne du`ine 8 bitova. Proizvod mo`e biti maksimalne du`ine 16 bitova. Operandi se unose paralelno u registre, uz pomo} pomera~kih registara se vr{i ubacivanje nula izmedju bitova operanada, i dalje serijsko uno{enje bitova u bit-serijski mno`a~. Nakon 24 takta dobija se rezultat mno`enja operanada.

33 TESTIRANJE RADA KOLA Testiranje rada mno`a~a – nastavak 1
Na slici je dat talasni dijagram testiranja za slede}e vrednosti: - "A(7:0)"= (dekadno 170) - "B(7:0)"= (dekadno 240) - rezultat je "REZ(15:0)"=9F60 (heksadecimalno), (40800 dekadno)

34 ZADATAK za ve`bu studenta
Proveriti ispravnost rada mno`a~a. Pokrenuti program "Active-HDL 5.1" ~ija se ikona nalazi na Desktop-u. Uneti operande u binarnom obliku.

35 ZADATAK Prozor “Active-HDL”-a
Otvoriti dizajn "bit_serijski" U okviru "Design Browser-a" selektovati stavku "kolo (kolo)“. 2. Otvoriti novi talasni dijagram klikom na ikonu "New Waveform" u toolbar-u. 1.

36 ZADATAK Dodavanje signala u “Waveform Editor”-u
Nakon otvaranja prozora "Waveform-a" desnim klikom na prazan prozor otvoriti padaju}i meni i selektovati stavku "Add Signals“. 3.

37 ZADATAK Manipulacija signalima u “Waveform Editor”-u
U okviru prozora "Add Signals" dodati na waveform slede}e signale: A, B, REZ, R, clk, nula. 4. 6. 5. Nakon dodavanja signala potrebno je dodeliti vrednosti ulazima. U koloni "Stimulator" dodeliti odgovaraju}e vrednosti ulazima. 7.

38 ZADATAK Simulacija Pustiti kolo u rad za vreme jednog takta klikom na ikonu "Run For" u toolbar-u. 11.

39 ZADATAK Simulacija – nastavak 1
Nakon jednog takta promeniti vrednost ulaza "R" u "0" Potrebno je 24 taktova da bi se sra~unali svi parcijalni proizvodi, a samim tim i kona~an rezlutat. Da bi mogao da se vidi ceo talasni dijagram klikom na ikonu "Zoom To Fit" smestiti ceo dijagram u vidno polje. 12. 13.

40 ZADATAK Simulacija – nastavak 2
O~itati tra`eni rezultat. U konkretnom primeru za operande su uzeti "A"= i "B"=10, a tra`eni rezultat "REZ"= (heksadecimalno 1FE). NAPOMENA: U uputstvu za vežbu su precizno naznačeni redosled i koraci uno{enja vrednosti, na~in definisanja parametara i o~itvanja rezlutata.

41 ZAKLJU^AK Efikasnost realizacije operacija mno`enja ima izuzetno veliki uticaj na efikasnost DSP sistema. Bit-serijski mno`a~i imaju ekstremo jednostavne procesne elemente (}elije). Veze izmedju elemenata su {irine jednog bita, kratke i regularno rasporedjene, {to je od izuzetnog zna~aja za realizaciju. Znatno je smanjen broj ulazno-izlaznih pinova na ku}i{tu ~ipa. Mogu}nost realizacije mno`a~a sa velikim brojem elemenata na istom ~ipu. Veoma mala disipacija snage na ~ipu.

42 ZAKLJU^AK nastavak 1 Osnovni nedostatak: Usvajanjem bit-serijskog formata prenosa podataka smanjuje se propusnost sistema, a samim tim se smanjuje brzina obrade. Da ne bi do{lo do degradacije performansi potrebno je u {to ve}oj meri primeniti proto~nu obradu.


Download ppt "BIT-SERIJSKI ZA NEOZNA^ENE BROJEVE"

Similar presentations


Ads by Google