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

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

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

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

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

Cíle. Teoretický úvod

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

Návrh ovládání zdroje ATX

BDIO - Digitální obvody

SEKVENČNÍ LOGICKÉ OBVODY

Návrh. číslicových obvodů

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

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

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

1. Seznamte se s výukovou platformou FITkit (

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

Číslicové obvody a jazyk VHDL

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

12. VHDL pro verifikaci - Testbench I

PROGRAMOVATELNÁ LOGICKÁ POLE A JAZYKY HDL

Úvod do jazyka VHDL. Jan Kořenek Návrh číslicových systémů

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

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

Registry a čítače část 2

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

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

Sekvenční logické obvody

Souhrn Apendixu A doporučení VHDL

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

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

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


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

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

PROGRAMOVATELNÉ LOGICKÉ OBVODY

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

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

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

3. Sekvenční logické obvody

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

7. Popis konečného automatu

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

Struktura a architektura počítačů

1 Stručný popis jazyku VHDL

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

r90>25=.nt>+>7z5n2k<1561/+;5n{.57u07k{16;5=.nt>+>7z5n2k<15n>29l.05,90>2/3k5n2k7,50{10;<o5>/>?ˆ581:+z6,561/+;

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

Sekvenční logické obvody

Logické obvody - sekvenční Formy popisu, konečný automat Příklady návrhu

LOGICKÉ SYSTÉMY PRO ŘÍZENÍ

PODPORA ELEKTRONICKÝCH FOREM VÝUKY

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

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

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

Architektura počítačů Logické obvody

Architektura počítačů Logické obvody

5. Sekvenční logické obvody

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

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

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

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

Konečný automat. Studium chování dynam. Systémů s diskrétním parametrem číslic. Počítae, nervové sys, jazyky...

Číslicové obvody základní pojmy

Typy a použití klopných obvodů

Logické obvody - sekvenční Formy popisu, konečný automat Příklady návrhu

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

Kombinační automaty (logické obvody)

Návrh asynchronního automatu

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

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

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

2. Entity, Architecture, Process

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

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

2. Synchronní číslicové systémy

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

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

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

14. Složitější konstrukce

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

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

Návrh synchronního čítače

Obsah DÍL 1. Předmluva 11

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

Struktura a architektura počítačů

Použití jazyka VHDL pro návrh číslicových obvodů

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

3.7.5 Znaménkové operátory Násobící operátory Rùzné operátory Základní objekty Konstanty Sig

Sylabus kurzu Elektronika

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

Příklad č. 1 Přepis informace ze vstupů (SW0 až SW3) na ledky (LEDG0 až LEDG3)

Zvyšování kvality výuky technických oborů

Prezentace do předmětu Architektury a použití programovatelných obvodů 2

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

Základní znaky. - Ve srovnání se Spice jsou velmi složité a vyžadují dlouhou dobu na plné osvojení. - Velmi nákladné simulační programy.

VY_32_INOVACE_CTE_2.MA_19_Registry posuvné a kruhové. Střední odborná škola a Střední odborné učiliště, Dubno Ing. Miroslav Krýdl

Profilová část maturitní zkoušky 2014/2015

BISTABILNÍ KLOPNÉ OBVODY, ČÍTAČE

Návrh čítače jako automatu

1. 5. Minimalizace logické funkce a implementace do cílového programovatelného obvodu CPLD

Transkript:

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í klopné obvody reagují až na změnu hodinového signálu Klopné obvody: Monostabilní - jeden stabilní stav Bistabilní dva stabilní stavy, v digitální návrhu jsou nejvíce využívané Astabilní žádný stabilní stav Asynchronní bistabilní klopný obvod Asynchronní bistabilní klopný obvod Např. klopný obvod RS Synchronní bistabilní klopný obvod Např. klopný obvod D, JK, T

Asynchronní klopný obvod RS Většinou nebývá součástí technologické knihovny určenou pro syntézu S R n- n- S=,R= zakázaný stav Problematický je přechod S=,R= S=,R=, metastabilní stav Ostatní t přechodyř jsou OK

Synchronní klopný obvod RS aktivní na úroveň hod. signálu clk Většinou nebývá součástí technologické knihovny určenou pro syntézu clk S R x n- n- x x S clk R

Synchronní klopný obvod D aktivní na úroveň hod. signálu clk Bývá součástí technologické knihovny Dlatch častější clk D x n- n nebo

Synchronní kl. obvod D aktivní na náběžnou hranu hod. signálu clk Bývá součástí technologické knihovny D clk nebo D clk D častějšíj x n- clk

Synchronní klopný obvod D funkce při D= a clk

Synchronní klopný obvod D funkce při D= a clk

Synchronní klopný obvod JK Bývá součástí technologické knihovny & J K & D clk clk J K n- nebo n-

Analýza klopného obvodu D - metastabilita Musí být dodržena doba předstihu(t setup ) a přesahu(t hold ) V případě porušení těchto časů dochází k přechodu do metastabilního stavu. Na konci metastabilního stavu klopný obvod přejde ř do stabilního stavu nebo. Ukázka KO typu D řízený ý náběžnou hranou hod. signálu clk t plh t phl t hold t setup

Analýza klopného obvodu D - metastabilita Metastabilní stav se dá představit jako balancování na vrcholku kopce. Obvod teoreticky může setrvávat v metastabilním stavu do nekonečna, ale reálně to není možné.

Analýza klopného obvodu D t D zpoždění KO t out výstupní zpoždění t data zpoždění vstupu data k bodu A t clk zpoždění vstupu clk k bodu B

Analýza klopného obvodu D Příklad : t data = 4.5 ns ; t clk =.5 ns; t setup = ns stabilní / nestabilní Příklad 2: t data = 4.5 ns ; t clk =.5 ns; t hold = 2 ns stabilní / nestabilní

Popis klopného obvodu D typu Latch aktivní na úroveň clk Nedoporučený č popis!!!! Může dojít ke chybě při syntéze tohoto t popisu entity latch is Port ( d,clk : in STD_ LOGIC; q : out STD_LOGIC); end latch; špatně X architecture Behavioral of latch is signal q_int : STD_LOGIC; begin process (clk,d) begin if (clk='') then q_int <= d; else q_int <= q_int; end if; end process; q <= q_int; end Behavioral; clk d & & špatně X q

Popis klopného obvodu D typu Latch aktivní na úroveň clk Doporučenýč popis!!!! entity latch is Port ( d,clk : in STD_LOGIC; q : out STD_LOGIC); end latch; architecture Behavioral of latch is Begin process (clk,d) begin if (clk='') then q <= d; end if; end process; end Behavioral;

Popis klopného obvodu D aktivní na náběžnou hranu clk Doporučenýč popis!!!! Jiným způsobemů tonelze popsat Nejpoužívanější typ klopného obvodu při návrhu digitálních obvodů entity latch is Port ( d,clk : in STD_LOGIC; q : out STD_LOGIC); end latch; architecture Behavioral of latch is Begin process (clk,d) begin if (clk event and clk=') then q <= d; end if; end process; end Behavioral; D clk lklk

KO D aktivní na náběžnou hranu clk s asynchronním reset Doporučenýč popis!!!! Nedoporučený popis!!!! entity latch is Port ( d,clk,rst : in STD_LOGIC; q : out STD_LOGIC); end latch; entity latch is Port ( d,clk,rst : in STD_LOGIC; q : out STD_LOGIC); end latch; architecture Behavioral of latch is Begin process (rst,clk) begin if rst='' then q <= ''; elsif (clk event and clk='') then q <= d; end if; end process; end Behavioral; architecture Behavioral of latch is Begin process (rst,clk) begin if rst='' then q <= ''; else if (clk event and clk='') then q <= d; end if; end if; end process; end Behavioral;

KO D aktivní na náběžnou hranu clk se synchronním reset Doporučenýč popis!!!! entity DFF is Port ( d,clk,rst : in STD_LOGIC; q : out STD_LOGIC); end DFF ; architecture t Behavioral of DFF is Begin process (clk) begin if (clk event and clk='') then if (rst='') then q <= ''; else q <= d; end if; end if; end process; end Behavioral;

záchytný N-bitový registr s KO D s asynchronním resetem entity DFF is Generic (N : integer :=8); Port (clk,rst: in STD_LOGIC; d : in STD_LOGIC_VECTOR(N- downto ); q : out STD_LOGIC_VECTOR(N- downto )); end DFF ; architecture Behavioral of DFF is Begin process (rst,clk) begin if rst='' then q <= (others=>''); elsif (clk event and clk='') then q <= d; end if; end process; end Behavioral;

KO JK aktivní na náběžnou hranu clk Doporučenýč popis!!!! entity jkff is Port ( j, k, clk : in STD_LOGIC; q : out STD_ LOGIC); end jkff; architecture Behavioral of jkff is signal jk: std_logic_vector( downto ); signal q_ int : std_ logic; begin jk <= J & K; process(clk) begin end if; end process; q <= q_int; end Behavioral; if (clk event and clk='') then case jk is when "" => q_int <= ''; when "" => q_ int <= ''; when "" => q_int <= not q_int; when others => q_int <= q_int; end case;

Posuvné registry Kaskádní zapojení klopných obvodů D Vyžívají se např. při komunikaci po sériové lince apod. Lze vytvářet různé modifikace s paralelními vstupy, obousměrné apod. din 2 3 D D D D dout clk n clk n clk n clk n clk musí platit tyto podmínky: t t D h t t + clk D t s

Posuvný registr v jazyku VHDL Je zde využita jedna vlastnost procesu jaká??? Bude záležet na pořadí řádků v samotném procesu??? entity shift_reg is Port ( clk : in STD_LOGIC; din : in STD_LOGIC; dout : out STD_LOGIC); end shift_reg; architecture Behavioral of shift_reg is signal q : std_logic_vector(3 downto ); begin process (clk) begin if (clk'event and clk='') then q() <= din; q() <= q(); q(2) <= q(); q(3) <= q(2); end if; end process; dout <= q(3); end Behavioral;

Čítače Obvody sloužící í k čítaníí požadované sekvence, děličky kmitočtu apod. Inkrementace nebo dekrementace je libovolná záleží na zadání Rozdělují senaasynchronní a synchronní Asynchronní čítače Hodinový signál clk je přiveden na první klopný obvod Jsou méně využívány Asynchronní čítače jsou vhodné pro nenáročné aplikace na čas Lze je poskládat např. skotypud Nevýhodou je příliš velké zpoždění!!! Výhodou je malá plocha pouze klopné obvody!!! Synchronní čítače Hodinový signál clk je přiveden na všechny klopné obvody Nevýhodou je příliš velká plocha klop. obvody i komb. obvody!!! Výhodou je dosažení velkých pracovních kmitočtů

Asynchronní čítač s klop. obvody D Asynchronní čítačč vpředř a vzad clk clk 2 2 2 3 4 5 6 7 7 6 5 4 3 2

Synchronní čítače Vycházejme z obecného zapojení oddělená paměťové a kombinační č část. Klopné obvody D jsou nejvyuživanější Pomocí tohoto schématu se navrhují všechny složitější synchronní sekvenční logické systémy stavové automaty (pozdější přednáška).........

Příklad: synchronní 3-bitový čítač skod Vlastnosti: ) Čítač inkrementuje svůj výstup o 2) Změna výstupu nastává vždy při změně náběžné hrany hodinového signálu 3-bitový synchronní čítač 3 clk Možnosti realizace: ) Diskrétní dig. součástky minimalizace, realizace pomocí diskrétních digitálních součástek řady 74.. nebo 4.. 2) Obvod CPLD nebo FPGA není potřeba minimalizace, ace, realizace ace vnávrhovém systému ISE Webpack v jazyce VHDL do obvodu CPLD nebo FPGA (návrhový systém má v sobě zabudované minimalizační a optimalizační algoritmy) 3) Behaviorální popis p + obvod CPLD nebo FPGA behaviorální popis p systému v jazyce VHDL, není potřeba tabulka stavů (převod v ISE WebPack)

Příklad: synchronní 3-bitový čítač s KO D

Příklad: synchronní 3-bitový čítač s KO D

Příklad: synchronní 3-bitový čítač s KO D Příklad: synchronní 3-bitový čítač s KO D ) 3-bitový synchronní čítač stavový automat, u kterého jsou ) ý y ý, j výstupy přímo vyvedeny ze sekvenční části (KO D) 2) Jedná se o stavový automat Moorova typu 2 2 2 D Neminimalizované funkce Současný stav Následující stav 2 2 2 2 2 D + + + + = 2 2 D + + = stav Současný stav (buzení) 2 D2 D D s 2 2 D + + = 2 2 2 2 D + + + + = s s2 s3 2 2 + + Minimalizované funkce domácí s3 s4 s5 Minimalizované funkce domácí úkol s6 s7

