abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 22:44 | IT novinky

    IBM kupuje společnost HashiCorp (Terraform, Packer, Vault, Boundary, Consul, Nomad, Waypoint, Vagrant, …) za 6,4 miliardy dolarů, tj. 35 dolarů za akcii.

    Ladislav Hagara | Komentářů: 2
    včera 15:55 | Nová verze

    Byl vydán TrueNAS SCALE 24.04 “Dragonfish”. Přehled novinek této open source storage platformy postavené na Debianu v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | IT novinky

    Oznámeny byly nové Raspberry Pi Compute Module 4S. Vedle původní 1 GB varianty jsou nově k dispozici také varianty s 2 GB, 4 GB a 8 GB paměti. Compute Modules 4S mají na rozdíl od Compute Module 4 tvar a velikost Compute Module 3+ a předchozích. Lze tak provést snadný upgrade.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Nová verze

    Po roce vývoje od vydání verze 1.24.0 byla vydána nová stabilní verze 1.26.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.26.

    Ladislav Hagara | Komentářů: 0
    včera 04:33 | Nová verze

    Byla vydána nová verze 6.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.14.

    Ladislav Hagara | Komentářů: 0
    včera 04:22 | Nová verze

    Byla vydána nová verze 30.0.0 frameworku pro vývoj multiplatformních desktopových aplikací pomocí JavaScriptu, HTML a CSS Electron (Wikipedie, GitHub). Chromium bylo aktualizováno na verzi 124.0.6367.49, V8 na verzi 12.4 a Node.js na verzi 20.11.1. Electron byl původně vyvíjen pro editor Atom pod názvem Atom Shell. Dnes je na Electronu postavena celá řada dalších aplikací.

    Ladislav Hagara | Komentářů: 2
    včera 04:11 | Nová verze

    Byla vydána nová verze 9.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 220 vývojářů. Provedeno bylo více než 2 700 commitů. Přehled úprav a nových vlastností v seznamu změn.

    Ladislav Hagara | Komentářů: 0
    23.4. 23:22 | IT novinky

    Evropský parlament dnes přijal směrnici týkající se tzv. práva spotřebitele na opravu. Poslanci ji podpořili 584 hlasy (3 bylo proti a 14 se zdrželo hlasování). Směrnice ujasňuje povinnosti výrobců opravovat zboží a motivovat spotřebitele k tomu, aby si výrobky nechávali opravit a prodloužili tak jejich životnost.

    Ladislav Hagara | Komentářů: 8
    23.4. 16:11 | Nová verze

    Bylo oznámeno (cs) vydání Fedora Linuxu 40. Přehled novinek ve Fedora Workstation 40 a Fedora KDE 40 na stránkách Fedora Magazinu. Současně byl oznámen notebook Slimbook Fedora 2.

    Ladislav Hagara | Komentářů: 23
    23.4. 13:44 | Upozornění

    ČTK (Česká tisková kancelář) upozorňuje (X), že na jejím zpravodajském webu České noviny byly dnes dopoledne neznámým útočníkem umístěny dva smyšlené texty, které nepocházejí z její produkce. Jde o text s titulkem „BIS zabránila pokusu o atentát na nově zvoleného slovenského prezidenta Petra Pelligriniho“ a o údajné mimořádné prohlášení ministra Lipavského k témuž. Tyto dezinformace byly útočníky zveřejněny i s příslušnými notifikacemi v mobilní aplikaci Českých novin. ČTK ve svém zpravodajském servisu žádnou informaci v tomto znění nevydala.

    Ladislav Hagara | Komentářů: 29
    KDE Plasma 6
     (72%)
     (9%)
     (2%)
     (17%)
    Celkem 721 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Programovatelná logika I: Přehled PLD

    18.12.2012 20:31 | Přečteno: 3575× | Výběrový blog

    První díl seriálu o programovatelné logice. Jedná se zatím o obecný úvod do programovatelných logických obvodů založený na krátkém článku, který jsem poprvé publikoval před více než deseti lety. Oproti původnímu článku je tento text aktualizován a rozšířen. V celém seriálu budu u čtenáře předpokládat základní znalosti elektroniky, Booleovy algebry, logických funkcí a běžných prvků číslicové techniky.

    1 Programovatelné logické obvody

    Programovatelné číslicové součástky jsou velmi důležité prvky současné elektroniky. Tyto obvody umožňují implementaci uživatelem definovaných logických funkcí podobně jako třeba zákaznické integrované obvody ASIC, ale s mnohem nižšími náklady na vývoj. Programovatelné logické obvody nejsou žádnou novinkou poslední doby. Za první programovatelné číslicové prvky je možné považovat paměti PROM, které se začaly objevovat na přelomu šedesátých a sedmdesátých let dvacátého století. Během posledních čtyřiceti let prošly programovatelné logické obvody postupným vývojem tak, že dnešní programovatelná hradlová pole jsou často plnohodnotnou náhradou zákaznických integrovaných obvodů a zároveň jsou společně s procesory na špičce vývoje polovodičových technologií.

    1.1 Přehled PLD

    Zkratka PLD (Programmable Logic Device) se používá pro souhrnné označení všech typů programovatelných logických obvodů. Podle vnitřní struktury je možné číslicové programovatelné součástky rozdělit do tří nebo čtyř hlavních skupin. Tou nejzákladnější a v tomto kontextu často opomíjenou skupinou PLD jsou paměti typu PROM. Ostatní PLD vznikly postupným vývojem a úpravami struktury právě z PROM. První, nejjednodušší a nejstarší skupinou skutečných PLD jsou obvody označované jako klasické PLD. Rozšířením jejich vlastností vznikly komplexní PLD, obvykle značené CPLD. Zobecněním principů používaných v jednoduchých a komplexních PLD a zavedením nových struktur vznikla poslední skupina tvořená programovatelnými hradlovými poli FPGA.

    1.1.1 Paměti PROM

    Když necháme stranou diodová pole, která se používala již od dob elektronek a dala by se považovat za skutečně první programovatelné číslicové obvodové prvky, je první uživatelsky programovatelnou číslicovou součástkou paměť typu PROM (Programmable Read-Only Memory). Paměti tohoto typu realizují po naprogramování sadu kombinačních logických funkcí, kde adresová sběrnice představuje vstupy a datová sběrnice výstupy jednotlivých funkcí.

    Zjednodušená vnitřní struktura šestnáctibitové PROM se čtyřbitovým slovem je zobrazena na obrázku 1.1. Paměť je tvořena adresovým dekodérem následovaným programovatelnou maticí logických součtů. Adresový dekodér je kombinační logická funkce převádějící binární kód reprezentovaný aktuální adresou na kód 1 z N. Pouze jeden výstup dekodéru může být aktivní. Vlnovky na vstupech jednotlivých součtových hradel představují onen programovatelný prvek. Ten může být v závislosti na naprogramování reprezentován buď propojkou nebo rozpojením.


    Obr. 1.1: Vnitřní struktura paměti typu PROM 16b×4

    Realizace vlastních programovatelných propojek záleží na konkrétní technologii. Původní bipolární PROM obsahovaly skutečné kovové propojky, které se při programování nevratně přepálily definovaným proudovým impulsem. V CMOS technologiích je propojka realizována jako přenosové hradlo (typicky N-MOS tranzistor) řízený buď plovoucím hradlem (EPROM, EEPROM) nebo jedním bitem konfigurační paměti (SRAM). Programovatelnost pomocí SRAM se ale týká až obvodů FPGA. V PROM a jednoduchých/komplexních PLD se nepoužívá.

    1.1.2 Klasické PLD

    Klasické nebo také jednoduché PLD jsou nejjednodušší programovatelné logické obvody. Typická vnitřní struktura obvodu této kategorie je zobrazena na obrázku 1.2. Struktura vychází z paměti typu PROM, ale zobecňuje ji a rozšiřuje. Pevný adresový dekodér je nahrazen programovatelnou maticí logických součinů a struktura je rozšířena o sekvenční prvky a zpětné vazby.


    Obr. 1.2: Vnitřní struktura obvodu typu PAL

    Pro zjednodušení schématu představuje každá vodorovná čára v programovatelné matici logických součinů vždy jedno součinové hradlo. Na vstupy každého hradla lze připojit téměř libovolnou kombinaci vstupních signálů, zpětných vazeb a jejich negací. V závislosti na výrobní technologii konkrétního programovatelného obvodu je ve skutečnosti maximální počet vstupů každého součinového hradla omezen. Principiální zapojení jednoho součinového hradla je znázorněno na obrázku 1.3.


    Obr. 1.3: Součinové hradlo obvodu PAL

    Kružnice na spojích vodičů obrázku 1.3 představují programovatelné spínače realizované podobně jako v PROM.

    Počet vstupů do jednotlivých součtových hradel v matici OR je opět ve skutečnosti omezen a není možné realizovat funkci libovolného počtu vstupů. Programovatelnost matice OR není na schématu 2 vyznačena, ale bude realizována stejně jako u PROM na obrázku 1.1.

    Jednotlivé obvody z kategorie klasických PLD se liší přítomností a programovatelností jednotlivých bloků obecné struktury podle obrázku 1.2. Obvody typu PLA (Programmable Logic Array) mají programovatelné obě matice. Výstupní registry byly přítomny v některých novějších obvodech. Dnes se obvody tohoto typu již nevyrábí. Obvody typu PAL (Programmable Array Logic) mají programovatelnou pouze matici logických součinů, zatímco matice logických součtů je pevná. Nejstarší typy se vyráběly bez výstupních registrů, poté začali výrobci přidávat výstupní registry JK, které byly postupně nahrazeny registry typu D. Zástupci kategorie PAL jsou součástky řad PAL, GAL, PEEL a PALCE. Některé typy se dosud vyrábějí a používají.

    1.1.3 Komplexní PLD

    Přestože mohou být klasické PLD velmi univerzální obvodové prvky, složitost implementovatelných funkcí je velmi omezená. Logickým krokem výrobců PLD vedoucím k navýšení množství dostupných prostředků bylo sdružení více jednoduchých PLD struktur na jeden čip spolu s nutnými prostředky pro jejich vzájemné propojení. Takovéto obvody se obvykle označují jako CPLD (Complex Programmable Logic Device). Zjednodušená typická struktura obvodu CPLD je znázorněna na obrázku 1.4.


    Obr. 1.4: Struktura obvodu typu CPLD

    Jednotlivé makrobuňky (macrocells) CPLD jsou realizovány jako jako struktura PAL nebo PLA. Velikost obvodu CPLD se vyjadřuje počtem makrobuněk a počtem vstupů a výstupů jednotlivých makrobuněk. Konkrétní provedení a velikost jednotlivých makrobuněk se u jednotlivých výrobců obvykle liší, ale základní princip zůstává zachován.

    Někteří výrobci programovatelné logiky již klasickou strukturu CPLD opustili a pod označením CPLD prodávají obvody s obecnější vnitřní strukturou blízkou FPGA. Od FPGA se tyto moderní CPLD odlišují obvykle velikostí (jsou výrazně menší), chybějícími speciálními funkčními bloky, menším množstvím globálních prvků a nižší maximální frekvencí hodinových signálů.

    1.1.4 Obvody FPGA

    Obvody označované jako FPGA (Field Programmable Gate Array) mají ze všech uživatelem programovatelných obvodů nejobecnější strukturu a zároveň obvykle obsahují největší množství využitelných logických prostředků. Obrázek 1.5 znázorňuje velmi zjednodušenou typickou strukturu charakteristickou pro obvodu typu FPGA.


    Obr. 1.5: Zjednodušená struktura obvodu typu FPGA

    Obvod FPGA se skládá z bloků vlastní programovatelné logiky CLB (configurable logic blocks), vstupně-výstupních buněk IOB (input-output blocks), programovatelné propojovací matice a konfiguračních prostředků řídících konkrétní nastavení jednotlivých bloků a jejich vzájemné propojení. Jednotliví výrobci navíc přidávají do FPGA další funkční bloky rozšiřující možnosti jejich obvodů. Dnešní typická programovatelná hradlová pole obsahují synchronní blokové paměti, bloky pro správu hodinových signálů založené na PLL nebo DLL, rychlá sériová vstupně-výstupní rozhraní, bloky pro realizaci aritmetických operací, mikroprocesory, paměťové řadiče a podobně.

    Programovatelná hradlová pole jsou nejvýznamnější skupinou programovatelných logických obvodů. Jsou to nejuniverzálnější programovatelné logické obvody s nejobecnější vnitřní strukturou, ale také z hlediska pochopení a použití jsou nejsložitější. Popisu FPGA bude věnována celá následující část.

           

    Hodnocení: 96 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    18.12.2012 20:38 xxxxxxxxxxx | skóre: 13 | blog: rhrtshrth
    Rozbalit Rozbalit vše Re: Programovatelná logika I: Přehled PLD
    Už se tĚším až třebas někdo udělá seriál o PLC! :-)
    vlastikroot avatar 18.12.2012 21:34 vlastikroot | skóre: 24 | blog: vlastikovo | Milevsko
    Rozbalit Rozbalit vše Re: Programovatelná logika I: Přehled PLD
    Jakoze tutorial skladani logickych funkci pomoci relatek? :-D :-D
    We will destroys the Christian's legion ... and the cross, will be inverted
    Bystroushaak avatar 18.12.2012 21:38 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Programovatelná logika I: Přehled PLD
    Myslíš něco jako tohle? :)
    Jendа avatar 20.12.2012 00:55 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Programovatelná logika I: Přehled PLD
    To PDF s prezentací je podle mě elegantnější (když už tušíš, jak to funguje, a nepotřebuješ ten text kolem).
    19.12.2012 12:13 xxxxxxxxxxx | skóre: 13 | blog: rhrtshrth
    Rozbalit Rozbalit vše Re: Programovatelná logika I: Přehled PLD
    Bystroushaak avatar 19.12.2012 15:04 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Programovatelná logika I: Přehled PLD
    Kdyby to někdo sestrojil na linuxu, tak si to nikdo nekoupí. PLC jsou realtime systémy, které jsou několikanásobně jištěny, což linux nesplňuje.

    Ve škole jsme se hráli s tecomaty a byl to teda docela hnus, zásobníkový assembler od té doby nemám moc rád.
    19.12.2012 15:41 xxxxxxxxxxx | skóre: 13 | blog: rhrtshrth
    Rozbalit Rozbalit vše Re: Programovatelná logika I: Přehled PLD
    A proto radši nic nedělat, do ničeho nestrkat nos... Jsi vůl. :-)
    Bystroushaak avatar 19.12.2012 17:15 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Programovatelná logika I: Přehled PLD
    ಠ_ಠ
    19.12.2012 22:01 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Programovatelná logika I: Přehled PLD
    Ve škole jsme se hráli s tecomaty
    Nesmíš zanevřít na celou jednu architekturu jen kvůli hloupýmu Mosaicu :-D. Já jsem v něm dělal semestrální práci ve vmware na duronu 666MHz ;-). A i přesto mě zásobníky nevaděj (nejak extra :-D).
    xxxs avatar 18.12.2012 20:43 xxxs | skóre: 25 | blog: vetvicky
    Rozbalit Rozbalit vše Re: Programovatelná logika I: Přehled PLD
    napis dolimu. toto je clanok a nie blog.
    18.12.2012 21:03 JS
    Rozbalit Rozbalit vše Re: Programovatelná logika I: Přehled PLD
    +1, s trochou stesti to bude jako Tisnovsky..
    18.12.2012 21:27 otec
    Rozbalit Rozbalit vše Re: Programovatelná logika I: Přehled PLD
    Pripojuji se ke komentarum prede mnou. Pripada mi to skoro jako ucebnice, jestli ti to vydrzi tak to bude moc fajn, treba se dozvim neco vic o tom co me tak trapilo v predmetu "Logicke obvody" ;-)

    Bavilo me to cist, jen tak dal!
    gtz avatar 18.12.2012 21:31 gtz | skóre: 27 | blog: gtz | Brno
    Rozbalit Rozbalit vše Re: Programovatelná logika I: Přehled PLD
    Hezky dobře napsané.
    - nejhorší jsou trpaslíci ... Ti Vám vlezou úplně všude
    Bystroushaak avatar 18.12.2012 21:40 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Programovatelná logika I: Přehled PLD
    Pěkný článek.

    Jinak k čemu jsou v PLD ty D na výstupu?
    18.12.2012 21:59 hw | skóre: 23 | blog: Digital Design
    Rozbalit Rozbalit vše Re: Programovatelná logika I: Přehled PLD
    PLD s registry umožňují vytvořit i sekvenční obvody. Třeba různé stavové automaty. Teoreticky to sice jde i v PLD bez registrů pomocí vnějších zpětných vazeb, ale není to typická ani doporučená aplikace.
    19.12.2012 02:22 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Programovatelná logika I: Přehled PLD
    Teoreticky to sice jde i v PLD bez registrů pomocí vnějších zpětných vazeb, ale není to typická ani doporučená aplikace.
    I prakticky, ring oscilátor v GALu je toho důkazem :-D. Jinak ještě dodám, že se ty déčka můžou použít i jako posuvný registr nebo paměťový prvek (to spíš u CPLD a vejš).
    19.12.2012 00:06 phr | skóre: 13 | blog: no_comment | Klatovy
    Rozbalit Rozbalit vše Re: Programovatelná logika I: Přehled PLD
    Pěkné stručné a přehledné seznámení/shrnutí. Teď ještě jak se s tím dělá/jak se to programuje. Za mých mladých let byla vrcholem techniky EPROM paměť :-)

    A malé rýpnutí : ještě před diodovými poli se takovéhle záležitosti realizovaly mechanicky pomocí různých hřebenů a válečků. Typickými představiteli byly automatické "programovatelné" stavy nebo flašinet, ale i mechanické počítací stroje, např Ascota z bývalé NDR (odkaz jsem kupodivu žádný nenašel a přitom to není až tak dávná historie)...
    "Umělá inteligence se nemůže rovnat přirozený blbosti"
    19.12.2012 02:28 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Programovatelná logika I: Přehled PLD
    Teď ještě jak se s tím dělá/jak se to programuje.
    GALBlasterem. Pokud to nemá být obsah dalšího dílu, tak někde vyhrabu linky.
    ještě před diodovými poli se takovéhle záležitosti realizovaly mechanicky pomocí různých hřebenů a válečků.
    Tohle už bylo ve století páry :-D.
    22.12.2012 19:33 Radovan
    Rozbalit Rozbalit vše Re: Programovatelná logika I: Přehled PLD
    Přesně tak, a Jacquardův stav s pásem papírových karet byl hitech tehdejší doby, to byly časy...

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.