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

Podobné dokumenty
DIGITÁLN LNÍ OBVODY A MIKROPROCESORY 1. ZÁKLADNÍ POJMY DIGITÁLNÍ TECHNIKY

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

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

Programovatelná logika

Návrh. číslicových obvodů

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

PROGRAMOVATELNÉ LOGICKÉ OBVODY

PROGRAMOVATELNÁ LOGICKÁ POLE

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

Vývoj VHDL. Verilog HDL

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

Pohled do nitra mikroprocesoru Josef Horálek

XC3000(A) / XC3100(A)

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

SYSTÉMY NAČIPU MI-SOC

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

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

PROGRAMOVATELNÁ LOGICKÁ POLE A JAZYKY HDL

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

12. Booleova algebra, logická funkce určitá a neurčitá, realizace logických funkcí, binární kódy pro algebraické operace.

Zákaznické obvody 1. ASIC 2. PLD 3. FPGA. Ondřej Novák O. Novák: CIE9 1

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

Architektura počítačů Logické obvody

Číslicové obvody základní pojmy

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

LOGICKÉ OBVODY 2 kombinační obvody, minimalizace

Booleova algebra. ZákonyBooleovy algebry Vyjádření logických funkcí

Základní pojmy. Program: Algoritmus zapsaný v programovacím jazyce, který řeší nějaký konkrétní úkol. Jedná se o posloupnost instrukcí.

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

Architektura počítačů Logické obvody

FPGA + mikroprocesorové jádro:

Binární logika Osnova kurzu

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

Když procesor nestačí, FPGA zaskočí

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

Logické řízení. Náplň výuky

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ MEII KOMBINAČNÍ LOGICKÉ OBVODY

Návrh systémů s digitálními integrovanými obvody a mikroprocesory pro integrovanou výuku VUT a VŠB-TUO

2. LOGICKÉ OBVODY. Kombinační logické obvody

Obsah DÍL 1. Předmluva 11

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

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

Úvod do informačních technologií

Souhrn Apendixu A doporučení VHDL

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

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

Algoritmizace a programování

Číslicové obvody a jazyk VHDL

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

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

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

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

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

C2115 Praktický úvod do superpočítání

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

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

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

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

Cíle. Teoretický úvod

MODERNIZACE VÝUKY PŘEDMĚTU ELEKTRICKÁ MĚŘENÍ

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

1 Stručný popis jazyku VHDL

Úvod do informačních technologií

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

3. REALIZACE KOMBINAČNÍCH LOGICKÝCH FUNKCÍ

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

PJC Cvičení #2. Číselné soustavy a binární reprezentace proměnných

Logické proměnné a logické funkce

KOMBINAČNÍ LOGICKÉ OBVODY

P4 LOGICKÉ OBVODY. I. Kombinační Logické obvody

Stanovit nezbytná pravidla pro tvorbu dokumentace vytvářenou ve SITRONICS centru využitelnou firmou SITRONICS TS.

Základy číslicové techniky z, zk

SPARTAN - 3 Xilinx FPGA Device

LOGICKÉ OBVODY X36LOB

FPGA intimně. Marek Vašut March 6, 2016

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

Způsoby realizace této funkce:

SČÍTAČKA, LOGICKÉ OBVODY ÚVOD TEORIE

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

Integrovaná střední škola, Sokolnice 496

KOMBINAČNÍ LOGICKÉ OBVODY

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

LOGICKÉ ŘÍZENÍ. Matematický základ logického řízení

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ. MEIII Paměti konstant

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony.

2.7 Binární sčítačka Úkol měření:

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

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

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

Návod k obsluze výukové desky CPLD

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

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

Fz =a z + a z +...+a z +a z =

Architektury počítačů

Profilová část maturitní zkoušky 2017/2018

DIGITÁLNÍ OBVODY A MIKROPROCESORY

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

Dělení pamětí Volatilní paměti Nevolatilní paměti. Miroslav Flídr Počítačové systémy LS /11- Západočeská univerzita v Plzni

Aritmetické operace a obvody pro jejich realizaci

Transkript:

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

Základní pojmy digitální techniky Abstrakce v digitální technice: signály se pokládají za skokově proměnné, v nejjednodušším případě dvě možné hodnoty logická jednička log. 1 1 logická nula log. 0 0

Základní pojmy digitální techniky Digitální systémy systémy kombinační, u nichž hodnoty výstupních veličin závisí jen na okamžitém stavu vstupních veličin, systémy sekvenční, kde hodnoty výstupních veličin závisí i na předchozích hodnotách vstupních veličin, obsahují paměť.

