Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Integrovan é obvody
Obvody malé, střední a velkéintegrace
Programovatelné obvody
Integrovaný obvod• zkratka: IO• anglický termín: integrated circuit = IC
Co to je?• elekrotechnická součástka
– na malé ploše čipu (křemíkového plátku) velikosti řádově několik cm2 je integrováno (soustředěno) velké množství aktivních i pasivních součástek; spolu tvoří elektrický obvod (vykonávají společnou funkci)
• zejména tranzistorů, diod, rezistorů• kondenzátory a indukčnosti se realizují obtížně
– počet součástek může být v řádu od desítek ažpo několik miliónů
– čip je zapouzdřen v plastovém nebo keramickém pouzdru, na okrajích pouzdra jsou vyvedeny „nožičky“ (piny)
• cíl návrhářů:– zvyšovat počet součástek na jednotkovou
plochu čipu (zvyšovat stupeň integrace)
• stupeň integrace se udává:– počtem tranzistorů– počtem tzv. ekvivalentních hradel
• kolik běžných diskrétních hradel bychom potřebovali k realizaci daného obvodu
• stupeň integrace závisí na zvládnutétechnologii– při návrhu IO návrháři umísťují součástky a
vodivé cesty do rastru• dnes typicky 45 nm
– součástky a cesty jsou na čipu ve více vrstvách
• více úrovní metalizace
Ukázka integrovaného obvodu
Dělení integrovaných obvodů
dělení z hlediska technologie výroby• hybridní integrované obvody
– historické, dnes se již nepoužívají
– miniaturní plošný spoj je osazen miniaturními diskrétními součástkami
• monolitické integrované obvody– obvod je vytvořen z monolitického bloku
krystalu křemíku
Pouzdra integrovaných obvodů
• na použitém pouzdru závisejí tepelné (a tím i výkonové) vlastnosti integrovaného obvodu a cena– plastové pouzdro je výrobně levnější, ale
hůře odvádí teplo– keramické pouzdro je dražší, ale lépe odvádí
teplo
• příkon obvodů technologie CMOS závisíkvadraticky na frekvenci hodinového signálu
Používaná pouzdra
„Klasická“• pouzdra se umísťují do patic nebo se
pájejí do plošek s otvorem
– DIP (DIL) - Dual in Line Package• vývody po obou stranách pouzdra
Pouzdro DIP
Povrchová montáž• SMT – Surface Montage Technology
– technologie povrchové montáže– princip: součástky SMD (Surface Monage
Device) jsou připájeny (nebo přilepeny vodivým lepidlem) na plo šky bez otvor ů
Pouzdro SOP
Dělení obvodů podle stupně integrace
• obvody malé integrace– small scale integration - SSI
• obvody st řední integrace – middle scale integration - MSI
• obvody velk é integrace – large scale integration - LSI
• obvody velmi velk é integrace – very large scale integration - VLSI
Poznámky:• dnes se začíná hovořit o obvodech ULSI
– Ultra Large Scale Integration
• hranice mezi kategoriemi a názvy kategoriíse mohou lišit v různé literatuře
Obvody malé integrace SSI
• na ploše čipu jednotky, max. desítky hradel• hlavní období nasazení: konec 60. let, 70. léta
• stále se vyrábějí (cena za obvod do 20 Kč)• dnešní oblast použití
– pomocné obvody k obvodům vyšší integrace (zejména k jednočipovým mikropočítačům) v tzv. embeded aplikacích (dálkové ovladače, ovládacípanely spotřební elektroniky
• do této kategorie patří nejstarší obvody z řady 74xx a CMOS 4000, jako 7400, 7402, 7420, 7474, 74125
Některé obvody SSI
Příklady aplikace obvodu SSI:• rozsvěcování výkonové LED
– pin procesoru není schopen dodat dostatečný proud
– použijeme pro napájení LED obvod 74125, což je výkonový třístavový budič, a zapojíme jej mezi pin procesoru (obvod VLSI) a diodu.
• dlouhé vodiče sběrnice na desce plošných spojů– použijeme k vybuzení obvodu 74245 (8x
třístavový výkonový obousměrný budičsběrnice)
Obvody st řední integrace MSI
• na plo še čipu desítky až stovky hradel• multiplexory, demultiplexory, komparátory,
vícebitové klopné obvody (registry), posuvnéregistry, čítače, dekodéry a jednoduchéaritmetické obvody (např. čtyřbitová sčítačka) aj.– na zásuvné kartě ISA do počítače PC z počátku 90.
let nalezneme ještě asi polovinu obvodů MSI
• dnešní uplatnění: stejné jako u obvodů maléintegrace– doplňkové obvody
Některé obvody MSI
Dekodér pro 7-segmentovou jednotku(7449)
Dekodér
b0
b1
b2
b3
ABCDEFG
Pravdivostní tabulka dekodéru– segment svítí, je-li na jeho vstupu log. 0
(jednotka konstruována se společnou anodou)
b 3 b 2 b 1 b 0 A B C D E F G
0 0 0 0 0 0 0 0 0 0 10 0 0 1 1 0 0 1 1 1 10 0 1 0 0 0 1 0 0 1 00 0 1 1 0 0 0 0 1 1 00 1 0 0 1 0 0 1 1 0 00 1 0 1 0 1 0 0 1 0 00 1 1 0 0 1 0 0 0 0 00 1 1 1 0 0 0 1 1 1 11 0 0 0 0 0 0 0 0 0 01 0 0 1 0 0 0 0 1 0 0
Příklad aplikace obvodu MSI:• zobrazení cifer na dvou sedmisegment.
jednotkách– použijeme posuvné registry
Multiplexor• významný kombinační obvod z kategorie
MSI• používá se jako stavební blok při návrhu
obvodů VLSI (procesorů)• zkratka: MPX, MUX• česky: selektor dat• funkce:
– vybírá na výstup o jeden z n datových vstupůi0 až in-1
– počet vstupů je roven mocnině dvou– výběr se určuje řídicími signály s
Příklad:• schématická značka 4-vstupového MPX
• pravdivostní tabulka
• rovnice a vnitřní schéma
Příklad:• obvod 74151 – osmivstupový
multiplexor
Použití• výběr zdroje dat pro aritmetickou
jednotku počítače
Demultiplexor/dekodér
• obvod s opačnou funkcí než multiplexor• funkce:
– vstup i je kopírován na jeden z n výstupů o0až on-1
– počet výstupů je roven určité mocnině dvou, výběr výstupu se určuje řídicími signály
– ostatní nevybrané výstupy mají zpravidla hodnotu log. 0
Použití:• dekodér adresy
Příklad:• obvod 74138 – dekodér s osmi výstupy
Pravdivostní tabulka demultiplexoru:
Využití demultiplexoru jako dekodéru adresy
R0
R1
R2
R3
8vstupní data
S0S1
A0A1
E0E1E2E3
povolení zápisu
demultiplexor/dekodér
D0-D7
Obvody velk é integrace a velmi velk é integrace
• LSI - tisíce až statisíce hradel
• VLSI – až milióny hradel (tranzistorů)– první procesor Pentium měl asi 5 mil. tranzistorů na čipu
– obvod Virtex 7 od firmy XILINX má 6,8 miliard tranzistorů na čipu
• obvody VLSI mohou být– univerzální – procesory– speciální – řadiče graf. karet, řídicí obvody do letadel
vyrobené na přání zákazníka
Dělení obvodů VLSI
• plně zákaznické– zákazník si navrhne obvod zcela sám,
výrobce jej vyrobí (velmi drahé)
• polozákaznické– zákazník používá při návrhu obvodu
prefabrikované bloky– ASIC – aplikačně specifické integrované
obvody
• speciální: programovatelné obvody zákazníkem
Programovatelné obvody
• univerzální číslicové obvody, funkci určuje zákazník
• obecné označení – PLD– Programmable Logic Devices
• obsahují základní logické členy, vodiče a mezi nimi programovatelné propojovacíprvky (spínací tranzistory)
• princip: zákazník ve speciálním software nakreslí schéma, sw jej zpracuje (syntéza), výsledkem jsou konfiguračnídata pro obvod
Jazyky pro popis digit. obvod ů
• dnes už návrháři schéma obvodů nekreslí– zdlouhavé, pomalé
• popisují zapojení a chování číslicových obvodůve speciálních jazycích pro popis hardware– software (syntezátor) provede minimalizaci funkcí,
optimalizaci– výstupem jsou konfigurační data pro programovatelný
obvod nebo data pro výrobu čipu (obrázek spoje čipu)
• návrhář digitálních obvodů je spíš dnes programátorem
Jazyky pro popis digit. obvod ů
Dva nejpoužívanější jazyky:• VHDL
– VHSIC Hardware Description Language– odvozen od jazyka ADA a Pascal– rozšířen zejména v Evropě
• Verilog– odvozen od jazyka C
– rozšířen v USA
Popis dekodéru ve VHDL• nejprve popíšeme obvod jako „krabičku“ se vstupy a výstupy
entity dekoder isPort ( b0 : in std_logic;
b1 : in std_logic;b2 : in std_logic;b3 : in std_logic;A : out std_logic;B : out std_logic;C : out std_logic;D : out std_logic;E : out std_logic;F : out std_logic;G : out std_logic
);end dekoder;
Popis dekodéru ve VHDL• pak popíšeme chování rovnicemi
architecture Behavioral of dekoder is
begin
...
C <= (not b0 and b1 and not b2);
E <= b0 or (not b1 and b2);
...
end Behavioral;
Popis dekodéru ve VHDL• nemusíme rovnice vytvářet, stačí přepsat
tabulku, rovnice vytvoří software sám
Popis dekodéru ve VHDLarchitecture Behavioral of segmentovka issignal vstup: std_logic_vector(3 downto 0);signal vystup: std_logic_vector(6 downto 0);
beginvstup <= (b3,b2,b1,b0);with vstup selectvystup <= "0000001" when "0000",
"1001111" when "0001","0010010" when "0010","0000110" when "0011","1001100" when "0100","0100100" when "0101","0100000" when "0110","0001111" when "0111","0000000" when "1000","0000100" when "1001","XXXXXXX" when others;
A <= vystup(6); B <= vystup(5); C <= vystup(4); D <= vystup(3);E <= vystup(2); F <= vystup(1); G <= vystup(0);
end Behavioral;