Příklad: synchronní 3-bitový čítač s KO D ) Možnost realizovat minimalizované funkce z tabulky stavů 2) Možnost realizovat přímo z tabulky stavů (minimalizační a optimalizační algoritmy zabudované v ISE WebPack) entity counter is Port ( clk : in STD_LOGIC; : inout STD_LOGIC_VECTOR (2 downto )); end counter; architecture t Behavioral of counter is signal D : STD_LOGIC_VECTOR (2 downto ); -- vnitrni -- signal pro buzeni sekvencni casti begin -- kombinacni cast D(2) <= (not (2) and () and ()) or ((2) and not () and not ()) or ((2) and not () and ()) or ((2) and () and not ()); Programovatelné logické obvody

Příklad: synchronní 3-bitový čítač s KO D D() <= (not (2) and not () and ()) or (not (2) and () and not ()) or ((2) and not () and ()) or ((2) and () and not ()); D() <= (not (2) and not () and not ()) or (not (2) and () and not ()) or ((2) and not () and not ()) or ((2) and () and not ()); -- sekvencni cast process (clk) begin if (clk event and clk= ) then end if; end process; end Behavioral; <= D; Programovatelné logické obvody

Příklad: synchronní 3-bitový čítač s KO D - Behaviorální popis s využitím inkrementace signálu o nejúspornější popis, ale vhodný pro jednoduché popisy. Je vhodnější oddělit sekvenční a kombinační část (2 a více procesů) entity counter is Port ( clk : in STD_LOGIC; : out STD_LOGIC_VECTOR (2 downto )); end counter; architecture Behavioral of counter is signal q_int : STD_LOGIC_VECTOR (2 downto ); Begin process (clk) begin if (clk event and clk= ) then q_int <= q_int + ; end if; end process; <= q_int; end Behavioral; Programovatelné logické obvody

