7. Popis konečného automatu

Podobné dokumenty
12. VHDL pro verifikaci - Testbench I

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

14. Složitější konstrukce

2. Entity, Architecture, Process

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

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

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

Organizace předmětu, podmínky pro získání klasifikovaného zápočtu

Návrh ovládání zdroje ATX

Návrh. číslicových obvodů

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

1. Seznamte se s výukovou platformou FITkit (

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

Hardwarová realizace konečných automatů

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

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

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

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

Číslicové obvody a jazyk VHDL

Projekt: Přístupový terminál

Cíle. Teoretický úvod

Souhrn Apendixu A doporučení VHDL

5. Sekvenční logické obvody

Struktura a architektura počítačů

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE REALIZACE PŘEKLADAČE I

3. Sekvenční logické obvody

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

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

1 Stručný popis jazyku VHDL

3. Aritmetika nad F p a F 2

Případová studie Řadič I2C rozhraní

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

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

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

Sekvenční logické obvody

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

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


Testování a spolehlivost. 3. Laboratoř Program Atalanta, BIST, testování sekvenčních obvodů

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

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

============ =========== ========== ========= ======== ======= ====== ===== ==== === == = PRAVIDLA PRO PSANÍ SYNTETIZOVATELNÉHO KÓDU

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

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

PROGRAMOVATELNÁ LOGICKÁ POLE A JAZYKY HDL

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

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

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

GENEROVÁNÍ KÓDU 9. SHRNUTÍ - PŘÍKLAD POSTUPU PŘEKLADU VSTUPNÍHO PROGRAMU (ZA POUŽITÍ DOSUD ZNÁMÝCH TECHNIK)

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

Interpret jazyka IFJ2011

Projekt: Přístupový terminál

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

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

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

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

KNIHOVNA LETNI_CAS. edice verze 1.0. Knihovna letni_cas. Ing. Zdeněk Rozehnal MICROPEL s.r.o. 2008

Testování a spolehlivost. 1. Laboratoř Poruchy v číslicových obvodech

9. Praktická verifikace

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

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

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

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

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

Y36SAP Y36SAP-2. Logické obvody kombinační Formy popisu Příklad návrhu Sčítačka Kubátová Y36SAP-Logické obvody 1.

SEKVENČNÍ LOGICKÉ OBVODY

7. Pracovní postupy. Fakulta informačních technologií MI-NFA, zimní semestr 2011/2012 Jan Schmidt

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

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

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

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

PROGRAMOVATELNÉ LOGICKÉ OBVODY

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

České vysoké učení technické v Praze Fakulta elektrotechnická. Automatické generování VHDL kódu pro FPGA

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

Poslední aktualizace: 14. října 2011

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

SYSTÉMY NAČIPU MI-SOC

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č

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE STRUKTURA PŘEKLADAČE

NPRG030 Programování I, 2010/11

NPRG030 Programování I, 2016/17 1 / :58:13

LOGICKÉ SYSTÉMY PRO ŘÍZENÍ

Programovací jazyk Pascal

O datových typech a jejich kontrole

B i b l i o g r a f i c k á c i t a c e

Návod k obsluze výukové desky CPLD

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

LOGICKÉ OBVODY 2 kombinační obvody, minimalizace

Basic256 - úvod do programování Příklady. ing. petr polách

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.

Úvod do problematiky obvodů FPGA pro integrovanou výuku VUT a VŠB-TUO

Konvolučníkódy. MI-AAK(Aritmetika a kódy)

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

Návrh synchronního čítače

Časová a prostorová složitost algoritmů

Knihovna RecDBXLib ZÁZNAMY V DATABOXU TXV

Semestrální práce z předmětu. Jan Bařtipán / A03043 bartipan@studentes.zcu.cz

Transkript:

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š Bečvář, Martin Daněk, Jan Schmidt, Martin Novotný, 2006-2011 1

Podmnožiny jazyka VHDL Zaměříme se na RTL VHDL (červená a zelená oblast) Syntetizovatelný RTL popis VHDL RTL standard podporovaný špičkovými syntézními nástroji (Leonardo, Synopsys, Synplify) Úplný jazyk VHDL použitelný pro simulaci (testbench) podporovaný simulátory (ModelSim) Syntetizovatelný RTL popis Podmnožina RTL VHDL podporovaná levnými syntézními nástroji (Xilinx XST) 2

Popis automatu 3

Konečný automat (FSM) vstup pouze pro Mealy FSM přechodová funkce registr stavu příští stav stav výstupní funkce výstup clk reset 4

Popis FSM ve VHDL Jazyk VHDL nezná pojem automatu. Existuje mnoho způsobů jak popsat FSM ve VHDL. Liší se v tom, jak je reprezentován vnitřní stav, kolik procesů je použito, jestli jsou použity signály nebo proměnné pro uchování vnitřního stavu, atd. Některé syntézní nástroje jsou schopny provádět optimalizace FSM, ale musí automat nejprve rozpoznat. Je proto vhodné použít takový popis, který to usnadní. 5

Metoda se 3 procesy vstup přechodová funkce registr stavu příští stav stav výstupní funkce výstup clk reset Proces 1 (kombinační): přechodová funkce. vstupy: stav a vstup FSM. výstup: příští stav Proces 2 (sekvenční): registr stavu vstupy: příští stav výstup: (aktuální) stav Proces 3 (kombinační): výstupní funkce. vstupy: stav (a případně vstup FSM) výstup: výstup FSM 6

FSM - příklad RnW= 0 Write oe<= 0 ; we<= 1 ; start= 0 start= 1 Addr oe<= 0 ; we<= 0 ; start= 1 Init oe<= 0 ; we<= 0 ; RnW= 1 Read oe<= 1 ; we<= 0 ; Finish oe<= 0 ; we<= 0 ; start= 0 7

Implementace FSM RnW start tranp next_state clkp current_state outp oe we clk reset 8

Definice typu pro vnitřní stav Pro signály obsahující následující a aktuální vnitřní stav FSM je vhodné použít výčtový typ. Zvýší se tím přehlednost popisu FSM. Konkrétní zakódování FSM se určí až v době překladu. Nelze však předepsat chování mimo vyjmenované stavy. type T_STATE is (INIT, ADDR, READ, WRITE, FINISH); signal CURRENT_STATE, NEXT_STATE : T_STATE; definice a použití typu 9

FSM proces 1 TRANP: process (CURRENT_STATE, START, RnW) begin case CURRENT_STATE is when INIT => if START= 1 then NEXT_STATE<=aDDR; else NEXT_STATE<=INIT; end if; when ADDR => if RnW= 0 then NEXT_STATE<=WRITE; else NEXT_STATE<=READ; end if; when READ WRITE => NEXT_STATE<=FINISH; when FINISH => if START= 0 then NEXT_STATE<=INIT; else NEXT_STATE<=FINISH; end if; end case; end process TRANP; CASE IF THEN ELSE 10

FSM proces 2 CLKP: process (CLK) begin if CLK= 1 and CLK EVENT then if RESET= 1 then CURRENT_STATE <= INIT; else CURRENT_STATE <= NEXT_STATE; end if end if; end process CLKP; 11

FSM proces 3 OUTP: process (CURRENT_STATE) begin case CURRENT_STATE is when INIT ADDR FINISH => OE<= 0 ; WE<= 0 ; when READ => OE<= 1 ; WE<= 0 ; when WRITE => OE<= 0 ; WE<= 1 ; end case; end process OUTP; 12