Číselné soustavy a kódy Přirozené číslo F Z lze obecně vyjádřit základem Z pomocí koeficientů nebo číslic a i základ 2 se symboly 0 a 1, základ 10 se symboly 0, 1,, 8, 9, základ 8 (oktalový) se symboly 0, 1,, 6, 7, základ 16 se symboly 0, 1,, 8, 9, A, B, C, D, E, F.

Číselné soustavy a kódy

Číselné soustavy a kódy Kontrola výpočtu pomocí Hornerova schématu v obou soustavách: F Z = 1*2 0 + 1*2 1 + 1*2 2 + 0*2 3 + 0*2 4 + 1*2 5 + 0*2 6 + + 0*2 7 + 1*2 8 + 1*2 9 + 1*2 10 = = 1 + 2 + 4 + 0 + 0 + 32 + 0 + 0 + 256 + 512 + 1024 = = 1831 D F Z = 7*16 0 + 2*16 1 + 7*16 2 = 7 + 32 + 1792 = 1831 D

Vyjádření záporných čísel ve dvojkovém kódu Dvojkový doplněk Absolutní hodnotu záporného dekadického čísla vyjádříme ve dvojkovém kódu vytvoříme první dvojkový doplněk (negace jednotlivých bitů) k tomuto číslu přičteme 1 a získáme zápornou hodnotu ve dvojkovém doplňkovém kódu (druhý doplněk)

Základní logická hradla

Kombinační logická funkce Úplně určená kombinační logická funkce taková funkce, jejíž definiční obor zahrnuje všechny kombinace vstupních proměnných. Neúplně určené kombinační logická funkce její definiční obor nezahrnuje některé tyto kombinace. Kombinační logické funkce jedné vstupní proměnné

Kombinační logická funkce Kombinační logické funkce dvou vstupních proměnných

Zápis kombinační logické funkce Dva základní způsoby zápisu funkce: 1. Součet součinů (Sum of Products, SOP) Pro úplné termy (= mintermy) - úplný součtový tvar zápisu Pro některé neúplné termy - zkrácený (zjednodušený) součtový tvar zápisu. 2. Součin součtů (Product of Sums, POS) Pro úplné termy (= maxtermy) - úplný součinový tvar zápisu Pro některé neúplné termy - zkrácený (zjednodušený) součinový tvar zápisu. Realizace kombinační logické funkce minimální tvary zápisu

Zjednodušování zápisu kombinačních logických funkcí Realizace logických funkcí - například pomocí digitálních integrovaných obvodů řady 74 - obvykle vycházíme z minimálního tvaru zápisu funkce, který získáme z jiných tvarů zjednodušením (minimalizací). Zjednodušování algebraické úpravy, Karnaughovy mapy, počítačové metody (např. Quineho a McCluskeyho - převod metody Karnaughovy mapy do algoritmického vyjádření). Minimalizace úplně určených funkcí Při zjednodušování pomocí algebraických úprav využíváme nejčastěji vztahu a + a =1 Obsahuje-li logická funkce zapsaná v součtovém tvaru dva termy, které se vzájemně liší jen v jedné proměnné, je možno zbývající proměnné z jejich součtu vytknout

Zobrazení kombinační logické funkce pomocí mapy Karnaughova mapa - upravený způsob zápisu pravdivostní tabulky buňky mapy = řádky tabulky stavové indexy sousedních buněk se v binární soustavě liší vždy v hodnotě jedné vstupní proměnné 0 1 3 2 0000 0001 0011 0010 4 5 7 6 u t s 0100 0101 0111 0110 C D F E r 1100 1101 1111 1110 8 9 B A 1000 1001 1011 1010 Karnaughova mapa pro čtyři vstupní proměnné

Způsoby realizace číslicových (sub)systémů Číslicové IO základních řad (74.., 4000 atd.) Mikrokontroléry a mikropočítače Programovatelné obvody PLD a FPGA pro menší série digitálních obvodů levnější než ASIC návrh digitálního obvodu je prováděn využitím HDL jazyků Obvody ASIC (Aplication Specified Integrated Circuit) velké série digitálních obvodů pro smíšené analogově-digitální obvody vysoké nároky na spolehlivost návrh digitálního obvodu je částečně zautomatizován využitím HDL jazyků

Návrh digitálních integrovaných obvodů

Návrh digitálních integrovaných obvodů

