Programozás és digitális technika II. Logikai áramkörök Pógár István pogari@eng.unideb.hu Debrecen, 2016
Gyakorlatok célja 1. Digitális tervezés alapfogalmainak megismerése 2. A legelterjedtebb FPGA-k belső felépítéseinek megismerése 3. A VHDL nyelv megismerése 4. Xilinx fejelsztői környezet megismerése 5. Egyszerűbb elektronikai eszközök modellezésének elsajátítása
Irodalomjegyzék 1. Richard E. Haskell, Darrin M. Hanna: Digital Design using Digilent FPGA Boards 75+ VHDL Examples 2. Jain R.P., - Digital electronics and microprocessors-problems and solutions, Tata McGraw-Hill New Delhi, 1988. 3. Jones N.B., Watson J.M.Mck., - Digital signal processing: principles, devices and applications, McGraw Hill, 1990. 4. Katz H.R., Boriello G., Contemporaly logic design, 2 nd edition, Pearson Prentice Hall, Upper Saddle River, NJ, 2005. 5. Millman J., - Microelectronics: digital and analog circuits and systems, McGraw-Hill Book Company, New York, 1979. 6. Nelson V.P., Nagle H.T., Caroll B.D., Irwin D., - Digital logic circuit analysis and design, Prentice hall, 1995. 7. Wakerly J.F., - Digital design principles and practices (3 rd edition), Cisco Systems Inc., Stanford University, 1994. 8. Whitaker J., - The electronics handbook, CRC Press and IEEE Press, Beaverton, Oregon, 1996.
Digitális logika 1948. június 17. a tranzisztor szabadalma SSI 1960-as évek eleje Small-scale integrated circuits < 100 tranzisztor MSI 1960-as évek vége Több száz tranzisztor LSI 1970-es évekközepe Néhány ezer tranzisztor VLSI 1980-as évek eleje > 100 000 tranzisztor Programozás és digitális technika II
Probléma 1. Hogyan lehet megoldani ennyi tranzisztor együttműködését? 2. Tervezés korábbi módja: 1. Rajz 3. Napjainkban: 1. Szövegesen HDL (Hardware Description Language) 1. VHDL 2. Verilog Programozás és digitális technika II
1. NOT kapu 1. Invertálást valósítja meg 2. VHDL jelölés: y <= not x 3. Egyéb jelölés: y = ~x Programozás és digitális technika II
2. AND kapu 1. VHDL jelölés: z <= y and x 2. Egyéb jelölés: z = y & x Programozás és digitális technika II
3. OR kapu 1. VHDL jelölés: z <= y or x 2. Egyéb jelölés: z = y x Programozás és digitális technika II
4. NAND kapu 1. VHDL jelölés: z <= y nand x Programozás és digitális technika II
5. NOR kapu 1. VHDL jelölés: z <= y nor x Programozás és digitális technika II
6. XOR kapu 1. VHDL jelölés: z <= y xor x Programozás és digitális technika II
7. XNOR kapu 1. VHDL jelölés: z <= y xnor x Programozás és digitális technika II
Programozás és digitális technika II
Programozás és digitális technika II
Programozás és digitális technika II
Programozás és digitális technika II
Programozás és digitális technika II
Programozás és digitális technika II
Programozás és digitális technika II
Programozás és digitális technika II
Programozás és digitális technika II
FPGA 1. 1980 új architektúra 2. RAM alapú LUT-ok AND/OR kapuk helyett 3. CLB blokkokból áll: 1. 4 db Slice 1. 2 db 16x1 LUT (logikai függvény) 2. 2 db D Flip-Flop (tárolásra) Programozás és digitális technika II
Nexsys 2 1. Spartan 3E-500 FG320FPGA 2. 1164 CLB - 46 sor x34 oszlop 1. 4656 Slice 1. 9312 LUT és Flip-Flop 2. 368640 bit Block Ram Programozás és digitális technika II
Programozás és digitális technika II
Programozás és digitális technika II 7400-as sorozat
Programozás és digitális technika II Felépítés
Programozás és digitális technika II Felépítés
Igazságtáblázatok 1. Tárolás (pl. TTL logikai szinteknél): 0 0 V 0,8 V 1 2 V 5 V 2. Alap logikai kapuk: NOT, AND, OR NAND, NOR, XOR, XNOR 7400 sorozat legnépszerűbb TTL IC-k 3. Ezek alapján bármilyen logikai függvény megvalósítható Programozás és digitális technika II
Pozitív és negatív logika 1. Pozitív logika: 1 igaz 0 hamis 2. Negatív logika 0 igaz (Aktív alacsony) 1 - hamis Programozás és digitális technika II
De Morgan azonosságok 1. X = ~~X 2. Z = ~X & ~Y = ~( X Y ) 3. Z = ~X ~Y = ~( X & Y ) Programozás és digitális technika II
Sum of product design 1. Minterm az igazságtáblázat egy sorában lévő értékek közti ÉS művelet Sum logikai VAGY Product logikai ÉS Programozás és digitális technika II
Programozás és digitális technika II Sum of product design
Product of sum design 1. Maxterm az igazságtáblázat egy sorában lévő értékek közti VAGY művelet Sum logikai VAGY Product logikai ÉS Programozás és digitális technika II
Programozás és digitális technika II Product of sum design
Igazságtáblázatuk megegyezik Programozás és digitális technika II
Egyváltozós szabályok Programozás és digitális technika II
Kétváltozós szabályok Programozás és digitális technika II
Programozás és digitális technika II Bizonyítás
Karnaugh tábla 1. Logikai függvényeket egyszerűsít 2. 2, 3, 4 változóra könnyen használható, annál többre nehézkes Programozás és digitális technika II
Programozás és digitális technika II 2 változós Karnaugh tábla
Programozás és digitális technika II 3 változós Karnaugh tábla
Programozás és digitális technika II
Programozás és digitális technika II 4 változós Karnaugh tábla
Programozás és digitális technika II
Programozás és digitális technika II
Programozás és digitális technika II 4 változós Karnaugh tábla
VHDL Example 1. 1. Lekódolni az összes eddigi kaput! Programozás és digitális technika II
VHDL Example 1. 1. Library IEEE; use IEEE.STD_LOGIC_1164.all; Definiálja a STD_LOGIC és a STD_LOGIC_VECTOR típusokat, illetve a kapukat: and, or, not, nor, xor 2. Entity Komponenseket tartalmaz: Név Típus irány Programozás és digitális technika II
VHDL Example 1. 1. Irány: in, out, inout 2. Típus: 1. STD_LOGIC 2. STD_LOGIC_VECTOR 1. z : out STD_LOGIC_VECTOR (5 downto 0); 3. Architecture gates2 of gates 2 is begin z(5) <= a and b; end gates 2; Programozás és digitális technika II
Programozás és digitális technika II Szimulálás