Implementace čítačů v číslicových systémech Jakub Šťastný

Rozměr: px
Začít zobrazení ze stránky:

Download "Implementace čítačů v číslicových systémech Jakub Šťastný"

Transkript

1 1 Úvod Implementace čítačů v číslicových systémech Jakub Šťastný Čítač je fundamentálním obvodovým blokem nezbytným pro návrh většiny číslicových systémů. Blok čítače je v číslicových obvodech používán v řadě aplikací; nejtypičtějším použitím je čítač užitý jako časovač blok, který počítá události (například náběžné hrany hodin) na svém vstupu. S čítačem se můžeme setkat ovšem i v jiných podobách, například jako s řadičem pro generování určité sekvence řídících signálů, s generátorem adresy pro paměť, či čítačem instrukcí programu v procesoru (Program Counter). Blok čítače můžeme chápat i jako zjednodušený stavový automat, je-li doplněn o převodník stavu čítače na požadované výstupní signály automatu. Vlastní převodník přitom může degenerovat i na jednoduché dráty mezi výstupem čítače a řídicími signály, je-li stav čítače vhodně kódován. Příklad užití čítače jako generátoru sekvence signálů lze nalézt na obrázku 1. Obrázek 1: Čítač užitý jako stavový automat pro generování sekvence signálů. V levé části obrázku vidíme příklady časových průběhů hodnot logických signálů na vstupu čítače a na jeho výstupu (hodinový signál clk, resetovací vstup res a výstupy čítače cnt(0) a cnt(1)) spolu s požadovanými průběhy generovaných signálů ctrl1,2 a 3. V pravé části je pak rozkresleno schéma čítače spolu s dekodérem pro generování příslušných signálů. Soubor cnt_fsm.png. Základní podoba binárního čítače je velmi dobře známá a probíraná ve všech kurzech číslicového návrhu a zmiňovaná i každou knihou zaměřenou na návrh číslicových obvodů, viz například [1], kapitola 2. Už méně známé a zmiňované jsou alternativní možnosti implementace čítače spolu s jeho vlastnostmi; to je překvapivé vzhledem k fundamentálnímu významu bloku čítače pro číslicové systémy. Potřebujeme-li navrhnout čítač pro konkrétní aplikaci, základní vlastnost kterou je třeba vzít v úvahu je kódování stavu čítače. Kódování stavu ovlivňuje téměř všechny parametry výsledného návrhu (velikost, maximální pracovní hodinovou frekvenci, spotřebu elektrické energie a počet současně se měnících bitů na sběrnici na výstupu čítače maximální Hammingovu vzdálenost [2] dvou sousedních stavů čítače MHVS). Vhodná volba kódování je klíčovým rozhodnutím a právě jí je věnován náš příspěvek. Dalším důležitým kriteriem pro návrh čítače je volba mezi synchronním čítačem (synchronous counter, všechny registry klopí ve stejný okamžik), nebo asynchronním čítačem (ripple counter, registry klopí postupně). Základní rozdíly mezi oběma čítači a argumenty pro volbu jednoho či druhého postupu budou také diskutovány v textu. Jako příklad je v textu užit jednoduchý blok čítače procházejícího osmi stavy; pro jednotlivé alternativy je prezentován i VHDL kód návrhu a implementační parametry. Ty jsou pak v závěru článku shrnuty a vzájemně srovnány. Pro simulaci i implementaci bylo použito volně dostupné návrhové prostředí ISE Webpack [3]; jednotlivé bloky byly implementovány do obvodu xc5vlx30-3ff324. Začínající návrháři mohou nalézt detailní návod jak pracovat s návrhovým prostředím v knize [1], kapitola 2. V celém textu označujeme počet registrů udržujících stav čítače jako N, počet stavů jako N s. Jako f clk_max označujeme maximální dosažitelnou pracovní frekvenci čítače, T clk_min =1/f clk_max je pak minimální perioda hodinového cyklu. Řešení popsaná v textu jsou použitelná jak při návrhu číslicových obvodů na programovatelných hradlových polích, tak při návrhu zákaznických integrovaných obvodů. Pro jednotlivé možnosti implementace číslicové logiky uvádíme v závěru seriálu kromě odhadů velikosti vlastní logiky a délky kritické cesty v čítači i méně často diskutovanou vlastnost stručnou analýzu možností ruční editace návrhu čítače v případě nutnosti provedení tzv. ECO úpravy (Engineering Change Order, viz [4]) už vyráběného integrovaného obvodu. Příspěvek je z prostorových důvodů rozdělen do několika dílů; v tomto příspěvku bude prezentována plná implementace binárního čítače spolu se synchronním binárním a Johnsonovým čítačem. V dalším příspěvku potom ukážeme implementaci Grayova čítače, čítače v kódu 1 z N a binárního asynchronního čítače spolu se závěrečným 1