Návrh digitálních integrovaných obvodů abstrakce návrhu

Proč použít obvod FPGA a CPLD? Na dostatečně veliké FPGA lze soustředit více funkcí => není potřeba tolik pouzder a menší místo na DPS. Pro zpracování velkých datových toků, výpočetně náročné algoritmy (audio, video apod.). Implementace algoritmů, které nejsou ještě normalizovány. Později lze vyrobit ASIC. Zde se vyplatí i výroba větších sérií ( výhoda na trhu). Všude, kde je potřeba speciální HW a kvůli velikosti série se nevyplatí ASIC.

Jak vybírat obvod FPGA/CPLD? 1. Charakter operací prováděných obvodem FPGA/CPLD FPGA/CPLD má být určeno pro řízení komunikace? FPGA/CPLD má provádět velké množství výpočtu? Výrobci nabízejí různé typy obvodů podle charakteru použití 2. Velikost a rychlost budoucího obvodu Počet ekvivalentních hradel (u FPGA je potřeba být opatrný) Speed grade 3. Počet vstupních a výstupních signálů (I/O signals) 4. Spolehlivost finální aplikace větší teplotní rozsah, radiační odolnost, obvody pro automobilový průmysl 5. Spotřeba energie nízkopříkonové aplikace 6. Zabezpečení intelektuálního vlastnictví

Historie programovatelných obvodů První programovatelné paměti typu PROM (firma Radiation, 1970) Zákaznicky programovatelných verzí EPROM (Intel, 1971) a EEPROM (Intel, 1978) Permanentní paměti jako takové ale neumožňovaly nikdy příliš úspornou realizaci logické funkce. Vznik obvodů FPLA (Signetics/Philips, 1970) Vznikla koncepce obvodů PAL (Monolithic Memories, 1978) s programovatelnou maticí AND a pevnou maticí OR Vznikly obvody CPLD (Altera, 1988). Obvody FPGA ( Xilinx, 1984) liší se od stávajících Nové architektury postavené na principu kombinace procesoru a programovatelného hradlového pole (například MathStar FPOA)

Jazyk VHDL VHDL představuje akronym VHSIC Hardware Description Language, VHSIC Very High Speed Inegrated Circuits Původně určen pro modelovaní a simulaci rozsáhlých systémů Otevřený standard (Open Standard) k jeho použití není potřeba licence, jak je to u jiných jazyků HDL (např. ABEL) Možnost pracovat na návrhu, aniž je předtím zvolen cílový obvod (Device-independent design) Přenositelnost (Portability) Jazyk VHDL byl přijat jako standard IEEE číslo 1076 v roce 1987 jako VHDL-87 Upravená verze standardu byla přijata v roce 1993 jako VHDL- 93 Nový standard z 90. let zahrnuje možnost popisu analogových prvků jako VHDL-AMS (VHDL Analog and Mixed Signals) HDL jazyky - VHDL, Verilog, Verilog A, ABEL atd.

Rozdělení PLD obvodů CPLD Xilinx, Lattice, Altera atd. Obvody řady 9500XL firmy Xilinx Obvody řady CoolRunner firmy Xilinx Obvody plsi a isplsi firmy Lattice Pro rozsáhlejší aplikace než klasické obvody PLD (GAL) FPGA Xilinx, Lattice, Altera atd. Obvody Spartan I, II, III firmy Xilinx Obvody Virtex I, II firmy Xilinx Pro rozsáhlejší aplikace

Typy struktur programovatelných obvodů PLD výchozí struktura pro obvody PLD: PROM - stupeň AND je zapojen pevně, stupeň OR je programovatelný obvody PLD se strukturou: PAL - stupeň AND je programovatelný, stupeň OR je zapojen pevně PLA - oba stupně jsou programovatelné Obsahuje dvě programovatelné pole Je flexibilnější než struktura PAL Možnost sdílení společných termů více makrobuňkami Obvody CPLD např. řada CoolRunner firmy Xilinx obvody FPGA (Field-programmable logic array)

Struktura PAL

Struktura PLA

CPLD XC9500XL - blokové schéma (IOB) (SM)

CPLD XC9500XL - funkční blok

CPLD XC9500XL - makrobuňka

FPGA FPGA Programovatelné obvody založené na bázi SRAM Porovnání s CPLD: více hradel, rychlejší, rekonfigurovatelné. Obsah se ztratí po odpojení napájení. Porovnání s ASIC: méně hradel, pomalejší, ale levnější v malých sériích