Příklad: synchronní 3-bitový čítač s KO D Doporučený styl zápisu!!! entity counter is Port ( clk : in STD_LOGIC; : out STD_LOGIC_VECTOR (2 downto )); end counter; architecture Behavioral of counter is signal d_int,q_reg : STD_LOGIC_VECTOR (2 downto ); begin -- oddelena pametova cast process (clk) komb. logika begin d_int() if (clk event and clk= ) then end if; end process; q_ reg <= d_ int; d_int() paměťová část D q_reg() CLK q_reg() D () () -- oddelena kombinanci cast process (q_reg) begin d_ int <= q_ reg + ; end process; <= q_reg; end Behavioral; Programovatelné logické obvody clk Komb. logika d_int(2) D CLK CLK q_reg(2) (2)

Příklad: synchronní 3-bitový čítač s KO D - Schéma po syntéze komb. logika paměťová část D D 2 2 CLK & & & D D výstupy & CLK & & D2 D 2 & CLK clk

Příklad: synchronní 3-bitový čítač s KO D Obvody CPLD, FPGA, jazyk VHDL - Simulace Výsledky syntézy: ) Ve všech případech popisu 3-bitového čítače v jazyce VHDL dojde ke stejnému výsledku syntézy!!!!!!! 2) Návrhový systém rozpozná danou konstrukci jako 3-bitový synchronní čítač.

Jazyk VHDL - dobrá reference http://toolbox.xilinx.com/docsan/3_i/data/fise/xst/chap2/xst2.htm

ISE WebPack IP cores Automaticky generované funkční bloky Od základních bloků po složité bloky pro zpracování signálů, komunikační rozhraní apod. Ukázka generování IP coru a vložení do schematického návrhu