2 shrnutím jejich vlastností. 2 Základní implementace Před rozborem jednotlivých alternativ implementace čítačů nejprve shrňme základní funkce, které může čítač mít; spolu s výkladem nechť čtenář sleduje výpis v příkladu 1: Asynchronní a synchronní reset (asynchronous/synchronous reset) reset aktivní buď vždy, nebo jen v okamžiku příchodu náběžné hrany hodin; čítač je většinou nastaven do stavu (je-li binární vzestupný), nebo do stavu např (binární čítající sestupně), případně ve speciálních případech může být obvod resetován i do jiného stavu. Poznamenejme zde, že reset je nezbytnou součástí implementace a není rozumné ho vynechávat, více viz [1], kapitola 5. V případě použití asynchronního resetu se na signálu nesmí vyskytovat žádné hazardní stavy ( glitche), nesmí být tedy generován přímo z obecné kombinační logiky. V příkladu 1 je funkce asynchronního resetu ovládána vstupem async_res, synchronního sync_res. Synchronní a asynchronní přednastavení (synchronous/asynchronous preload) stavový registr čítače je nastaven na hodnotu přivedenou na k tomu určenou vstupní sběrnici obvodu a aktivuje se příslušným řídicím signálem. Tím se také liší přednastavení od resetu. Reset čítač nastavuje vždy do stejného počátečního stavu. Synchronní přednastavení je v příkladu 1 řízeno signálem sync_ld, asynchronní async_ld. Hodnota, do které má být čítač přednastaven, je přivedena na sběrnici ld_val. Ani na signálu pro řízení asynchronního přednastavení se nesmí vyskytovat žádné hazardní stavy, jejich přítomnost by porušila stav čítače. Čítání (counting) stav čítače je u binárního čítače inkrementován, nebo dekrementován s daným krokem (většinou 1, ale může být jiný), případně u jiného kódování je realizován přechod na následující/předchozí stav. Při čítání můžeme procházet jak úplnou sekvencí stavů čítače (pro N bitový binární čítač je počet stavů N s =2 N ), tak sekvencí redukovanou. O N s -stavovém čítači často hovoříme jako o čítači modulo N s. Demonstrační čítač má vstupní signály cnt_en povolení čítání, cnt_up směr čítání (nahoru/dolů), cnt_step krok čítání. Počet stavů, kterými čítač může procházet, je definován vstupní sběrnicí cnt_limit, dosažení daného počtu stavů je pak indikováno pulzem na výstupním signálu cnt_over. Všimněte si také implementace detekce podtečení čítače přechodu přes nulu v případě čítání dolů. Je zde využito vlastností binárního kódu a podtečení detekován pomocí detekce situace, kdy je požadovaný příští stav negativní (nejvyšší bit je v log. 1) a současný stav pozitivní (nejvyšší bit je v log. 0). Všimněte si v příkladu 1 implementace vynulování čítače po dosažení posledního stavu; reset je implementován jako synchronní. Bylo by hrubou chybou čítač nulovat pomocí asynchronního resetu, například takto: reg_cnt : PROCESS (clk, async_res, cnt_over_i, async_ld, ld_val) IF async_res='1' OR cnt_over_i='1' THEN cnt_q <= (OTHERS => '0' ELSIF async_ld='1' THEN cnt_q <= unsigned(ld_val ELSIF clk'event AND clk='1' THEN cnt_q <= cnt_d; Komparátor stavu čítače proti hodnotě cnt_limit bude téměř jistě na svém výstupu produkovat statické a dynamické hazardy a zákmit typu by s jistotou vedl k poruše správné funkce čítače (stavový registr čítače by byl vynulován, případně by mohly být vynulovány jen některé registry ze stavového registru). 2

3 LIBRARY IEEE; USE IEEE.std_logic_1164.ALL; USE IEEE.numeric_std.ALL; ENTITY binary_counter IS GENERIC ( N : natural := 16 PORT ( async_res : IN std_logic; async_ld : IN std_logic; clk : IN std_logic; sync_res : IN std_logic; sync_ld : IN std_logic; ld_val : IN std_logic_vector (N-1 DOWNTO 0 cnt_en : IN std_logic; cnt_up : IN std_logic; cnt_step : IN std_logic_vector (N-1 DOWNTO 0 cnt_limit : IN std_logic_vector (N-1 DOWNTO 0 cnt_over : OUT std_logic; cnt_unde : OUT std_logic; cnt_out : OUT std_logic_vector (N-1 DOWNTO 0) END ENTITY binary_counter; ARCHITECTURE rtl OF binary_counter IS SIGNAL cnt_nx : unsigned (N-1 DOWNTO 0 SIGNAL cnt_d : unsigned (N-1 DOWNTO 0 SIGNAL cnt_q : unsigned (N-1 DOWNTO 0 SIGNAL cnt_over_i : std_logic; SIGNAL cnt_unde_i : std_logic; reg_cnt : PROCESS (clk, async_res, async_ld, ld_val) IF async_res='1' THEN cnt_q <= (OTHERS => '0' ELSIF async_ld='1' THEN cnt_q <= unsigned(ld_val ELSIF clk'event AND clk='1' THEN cnt_q <= cnt_d; cnt_nx <= cnt_q+unsigned(cnt_step) WHEN cnt_en = '1' AND cnt_up = '1' ELSE cnt_q-unsigned(cnt_step) WHEN cnt_en = '1' AND cnt_up = '0' ELSE cnt_q; cnt_over_i <= '1' WHEN cnt_nx >= unsigned(cnt_limit) ELSE '0'; cnt_unde_i <= '1' WHEN cnt_nx(n-1) = '1' AND cnt_q(n-1) = '0' ELSE '0'; cnt_d <= cnt_nx WHEN sync_res = '0' AND sync_ld = '0' AND cnt_over_i = '0' ELSE (OTHERS => '0') WHEN sync_res = '1' ELSE unsigned(ld_val) WHEN sync_ld = '1' ELSE unsigned(cnt_limit) WHEN cnt_unde_i = '1' ELSE -- underflow (OTHERS => '0' -- overflow cnt_over <= cnt_over_i; cnt_unde <= cnt_unde_i; cnt_out <= std_logic_vector(cnt_q END ARCHITECTURE rtl; Příklad 1: Maximalistická verze binárního čítače se všemi běžnými funkcemi. 3 Synchronní binární čítač Binární kód je všem návrhářům dobře známý. Jeho výhodou je minimální počet registrů nutných pro implementaci čítače procházejícího N s stavy, N=ceil(log 2 (N s )), kde ceil je funkce zaokrouhlující svůj argument nahoru na celé jednotky. Dále je snadné provádět nad výstupem binárního čítače nejrůznější aritmetické operace (např. porovnávání >,< atd.), jejich implementace v binárním kódu je velmi intuitivní a běžně používaná. Výhodou je i to, že čítač čítající v 3

4 binárním kódu může mít libovolný počet stavů. Nevýhodou synchronního binárního čítače je potřeba většího množství kombinační logiky pro implementaci sčítačky pro generování dalšího stavu a větší zpoždění v této logice, které omezuje f clk_max. Poslední významnější nevýhodou je skutečnost, že sousední stavy binárního čítače se mohou lišit až v N bitech (MHVS je N kombinační logická funkce, která by dekódovala stavy čítače a generovala podle nich příslušné výstupy jako např. blok decoder na obrázku 1, pak bude téměř jistě produkovat statické či dynamické hazardy (glitche) na svém výstupu. Pokud bychom chtěli upravovat čítač pomocí ECO změny, můžeme chtít buď jen zvýšit počet stavů (přidat další stavy na konec sekvence), nebo sekvenci rozšířit vložením nových stavů doprostřed. Kombinační logická funkce binárního čítače patří mezi složitější z pohledu ECO změn; většinou lze prodloužit sekvenci přidáním dalších stavů, ale není možné vložit stavy dovnitř do sekvence čítače (čítač by pak už nečítal v binárním kódu). Příklad 2 uvedený níže demonstruje už jen zjednodušenou verzi čítače z příkladu 1, sekvenci stavů demonstruje obrázek 2. Obrázek 2: Příklad běhu čítače, sekvence stavů 000, 001, 010, 011, 100, 101, 110, 111. Soubor cnt_binary.png LIBRARY IEEE; USE IEEE.std_logic_1164.ALL; USE IEEE.numeric_std.ALL; ENTITY cnt IS GENERIC ( N : natural := 4 PORT ( res : IN std_logic; clk : IN std_logic; cnt_out : OUT std_logic_vector (N-1 DOWNTO 0) END ENTITY cnt; ARCHITECTURE rtl_bin OF cnt IS SIGNAL cnt_d : unsigned (N-1 DOWNTO 0 SIGNAL cnt_q : unsigned (N-1 DOWNTO 0 reg_cnt : PROCESS (clk, res) IF res='1' THEN cnt_q <= (OTHERS => '0' ELSIF clk'event AND clk='1' THEN cnt_q <= cnt_d; cnt_d <= cnt_q + 1; cnt_out <= std_logic_vector(cnt_q END ARCHITECTURE rtl_bin; Soubor cnt_binary_sch.png Příklad 2: Binární čítač - RTL kód a příklad funkce. 4 Synchronní Johnsonův čítač Stav a výstup Johnsonova čítače je kódován v Johnsonově, nebo tzv. plazivém, kódu. Kód se konstruuje jednoduše první stav je zakódován samými nulami; pro další stavy se stavový registr posouvá vlevo a zprava nasouvá jednička až do okamžiku, kdy jsou všechny registry nastavené do log. 1. Potom se celý proces opakuje s tím rozdílem, že zprava nasouváme log. 0 až do okamžiku, kdy jsou všechny registry stavu čítače nastavené do log. 0. Pak celý postup opakujeme. Příklad sekvence v Johnsonově kódu je uveden níže, v obrázku 3. Výhodou Johnsonova kódu je to, že MHVS je jen 1, proto je Johnsonův čítač často používán například v generátorech hodinových signálů (navazující kombinační logika bloku decoder generující vlastní hodinové signály má za dodržení dalších dodatečných podmínek výstup bez statických i dynamických hazardů). Nevýhodou je, že počet registrů udržujících stav čítače je zde N=N s /2; dále je možná jen implementace čítače o sudém počtu stavů. Všimněme si zde, že 4

5 mezi registry čítače v podstatě není žádná kombinační logika, jen jeden invertorm který invertuje výstup z posledního registru a vytváří plazivou sekvenci nul a jedniček. To umožňuje dosáhnout vysoké hodnoty f clk_max. Do čítače implementovaného jako Johnsonův lze proto snadno vložit pomocí ECO změny další stavy a prodloužit tak sekvenci čítání. Obrázek 3: Příklad běhu čítače, sekvence stavů je 0000, 0001, 0011, 0111, 1111, 1110, 1100, Soubor cnt_johnson.png ARCHITECTURE rtl_johnson OF cnt IS SIGNAL cnt_d : std_logic_vector (N-1 DOWNTO 0 SIGNAL cnt_q : std_logic_vector (N-1 DOWNTO 0 reg_cnt : PROCESS (clk, res) IF res='1' THEN cnt_q <= (OTHERS => '0' ELSIF clk'event AND clk='1' THEN cnt_q <= cnt_d; cnt_d <= cnt_q(n-2 DOWNTO 0)&NOT(cnt_q(N-1) cnt_out <= cnt_q; END ARCHITECTURE rtl_johnson; Soubor cnt_johnson_sch.png Příklad 3: Johnsonův čítač - RTL kód a schéma. 5 Literatura [1] Jakub Šťastný. FPGA Prakticky, BEN Praha [2] Hamming Distance. [3] ISE WebPack. [4] Engineering Change Order. [5] Steve Golson. One-hot state machine design for FPGAs, 3 rd PLD Design conference, Santa Clara, [6] Steve Golson. State machine design techniques for Verilog and VHDL,

6 1 Úvod Implementace čítačů v číslicových systémech 2 Jakub Šťastný V předchozím článku byly shrnuty základní vlastnosti čítačů, implementace a výhody a nevýhody binárního a Johnsonova čítače. V tomto příspěvku se budeme dále zabývat synchronní implementací čítače v Grayově kódu, kódu 1 z N a LFSR čítače. Poslední část, připravovaná do příštího čísla, bude potom věnována implementaci asynchronního čítače (ripple counteru) a shrnutí parametrů předvedených konstrukcí. V celém textu označujeme počet registrů udržujících stav čítače jako N, počet stavů jako N s. Jako f clk_max označujeme maximální dosažitelnou pracovní frekvenci čítače, T clk_min =1/f clk_max je pak minimální perioda hodinového cyklu. Zkratkou MHVS budeme označovat maximální počet současně se měnících bitů na sběrnici na výstupu čítače maximální Hammingovu vzdálenost dvou sousedních stavů čítače. 2 Grayův čítač Binární čítač nemůžeme užít, potřebujeme-li vzorkovat jeho výstup hodinovým signálem asynchronním k hodinovému signálu, ze kterého běží čítač. V takovém případě by způsobilo vážné problémy to, že u binárního čítače se mohou dva sousední stavy lišit v podstatě v libovolném počtu bitů, viz obrázek 4. V levé části obrázku je zjednodušené schéma celé obvodové konfigurace. Binární čítač je řízen hodinami clk1, vzorkování je prováděno náběžnou hranou hodin clk2. Přitom hodiny clk2 jsou plně asynchronní k hodinám clk1. Vidíme, že při naznačeném přechodu výstupu čítače mezi hodnotami 011 a 100 můžeme navzorkovat hodnoty 011, 110 i 100. Skutečné chování přitom závisí na konkrétních vzájemných časových posunech mezi signály cnt1(0), cnt1(1) a cnt1(2). Abychom se podobným problémům vyhnuli, je nezbytné zajistit, aby se na výstupu čítače měnil vždy jen jeden bit. Právě tuto vlastnost splňuje Grayův čítač, speciální konstrukce stavové sekvence u něj zajišťuje MHVS 1. Tato vlastnost navíc umožňuje (za dodržení dalších dodatečných podmínek) navrhnout případný následný dekodér (blok decoder v obrázku 1 z prvního dílu seriálu [1]) tak, aby na jeho výstupech nebyly žádné statické ani dynamické hazardy. Stejně jako u binárního čítače a oproti Johnsonovu čítači je i zde výhodou minimální počet registrů nutných pro implementaci čítače procházejícího N s stavy, N=ceil(log 2 (N s )). RTL schéma Grayova čítače lze nalézt v obrázku v příkladu 4, spolu s RTL VHDL implementací, stavová sekvence je potom v obrázku 5. Z důvodu úspory místa vynecháváme konstrukci ENTITY definující porty a generické parametry čítače. Použitá konstrukce je totožná s tou, kterou lze nalézt v příkladu 2 v předchozím dílu [1]. Obrázek 4: Vzorkování výstupu binárního čítače asynchronním signálem. Soubor sync_1.png. Zřejmou nevýhodou Grayova čítače je větší plocha zabraná kombinační logikou pro generování následujícího stavu čítače; s tím souvisí i větší zpoždění v kritické cestě. Dlouhou kritickou cestu částečně odstraňuje řešení na obrázku 6 [2], ovšem za cenu většího množství registrů potřebných pro implementaci. A jako u binárního čítače, je i u Grayova čítače změna počtu stavů pomocí ECO úpravy obtížná. Použití Grayova kódu dále přináší omezení na délku stavové sekvence čítače; ta musí vždy obsahovat sudý počet stavů. V každém textu zabývajícím se kódy naleznete popis konstrukce Grayova kódu pro počet stavů N s =2 l ; nicméně je možné zkonstruovat Grayův kód pro obecný sudý počet stavů, viz [3]. Všimněte si, že v čítači je použita binární sčítačka obklopená převodníky z a do Grayova kódu. Stavový registr nicméně obsahuje hodnotu v Grayově kódu. Výstup Grayova čítače musí být řízen přímo z registru, aby se předešlo zákmitům na výstupech jež by mohly být posléze navzorkovány jako legitimní hodnoty, více viz [4], kapitola 11. 6

7 Obrázek 5: Příklad běhu čítače, sekvence stavů je 000, 001, 011, 010, 110, 111, 101, 100. Soubor cnt_gray.png. LIBRARY IEEE; USE IEEE.std_logic_1164.ALL; USE IEEE.numeric_std.ALL; ARCHITECTURE rtl_gray OF cnt IS SIGNAL cnt_d : std_logic_vector (N-1 DOWNTO 0 SIGNAL cnt_q : std_logic_vector (N-1 DOWNTO 0 SIGNAL cnt_b : std_logic_vector (N-1 DOWNTO 0 SIGNAL cnt_b_nxt : std_logic_vector (N-1 DOWNTO 0 COMPONENT gray2bin IS GENERIC ( N : natural := 4 PORT ( gray : IN std_logic_vector (N-1 DOWNTO 0 bin : OUT std_logic_vector (N-1 DOWNTO 0) END COMPONENT gray2bin; COMPONENT bin2gray IS GENERIC ( N : natural := 4 PORT ( bin : IN std_logic_vector (N-1 DOWNTO 0 gray : OUT std_logic_vector (N-1 DOWNTO 0) END COMPONENT bin2gray; reg_cnt : PROCESS (clk, res) IF res='1' THEN cnt_q <= (OTHERS => '0' ELSIF clk'event AND clk='1' THEN cnt_q <= cnt_d; i_gray2bin:gray2bin GENERIC MAP (N => N) PORT MAP ( gray => cnt_q, bin => cnt_b LIBRARY IEEE; USE IEEE.std_logic_1164.ALL; ENTITY gray2bin IS GENERIC (N : natural := 4 PORT ( gray : IN std_logic_vector (N-1 DOWNTO 0 bin : OUT std_logic_vector (N-1 DOWNTO 0) END ENTITY gray2bin; ARCHITECTURE rtl OF gray2bin IS SIGNAL bin_i : std_logic_vector (N-1 DOWNTO 0 bin_i(n-1) <= gray(n-1 g2b:for index IN N-2 DOWNTO 0 GENERATE bin_i(index) <= gray(index) XOR bin_i(index+1 END GENERATE g2b; bin <= bin_i; END ARCHITECTURE rtl; LIBRARY IEEE; USE IEEE.std_logic_1164.ALL; ENTITY bin2gray IS GENERIC ( N : natural := 4 PORT ( bin : IN std_logic_vector (N-1 DOWNTO 0 gray : OUT std_logic_vector (N-1 DOWNTO 0) END ENTITY bin2gray; ARCHITECTURE rtl OF bin2gray IS gray <= bin XOR ('0'&bin((N-1) DOWNTO 1) END ARCHITECTURE rtl; cnt_b_nxt <= std_logic_vector(unsigned(cnt_b)+1 i_bin2gray:bin2gray GENERIC MAP (N => N) PORT MAP ( bin => cnt_b_nxt, gray => cnt_d cnt_out <= cnt_q; END ARCHITECTURE rtl_gray; Soubor cnt_gray_sch.png. Příklad 4: Grayův čítač - RTL kód a schéma. 7

8 Obrázek 6: Implementace Grayova čítače s kratšími kritickými cestami. Soubor cnt_gray2_sch.png 3 Čítač v kódu 1 z N Čítač v kódu 1 z N (one-hot encoding) je implementován jak je uvedeno v příkladu 5, v obrázku 7 je potom příklad stavové sekvence. Vidíme, že je každý stav zakódovaný jako binární řetězec složený ze samých nul jen s jednou jedničkou. Délka stavu čítače je rovná počtu stavů, potřebujeme tedy N=N s registrů. Mezi registry zde není žádná kombinační logická funkce, počáteční nastavení je zajištěno resetem obvodu a jednička pak samovolně obíhá posuvným registrem. Jednoznačnou nevýhodou čítače je velké množství registrů potřebných pro jeho implementaci; to může vést ke zvýšené spotřebě elektrické energie v hodinovém stromu čítače. Kódování 1 z N má ale i řadu výhod. Stejně jako u Johnsonova čítače je i zde velmi redukovaná kombinační logická funkce pro generování následujícího stavu, to umožňuje čítači pracovat na vyšší hodinové frekvenci, než v případě binárního, či Grayova čítače. I zde jsou omezeny hazardy na výstupu případného navazujícího kombinačního detektoru, potlačení nicméně na rozdíl od Johnsonova kódování není absolutní, MHVS je 2. Dále je zde jednoduše možné pomocí ECO úpravy vložit do čítače další stav. Obrázek 7: Příklad běhu čítače, sekvence stavů: , , , , , , , Soubor cnt_one_hot.png ARCHITECTURE rtl_one_hot OF cnt IS SIGNAL cnt_d : std_logic_vector (N-1 DOWNTO 0 SIGNAL cnt_q : std_logic_vector (N-1 DOWNTO 0 reg_cnt : PROCESS (clk, res) IF res='1' THEN cnt_q <= (0=>'1', OTHERS => '0' ELSIF clk'event AND clk='1' THEN cnt_q <= cnt_d; cnt_d <= cnt_q(n-2 DOWNTO 0)&cnt_q(N-1 cnt_out <= cnt_q; END ARCHITECTURE rtl_one_hot; Soubor cnt_onehot_sch.png Příklad 5: 1 z N čítač - RTL kód a schéma. 8

9 4 LFSR LFSR čítač (Linear Feedback Shift Register) patří mezi poněkud exotičtější konstrukce, kterým se návrháři spíše vyhýbají (autor textu si pamatuje na několik vášnivých diskuzí o vhodnosti jeho použití i z vlastní praxe). LFSR čítače mají nicméně velké množství aplikací a jsou naprosto nepostradatelné v mnoha aplikacích počínaje kryptografií, přes vysílání v rozptýleném spektru až po obyčejné čítače. LFSR je v principu posuvný registr doplněný o jedno/několik hradel XOR ve zpětné vazbě sloužících pro generování sekvence stavů. Na rozdíl od binárního čítače LFSR o délce N bitů prochází jen N s =2 N -1 stavy, jeden stav je vždy zakázaný ( pro konstrukci užívající hradel XOR, případně pro konstrukci s hradlem XNOR). Pohledem na schéma v příkladu 6 lze snadno zjistit, že ze zakázaného stavu (zde 000) se čítač nedostane, dojde k jeho zaseknutí (lockup). U LFSR čítačů je tak nezbytné zajistit pomocí resetu vhodné počáteční podmínky (zde tedy resetovat čítač do libovolného nenulového stavu, například 111). Příklad 6 ukazuje VHDL kód a schéma LFSR čítače procházejícího sedmi stavy, sekvence stavů je přitom zachycena v obrázku 8. Je zřejmé, že za extrémní jednoduchost bloku platíme cenu v podobě zdánlivě chaotické stavové sekvence. Poznamenejme zde, že stavová sekvence má skutečně některé vlastnosti náhodného procesu a proto jsou LFSR čítače často užívány v aplikacích, kde je třeba používat pseudonáhodná čísla. O statistických vlastnostech je možné se dozvědět více v české knize [6]. Stejně jako u Johnsonova čítače, nebo čítače v kódu 1 z N je i zde kombinační logická funkce pro generování dalšího stavu velmi redukovaná. Čítač je tak relativně malý a může pracovat s vyšší f clk_max. Teorie vlastní konstrukce LFSR čítačů je poměrně komplexní, zájemce o detaily odkazujeme na texty [6,7,8], mnoho informací lze také získat prostým hledáním hesla LFSR counter na vyhledávači Google. Méně zřejmou nevýhodou konstrukce LFSR čítače je o něco větší obtížnost návrhu obecného bloku čítače. Pro jeho správnou funkci je třeba správné konfigurace zpětných vazeb v posuvném registru (vyjádřené pomocí tzv. generujícího polynomu, více viz např. [6]), přitom konfigurace je pro každou délku čítače unikátní. Tabulka 1 (převzatá z [9]) obsahuje konfigurace LFSR čítačů pro různé šířky stavového registru. Podíváme-li se na zvýrazněný řádek a srovnámeli ho se schématem v obrázku v příkladu 6, můžeme snadno nahlédnout na to, jak je čítač navržen. Závěrem poznamenejme, že případná modifikace čítače pomocí ECO úpravy nebývá obtížná. Obrázek 8: Příklad běhu čítače, sekvence stavů 111, 011, 001, 100, 010, 101, 110. Všimněte si, že stavů je jen sedm, ne osm. Soubor cnt_lfsr.png. ARCHITECTURE rtl_lfsr OF cnt IS SIGNAL cnt_d : std_logic_vector (N-1 DOWNTO 0 SIGNAL cnt_q : std_logic_vector (N-1 DOWNTO 0 SIGNAL cnt_xor : std_logic; reg_cnt : PROCESS (clk, res) IF res='1' THEN cnt_q <= (OTHERS => '1' ELSIF clk'event AND clk='1' THEN cnt_q <= cnt_d; cnt_xor <= cnt_q(1) XOR cnt_q(0 cnt_d <= cnt_xor&cnt_q(n-1 DOWNTO 1 cnt_out <= cnt_q; END ARCHITECTURE rtl_lfsr; soubor cnt_lfsr_sch.png Příklad 6: LFSR čítač - RTL kód a schéma. 9

10 N ,0 3 1,0 4 1,0 5 2,0 6 1,0 7 1,0 Registry pro zpětnou vazbu 8 6,5,1,0 9 4,0 10 3,0 11 2,0 12 7,4,3,0 13 4,3,1, ,11,1,0 15 1,0 16 5,3,2,0 Tabulka 1: Zpětné vazby v LFSR čítačích pro různé šířky stavového registru. 5 Literatura [1] Jakub Šťastný. Implementace čítačů v číslicových systémech. DPS Plošné spoje od A do Z, XXXX, str. XXX-XXX. [2] Clifford Cummings. Simulation and synthesis techniques for asynchronous FIFO designs. SNUG San Jose [3] Clive Maxfield. Yet another Gray code conundrum, July 19, printablearticle=true (kontrolováno ) [4] Jakub Šťastný. FPGA Prakticky, BEN Praha [5] Steve Golson. State machine design techniques for Verilog and VHDL, [6] Jiří Adámek. Kódování. Sešit XXXI, matematika pro vysoké školy technické, SNTL [7] Xilinx. Linear Feedback Shift Registers in Virtex Devices: XAPP 210. [8] Xilinx. Efficient Shift Registers, LFSR Counters, and Long Pseudo-Random Sequence Generators: XAPP 052. [9] Tom Balph. LFSR counters implement binary polynomial generators. EDN Design feature, (kontrolováno ) 10

11 1 Úvod Implementace čítačů v číslicových systémech 3 Jakub Šťastný V předchozích článcích byly shrnuty základní vlastnosti čítačů, implementace a výhody a nevýhody všech běžně používaných synchronních čítačů. Poslední část je věnována implementaci asynchronního čítače (ripple counteru) a shrnutí parametrů předvedených konstrukcí. V celém textu označujeme počet registrů udržujících stav čítače jako N, počet stavů jako N s. Jako f clk_max označujeme maximální dosažitelnou pracovní frekvenci čítače, T clk_min =1/f clk_max je pak minimální perioda hodinového cyklu. Zkratkou MHVS budeme označovat počet současně se měnících bitů na sběrnici na výstupu čítače maximální Hammingovu vzdálenost [2] dvou sousedních stavů čítače. 2 Asynchronní binární čítač Doposud jsme prezentovali jen synchronní řešení obvodu čítače. U synchronního čítače se zjednodušeně řečeno překlápí všechny registry současně, všechny registry udržující stav čítače mají jednotný zdroj hodin. V asynchronním čítači se oproti tomu mění stavy jednotlivých registrů jeden po druhém. Asynchronní binární čítač (ripple counter) je ze všech prezentovaných typů čítačů nejmenší pro daný počet stavů. Také dosahuje nejmenší spotřeby a je schopen pracovat na nejvyšší možné f clk_max. Jednoduše ho lze zkonstruovat jako čítající nahoru, či dolů, problematičtější je ale čítání s jiným krokem, než 1. Výhoda malé spotřeby a plochy zabrané obvodem je nicméně vyvážena asynchronním klopením registrů v čítači a složitějším zkracováním čítaného cyklu. Obtížnější je i detekce stavů. Příklad 7 ukazuje asynchronní čítač čítající nahoru, sekvence stavů je uvedena v obrázku 9. Všimněte si, že každý registr užívá jako zdroj hodin předchozí registr v čítači. To posléze vede na zpoždění v překlápění jedotlivých registrů, jak je možné vidět v obrázku 10. Mezi překlopením registrů 0 a 2 zde uplyne cca 1,5 ns a na výstupu čítače se vystřídají stavy 011, 010, 000 a 100. Popsaný jev se v angličtině nazývá ripple (česky bychom řekli řetězová reakce, nebo dominový efekt) a dal čítači jméno. Pro větší počet registrů čítače a vyšší hodinové frekvence se snadno může stát, že ustálení celého čítače nestihne proběhnout do konce hodinové periody. S popsaným chováním je potřeba počítat a skutečné chování asynchronního čítače po implementaci zkontrolovat. Na druhou stranu je ale kritická cesta v asynchronním čítači velmi krátká a tak čítač může typicky pracovat na velmi vysokých hodinových frekvencích bez ohledu na počet jeho registrů. Proto ho bývá užitečné užít například pro čítání událostí s velmi vysokou frekvencí. Zde nám nemusí vadit delší doba ustálení než je perioda hodin, jen je potřeba správně implementovat vzorkování čítače (např. stav čítače číst jen je-li zastaven). Implementace asynchronního čítače čítajícího dolů by byla obdobná s tím rozdílem, že jednotlivé registry musí klopit na náběžnou a nikoliv spádovou hranu výstupu předchozího registru. Asynchronní čítače nejsou příliš vhodné pro programovatelná hradlová pole právě kvůli generování vlastních hodinových signálů; díky obtížnějšímu nastavovaní čítače (preload), které se musí dělat asynchronně a složitější detekci stavů v případě potřeby zkrácení čítacího cyklu ani nejsou doporučenými konstrukcemi pro začínající návrháře. Naopak, při návrhu číslicových obvodů pro zákaznické integrované obvody jsou výhody asynchronního čítače (malá plocha a malá spotřeba) naprosto nedocenitelné. Případná modifikace asynchronního čítače pomocí ECO změny může být dosti obtížná kvůli časovému chování obvodu. 11

12 ARCHITECTURE rtl_ripple OF cnt IS SIGNAL cnt_d : std_logic_vector (N-1 DOWNTO 0 SIGNAL cnt_q : std_logic_vector (N-1 DOWNTO 0 SIGNAL clk_i : std_logic_vector (N-1 DOWNTO 0 g_rp:for index IN 0 TO N-1 GENERATE reg_cnt : PROCESS (clk_i(index), res) IF res='1' THEN cnt_q(index) <= '0'; ELSIF clk_i(index)'event AND clk_i(index)='0' THEN cnt_q(index) <= cnt_d(index END GENERATE g_rp; clk_i <= cnt_q(n-2 DOWNTO 0)&NOT(clk cnt_d <= NOT(cnt_q cnt_out <= cnt_q; END ARCHITECTURE rtl_ripple; Soubor cnt_ripple_sch.png Příklad 7: Asynchronní čítač - RTL kód a schéma. Obrázek 9: Příklad běhu čítače, sekvence stavů 000, 001, 010, 011, 100, 101, 110, 111. Soubor cnt_ripple_rtl.png. Obrázek 10: Příklad běhu čítače, simulace na hradlové úrovni, detail přechodu mezi stavy 011 a 100. Soubor cnt_ripple_gate.png. 3 Shrnutí a závěr Tabulka 2 obsahuje teoretické odhady implementačních parametrů jednotlivých typů čítačů; kvantitativní srovnání parametrů jednotlivých čítačů po implementaci na programovatelném hradlovém poli xc5vlx30-3ff324 je uvedeno v tabulce 3. Z tabulky můžeme učinit následující závěry: U malých čítačů (zde příklad pro 8 stavů) téměř nehraje roli, jaký typ čítače zvolíme. Sčítačky v binárním a Grayově čítači jsou natolik optimalizované a redukované, že jejich zpoždění jsou zanedbatelná proti zpožděním na spojích v obvodu. Johnsonův čítač má proti čítači 1 z N handicap v nutnosti vložit invertor do cesty mezi výstupem druhého a vstupem nultého stavového registru čítače; tato cesta je omezující pro jeho maximální hodinovou frekvenci. Pro středně velké čítače (zde příklad pro 64 stavů) platí celkem dobře to, co jsme uvedli výše. Johnsonův čítač a čítač 1 z N mají téměř shodné maximální hodinové frekvence (minimální perioda se liší jen o 100 ps, vyšší rychlost Johnsonova čítače je zde zjevně způsobena lepším rozmístěním a propojením jeho logických prvků). Oba jsou rychlejší než binární a Grayův čítač. Mírně abnormální vyšší rychlost Grayova čítače proti binárnímu je způsobena dobrou optimalizací kombinační logiky generující příští stav a šikovnějším rozmístěním a propojením. Rozdíl mezi oběma bloky je tak také v řádu 100 ps v délce kritické cesty. U velkých čítačů (1024 stavů pro binární, Grayův, 200 pro 1 z N a 400 pro Johnsonův) se stává použití 12

13 Johnsonova čítače a čítače 1 z N nevýhodné. Zabírají příliš mnoho logických prvků, nicméně jsou oba schopny pracovat na nejvyšší hodinové frekvenci. Grayův čítač vidíme, že je nyní mnohem pomalejší, než binární díky komplexnější logické funkci pro generování příštího stavu. Asynchronní čítač je na první pohled světem sám pro sebe. Musíme rozlišit dva možné způsoby jeho užití. Užijeme-li ho pro čítání událostí, není při správném návrhu třeba vyžadovat jeho ustálení do příchodu další hrany na hodinovém signálu. Pak můžeme čítač ve všech případech provozovat až na frekvenci cca 1,4GHz. Budeme-li chtít asynchronní čítač užít jako náhradu běžného čítače, je nezbytné aby došlo k ustálení čítače před příchodem další hrany hodin; odpovídající perioda a frekvence hodin je uvedena v tabulce v závorce. Zde je patrný lineární nárůst zpoždění s rostoucím počtem registrů v čítači; zpoždění na registr je zhruba 0,6 ns. Závěrem bychom čtenáře rádi upozornili na internetovou stránku [4], na které je k dispozici balíček s přílohou k článku se všemi zdrojovými kódy čítačů. Čítač LUTů DFF Délka kritické cesty Binární O(log 2 N s ) log 2 N s O(log 2 N s ) Johnsonův 1 N s /2 1 Grayův O(log 2 N s ) log 2 N s O(log 2 N s ) 1 z N 0 N s 1 LFSR O(1) log 2 N s O(1) Asynchronní 0 log 2 N s 1 Tabulka 2: Srovnání parametrů jednotlivých čítačů. Zápis O(n) znamená "řádově n", délka kritické cesty je v počtech obecných kombinačních hradel v cestě. Čítač N s LUT DFF f clk_max [MHz]/T clk_min [ns] Binární Grayův Johnsonův 1 z N Asynchronní MHz/0,68 ns MHz/1,07 ns MHz/1,186 ns MHz/0,78 ns MHz/1,04 ns MHz/1,87 ns MHz/0,99 ns MHz/0,89 ns MHz/1,14 ns MHz/0,74 ns MHz/0,99 ns MHz/1,25 ns MHz/0,68 ns (608 MHz/1,64 ns) MHz/0,67 ns (284 MHz/3,52 ns) MHz/0,68 ns (158 MHz/6,31 ns) Tabulka 3: Parametry jednotlivých typů čítačů. 4 Cvičení 1. Implementujte v prostředí ISE univerzální binární čítač z příkladu 1, použijte stejné FPGA jako v našich příkladech. Jak závisí maximální hodinová frekvence na N? Spusťte statickou časovou analýzu pro N=16, zjistěte maximální hodinovou frekvenci, na které čítač může pracovat. Upravte generování signálu pro detekci přetečení následujícím způsobem: 13

14 cnt_ofl <= '1' WHEN signed('0'&cnt_q) >= signed('0'&cnt_limit)- signed('0'&cnt_step) ELSE'0'; Jak se změní po úpravě maximální dosažitelná hodinová frekvence? Jaký má úprava vliv na velikost čítače? 2. Navrhněte generátor sekvence z obrázku 11 podle schématu uvedeného v obrázku 1 s použitím binárního, Johnsonova, 1 z N, LFSR i Grayova čítače a binárního asynchronního čítače. Srovnejte velikosti implementací a dosažitelné f clk_max, pozorujte v simulaci na hradlové úrovni chování výstupů ctrl1 a 2 bloku. Pro který čítač je na nich nejvíce a pro který nejméně zákmitů? Obrázek 11: Sekvence generovaných stavů čítačem. Soubor cviceni.eps. 3. Implementujte asynchronní binární čítač čítající dolů. 5 Doporučená literatura [1] Jakub Šťastný. FPGA prakticky, BEN Praha [2] Hamming Distance. [3] Milan Křemeček. Implementace základních logických funkcí na FPGA, bakalářská práce, FPGA Laboratoř, Katedra teorie obvodů FEL ČVUT v Praze, (kontrolováno ). [4] Jakub Šťastný. FPGA návrh. 14

Implementace čítačů v číslicových systémech 2 Jakub Šťastný ASICentrum, s.r.o. FPGA Laboratoř, Katedra teorie obvodů FEL ČVUT Praha

Implementace čítačů v číslicových systémech 2 Jakub Šťastný ASICentrum, s.r.o. FPGA Laboratoř, Katedra teorie obvodů FEL ČVUT Praha Tento článek je původním rukopisem textu publikovaného v časopise DPS Elektronika A-Z: J. Šťastný. Implementace čítačů v číslicových systémech 2, DPS Plošné spoje od A do Z, no 4, pp. 11-14, 2011. Bez

Více

Cíle. Teoretický úvod

Cíle. Teoretický úvod Předmět Ú Úloha č. 7 BIO - igitální obvody Ú mikroelektroniky Sekvenční logika návrh asynchronních a synchronních binárních čítačů, výhody a nevýhody, využití Student Cíle Funkce čítačů a použití v digitálních

Více

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D. Digitální obvody Doc. Ing. Lukáš Fujcik, Ph.D. Stavové automaty enkódování Proces, který rozhoduje kolik paměťových prvků bude využito v paměťové části. Binární enkódování je nejpoužívanější. j počet stavů

Více

Příklady popisu základních obvodů ve VHDL

Příklady popisu základních obvodů ve VHDL Příklady popisu základních obvodů ve VHDL INP - cvičení 2 Michal Bidlo, 2008 bidlom@fit.vutbr.cz entity Circuit is port ( -- rozhraní obvodu ); end Circuit; Proces architecture Behavioral of Circuit is

Více

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D. Digitální obvody Doc. Ing. Lukáš Fujcik, Ph.D. Klopné obvody jsou nejjednodušší sekvenční součástky Záleží na předcházejícím stavu Asynchronní klopné obvody reagují na změny vstupu okamžitě Synchronní

Více

SEKVENČNÍ LOGICKÉ OBVODY

SEKVENČNÍ LOGICKÉ OBVODY Sekvenční logický obvod je elektronický obvod složený z logických členů. Sekvenční obvod se skládá ze dvou částí kombinační a paměťové. Abychom mohli určit hodnotu výstupní proměnné, je potřeba u sekvenčních

Více

Návrh ovládání zdroje ATX

Návrh ovládání zdroje ATX Návrh ovládání zdroje ATX Zapínání a vypínání PC zdroj ATX se zapíná spojením řídicího signálu \PS_ON se zemí zapnutí PC stiskem tlačítka POWER vypnutí PC (hardwarové) stiskem tlačítka POWER a jeho podržením

Více

Návrh. číslicových obvodů

Návrh. číslicových obvodů Návrh číslicových obvodů SW Aritmetika HW Periférie CPU function AddSub(a,b,s); var c; a b k k a+b mpx c if (s==1) c=a+b; else c=a-b; a-b return c; End; PAMĚŤ s Princip: univerzální stroj Výhoda: univerzalita

Více

Koncept pokročilého návrhu ve VHDL. INP - cvičení 2

Koncept pokročilého návrhu ve VHDL. INP - cvičení 2 Koncept pokročilého návrhu ve VHDL INP - cvičení 2 architecture behv of Cnt is process (CLK,RST,CE) variable value: std_logic_vector(3 downto 0 if (RST = '1') then value := (others => '0' elsif (CLK'event

Více

ASYNCHRONNÍ ČÍTAČE Použité zdroje:

ASYNCHRONNÍ ČÍTAČE Použité zdroje: ASYNCHRONNÍ ČÍTAČE Použité zdroje: Antošová, A., Davídek, V.: Číslicová technika, KOPP, České Budějovice 2007 http://www.edunet.souepl.cz www.sse-lipniknb.cz http://www.dmaster.wz.cz www.spszl.cz http://mikroelektro.utb.cz

Více

1. Seznamte se s výukovou platformou FITkit (http://merlin.fit.vutbr.cz/fitkit/).

1. Seznamte se s výukovou platformou FITkit (http://merlin.fit.vutbr.cz/fitkit/). Zadání: Fakulta informačních technologií VUT v Brně Ústav počítačových systémů Technika personálních počítačů, cvičení ITP FITkit Řízení 7mi-segmentového displeje Úloha č. 3. 1. Seznamte se s výukovou

Více

Cíle. Teoretický úvod. BDIO - Digitální obvody Ústav mikroelektroniky Sekvenční logika - debouncer, čítače, měření doby stisknutí tlačítka Student

Cíle. Teoretický úvod. BDIO - Digitální obvody Ústav mikroelektroniky Sekvenční logika - debouncer, čítače, měření doby stisknutí tlačítka Student Předmět Ústav Úloha č. 9 BIO - igitální obvody Ústav mikroelektroniky Sekvenční logika - debouncer, čítače, měření doby stisknutí tlačítka Student Cíle Pochopení funkce obvodu pro odstranění zákmitů na

Více

Sčítačky Válcový posouvač. Demonstrační cvičení 6

Sčítačky Válcový posouvač. Demonstrační cvičení 6 Sčítačky Válcový posouvač INP Demonstrační cvičení 6 Poloviční sčítačka (Half Adder) A B S C 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 A B HA S C S: A C: A 0 1 0 0 1 0 B 0 1 B S

Více

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D. Digitální obvody Doc. Ing. Lukáš Fujcik, Ph.D. Základní invertor v technologii CMOS dva tranzistory: T1 vodivostní kanál typ N T2 vodivostní kanál typ P při u VST = H nebo L je klidový proud velmi malý

Více

Kódy pro odstranění redundance, pro zabezpečení proti chybám. Demonstrační cvičení 5 INP

Kódy pro odstranění redundance, pro zabezpečení proti chybám. Demonstrační cvičení 5 INP Kódy pro odstranění redundance, pro zabezpečení proti chybám Demonstrační cvičení 5 INP Princip kódování, pojmy Tady potřebujeme informaci zabezpečit, utajit apod. zpráva 000 111 000 0 1 0... kodér dekodér

Více

3. Sekvenční logické obvody

3. Sekvenční logické obvody 3. Sekvenční logické obvody 3. Sekvenční logické obvody - úvod Sledujme chování jednoduchého logického obvodu se zpětnou vazbou 3. Sekvenční logické obvody příklad sekv.o. Příklad sledování polohy vozíku

Více

... sekvenční výstupy. Obr. 1: Obecné schéma stavového automatu

... sekvenční výstupy. Obr. 1: Obecné schéma stavového automatu Předmět Ústav Úloha č. 10 BDIO - Digitální obvody Ústav mikroelektroniky Komplexní příklad - návrh řídicí logiky pro jednoduchý nápojový automat, kombinační + sekvenční logika (stavové automaty) Student

Více

Y36SAP 2007 Y36SAP-4. Logické obvody kombinační a sekvenční používané v číslicovém počítači Sčítačka, půlsčítačka, registr, čítač

Y36SAP 2007 Y36SAP-4. Logické obvody kombinační a sekvenční používané v číslicovém počítači Sčítačka, půlsčítačka, registr, čítač Y36SAP 27 Y36SAP-4 Logické obvody kombinační a sekvenční používané v číslicovém počítači Sčítačka, půlsčítačka, registr, čítač 27-Kubátová Y36SAP-Logické obvody typické Často používané funkce Majorita:

Více

5. Sekvenční logické obvody

5. Sekvenční logické obvody 5. Sekvenční logické obvody 3. Sekvenční logické obvody - úvod Sledujme chování jednoduchého logického obvodu se zpětnou vazbou 3. Sekvenční logické obvody - příklad asynchronního sekvenčního obvodu 3.

Více

Struktura a architektura počítačů (BI-SAP) 4

Struktura a architektura počítačů (BI-SAP) 4 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Struktura a architektura počítačů (BI-SAP) 4 doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii

Více

Souhrn Apendixu A doporučení VHDL

Souhrn Apendixu A doporučení VHDL Fakulta elektrotechniky a informatiky Univerzita Pardubice Souhrn Apendixu A doporučení VHDL Práce ke zkoušce z předmětu Programovatelné logické obvody Jméno: Jiří Paar Datum: 17. 2. 2010 Poznámka k jazyku

Více

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D. Digitální obvody Doc. Ing. Lukáš Fujcik, Ph.D. Realizace kombinačních logických funkcí Realizace kombinační logické funkce = sestavení zapojení obvodu, který ze vstupních proměnných vytvoří výstupní proměnné

Více

Vzorový příklad. Postup v prostředí ISE. Zadání: x 1 x 0 y Rovnicí y = x 1. Přiřazení signálů:

Vzorový příklad. Postup v prostředí ISE. Zadání: x 1 x 0 y Rovnicí y = x 1. Přiřazení signálů: Vzorový příklad. Zadání: Na přípravku realizujte kombinační obvod představující funkci logického součinu dvou vstupů. Mající následující pravdivostní tabulku. x 1 x 0 y 0 0 0 0 1 0 1 0 0 1 1 1 Rovnicí

Více

Logické obvody 10. Neúplné čítače Asynchronní čítače Hazardy v kombinačních obvodech Metastabilita Logické obvody - 10 hazardy 1

Logické obvody 10. Neúplné čítače Asynchronní čítače Hazardy v kombinačních obvodech Metastabilita Logické obvody - 10 hazardy 1 Logické obvody 10 Neúplné čítače Asynchronní čítače Hazardy v kombinačních obvodech Metastabilita 6.12.2007 Logické obvody - 10 hazardy 1 Neúplné čítače Návrh čítače M5 na tabuli v kódu binárním a Grayově

Více

Registry a čítače část 2

Registry a čítače část 2 Registry a čítače část 2 Vypracoval SOU Ohradní Vladimír Jelínek Aktualizace září 2012 Úvod Registry a čítače jsou častým stavebním blokem v číslicových systémech. Jsou založeny na funkci synchronních

Více

Struktura a architektura počítačů (BI-SAP) 3

Struktura a architektura počítačů (BI-SAP) 3 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Struktura a architektura počítačů (BI-SAP) 3 doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii

Více

Vzorový příklad. Postup v prostředí ISE. Zadání: x 1 x 0 y. Rovnicí y = x 1. x 0. Přiřazení signálů: ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

Vzorový příklad. Postup v prostředí ISE. Zadání: x 1 x 0 y. Rovnicí y = x 1. x 0. Přiřazení signálů: ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Vzorový příklad. Zadání: Na přípravku realizujte kombinační obvod představující funkci logického součinu dvou vstupů. Mající následující pravdivostní tabulku. x 1 x 0 y 0 0 0 0 1 0 1 0 0 1 1 1 Rovnicí

Více

Sekvenční logické obvody

Sekvenční logické obvody Sekvenční logické obvody Sekvenční logické obvody - úvod Sledujme chování jednoduchého logického obvodu se zpětnou vazbou Sekvenční obvody - paměťové členy, klopné obvody flip-flop Asynchronní klopné obvody

Více

PROGRAMOVATELNÉ LOGICKÉ OBVODY

PROGRAMOVATELNÉ LOGICKÉ OBVODY PROGRAMOVATELNÉ LOGICKÉ OBVODY (PROGRAMMABLE LOGIC DEVICE PLD) Programovatelné logické obvody jsou číslicové obvody, jejichž logická funkce může být programována uživatelem. Výhody: snížení počtu integrovaných

Více

BDIO - Digitální obvody

BDIO - Digitální obvody BIO - igitální obvody Ústav Úloha č. 6 Ústav mikroelektroniky ekvenční logika klopné obvody,, JK, T, posuvný registr tudent Cíle ozdíl mezi kombinačními a sekvenčními logickými obvody. Objasnit principy

Více

Návrh čítače jako automatu

Návrh čítače jako automatu ávrh čítače jako automatu Domovská URL dokumentu: http://dce.felk.cvut.cz/lsy/cviceni/pdf/citacavrh.pdf Obsah ÁVRH ČÍTAČE JAO AUTOMATU.... SYCHROÍ A ASYCHROÍ AUTOMAT... 2.a. Výstupy automatu mohou být

Více

Pokročilé využití jazyka VHDL. Pavel Lafata

Pokročilé využití jazyka VHDL. Pavel Lafata Pokročilé využití jazyka VHDL Pavel Lafata Autor: Pavel Lafata Název díla: Pokročilé využití jazyka VHDL Zpracoval(a): České vysoké učení technické v Praze Fakulta elektrotechnická Kontaktní adresa: Technická

Více

VY_32_INOVACE_OV_2.ME_CISLICOVA_TECHNIKA_19_SPOJENI KOMBINACNICH_A_SEKVENCNICH_OBVODU Střední odborná škola a Střední odborné učiliště, Dubno

VY_32_INOVACE_OV_2.ME_CISLICOVA_TECHNIKA_19_SPOJENI KOMBINACNICH_A_SEKVENCNICH_OBVODU Střední odborná škola a Střední odborné učiliště, Dubno Číslo projektu Číslo materiálu Název školy Autor Tematická oblast Ročník CZ.1.07/1.5.00/34.0581 VY_32_INOVACE_OV_2.ME_CISLICOVA_TECHNIKA_19_SPOJENI KOMBINACNICH_A_SEKVENCNICH_OBVODU Střední odborná škola

Více

LOGICKÉ SYSTÉMY PRO ŘÍZENÍ

LOGICKÉ SYSTÉMY PRO ŘÍZENÍ ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická LOGICKÉ SYSTÉMY PRO ŘÍZENÍ Doc. Ing. Jiří Bayer, CSc Dr.Ing. Zdeněk Hanzálek Ing. Richard Šusta 2000 Vydavatelství ČVUT Předmluva Skriptum

Více

Návrh asynchronního automatu

Návrh asynchronního automatu Návrh asynchronního automatu Domovská URL dokumentu: http://dce.felk.cvut.cz/lsy/cviceni/pdf/asyn_automat.pdf Obsah DEFINICE AUTOMATU... 2 KROK 1: ZADÁNÍ... 3 KROK 2: ANALÝZA ZADÁNÍ... 3 KROK 3: VYJÁDŘENÍ

Více

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Jiří Douša, katedra číslicového návrhu (K18103), České vysoké učení technické

Více

Úvod do jazyka VHDL. Jan Kořenek korenek@fit.vutbr.cz. Návrh číslicových systémů 2007-2008

Úvod do jazyka VHDL. Jan Kořenek korenek@fit.vutbr.cz. Návrh číslicových systémů 2007-2008 Úvod do jazyka VHDL Návrh číslicových systémů 2007-2008 Jan Kořenek korenek@fit.vutbr.cz Jak popsat číslicový obvod Slovně Navrhněte (číslicový) obvod, který spočte sumu všech členů dané posloupnosti slovní

Více

11. Logické analyzátory. 12. Metodika měření s logickým analyzátorem

11. Logické analyzátory. 12. Metodika měření s logickým analyzátorem +P12 11. Logické analyzátory Základní srovnání logického analyzátoru a číslicového osciloskopu Logický analyzátor blokové schéma, princip funkce Časová analýza, glitch mód a transitional timing, chyba

Více

1 z 16 11.5.2009 11:33 Test: "CIT_04_SLO_30z50" Otázka č. 1 U Mooreova automatu závisí okamžitý výstup Odpověď A: na okamžitém stavu pamětí Odpověď B: na minulém stavu pamětí Odpověď C: na okamžitém stavu

Více

Číselné vyjádření hodnoty. Kolik váží hrouda zlata?

Číselné vyjádření hodnoty. Kolik váží hrouda zlata? Čísla a logika Číselné vyjádření hodnoty Au Kolik váží hrouda zlata? Dekadické vážení Když přidám osmé závaží g, váha se převáží => závaží zase odeberu a začnu přidávat závaží x menší 7 závaží g 2 závaží

Více

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D. Digitální obvody Doc. Ing. Lukáš Fujcik, Ph.D. Obvody s třístavovým výstupem dva tranzistory: vodivostní kanál typ N vodivostní kanál typ P X CS 3 stavový sa výstup Y P logika X 3 stavový výstup W N CS

Více

12. VHDL pro verifikaci - Testbench I

12. VHDL pro verifikaci - Testbench I Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti 12. VHDL pro verifikaci - Testbench I Praktika návrhu číslicových obvodů Dr.-Ing. Martin Novotný Katedra číslicového návrhu Fakulta informačních

Více

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti MI-SOC: 7 ČASOVÁNÍ A SYNCHRONIZACE TECHNICKÉHO VYBAVENÍ doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních

Více

Architektura počítačů Logické obvody

Architektura počítačů Logické obvody Architektura počítačů Logické obvody http://d3s.mff.cuni.cz/teaching/computer_architecture/ Lubomír Bulej bulej@d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Digitální

Více

Úloha 9. Stavové automaty: grafická a textová forma stavového diagramu, příklad: detektory posloupností bitů.

Úloha 9. Stavové automaty: grafická a textová forma stavového diagramu, příklad: detektory posloupností bitů. Úloha 9. Stavové automaty: grafická a textová forma ového diagramu, příklad: detektory posloupností bitů. Zadání 1. Navrhněte detektor posloupnosti 1011 jako ový automat s klopnými obvody typu. 2. Navržený

Více

Architektura počítačů Logické obvody

Architektura počítačů Logické obvody Architektura počítačů Logické obvody http://d3s.mff.cuni.cz/teaching/computer_architecture/ Lubomír Bulej bulej@d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics 2/36 Digitální

Více

Jako pomůcka jsou v pravém dolním rohu vypsány binární kódy čísel od 0 do 15 a binární kódy příkazů, které máme dispozici (obr.21). Obr.

Jako pomůcka jsou v pravém dolním rohu vypsány binární kódy čísel od 0 do 15 a binární kódy příkazů, které máme dispozici (obr.21). Obr. Model procesoru Jedná se o blokové schéma složené z registrů, paměti RAM, programového čítače, instrukčního registru, sčítačky a řídicí jednotky, které jsou propojeny sběrnicemi. Tento model má dva stavy:

Více

Návrh synchronního čítače

Návrh synchronního čítače Návrh synchronního čítače Zadání: Navrhněte synchronní čítač mod 7, který čítá vstupní impulsy na vstupu x. Při návrhu použijte klopné obvody typu -K a maximálně třívstupová hradla typu NAND. Řešení: Čítač

Více

2.9 Čítače. 2.9.1 Úkol měření:

2.9 Čítače. 2.9.1 Úkol měření: 2.9 Čítače 2.9.1 Úkol měření: 1. Zapište si použité přístroje 2. Ověřte časový diagram asynchronního binárního čítače 7493 3. Ověřte zkrácení početního cyklu čítače 7493 4. Zapojte binární čítač ve funkci

Více

Násobičky, Boothovo překódování. Demonstrační cvičení 7

Násobičky, Boothovo překódování. Demonstrační cvičení 7 Násobičky, Boothovo překódování INP Demonstrační cvičení 7 Obsah Princip násobení Sekvenční a kombinační násobička Kombinační násobičky ve VHDL Násobení se znaménkem (FX) Boothovo překódování, VHDL Násobení

Více

Pohled do nitra mikroprocesoru Josef Horálek

Pohled do nitra mikroprocesoru Josef Horálek Pohled do nitra mikroprocesoru Josef Horálek Z čeho vycházíme = Vycházíme z Von Neumannovy architektury = Celý počítač se tak skládá z pěti koncepčních bloků: = Operační paměť = Programový řadič = Aritmeticko-logická

Více

Verifikace pomocí assertions: případové studie Jakub Šťastný ASICentrum, s.r.o. FPGA Laboratoř, Katedra teorie obvodů FEL ČVUT Praha

Verifikace pomocí assertions: případové studie Jakub Šťastný ASICentrum, s.r.o. FPGA Laboratoř, Katedra teorie obvodů FEL ČVUT Praha Tento článek je upraveným původním rukopisem textu publikovaného v časopise DPS Elektronika A-Z: J. Šťastný. Verifikace pomocí assertions: případové studie, DPS Elektronika od A do Z, no 3, pp. 10-13,

Více

Číslicové obvody a jazyk VHDL

Číslicové obvody a jazyk VHDL Číslicové obvody a jazyk VHDL Návrh počítačových systémů 2007-2008 Jan Kořenek korenek@fit.vutbr.cz Proč HW realizace algoritmu Vyšší rychlost paralelní nebo zřetězené zpracování, přizpůsobení výpočetních

Více

Typy a použití klopných obvodů

Typy a použití klopných obvodů Typy a použití klopných obvodů Klopné obvody s hodinovým vstupem mění svůj stav, pokud hodinový vstup má hodnotu =. Přidáním invertoru před hodinový vstup je lze upravit tak, že budou měnit svůj stav tehdy,

Více

Použití programovatelného čítače 8253

Použití programovatelného čítače 8253 Použití programovatelného čítače 8253 Zadání 1) Připojte obvod programovatelný čítač- časovač 8253 k mikropočítači 89C52. Pro čtení bude obvod mapován do prostoru vnější programové (CODE) i datové (XDATA)

Více

Simulace číslicových obvodů na hradlové úrovni: model návrhu Jakub Šťastný ASICentrum, s.r.o. Katedra teorie obvodů FEL ČVUT Praha

Simulace číslicových obvodů na hradlové úrovni: model návrhu Jakub Šťastný ASICentrum, s.r.o. Katedra teorie obvodů FEL ČVUT Praha Tento článek je původním rukopisem textu publikovaného v časopise DPS Elektronika A-Z: J. Šťastný. Simulace číslicových obvodů na hradlové úrovni: model návrhu, DPS Elektronika od A do Z, pp. 6-12, leden/únor

Více

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Jiří Douša, katedra číslicového návrhu (K18103), České vysoké učení technické

Více

7. Popis konečného automatu

7. Popis konečného automatu Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Praktika návrhu číslicových obvodů Dr.-Ing. Martin Novotný Katedra číslicového návrhu Fakulta informačních technologií ČVUT v Praze Miloš

Více

Cíle. Teoretický úvod. BDIO - Digitální obvody Ústav mikroelektroniky Základní logická hradla, Booleova algebra, De Morganovy zákony Student

Cíle. Teoretický úvod. BDIO - Digitální obvody Ústav mikroelektroniky Základní logická hradla, Booleova algebra, De Morganovy zákony Student Předmět Ústav Úloha č. DIO - Digitální obvody Ústav mikroelektroniky Základní logická hradla, ooleova algebra, De Morganovy zákony Student Cíle Porozumění základním logickým hradlům NND, NOR a dalším,

Více

Logické funkce a obvody, zobrazení výstupů

Logické funkce a obvody, zobrazení výstupů Logické funkce a obvody, zobrazení výstupů Digitální obvody (na rozdíl od analogových) využívají jen dvě napěťové úrovně, vyjádřené stavy logické nuly a logické jedničky. Je na nich založeno hodně elektronických

Více

Hardwarová realizace konečných automatů

Hardwarová realizace konečných automatů BI-AAG - Automaty a gramatiky Katedra teoretické informatiky ČVUT FIT 11.1.21 Co potřebujeme Úvod Potřebujeme: zakódovat vstupní abecedu, zakódovat stavy automatu, pamatovat si současný stav, realizovat

Více

Proudové šifry a posuvné registry s lineární zpětnou vazbou

Proudové šifry a posuvné registry s lineární zpětnou vazbou Proudové šifry a posuvné registry s lineární zpětnou vazbou Andrew Kozlík KA MFF UK Proudové šifry Bloková šifra Šifruje velké bloky otevřeného textu. Bloky mají pevnou délku. Velké znamená, že je prakticky

Více

PROGRAMOVATELNÁ LOGICKÁ POLE A JAZYKY HDL

PROGRAMOVATELNÁ LOGICKÁ POLE A JAZYKY HDL PROGRAMOVATELNÁ LOGICKÁ POLE A JAZYKY HDL Doc. Ing. Jaromír Kolouch, CSc. Ústav radioelektroniky FEKT VUT v Brně, Purkyňova 118, kolouch@feec.vutbr.cz Přednáška má přinést informaci o současném stavu v

Více

Technická kybernetika. Obsah. Klopné obvody: Použití klopných obvodů. Sekvenční funkční diagramy. Programovatelné logické automaty.

Technická kybernetika. Obsah. Klopné obvody: Použití klopných obvodů. Sekvenční funkční diagramy. Programovatelné logické automaty. Akademický rok 2016/2017 Připravil: adim Farana Technická kybernetika Klopné obvody, sekvenční funkční diagramy, programovatelné logické automaty 2 Obsah Klopné obvody:. D. JK. Použití klopných obvodů.

Více

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Jiří Douša, katedra číslicového návrhu (K18103), České vysoké učení technické

Více

Digitální technika. Jazyk VHDL, základy návrhu. Ing. Jakub Št astný, Ph.D. 1

Digitální technika. Jazyk VHDL, základy návrhu. Ing. Jakub Št astný, Ph.D. 1 Digitální technika Jazyk VHDL, základy návrhu Ing. Jakub Št astný, Ph.D. 1 1 stastnj1@seznam.cz FPGA laboratory Department of Circuit Theory, FEE CTU Prague Technická 2, Praha 6, 166 27 http://amber.feld.cvut.cz/fpga

Více

Vestavěné diagnostické prostředky 1 (BIST)

Vestavěné diagnostické prostředky 1 (BIST) Vestavěné diagnostické prostředky 1 (BIST) Testování a spolehlivost ZS 2011/2012, 8. přednáška Ing. Petr Fišer, Ph.D. Katedra číslicového návrhu Fakulta informačních technologií ČVUT v Praze Evropský sociální

Více

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti MI-SOC: 2 KOMUNIKACE NAČIPU, LATENCE, PROPUSTNOST, ARCHITEKTURY doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních

Více

Sekvenční logické obvody

Sekvenční logické obvody Název a adresa školy: Střední škola průmyslová a umělecká, Opava, příspěvková organizace, Praskova 399/8, Opava, 746 01 Název operačního programu: OP Vzdělávání pro konkurenceschopnost, oblast podpory

Více

Programovatelné relé Easy (Moeller), Logo (Siemens)

Programovatelné relé Easy (Moeller), Logo (Siemens) Programovatelné Easy (Moeller), Logo (Siemens) Základní způsob programování LOGO Programovaní pomocí P - propojení P s automatem sériovou komunikační linkou - program vytvářen v tzv ovém schématu /ladder

Více

FPGA + mikroprocesorové jádro:

FPGA + mikroprocesorové jádro: Úvod: V tomto dokumentu je stručný popis programovatelných obvodů od firmy ALTERA www.altera.com, které umožňují realizovat číslicové systémy s procesorem v jenom programovatelném integrovaném obvodu (SOPC

Více

Direct Digital Synthesis (DDS)

Direct Digital Synthesis (DDS) ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Ing. Radek Sedláček, Ph.D., katedra měření K13138 Direct Digital Synthesis (DDS) Přímá číslicová syntéza Tyto materiály vznikly za podpory

Více

Jazyk VHDL konstanty, signály a proměnné. Jazyk VHDL paralelní a sekvenční doména. Kurz A0B38FPGA Aplikace hradlových polí

Jazyk VHDL konstanty, signály a proměnné. Jazyk VHDL paralelní a sekvenční doména. Kurz A0B38FPGA Aplikace hradlových polí ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Ing. Radek Sedláček, Ph.D., katedra měření K13138 Jazyk VHDL konstanty, signály a proměnné Jazyk VHDL paralelní a sekvenční doména Kurz A0B38FPGA

Více

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D. Digitální obvody Doc. Ing. Lukáš Fujcik, Ph.D. Synchronní 3-bitový čítač s KO D, asyn. RST a výstupem MAX Vlastnosti: ) Čítač inkrementuje svůj výstup o 2) Změna výstupu nastává vždy při změně náběžné

Více

3. Aritmetika nad F p a F 2

3. Aritmetika nad F p a F 2 3. Aritmetika nad F p a F 2 m Dr.-Ing. Martin Novotný Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze c Martin Novotný, 2011 MI-BHW Bezpečnost a technické

Více

KOMBINAČNÍ LOGICKÉ OBVODY

KOMBINAČNÍ LOGICKÉ OBVODY Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/03.0009 KOMBINAČNÍ LOGICKÉ OBVODY U těchto obvodů je vstup určen jen výhradně kombinací vstupních veličin. Hodnoty

Více

Integrované obvody. Obvody malé, střední a velké integrace Programovatelné obvody

Integrované obvody. Obvody malé, střední a velké integrace Programovatelné obvody Integrované obvody Obvody malé, střední a velké integrace Programovatelné obvody Integrovaný obvod zkratka: IO anglický termín: integrated circuit = IC Co to je? elekrotechnická součástka na malé ploše

Více

Operace ALU. INP 2008 FIT VUT v Brně

Operace ALU. INP 2008 FIT VUT v Brně Operace ALU INP 2008 FIT VUT v Brně 1 Princip ALU (FX) Požadavky: Logické operace Sčítání (v doplňkovém kódu) Posuvy/rotace Násobení ělení B A not AN OR XOR + Y 1) Implementace logických operací je zřejmá

Více

Analogově-číslicové převodníky ( A/D )

Analogově-číslicové převodníky ( A/D ) Analogově-číslicové převodníky ( A/D ) Převodníky analogového signálu v číslicový (zkráceně převodník N/ Č nebo A/D jsou povětšině založeny buď na principu transformace napětí na jinou fyzikální veličinu

Více

Technická kybernetika. Obsah. Principy zobrazení, sběru a uchování dat. Měřicí řetězec. Principy zobrazení, sběru a uchování dat

Technická kybernetika. Obsah. Principy zobrazení, sběru a uchování dat. Měřicí řetězec. Principy zobrazení, sběru a uchování dat Akademický rok 2016/2017 Připravil: Radim Farana Technická kybernetika Principy zobrazení, sběru a uchování dat 2 Obsah Principy zobrazení, sběru a uchování dat strana 3 Snímač Měřicí řetězec Měřicí obvod

Více

Návrh obvodů založených na programovatelných hradlových polích

Návrh obvodů založených na programovatelných hradlových polích 317 Návrh obvodů založených na programovatelných hradlových polích V předchozím článku (Automatizace č. 1/2008, str. 9) jsme se zabývali koncepcí a vlastnostmi programovatelných hradlových polí, jejich

Více

OVLÁDACÍ OBVODY ELEKTRICKÝCH ZAŘÍZENÍ

OVLÁDACÍ OBVODY ELEKTRICKÝCH ZAŘÍZENÍ OVLÁDACÍ OBVODY ELEKTRICKÝCH ZAŘÍZENÍ Odlišnosti silových a ovládacích obvodů Logické funkce ovládacích obvodů Přístrojová realizace logických funkcí Programátory pro řízení procesů Akční členy ovládacích

Více

Způsoby realizace této funkce:

Způsoby realizace této funkce: KOMBINAČNÍ LOGICKÉ OBVODY U těchto obvodů je výstup určen jen výhradně kombinací vstupních veličin. Hodnoty výstupních veličin nezávisejí na předcházejícím stavu logického obvodu, což znamená, že kombinační

Více

Návrh FPGA systémů. Jazyk VHDL, principy simulace. Ing. Jakub Št astný, Ph.D. 1

Návrh FPGA systémů. Jazyk VHDL, principy simulace. Ing. Jakub Št astný, Ph.D. 1 Návrh FPGA systémů Jazyk VHDL, principy simulace Ing. Jakub Št astný, Ph.D. 1 1 stastnj1@seznam.cz FPGA laboratory under the Biosignal processing laboratory Department of Circuit Theory, FEE CTU Prague

Více

4. Elektronické logické členy. Elektronické obvody pro logické členy

4. Elektronické logické členy. Elektronické obvody pro logické členy 4. Elektronické logické členy Kombinační a sekvenční logické funkce a logické členy Elektronické obvody pro logické členy Polovodičové paměti 1 Kombinační logické obvody Způsoby zápisu logických funkcí:

Více

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Jiří Douša, katedra číslicového návrhu (K18103), České vysoké učení technické

Více

Návrh základních kombinačních obvodů: dekodér, enkodér, multiplexor, demultiplexor

Návrh základních kombinačních obvodů: dekodér, enkodér, multiplexor, demultiplexor Předmět Ústv Úloh č. 2 BDIO - Digitální obvody Ústv mikroelektroniky Návrh zákldních kombinčních obvodů: dekodér, enkodér, multiplexor, demultiplexor Student Cíle Porozumění logickým obvodům typu dekodér,

Více

Mikrokontroléry. Doplňující text pro POS K. D. 2001

Mikrokontroléry. Doplňující text pro POS K. D. 2001 Mikrokontroléry Doplňující text pro POS K. D. 2001 Úvod Mikrokontroléry, jinak též označované jako jednočipové mikropočítače, obsahují v jediném pouzdře všechny podstatné části mikropočítače: Řadič a aritmetickou

Více

5. A/Č převodník s postupnou aproximací

5. A/Č převodník s postupnou aproximací 5. A/Č převodník s postupnou aproximací Otázky k úloze domácí příprava a) Máte sebou USB flash-disc? b) Z jakých obvodů se v principu skládá převodník s postupnou aproximací? c) Proč je v zapojení použit

Více

Klopný obvod typu D, dělička dvěma, Johnsonův kruhový čítač

Klopný obvod typu D, dělička dvěma, Johnsonův kruhový čítač FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Klopný obvod typu D, dělička dvěma, Johnsonův kruhový čítač (Řídící elektronika BREB) Autoři textu: doc. Dr. Ing. Miroslav

Více

Přednáška - Čítače. 2013, kat. měření, ČVUT - FEL, Praha J. Fischer. A3B38MMP, 2013, J.Fischer, ČVUT - FEL, kat. měření 1

Přednáška - Čítače. 2013, kat. měření, ČVUT - FEL, Praha J. Fischer. A3B38MMP, 2013, J.Fischer, ČVUT - FEL, kat. měření 1 Přednáška - Čítače 2013, kat. měření, ČVUT - FEL, Praha J. Fischer A3B38MMP, 2013, J.Fischer, ČVUT - FEL, kat. měření 1 Náplň přednášky Čítače v MCU forma, principy činnosti A3B38MMP, 2013, J.Fischer,

Více

Struktura a architektura počítačů

Struktura a architektura počítačů Struktura a architktura počítačů Logické skvnční obvody (bloky) a budič používané v číslicovém počítači Čské vysoké uční tchnické Fakulta lktrotchnická Vr..3 J. Zděnk / M. Chomát 24 st d in d d d 2 d 3

Více

Projekt Pospolu. Sekvenční logické obvody Klopné obvody. Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Jiří Ulrych.

Projekt Pospolu. Sekvenční logické obvody Klopné obvody. Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Jiří Ulrych. Projekt Pospolu Sekvenční logické obvody Klopné obvody Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Jiří Ulrych. Rozlišujeme základní druhy klopných sekvenčních obvodů: Klopný obvod

Více

BI-JPO (Jednotky počítače) Cvičení

BI-JPO (Jednotky počítače) Cvičení BI-JPO (Jednotky počítače) Cvičení Ing. Pavel Kubalík, Ph.D., 2010 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Evropský sociální fond Praha & EU: Investujeme

Více

1 Digitální zdroje. 1.1 Převod digitálních úrovní na analogový signál. Cílem cvičení je osvojení práce s digitálními zdroji signálu.

1 Digitální zdroje. 1.1 Převod digitálních úrovní na analogový signál. Cílem cvičení je osvojení práce s digitálními zdroji signálu. 1 Digitální zdroje Cílem cvičení je osvojení práce s digitálními zdroji signálu. Cíle cvičení Převod digitálních úrovní na analogový signál Digitální zdroj signálu a BCD dekodér Čítač impulsů Dělička frekvence

Více

Struktura a architektura počítačů (BI-SAP) 10

Struktura a architektura počítačů (BI-SAP) 10 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Struktura a architektura počítačů (BI-SAP) 10 doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii

Více

LOGICKÉ OBVODY X36LOB

LOGICKÉ OBVODY X36LOB LOGICKÉ OBVODY X36LOB Doc. Ing. Hana Kubátová, CSc. Katedra počítačů FEL ČVUT v Praze 26.9.2008 Logické obvody - 1 - Úvod 1 Obsah a cíle předmětu Číslicový návrh (digital design) Číslicové obvody logické

Více

Tlačítka. Konektor programování

Tlačítka. Konektor programování Programovatelné logické pole Programovatelné logické pole jsou široce využívanou a efektivní cestou pro realizaci rozsáhlých kombinačních a sekvenčních logických obvodů. Jejich hlavní výhodou je vysoký

Více

Semestrální práce z předmětu Speciální číslicové systémy X31SCS

Semestrální práce z předmětu Speciální číslicové systémy X31SCS Semestrální práce z předmětu Speciální číslicové systémy X31SCS Katedra obvodů DSP16411 ZPRACOVAL: Roman Holubec Školní rok: 2006/2007 Úvod DSP16411 patří do rodiny DSP16411 rozšiřuje DSP16410 o vyšší

Více