FPGA Virtex II firmy Xilinx 8 milionů hradel Základní prvek je CLB (konfigurovatelná logická buňka) 3 Mb dual-port RAM Možnost implementace interní 3-stavové sběrnice Dedikované 18x18 bitové násobičky DDR IO interface DCM - management hodinových signálů 16 rozvodů hodinových signálů

Návrhové systémy Xilinx, Altera, Mentor Graphics atd. WebPack volně stažitelný Modelování, simulace, syntéza Inteligence, vyzrálost návrhových systémů optimalizace Syntéza jeden z nejdůležitějších procesů, optimalizace, eliminace nadbytečné logiky

Syntéza, implementace a konfigurace Typickými procesy pro návrhový systém Xilinx ISE je syntéza, implementace, simulace a vytvoření programového souboru Syntéza vytvoření netlistu tj. zapojení obvodových prvků, tedy vlastně vytvoření schématu s obvodovými prvky. Optimalizace. Netlist se zapisuje nejčastěji ve formátu EDIF. Implementace zahrnuje několik kroků, který vyústí popisem, který je určen pro vypálení nebo pro vytvoření tzv. bitstreamu pro FPGA. Důležíté jsou kroky Fitting (PLD) a Mapping a Placeand-Route (FPGA) Mapping přiřazení obvod. prvků se syntézy konkrétním prvkům obsažených v cílovém obvodu (analogie výběr součástek pro DPS) Placement (rozmístění) a Routing (propojení) Výsledkem implementace je simulační model je doplněn o časové parametry propojení a prvků Konfigurace programování konkrétního cílového obvodu

Ověření funkce a zjištění časových parametrů Funkční simulace Pracuje na úrovni RTL (Register Transfer Level behaviorální úroveň) Zjištění zda obvod správně funguje bez ohledu na časové parametry Není většinou závislá na cílovém obvodu Funkční simulace se provádí před dalším zpracováním návrhu Časová simulace Využívá model generovaný systémem při implementaci Model může zahrnovat konkrétní parametry cílového obvodu a je respektováno výsledné propojení jeho strukturálních prvků Časovou simulací získáme poměrně přesné a podrobné údaje o časových poměrech Bývá časově náročnější než funkční simulace Simulátory, které mají vlastnosti provádět časovou simulaci, jsou velmi složité a drahé programové celky

Základní struktura modelu v jazyku VHDL Konstrukce (model) v jazyku VHDL má 2 základní části: Deklarace entity (entity declaration) Tělo architektury (popis dig. systému)

Deklarace entity Popisuje vstupy a výstupy konstrukce Brány (Ports) klíčové slovo PORT, jsou to signály Deklarace brány se skládá jméno brány, módu (mode) a typ dat Módy IN, OUT, BUFFER, INOUT BUFFER může činit problémy při kompilaci a simulaci, doporučeno nepoužívat BUFFER můžeme nahradit pomocí módu OUT a pak musíme definovat vnitřní signál (dostupný uvnitř obvodu)- v těle architektury INOUT pro obousměrné vtupy/výstupy Generic volitelná sekce. Parametrizace entity. Při každém použití Entity je možné měnit Generic parametr.

Tělo architektury Architektura popisuje funkci konstrukce Různé popisy architektury: Strukturální spočívá ve vkládání komponent (Component), nejčastěji se používá v hierarchickém uspořádání konstrukce jako popis propojení dílčích bloků nižší úrovně Tok dat (Data flow) používá souběžné příkazy Behaviorální používá zejména sekvenční příkazy K jedné deklaraci entity může být přiřazeno i více architektur Více architektur se akceptuje pouze v simulaci V syntéze bývá uvažována pouze 1 architektura (první) Před slovem BEGIN může být deklarativní část (Declarative part) Za slovem BEGIN následuje příkazová část (Statement part)

Datové objekty Konstanty (constants) CONSTANT Width: integer := 3; CONSTANT delay : time := 10 ns; Pomocný datový objekt při syntéze a simulaci Signály (signals) skutečně se v konstrukci vyskytují může jím být přiřazena počáteční hodnota (pro simulaci) Proměnné (variables) Soubory (files)

Operátory VHDL určené pro syntézu Kategorie operátoru Symbol Popis Logické Relační = /= > < >= <= Aritmetické + - * / AND OR NAND NOR XOR XNOR NOT Rovnost Nerovnost Větší než Menší než Menší nebo roven Větší nebo roven Součet Rozdíl Násobení Dělení Slučování & Sloučení