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



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

Návrh ovládání zdroje ATX

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

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

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

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

Návrh. číslicových obvodů

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

Fakulta informačních technologií VUT v Brně Ústav počítačových systémů Technika personálních počítačů, cvičení ITP Služby ROM BIOS a BootRom

12. VHDL pro verifikaci - Testbench I

Cíle. Teoretický úvod

Vysoké učení technické v Brně Fakulta informačních technologií ITP Technika personálních počítačů Služby ROM BIOS a BootROM

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

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

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

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

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

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

Návod k obsluze výukové desky CPLD

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

Číslicové obvody a jazyk VHDL

CO JE STAVOVÝ AUTOMAT

7. Popis konečného automatu

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

Projekt: Přístupový terminál

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

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

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

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

Vysoké učení technické v Brně Fakulta informačních technologií ITP Technika personálních počítačů Rozhraní PS/2

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

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

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

Registry a čítače část 2

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

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

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

Práce v návrhovém prostředí Xilinx ISE WebPack 9.2i

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

Střední průmyslová škola a Vyšší odborná škola, Hrabákova 271, Příbram. III / 2 = Inovace a zkvalitnění výuky prostřednictvím ICT

Projekt: Přístupový terminál

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.

1 Stručný popis jazyku VHDL

PROGRAMOVATELNÁ LOGICKÁ POLE A JAZYKY HDL

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

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

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

2. Entity, Architecture, Process

Praktické úlohy- 2.oblast zaměření

14. Složitější konstrukce

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

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

Příloha č. I: Schéma zapojení vývojové desky PVK-PRO

Práce v návrhovém prostředí Xilinx ISE WebPack 12 BDOM UMEL FEKT Šteffan Pavel

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

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

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

Práce v návrhovém prostředí Xilinx ISE WebPack 10.1 BDOM UMEL FEKT Šteffan Pavel

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

VŠB - Technická univerzita Ostrava. Fakulta elektrotechniky a informatiky

Střední průmyslová škola a Vyšší odborná škola, Hrabákova 271, Příbram. III / 2 = Inovace a zkvalitnění výuky prostřednictvím ICT

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

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA ELEKTROTECHNICKÁ KATEDRA ŘÍDICÍ TECHNIKY BAKALÁŘSKÁ PRÁCE

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

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

Maturitní témata - PRT 4M

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

Elektronická stavebnice: Teploměr s frekvenčním výstupem

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

PicoBlaze lekce 4: Aplikace pro výuku asembleru procesoru PicoBlaze Jiří Svozil, Jaroslav Stejskal, Leoš Kafka, Jiří Kadlec

Datum zadání: Datum a forma odevzdání: do :59, POUZE přes IS FIT, 4 soubory

České vysoké učení technické v Praze. Univerzální excitační jednotka pro vývoj fluxgate senzorů

PORTY ZLÍNSKÝ KRAJ. Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště

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

Rozšiřující desce s dalšími paralelními porty Rozšiřující desce s motorkem Elektrickém zapojení Principu činnosti Způsobu programování

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

Použití UART a radia na platformě micro:bit

Firmware řídící jednotky stejnosměrného generátoru

IPZ laboratoře. Analýza komunikace na sběrnici USB L305. Cvičící: Straka Martin, Šimek Václav, Kaštil Jan. Cvičení 2

Architektura počítačů

Arduino Martin Friedl

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

EduKit84. Výuková deska s programátorem pro mikrokontroléry PIC16F84A firmy Microchip. Uživatelská příručka

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

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ

SYSTÉMY NAČIPU MI-SOC

Kryptoanalýza šifry PRESENT pomocí rekonfigurovatelného hardware COPACOBANA

Střední průmyslová škola a Vyšší odborná škola, Hrabákova 271, Příbram. III / 2 = Inovace a zkvalitnění výuky prostřednictvím ICT

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

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

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

Návod k obsluze [CZ] VMS 08 Heineken. Řídící jednotka pro přesné měření spotřeby nápojů. Verze: 1.1 Datum: Vypracoval: Vilímek

Zadání semestrálního projektu

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ LABORATORNÍ PŘÍPRAVEK PRO VÝVOJ APLIKACÍ OBVODŮ CPLD FIRMY ALTERA

Sekvenční logické obvody

Metody připojování periferií BI-MPP Přednáška 1

OPERAČNÍ PROGRAM PRAHA ADAPTABILITA & EU:

