Mikroprocesorski sistemi Elektronski fakultet u Niu HAMINGOV KODERDEKODER
- Slides: 38
Mikroprocesorski sistemi Elektronski fakultet u Nišu HAMINGOV KODER/DEKODER Student: Srđan Vujašević 11424
1. Greške 2. Hamingova distanca 3. Sindrom reč 4. Hamingov kôd 5. Realizacija Hamingovog koder/dekoder u VHDL-u 6. Rezultati simulacije 7. Rezultati sinteze i implementacije 8. Laboratorijska vežba Student: Srđan Vujašević 11424
Otkrivanje i korekcija grešaka – strana 1 • Svaki put kada se informacija prenosi kroz neki kanal, može doći do greške u prenosu usled šuma • Informacija smeštena u nekoj komponenti za skladištenje podataka (memoriji), može se oštetiti, jer ni jedan hardver nije apsolutno siguran • Glas kada se prenosi kroz vazduh može se iskvariti usled vetra, šuma, visoke temperature. . . Student: Srđan Vujašević 11424
Metode za otkrivanje i korekciju grešaka – strana 2 1. Kontrola greške unapred, u kome svaki karakter ili blok podataka koji se šalje sadrži dodatne (redundatne) informacije. Na osnovu ovih informacija primalac može ne samo da otkrije postojanje greške, već i da odredi koji su bitovi u primljenom podatku pogrešni i da grešku ukloni negacijom pogrešnih bitova. 2. Kontrola greške unazad, odnosno kontrola sa povratnom spregom. U ovom slučaju svaki karakter ili blok podataka koji se šalje sadrži samo neophodne dodatne informacije koje omogućuju primaocu da otkrije prisustvo greške, ali ne i mesto na kome se ona nalazi. Student: Srđan Vujašević 11424
Izbor metode za otkrivanje grešaka – strana 3 Faktori od kojih zavisi izbor metode: 1. Broja bitova sa greškom (eng. bit error rate, BER) na komunikacionoj liniji. BER predstavlja verovatnoću u definisanom vremenskom intervalu da jedan bit ima grešku. Tako BER=10 -4 znači da, u proseku, 1 od 10000 bita ima grešku u definisanom vremenskom intervalu. Za najveći broj mreža BER je oko 10 -4 , dok je unutar računarskog sistema obično vrednost za BER 10 -4 ili manje. 2. Tipa greške, tj. da li se greška javila na pojedinačnom bitu ili na grupi uzastopnih bitova. U poslednjem slučaju reč je o proširenoj (eksplozivnoj) grešci (eng. burst error). Student: Srđan Vujašević 11424
Pojam Hamingove distance – strana 1 ▪ Hamingova distanca (HD) - broj bitova u kojima se dve digitalne reči razlikuju HD( 101, 100 ) = 1 HD( 111, 000 ) = 3 ▪ Kôdna distanca (Dmin) - minimalna Hamingova distanca između dve bilo koje reči Student: Srđan Vujašević 11424
Pojam Hamingove distance – strana 2 Ilustracija kôdne distance: Student: Srđan Vujašević 11424
Pojam Hamingove distance – strana 3 Detekcija greške ▪ Kôd može detektovati do d bitova greške ako je minimalna distanca kôda Dmin ≥ d + 1 Korekcija greške ▪ Kôd može korektovati do c bitova greške ako je minimalna distanca kôda Dmin ≥ 2 c + 1 Kodovi parnosti ▪ parna parnost ukupan broj jedinica u kodnoj reči je paran: - 0110110 1 - 0001011 0 ▪ neparna parnost ukupan broj jedinica u kodnoj reči je neparan: - 0110110 0 - 0001011 1 Student: Srđan Vujašević 11424
Pojam sindrom reči – strana 1 • Sindrom reč se dobija poređenjem dve K-bitne vrednosti bit po bit uzimanjem eksluzivne disjunkcije • Sindorm reč je neoznačen ceo broj dužine K koji ima vrednost K izmedju 0 i • Vrednost 0 označava da nema grešaka u zapisu, dok ostalih 2 K-1 vrednosti određuju mesto greške, u slučaju da greška postoji • Kako greška može da se javi na bilo kom od M bitova podatka i K bitova koji se koriste u proveri, mora da važi Student: Srđan Vujašević 11424
Pojam sindrom reči - strana 2 Želja je da generisana sindrom reč ima sledece karakteristike: • Ako su svi bitovi u njoj 0 tada nije otkrivena nikakva greška • Ako u reči postoji tačno jedna 1, tada greška postoji u jednom od 4 bita za proveru, dok je zapis podatka u redu i ne zahteva nikavu korekciju • Ako sindrom sadrži više od jednog bita koji ima vrednost 1, tada vrednost sindrom reči posmatrane kao ceo neoznačen broj određuje poziciju na kojoj se nalazi greška. Korekcija se sastoji u komplementiranju vrednosti odgovarajućeg bita podatka Student: Srđan Vujašević 11424
Pojam sindrom reči - strana 3 Pozicije bitova podataka i bitova za proveru C 1 = M 1 M 2 M 4 M 5 M 7 C 2 = M 1 M 3 M 4 M 6 M 7 C 3 = M 2 M 3 M 4 M 8 C 4 = M 5 M 6 M 7 M 8 gde označava operaciju ekskluzivne disjunkcije. Student: Srđan Vujašević 11424
Hamingov kôd - strana 1 • Jedan od najčešće korišćenih kodova sa korekcijom greške u RAM memorijama • Glavne odlike Hamingovog kôda su: - Detekcija greške je jednostavna (dodavanjem parity bitova) - Korekcija greške je kompleksna i zahteva Hamingov kôd sa više parity bitova Student: Srđan Vujašević 11424
Hamingov kôd – strana 2 • U Hamingovom kôdu, p - parity bitova je dodato na m - bitova u poruci, tako da imamo novonastalu kodnu reč on m+p – bitova • Sve pozicije u reči, čiji je broj stepena 2 (pozicije 1, 2, 4, 8, . . . ) koriste se za parity bitove. Ostale pozicije su namenjene za bitove originalne poruke • Izgled kodovane poruke, za originalnu poruku od 8 -bitova: d 7 pozicije: 12 d 6 d 5 d 4 p 3 d 2 d 1 p 2 d 0 p 1 p 0 1 Student: Srđan Vujašević 11424
Hamingov kôd – strana 3 • Prilikom izbora broja parity bitova mora biti zadovoljena sledeća relacija: na primer: za 8 -bitnu poruka potrebna su nam 4 parity bita, tako da će podatak koji prenosimo sadržati ukupno 12 bitova Student: Srđan Vujašević 11424
Hamingov kôd – strana 4 - parity bitovi su 1, 2, 4, 8, . . . (P 1, P 2, P 3, P 4) 3 = 1+2 5 = 1+4 6 = 2+4 P 1 proverava bitove 3, 5, 7, 9, 11 7 = 1+2+4 P 2 proverava bitove 3, 6, 7, 10, 11 9 = 1+8 P 4 proverava bitove 5, 6, 7, 12 10 =2+8 P 8 proverava bitove 9, 10, 11, 12 11 = 1+2+8 12 = 4+8 Tako da vrednosti P 1, P 2, P 4 i P 8 računamo kao: P 1 = XOR nad bitovima (3, 5, 7, 9, 11) P 2 = XOR nad bitovima (3, 6, 7, 10, 11) P 4 = XOR nad bitovima (5, 6, 7, 12) P 8 = XOR nad bitovima (9, 10, 11, 12) Student: Srđan Vujašević 11424
Hamingov kôd – strana 5 • Na mestu prijema kompozitna reč od 12 bitova se ponovo proverava na grešku. Parnost reči se proverava nad istim grupama bitova u reči uključujući i bitove parnosti. Tako da će mo sad imati četiri bita provere: C 1 = XOR nad bitovima (1, 3, 5, 7, 9, 11) C 2 = XOR nad bitovima (2, 3, 6, 7, 10, 11) C 4 = XOR nad bitovima (4, 5, 6, 7, 12) C 8 = XOR nad bitovima (8, 9, 10, 11, 12) Student: Srđan Vujašević 11424
Hamingov kôd – strana 6 • Hamingov kod se može koristiti za kodnu reč proizvoljne dužine. Generalno za p - parity bitova i originalnu reč od m - bitova imamo ukupno p+m bitova koji mogu biti kodovani sa bitova. Grupe bitova za generisanje parity bitova i bitova provere na prijemu određuju se iz liste binarnih brojeva iz liste od 1 do. Svaka grupa bitova počinje sa brojem koji je stepena 2, na primer 1, 2, 4, 8, 16 itd. Ovi brojevi su takođe i pozicije parity bitova. • Osnovni Haming kod može detektovati i korigovati greške u samo jednom bitu. Upotrebom dodatnih parity bitova mogu se korigovati jednostruke greške i detektovati dvostruke Student: Srđan Vujašević 11424
Blok šema sistema sa Hamingovim kodiranjem – strana 7 Student: Srđan Vujašević 11424
Realizacija Hamingovog koder/dekoder u VHDL-u - strana 1 Hamingov koder Blok hamenc ima jedan 8 -bitni ulazni port datain(7: 0) koji predstavlja ulazne podatke koje treba kodirati Hammgovim kodom, i jedan 12 -bitni izlaz hamout(11: 0) koji predstavalja kodovanu ulaznu kodnu reč (8 bitova poruke i 4 parity bita). ENTITY hamenc IS PORT(datain : IN std_logic_vector(7 downto 0); --d 7 d 6 d 5 d 4 d 3 d 2 d 1 d 0 hamout : OUT std_logic_vector(11 downto 0)); --d 7 d 6 d 5 d 4 p 3 d 2 d 1 p 2 d 0 p 1 p 0 END hamenc; Student: Srđan Vujašević 11424
Realizacija Hamingovog koder/dekoder u VHDL-u - strana 2 Hamingov dekoder ENTITY hamdec IS PORT ( Blok Hamingovog dekodera ima 12 -bitni port hamin(11: 0) koji predstavlja ulazne podatke kodovane Hamingovim kodom, 8 -bitni izlaz dataout(7: 0) koji predstavlja 8 -bitnu originalnu informaciju, 4 -bitni izlaz error_pos(3: 0) koji pokazuje na kojem bitu se javila greška, izlazni pin error_flag koji nam signalizira da li je došlo do greške ( '1' - nastala greška, '0' - nema greške ) i izlazni pin p koji nam signalizira da je došlo do dvostruke greške u kodu ( '1' - nastala greška, '0' - nema greške ) hamin : IN std_logic_vector(11 DOWNTO 0) ; dataout : OUT std_logic_vector(7 DOWNTO 0) ; error_pos : OUT std_logic_vector(3 DOWNTO 0) ; p: OUT std_logic; error_flag : OUT std_logic); END hamdec ; Student: Srđan Vujašević 11424
Rezultati simulacije - strana 1 Da bi smo testirali kako sistem radi doveli smo na ulaz kodera 8 bitnu sekvencu "00010000". Na grafiku vidimo da smo na izlazu dobili 12 -bitnu sekvencu "000110000001" koja predstavlja kodiranu ulaznu reč. Student: Srđan Vujašević 11424
Rezultati simulacije - strana 2 Zatim smo na ulaz dekodera doveli ovu 12 -bitnu sekvencu, ali tako što smo na mesto 5 bita umesto '0' stavili '1', Student: Srđan Vujašević 11424
Rezultati simulacije - strana 3 I na kraju kako bi pokazali šta se dešava kada se javlja dvostruka greška, osim modela greške na 5 bitu, isto smo uradili i sa šestim bitom, znači umesto '0' stavili '1' kako bi modelovali grešku pri prenosu Student: Srđan Vujašević 11424
Rezultati simulacije - strana 4 Kao još jedan primer, biće ilustrovan prenos sekvence podataka. Student: Srđan Vujašević 11424
Rezultati sinteze i implementacije - strana 1 Za sintezu opisanih kola iskorišćen je program Synplify Pro firme Synplicity. Nakon toga je izvršena implementacija na FPGA kolima firme XILINX uz pomoć njihovog programskog paketa XILINX ISE verzije 6. 3 i prikazani su dobijeni rezultati. Student: Srđan Vujašević 11424
Rezultati sinteze i implementacije - strana 2 - Sinteza Hamingovog kodera Student: Srđan Vujašević 11424
Rezultati sinteze i implementacije - strana 3 - Sinteza Hamingovog dekodera Student: Srđan Vujašević 11424
Rezultati sinteze i implementacije - strana 4 - Implementacija Hamingovog kodera Sintezu kodera vršili smo na FPGA čipovima serije SPARTAN 2 pod oznakom xc 2 s 15 vq 100. Design Summary -------Number of errors: 0 Number of warnings: 0 Logic Utilization: Number of 4 input LUTs: 5 out of 384 1% Logic Distribution: Number of occupied Slices: 3 out of 192 1% Number of Slices containing only related logic: 3 out of 3 100% Number of Slices containing unrelated logic: 0 out of 3 0% *See NOTES below for an explanation of the effects of unrelated logic Total Number of 4 input LUTs: 5 out of 384 1% Number of bonded IOBs: 20 out of 60 33% Total equivalent gate count for design: 30 Additional JTAG gate count for IOBs: 960 Podaci vezani za vremenske karakteristike implementacije: The AVERAGE CONNECTION DELAY for this design is: 1. 095 The MAXIMUM PIN DELAY IS: 1. 953 The AVERAGE CONNECTION DELAY on the 10 WORST NETS is: 1. 496 Što se tiče potrošnje samog kola ona je deklarisana na 9. 29 m. W i pri temperaturi ambijenta od 25 o. C, temperatura kućišta je 25. 3 o. C. Student: Srđan Vujašević 11424
Rezultati sinteze i implementacije - strana 5 - Implementacija Hamingovog kodera Student: Srđan Vujašević 11424
Rezultati sinteze i implementacije - strana 6 - Implementacija Hamingovog kodera Student: Srđan Vujašević 11424
Rezultati sinteze i implementacije - strana 7 - Implementacija Hamingovog kodera Student: Srđan Vujašević 11424
Rezultati sinteze i implementacije - strana 8 - Implementacija Hamingovog dekodera Sintezu dekodera vršili smo na FPGA čipovima serije SPARTAN 2 pod oznakom xc 2 s 15 vq 100. Design Summary -------Number of errors: 0 Number of warnings: 0 Logic Utilization: Number of 4 input LUTs: 27 out of 384 7% Logic Distribution: Number of occupied Slices: 14 out of 192 7% Number of Slices containing only related logic: 14 out of 14 100% Number of Slices containing unrelated logic: 0 out of 14 0% *See NOTES below for an explanation of the effects of unrelated logic Total Number of 4 input LUTs: 27 out of 384 7% Number of bonded IOBs: 26 out of 60 43% Total equivalent gate count for design: 162 Additional JTAG gate count for IOBs: 1, 248 Peak Memory Usage: 54 MB Podaci vezani za vremenske karakteristike implementacije: The AVERAGE CONNECTION DELAY for this design is: 0. 961 The MAXIMUM PIN DELAY IS: 1. 943 The AVERAGE CONNECTION DELAY on the 10 WORST NETS is: 1. 348 Potrošnja je slična kao u prethodnom slučaju, deklarisana je na 10. 49 m. W i pri temperaturi ambijenta od 25 o. C, temperatura kućišta je 25. 4 o. C. Student: Srđan Vujašević 11424
Rezultati sinteze i implementacije - strana 9 - Implementacija Hamingovog kodera Student: Srđan Vujašević 11424
Rezultati sinteze i implementacije - strana 10 - Implementacija Hamingovog kodera Student: Srđan Vujašević 11424
Rezultati sinteze i implementacije - strana 11 - Implementacija Hamingovog kodera Student: Srđan Vujašević 11424
Laboratorijska vežba - strana 1 Proveriti ispravnost rada Hamingovog kodera. 1. 2. 3. 4. Pokrenuti program Active-HDL čija se ikonica nalazi na Desktop-u; Otvoriti dizajn Haming; Otvoriti listing Test. Bench-a, hamenc_TB. vhd, koji se nalazi u folder-u Test. Bench (segment 1. na slici 1. ); Promeniti vrednosti ulaza datain koji je dat u dizajnu, umesto postojeće vrednosti (segment 2. na slici 1. ). Izvršiti kompajliranje pritiskom na uokvirenu ikonicu (segment 3. na slici 1. ); 5. Podesiti Top level entitet na hamenc_TB. vhd (segment 4. na slici 1. ); Slika 1. Student: Srđan Vujašević 11424
Laboratorijska vežba - strana 2 6. Otvoriti New Waveform (segment 5. na slici 2); 7. Dodati signale (segment 6. na slici 2); 8. Podesiti vreme simulacije na 100 ns ili više ako je potrebno (segment 7. na slici 2); 9. Pokrenuti simulaciju pritiskom na uokvirenu ikonicu (segment 8. na slici 2); 10. Po završetku simulacije može biti potrebno da se vremenski dijagram uveća ili umanji radi bolje preglednosti. Komande za uveličavanje i umanjivanje su uokvirene (segment 9. na slici 2); 11. Uporediti dobijeni vremenski dijagram sa ispravnim radom dizajna (vremenski dijagram na slici 2). Slika 2. Student: Srđan Vujašević 11424
Laboratorijska vežba - strana 3 Proveriti ispravnost rada Hamingovog dekodera. 1. Ponoviti sve korake za listing Testbench-a, hamdec_TB. vhd. Student: Srđan Vujašević 11424
- Mikrora
- Mikroprocesorski sistemi u medicini
- Mikroprocesorski sistemi u medicini
- Proizvodjaci mikroprocesora
- Katedra za elektroniku
- Qian niu
- Niu webcourses
- Niu
- Qian niu
- Seasite niu edu tagalog
- Cooperative business definition
- Artemus ward niu
- Tagalog affixes
- 430530
- Irb niu
- Qu blackboard
- Elektronski novac
- Elektronski platni promet
- Privredna komora srbije elektronski sertifikat
- Ednevnik za nastavnike
- Mikroskop djelovi
- Pio fond elektronski servis
- Klmnopq
- Damjana biljka
- Elektronski potpis
- Elektronski novac
- Luisova strukturna formula
- Pasivni elektronički elementi
- Ana zekavica
- Servisi e uprave
- Dijaci trijaci tiristori
- Elektronski afinitet
- Prvi računar
- Multimedijalni test geografija
- Fakultet u zrenjaninu
- Ekonomski fakultet zagreb smjerovi
- Menadzment bar
- Dodatni bodovi za upis na fakultet djeca branitelja
- Medicinski fakultet foca