Návrh číslicových obvodů

Komentáře

Transkript

Návrh číslicových obvodů
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

Digitální stupnice a FLL pro BiTX Na základě konstrukce KC4ZVW přepracoval OK2UWQ (layout, úprava SW).

Více

Perspectives of Using Motorola 8-bit Microcontrollers for

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...

Více

MIKROPOČÍTAČE

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,

Více

1. Úvod - SofCon

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...

Více

Slídy z přednášky

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ě

Více

08_stavebnicove_a_rekonfigurovatelne_stroje

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ř...

Více

emBeacon: Bluetooth maják s EM9301

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...

Více

Jednoduchý SSB transceiver pro pásmo 14MHz

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...

Více

Adactech-2014-CZ-pro email

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³

Více