Transkript:

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 platformou FITkit (http://merlin.fit.vutbr.cz/fitkit/). 2. Prostudujte zapojení LED displeje a způsob připojení k FITkitu prostřednictvím pinheaderu. 3. Prostudujte zdrojové kódy v šabloně top_level.vhd. 4. Doplňte chybějící VHDL kód čítače a dekodéru do šablony top_level.vhd. 5. Proveďte simulaci Vašeho návrhu prostřednictvím vhodného programu (ModelSim, QDevKit, ) 6. Proveďte syntézu vašeho návrhu do FITkitu a ověřte funkčnost Vaší implementace na připojeném LED displeji. 7. Modifikujte zadání podle Vaší fantazie (časování, dekrementace hodnot, ).

Blokové schéma desky FITkit Propojky J8, J9 tvoří pár. Pokud jsou vyjmuty, provede se reset MCU a MCU začne běžet bez nutnosti mít spuštěn terminál. Při programování musí být obě propojky uzavřeny. Propojky J11 a J12 slouží k připojení MCU k sériovému portu, který poskytuje USB převodník. Pokud jsou vyjmuty, nebude možné komunikovat s MCU pomocí terminálu. Schéma propojení LED displeje s FITKitem

Schéma propojení segmentovky

Entita tlv_pc_ifc Entita tlv_pc_ifc je určena pro aplikace, které přistupují k následujícím rozhraním: VGA, PS2, RS232. Aby se aktivoval příslušný budič, musí být zkratována propojka J6. Část sběrnice označená jako (Pinheaders), která není využita pro výše uvedené periferie (kontrétně piny 0-26), je přístupná přes signál X. Synchronizace je řízena přes hodiny SMCLK, resetování přes signál RESET. Obrázek 2.2: Entita tlv_pc_ifc Postup práce: 1. Prostudujte možnosti popisu číslicového systémů a prostředky jazyka VHDL. 2. Důkladně nastudujte způsob připojení LED displeje k FITkitu a princip zobrazení čísel na displeji. 3. Prostudujte ovládání aplikace QDevKit pro práci s FITkitem. 4. Rozbalte soubor (šablonu) z E:\FITkit\LEDsablona\7segment.zip do pracovního adresáře C:\apps (musí vzniknout platná cesta C:\apps\itp\...). Tato šablona obsahuje důležité části VHDL kódu, který využijete při řešení úlohy. Části viditelně označené komentáři v souboru top_level.vhd je třeba doplnit. Důkladně šablonu prostudujte, analyzujte a snažte se pochopit její chování viz příloha. Pro editaci šablony můžete využít prostředí ModelSim nebo Xilinx ISE. 5. Prostudujte, jak se popisuje binární čítač v jazyce VHDL a vhodně doplňte zdrojové kódy čítače do šablony. 6. Prostudujte, jak se popisuje dekodér v jazyce VHDL a vhodně doplňte zdrojové kódy dekodéru pro zobrazení příslušné číslice na LED displeji. 7. Hotový návrh čítače simulujte s využitím aplikace QDevKit a ModelSim. 8. Ověřte funkčnost Vašeho návrhu syntézou do FITkitu přes aplikaci QDevKit. 9. Dle vlastního uvážení modifikujte návrh na dekrementační čítače s různou rychlostí čítání.

Architektura top_level.vhd: architecture main of tlv_gp_ifc is type t_cntrarr is array (7 downto 0) of std_logic_vector(3 downto 0); signal cnt_reg : std_logic_vector(23 downto 0) := (others => '0'); signal cnt_mxreg : std_logic_vector(16 downto 0); signal cmp_cnt_eq : std_logic; signal shreg : std_logic_vector(3 downto 0); signal segdec : std_logic_vector(7 downto 0); signal cntrs_out : t_cntrarr; signal cntrs_en : std_logic_vector(8 downto 0); signal cntrs_lv : std_logic_vector(7 downto 0); signal mx_cntr : std_logic_vector(3 downto 0); begin LEDF <= cnt_reg(21); --synchronni citac s asynchronnim nulovanim, pouziva se povolovaci signal pro kaskadu citace, urcuje okamzik, kdy dojde ke zvyseni hodnoty process(reset, SMCLK) begin!!! ZDE DOPSAT KÓD ČÍTAČE!!! - (uplatní se signály: cnt_reg, cmp_cnt_eq) end process; --delitel 1843200 odpovida casovaní 250ms cmp_cnt_eq <= '1' when (cnt_reg = conv_std_logic_vector(1843200, 23)) else '0'; -- synchronni citac s asynchronnim nulovanim, pouziva se pro generovani signalu pro multiplexovani displeju, frekvence X*100Hz (kde X je pocet segmentu) 100Hz odpovida deliteli 73728 process(reset, SMCLK) begin if (RESET = '1') then cnt_mxreg <= (others => '0'); shreg <= "0001"; elsif SMCLK'event and SMCLK = '1' then if (cnt_mxreg = conv_std_logic_vector(73728/4,17)) then cnt_mxreg <= (others => '0'); shreg <= shreg(2 downto 0) & shreg(3); else cnt_mxreg <= cnt_mxreg + 1; end if; end if; end process; --pole BCD citacu (kazdy cita od 0 do 9) cntrs_en(0) <= cmp_cnt_eq; counters:for i in 0 to 7 generate counter: entity work.counter generic map (0, 9) port map ( CLK => SMCLK, RESET => reset, EN => cntrs_en(i), DATA_OUT => cntrs_out(i), LAST_VAL => cntrs_lv(i)); cntrs_en(i+1) <= cntrs_en(i) and cntrs_lv(i); end generate;

--posouvání číslic po segmentech mx_cntr <= cntrs_out(1) when shreg(1)='1' else cntrs_out(2) when shreg(2)='1' else cntrs_out(3) when shreg(3)='1' else cntrs_out(0); --segdec - prirazeni bitu cislice jednotlivym ledkam segmentu with conv_integer(mx_cntr) select segdec <= "10000000" when others;!!! ZDE DOPLNIT DEKODER ČÍSLIC přiřazení bitů číslicím!!! -- na LED pripojen 23. bit citace, hodnota se zmeni kazdych 4 194 304 hodinovych taktu X(12) <= '0' when shreg(0) = '1' else 'Z'; X(14) <= '0' when shreg(1) = '1' else 'Z'; X(16) <= '0' when shreg(2) = '1' else 'Z'; X(18) <= '0' when shreg(3) = '1' else 'Z'; X(20) <= segdec(5); --f X(22) <= segdec(6); --g X(24) <= segdec(0); --a X(26) <= segdec(1); --b X(28) <= segdec(7); --tecka X(30) <= segdec(4); --e X(32) <= segdec(3); --d X(34) <= segdec(2); --c end main;