Návrh. číslicových obvodů



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

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

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

Číslicové obvody a jazyk VHDL

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

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

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

1. Seznamte se s výukovou platformou FITkit (

Návrh ovládání zdroje ATX

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

PROGRAMOVATELNÉ LOGICKÉ OBVODY

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

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

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

SYSTÉMY NAČIPU MI-SOC

Souhrn Apendixu A doporučení VHDL

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

FPGA + mikroprocesorové jádro:

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

PROGRAMOVATELNÁ LOGICKÁ POLE A JAZYKY HDL

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

14. Složitější konstrukce

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

Zpracování obrazu v FPGA. Leoš Maršálek ATEsystem s.r.o.

Cíle. Teoretický úvod

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

12. VHDL pro verifikaci - Testbench I

7. Popis konečného automatu

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

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

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

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

Když procesor nestačí, FPGA zaskočí

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

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

Programovatelná logika

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

1 Stručný popis jazyku VHDL

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

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

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

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

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

Vývoj VHDL. Verilog HDL

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

Návod k obsluze výukové desky CPLD

6. Programovatelné struktury. PLA, PAL, PROM, GAL struktury

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

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

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

Tlačítka. Konektor programování

Metody návrhu systémů na bázi FPGA

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010

LOGICKÉ SYSTÉMY PRO ŘÍZENÍ

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

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č

MODERNÍ TRENDY V PROGRAMOVATELNÉ LOGICE, APLIKACE V AUTOMATIZAČNÍ A MĚŘICÍ TECHNICE

PROGRAMOVATELNÁ LOGICKÁ POLE

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

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

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

2. Entity, Architecture, Process

Střední průmyslová škola, Ústí nad Labem, Resslova 5, příspěvková organizace

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

Struktura a architektura počítačů

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

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

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

Vytvoření nového projektu ve vývojovém prostředí Quartus II Version 9.1 Servise Pack 2

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

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

LOGICKÉ OBVODY X36LOB

Workshop. Vývoj embedded aplikací v systému MATLAB a Simulink. Jiří Sehnal sehnal@humusoft.cz. info@humusoft.cz.

Pohled do nitra mikroprocesoru Josef Horálek

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

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

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

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

Jazyk VHDL zápis čísel, znaků a řetězců. Jazyk VHDL základní datové typy a operátory. Kurz A0B38FPGA Aplikace hradlových polí

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

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.

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

Přerušení na PC. Fakulta informačních technologií VUT v Brně Ústav informatiky a výpočetní techniky. Personální počítače, technická péče cvičení

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

9. Praktická verifikace

Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus

Počítač jako elektronické, Číslicové zařízení

Zprovoznění kitu Xilinx Spartan-6 FPGA Industrial Video Processing Kit

SEKVENČNÍ LOGICKÉ OBVODY

3. Aritmetika nad F p a F 2

SPARTAN - 3 Xilinx FPGA Device

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

Algoritmická syntéza. Rychlý návrh DSP systémů. Ing. Jakub Št astný, Ph.D.

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

Vývoj a testování elektronických řídicích jednotek pro automobily

PK Design. MB-XC3SxxxE-TQ144 v1.1. Uživatelský manuál. Základová deska modulárního vývojového systému MVS. Verze dokumentu 1.0 (10.10.

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

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

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

Transkript:

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 Princip: jednoúčelová krabička Výhoda: cena, výkon

SW Generátor tónu HW bitx Periferie CPU Repeat Forever set bitx=1; delay 50ms; set bitx=0; delay 50ms; End; PAMĚŤ t

Ústřední téma počítačového inženýrství je hledání rovnováhy mezi poměrem CENA vs VÝKON: Co je výhodnější implementace dané funkce? Program na univerzálním procesoru nebo speciální HW? Odpověď: závisí na zadání problému, požadavku na výkonnost, počtu vyráběných kusů

Typy číslicových obvodů v číslicovém zařízení 5V 7400 7496 PAL interface 68HC11 FPGA jednoduché IO další prvky jednočipový programovatelné součástky mikropočítač FPGA=Field Programmable Gate Array ASIC=Application Specific Integrated Circuit

Jednoduché integrované obvody Pro realizaci jednoduchých kombinačních a sekvenčních obvodů. Pro realizaci malých sérií vyráběných zařízení.

PAL-PLA-GAL-CLPD (Re)programovatelná zařízení, ale s relativně hodně předdefinovanou strukturou. Pro realizaci složitějších kombinačních obvodů, zejména dekodérů.

PAL

GAL

Př. Sčítačka v GAL20V8 GAL20V8A in:(a[3~0], B[3~0], C[0]), Add.pld io:(c[4~1], S[3~0]) Title: "Four-bit ripple adder" i=3~0: { S[i] = (A[i] + B[i] + C[i])[0] C[i+1] = (A[i] + B[i] + C[i])[1] } GAL20V8 OrCAD/PLD Add.jed Programátor Add.lst naprogramovaný GAL20V8 přiřazení vývodů

Programátor

FPGA programovatelné hradlové pole FPGA pole programovatelných elementů propojovací síť Configurable Logic Block konfigurační paměť RAM Programovatelný spoj Programovatelný I/O Kapacita: miliony hradel! konfigurační data FPGA

Deska s Xilinx FPGA

K čemu jsou FPGA? FPGA Levnější alternativa k ASIC. Pro realizaci složitých číslicových obvodů např. speciálních procesorů, FFT, MPEG (de)komprese IP makro = funkce (komponenta) v SW Lze je konfigurovat přes Internet. Rekonfigurovatelné počítání = v průběhu výpočtu se mění HW!

Co musíme navrhnout při konstrukci číslicového zařízení? Algoritmus řešení úlohy (popsaný pomocí logických funkcí, automatů) Obvodovou realizaci můžeme použít: jednoduché IO programovatelné obvody To vše se dělá (skoro) stejně jako návrh SW. univerzální procesor Desku plošných spojů Konfigurace (algoritmy) programovatelných součástek (PAL, PLA, FPGA) pokud nepoužijeme jednoduché IO Program pro procesor (pokud je použit).

Složitost číslicových zařízení Jednoduché několik malých IO (blikač na vánoční stromeček) Složitější (palubní počítač do auta, karta do sběrnice ISA) s mikrokontrolerem (+návrh programu) s programovatelnými součástkami (+návrh vnitřní konfigurace) Složité (rozhraní ke kameře, filtrace a komprese obrazu) - s FPGA, s dalšími složitými ASIC a standardním rozhraním, např. PCI, ISA musíme navrhnout vnitřní konfiguraci (funkci) FPGA

Tradiční návrh jednoduchých obvodů (bez použití počítače) Nakreslíme schéma zapojení. Nakreslíme rozmístění a propojení součástek na (obvykle jednostranné desce) s plošnými spoji. Vyrobíme desku a osadíme součástky. Zapojení obvykle funguje hned napoprvé. Př. světelné efekty na vánoční stromeček.

Posuvný registr a vánoční stromeček T=0; 21 D D D D D D D D D D clk 1 T=1 T=2 T=9 T=10 T=11 T=12 T=19 T=20

Počítačový návrh složitějšího HW specifikace problému, analýza, návrh logiky, návrh schématu, simulace obvodu, (naprogramování programovatelné součástky), návrh, implementace a oživení prototypu, návrh a realizace plošného spoje, sestavení a oživení finálního zařízení.

7400 8b registry Kreslení schémat a výroba plošných spojů: -OrCAD -Eagle - Ferda Mravenec -Protel GAL karta ISA RAM STISKEM TLAČÍTKA =>

Př. Karta pro podporu návrhu adaptérů pro sběrnici ISA

Vytvoření prototypu Nepájivé kontaktní pole bread board

Vytvoření prototypu univerzální prototypová deska

Návrh s obvody FPGA Zařízení se navrhuje stejně jako v předcházejícím případě. Podstatná část funkce je umístěna v FPGA. Existují speciální techniky a nástroje pro návrh obvodů s využitím FPGA. Zde se HW navrhuje stejně jako SW!

Jazyky pro popis hardware VHDL standard, Verilog Handel-C, System-C knihovny pro C, C++ Poskytují konstrukce jako běžné programovací jazyky definice, cykly, selekce. Musí být možné popsat paralelismus. Vývojové nástroje umožňují editování, překlad, ladění a simulaci obvodu. Obvody se popisují na úrovni strukturální komponenty+vodiče behaviorální popíšeme požadované chování

Jednoduchý kombinační obvod ve VHDL library IEEE; use IEEE.std_logic_1164.all; entity xor4 is port ( i1: in STD_LOGIC; i2: in STD_LOGIC; i3: in STD_LOGIC; i4: in STD_LOGIC; o1: out STD_LOGIC ); end xor4; i1 i2 i3 i4 xor4 XOR o1 architecture xor4 of xor4 is begin o1 <= i1 xor i2 xor i3 xor i4; end xor4;

Dekodér ve VHDL library IEEE; use IEEE.std_logic_1164.all; entity dec3to8 is port ( addr: in STD_LOGIC_VECTOR (2 downto 0); y: out STD_LOGIC_VECTOR (7 downto 0) ); end dec3to8; dec3to8 y architecture dec3to8 of dec3to8 is begin with addr select y <= "10000000" when "111", "01000000" when "110", "00100000" when "101", "00010000" when "100", "00001000" when "011", "00000100" when "010", "00000010" when "001", "00000001" when others; end dec3to8; addr dekodér

Čítač 0000-1001 ve VHDL (behaviorální popis) entity cnt is port ( Q: out STD_LOGIC_VECTOR (3 downto 0); RESET: in STD_LOGIC; clk: in STD_LOGIC ); end cnt; architecture cnt of cnt is begin process (CLK, RESET) variable Qint: STD_LOGIC_VECTOR (3 downto 0); begin if RESET='1' then Qint := "0000"; else if CLK'event and CLK='1' then if Qint<9 then Qint:=Qint+1; else Qint:="0000"; end if; end if; end if; Q <= Qint; end process; end cnt; RESET cnt cnt čítač Q

Simulace obvodu Překlad zdrojových textů. Nastavení hodnot signálů (RESET=0), frekvence hodin (clk=40mhz) apod.

Kroky návrhu pro FPGA Vstup odladěný zdrojový kód (např. ve VHDL) nebo schéma zapojení požadavek na celkové zpoždění, plochu vhodné FPGA (počet CLB, fmax, počet I/O, cena) Syntéza (plně automaticky!) transformace zdrojového kódu na zapojení na úrovni hradel (systém nakreslí schéma zapojení!) optimalizace/minimalizace rozmístění a propojení elementů v FPGA Vygenerování konfiguračního souboru Nahrání konfiguračního souboru do RAM v FPGA

Schéma zapojení vygenerované podle popisu ve VHDL (filtr)

Umístění obvodu na čipu

Propojení obvodu v FPGA

Poznámka na závěr Co by mohli umět absolventi informatiky na ekonomické fakultě: programovat(?) informatiky na PřF OU: programovat, teoretickou informatiku informačních technologií na elektrofakultě: programovat, teoretickou informatiku a navrhovat číslicové obvody