Document Details

DependableHyperbolic8495

Uploaded by DependableHyperbolic8495

Tehničko veleučilište u Zagrebu

Tags

programirljivi moduli elektronika digitalne tehnologije informatika

Summary

Ovaj dokument prikazuje materijal o programirljivim modulima, uključujući permanentnu memoriju, programirljiva logička polja i razne tipove. Predstavlja detaljan pregled i obuhvata širok spektar tema, ukazujući na važnost i složenost ovih tehnologija. Ovakav oblik sadržaja tipičan je za materijal iz digitalne elektronike.

Full Transcript

Programirljivi moduli Sadržaj predavanja Permanentna memorija Koncept programirljivih modula Programirljivo logičko polje Složeni programirljivi moduli Programirljivo polje logičkih blokova 2 Permanentna memorija - funkcijski pogled Sklop s permanentno upis...

Programirljivi moduli Sadržaj predavanja Permanentna memorija Koncept programirljivih modula Programirljivo logičko polje Složeni programirljivi moduli Programirljivo polje logičkih blokova 2 Permanentna memorija - funkcijski pogled Sklop s permanentno upisanim sadržajem: memorija ◦ sadržaj se obično upisuje kod proizvodnje ◦ jedan upis, ostalo čitanje → ispisna memorija: ”samo se čita”, ROM ( engl. Read Only Memory) ◦ za neke vrste može i više upisa, ali zanemarivo malo u odnosu na broj čitanja (EPROM, EEPROM) Izvedba ◦ kombinacijski logički sklop ◦ podatak je upisan nekom vrstom ”ožičenja” ◦ postoji mogućnost ”programiranja” ◦ osnovna struktura je 2D polje 3 Karakteristična struktura permanentne memorije Dva polja: ◦ ulazno ili dekodersko polje: ◦ generiranje potrebnog broja internih adresnih linija ◦ potpuno adresiranje: ‘’ 1 od 2n” ◦ dekoder ◦ I sklopovi na izlazima → I polje ◦ izlazno ili kodersko polje ◦ generiranje bitova adresirane ‘’riječi” ◦ aktiviranje željenih izlaza: ‘kodiranje” pojedinih simbola ( → izlaza iz dekodera) ◦ koder ◦ ILI sklopovi na izlazima → ILI polje ◦ (izlaz = podatak1 ILI podatak2 ILI …) 4 Karakteristična struktura permanentne memorije Broj memorijskih riječi: W = 2n ◦ n je broj bita ulazne adrese (adresnih ulaza) ◦ b je broj bita izlazne riječi Kapacitet memorije: C = 2n x b ◦ ukupna količina bita koju memorija može zapamtiti Programiranje ( samo koder) ◦ upisivanje uzoraka 1 i 0 u koder za svaku memorijsku riječ 5 Izvedbe permanentne memorije Karakteristična struktura s dva polja → izvorno diodna matrica ◦ osnovni logički sklopovi ostvareni diodnim mrežama ◦ struktura tipa funkcije drugog reda (suma minterma) ◦ oblik ILI - I ◦ električka funkcija dioda ◦ onemogućiti povratno djelovanje s drugih "šina" (engl. rails) ◦ suvremene strukture ◦ poopćenja diodne matrice Izvedba diodne matrice iz diodnih I i ILI sklopova 6 Izvedba permanentne memorije Primjer: Izvedba ROMa s 8 4-bitnih Osnovna logička shema riječi (ROM 8x4) permanentne memorije 8x4 a upisanim podacima kao primjerom Simbol: Tablični prikaz permanentne memorije: 7 Izvedba permanentne memorije Skraćeno crtanje logičke sheme pomoću polja matrica → matrični prikaz (engl. arrray-logic schematic) 8 Izvedba permanentne memorije - ostvarenje logičkih funkcija Permanentan memorija se sastoji od: ◦ I sklopova u prvoj razini (dekoderu) ◦ ILI sklopova u drugoj razini (koderu) Prikladna za realizaciju logičkih funkcija u obliku sume minterma ◦ svaki izlaz je jedna logička funkcija Interpretacija podataka ”pohranjenih” u ROM → (više) logičkih funkcija ◦ svaki izaz → jedna logička funkcija ◦ svi izlazi -→ višeizlazna funkcija ◦ ROM → generator funkcija 9 Izvedba permanentne memorije - ostvarenje logičkih funkcija Tablica kombinacija iz prethodnog primjera određuje četiri logičke funkcije 𝑓𝑖 𝐴2 , 𝐴1 , 𝐴0 = 𝐷𝑖 0≤𝑖≤3 𝑓0 = σ 𝑚(0, 1, 3, 5) 𝑓1 = σ 𝑚(1, 4, 6,7) 𝑓2 = ෍ 𝑚(0,3,4,7) 𝑓3 = ෍ 𝑚(2,3,5,6) 10 Podjela permanentne memorije Podjela prema načinu programiranja: ◦ bez mogućnosti programiranja, ROM ◦ mogućnošću jednokratnog programiranja, PROM (engl. Programmable ROM) ◦ s mogućnošću višekratnog programiranja i brisanja UV svjetlom, EPROM (engl. Erasable PROM) - kućište sa staklenim prozorčićem ◦ s mogućnošću višekratnog programiranja i brisanja električkim putem, EAROM (engl. Electrically Alterable ROM), EEPROM (engl. Electrically EPROM) 11 ”Klasična" permanentna memorija, ROM Neprogramirljiva permanentna memorija (ROM) ◦ uobičajena tehnologija ~ MOSFET ◦ programiranje u proizvodnji: ◦ zadnja se maska izrađuje po narudžbi i sadrži potrebne veze ◦ postoji veza s linijom riječi ◦ programirana je 0 inače 1 ◦ ta ~ 100 ns 12 Permanentna memorija s mogućnošću jednokratnog programiranja, PROM Bipolarna tehnologija, tipično TTL ◦ višeemiterski izlazni tranzistor priteže prema masi ◦ odgovara memorijskoj ”riječi” Za male serije ◦ programiranje "na licu mjesta" (engl. in-the-field) u posebnim uređajima ◦ programiranje taljenjem ”osigurača” jačom strujom (UB >>) ta ~ 30 ÷50 ns 13 Permanentna memorija s mogućnošću višekratnog programiranja i brisanja UV svjetlom, EPROM Tehnologija MOSFET ◦ posebna izvedba NMOS tranzistora "s lebdećom elektrodom", FAMOS (engl. Floating-gate Avalanche Injection MOS) ◦ programiranje u posebnim uređajima uz prethodno brisanje UV svjetlom ◦ UG2D ~ 25 V prodor elektrona u G1 lavinskim probojem ◦ ta ~ 200 ns 14 Permanentna memorija s mogućnošću višekratnog programiranja i brisanja električkim putem, EEPROM Izbjeći probleme EPROM: ◦ dugo brisanje cijelog sadržaja u posebnom uređaju ◦ programiranje unutar uređaja u kojem se koristi EAROM: smanjen razmak G1 i D: ◦ upisivanje i brisanje podatka tuneliranjem ◦ upis: UG2D ~ 10 V, brisanje: UG2D ~ -10 V ◦ ta ~ 250 ns ”brza memorija” (engl. flash memory, flash) >1984. ◦ brže ”preprogramiranje” i pristup, veći kapacitet, veća trajnost upisa podataka; USB stick/dongle 15 Primjena permanentne memorije Pohranjivanje značajnih podataka važnih za rad cjelokupnog digitalnog sustava (npr. računala) Pohranjivanje sustavskih programa (npr. BIOS) Upravljačka memorija kod mikroprogramiranja ◦ posebna izvedba upravljačke jedinice procesora Pretvorba koda ◦ naročito generatori znakova za rasterske prikaze (zaslon, matrični pisači) Aritmetički sklopovi: ◦ izvedba tablica posebnih funkcija ( npr. trigonometrijske) Problem ◦ ROM je sporiji, jer ima više razina logike 16 Primjena permanentne memorije Primjer: sklop za množenje 8 bitnih brojeva Tablica množenja ugrađena u ROM ◦ pregledna tablica (engl. Look Up Table, LUT) ◦ faktori M, N se kombiniraju tako da tvore adresu memorijske lokacije u kojoj je pohranjen produkt P ◦ efikasnije ◦ kombinacija određenog broja ROMova značajno manjeg kapaciteta ( parcijalni produkti) i zbrajala ◦ veća kašnjenja 17 Primjena permanentne memorije Množenje 8 bitnih brojeva ◦ potrebni kapacitet je prevelik 𝑊 = 2𝑛 ∙ 𝑏 = 28+8 ∙ 8 + 8 = 28+8 ∙ 24 = 220 = 1Mbit 18 Primjena permanentne memorije Dovoljan je puno manji kapacitet 𝑊 = 24+4 ∙ 4 + 4 = 2𝐾𝑏𝑖𝑡 𝑊𝑢𝑘𝑝𝑛𝑖 = 4 ∙ 𝐶 = 8Kbit Sklop zasnovan na kompoziciji manjih ROMova 19 Primjena permanentne memorije Za veći broj adresnih linija sklopovski povoljnije koristiti raspodijeljeni dekoder (engl. split decoder) ◦ manji dekoder ◦ idealno dva jednaka dekodera → podjela tablice definicije funkcije f ( parametar varijabla najviše težine) ◦ kombinacija ROM + MUX ( → unutarnji dekoder) 20 Primjena permanentne memorije Raspodijeljeno dekodiranje ROMa ◦ samo dekoder ◦ dekoder + MUX (netrivijalne rezidualne funkcije) ◦ dekoder +MUX (trivijalne rezidualne funkcije) ◦ samo MUX (simulacija permanentne memorije 21 Primjena permanentne memorije Primjer: Potpuno zbrajalo/odbijalo Izvedba s ROM 8x4 i 2 MUX 2/1 ◦ K = 0: zbrajalo, K=1: odbijalo ◦ uočiti: Si = Di, simetrija Ci i Zi 22 Primjena permanentne memorije Izvedba s 2 MUXa 8/1 u funkciji ROMova ◦ K = 0: zbrajalo, K=1: odbijalo 23 Programirljiva logička polja PLD (engl. Programmable Logical Devices) ◦ koriste se za realizaciju složene funkcije koja nije unaprijed određena (za vrijeme projektiranja čipa) - moduli su opće namjene ◦ obično imaju mogućnost naknadnog ”programiranja” tj. konfiguriranje sklopa u smislu ponašanja prema okolini: ◦ u posebnim uređajima ◦ unutar uređaja u kojem se modul koristi ◦ složenija struktura: ◦ Veći broj logičkih blokova (svi jednaki ili samo nekoliko tipova) ◦ Obavljaju raznolike logičke funkcije ( I, ILI, NI, NILI i njihove jednostavne kombinacije) ◦ Veći broj programirljivih sklopki ◦ mogu biti izvedene kao kod ROM-a ili kao EEPROM tranzistori ◦ Povezuju logičke blokove tako da se na izlazu dobije željena logička funkcija 24 Podjela programirljivih logičkih naprava Jednostavni PLD (engl. Simple PLD, SPLD) ◦ programirljivo logičko polje PLA ◦ poluprogramirljivo logičko polje, PAL Složeni PLD (engl. Complex PLD, CPLD) ◦ više programirljivo povezanih SPLD modula Programirljiva polja logičkih blokova (engl. Field Programmable Gate Arrays, FPGA) ◦ veliki broj programirljivo povezanih programirljivihlogičkih blokova ◦ Mogu imati i do milijun komponenti i obavljati vrlo složene operacije 25 Programirljivo logičko polje – PLA (engl. Programmable Logic Array) Pri generiranju funkcija je spojno polje kodera ROMa ”slabo popunjeno” ◦ obično su funkcije nepotpuno specificirane ( ne koriste se sve kombinacije ulaza kodera) Puno manji broj riječi (odgovara mintermima) od onog omogućenog dekoderom (W 𝑓 = 𝑥0 ∙ 𝑥1 + 𝑥0 ∙ 𝑥1 51 Izvedba programirljivog polja logičkih blokova, FPGA Model logičkog bloka s 3 ulaza ◦ 8 memorijskih ćelija 52 Izvedba programirljivog polja logičkih blokova, FPGA ”Dodatna logika” u logičkom bloku – makroćelija ◦ element za pamćenje (D bistabil: memorira 1 bit) ◦ odabir izlaza → izlazni MUX 𝑂𝑢𝑡 = 𝑓 ∙ 𝑆𝑒𝑙𝑒𝑐𝑡 + 𝑓 𝑛−1 ∙ 𝑆𝑒𝑙𝑒𝑐𝑡 𝑓 = 𝑓 (𝑙𝑛1 , 𝑙𝑛2 , 𝑙𝑛3 ) 53 Izvedba programirljivog polja logičkih blokova, FPGA Programiranje FPGA ◦ memorijske ćelije LUT su nestalne (engl. volatile), (EA) ROM za pohranjivanje sadržaja LUT ◦ automatsko punjenje (engl. loading) prilikom uključivanja uređaja Primjer: Lattice XP2 54 Izvedba programirljivog polja logičkih blokova, FPGA Primjer: ◦ dio programiranog FPGA 𝑓1 = 𝑥1 ∙ 𝑥2 𝑓2 = 𝑥2 ∙ 𝑥3 𝑓 = 𝑓1 + 𝑓2 𝑓 = 𝑥1 ∙ 𝑥21 + 𝑥2 ∙ 𝑥3 55 Izvedba programirljivog polja logičkih blokova, FPGA Primjer: 𝑓 𝐴, 𝐵, 𝐶 = 𝐵 ∙ 𝐶 + 𝐵ത ∙ 𝐶ҧ + 𝐴 ∙ 𝐶 ◦ ostvarenje Luom s 3 ulaza ( standardno ”programiranje” multipleksora ◦ u LUT se upisuju funkcije vrijednsoti ( nema minimizacije) ◦ 𝑓 𝐴, 𝐵, 𝐶 = σ(0, 3, 4, 5, 7) 56 Izvedba programirljivog polja logičkih blokova, FPGA Kaskadiranje LUTova ◦ Ostvarenje LUTovima s 2 ulaza ◦ 𝑓 𝐴, 𝐵, 𝐶 = 𝐵 ∙ 𝐶 + 𝐵ത ∙ 𝐶ҧ + 𝐴 ∙ 𝐶 ◦ = (𝐵 ∙ 𝐶 + 𝐵ത ∙ 𝐶)ҧ + 𝐴 ∙ 𝐶 ◦ = 𝐵⨁𝐶 + 𝐴 ∙ 𝐶 = 𝑓1 + 𝑓2 57 Pitanja? 58