Návrh číslicových obvodů
Transkript
Návrh číslicových obvodů SW Aritmetika HW Periférie a CPU b k k a+b function AddSub(a,b,s); c mpx var c; if (s==1) c=a+b; a-b else c=a-b; return c; End; PAMĚŤ Princip: univerzální stroj Výhoda: univerzalita s 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í interface 5V 7400 7496 68HC11 jednoduché IO PAL FPGA další prvky programovatelné součástky jednočipový FPGA=Field Programmable Gate Array mikropočítač 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 naprogramovaný GAL20V8 Add.lst přiřazení vývodů Programátor FPGA – programovatelné hradlové pole FPGA pole programovatelných elementů propojovací síť Configurable Logic Block konfigurační paměť Programovatelný spoj RAM 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 – univerzální procesor To vše se dělá (skoro) stejně jako návrh SW. • 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í. Kreslení schémat a výroba plošných spojů: - OrCAD - Eagle - Ferda Mravenec - Protel 7400 8b registry 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 port ( i1: i2: i3: i4: o1: ); end xor4; is in STD_LOGIC; in STD_LOGIC; in STD_LOGIC; in STD_LOGIC; out STD_LOGIC architecture xor4 of xor4 is begin o1 <= i1 xor i2 xor i3 xor i4; end xor4; xor4 i1 i2 i3 i4 o1 XOR Dekodér ve VHDL library IEEE; use IEEE.std_logic_1164.all; dec3to8 entity dec3to8 is port ( addr: in STD_LOGIC_VECTOR (2 downto 0); y: out STD_LOGIC_VECTOR (7 downto 0) ); end dec3to8; 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; y 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; cnt Q RESET cnt čítač 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
Podobné dokumenty
Digitální stupnice a FLL pro BiTX
Na základě konstrukce KC4ZVW přepracoval OK2UWQ (layout, úprava SW).
Perspectives of Using Motorola 8-bit Microcontrollers for
k širšímu praktickému využívání moderních metod teorie automatického řízení. Tento trend je
podpořen pokračujícím růstem výkonu a miniaturizací prostředků výpočetní techniky, která
umožňuje realizo...
MIKROPOČÍTAČE
datový registr paměti – slouží k uložení informací (dat nebo instrukcí)
přenášených mezi hlavní pamětí a CPU,
1. Úvod - SofCon
Deska digitálních vstupů s optrony IODIO01 je určena pro galvanické oddělení
průmyslové logiky od mikropočítačového systému KITV40. Optická izolace zajišťuje
zvýšení odolnosti řídícího systému prot...
Slídy z přednášky
jednoduché sdílení, univerzální formát
• jednodušší opětovné použití
• přenositelnost–nástroje,techlib
• VHDL, Verilog, SystemVerilog, System-C (běžně
08_stavebnicove_a_rekonfigurovatelne_stroje
Přes probíhající krizi se v Miláně prezentovalo několik desítek výrobců strojů s vícepolohovým otočným
bubnem nebo stolem, speciálních strojů, linek a jednotek určených pro stavbu těchto strojů. Př...
emBeacon: Bluetooth maják s EM9301
emBeacon vs iBeacon?
Vznik emBeacon byl inspirován technologií iBeacon od firmy Apple. iBeacon
umožňuje lokalizaci a interakci mobilních zařízení v určitém prostoru [2]. Příkladem mohou být někter...
Jednoduchý SSB transceiver pro pásmo 14MHz
Vstupní filtr je zapojen jako pásmová propust a slouží k filtraci signálů z antény a tím
k omezení nežádoucích signálů, které by mohly rušit příjem. Kvalita vstupního filtru má vliv
na vstupní citl...
Adactech-2014-CZ-pro email
veden pouze teflonem), laky (s jednorázovými jehlami),
nebo dokonce UV-lepidla (s ochranou proti UV záření). Produkt je uložen v teflonové lahvi. Dostupné jsou následující
objemy: 5, 60, 120 cm³