Digitális elektronika gyakorlat



Hasonló dokumentumok
Digitális elektronika gyakorlat

Digitális elektronika gyakorlat. A VHDL leírástípusok

Tervezési módszerek programozható logikai eszközökkel

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Tervezési módszerek programozható logikai eszközökkel

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

VHDL szimuláció. Tervezés. Labor II. Dr. Hidvégi Timót

VHDL alapú tervezés. (nem a teljes változat) Írta : Dr. Hidvégi Timót egyetemi docens

Programozás és digitális technika II. Logikai áramkörök. Pógár István Debrecen, 2016

ISE makró (saját alkatrész) készítése

VHDL alapismeretek. (Xilinx FPGA-k programozása VHDL nyelven) Oktatási jegyzet. Összeállította: dr. Zigó Tamás

1. Kombinációs hálózatok mérési gyakorlatai

Bevezetés az informatikába

Digitális technika (VIMIAA02) Laboratórium 1

LOGIKAI TERVEZÉS HARDVERLEÍRÓ NYELVEN. Dr. Oniga István

Digitális technika (VIMIAA02) Laboratórium 1

Digitális rendszerek tervezése FPGA áramkörökkel LOGSYS példa

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

FPGA fejlesztés a Xilinx ISE Webpack-ben

Digitális rendszerek. I. rész. Dr. Turóczi Antal

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Digitális technika (VIMIAA02) Laboratórium 2

DIGITÁLIS TECHNIKA I

HDL nyelvek: VHDL. Fehér Béla Szántó Péter, Lazányi János, Raikovich Tamás BME MIT FPGA laboratórium

1. Kombinációs hálózatok mérési gyakorlatai

FPGA alapú áramkörök fejlesztése a Xilinx ISE Webpack használatával

LOGIKAI TERVEZÉS PROGRAMOZHATÓ. Elő Előadó: Dr. Oniga István

Tervezési módszerek programozható logikai eszközökkel

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

7.hét: A sorrendi hálózatok elemei II.

Kombinációs áramkörök modelezése Laborgyakorlat. Dr. Oniga István

Digitális Technika. Dr. Oniga István Debreceni Egyetem, Informatikai Kar

Tervezési módszerek programozható logikai eszközökkel

A VHDL kódtól az FPGA-ba való ágyazásig From the VHDL Code to the Implementation to FPGA-s

Nyolcbites számláló mintaprojekt

Digitális technika (VIMIAA01) Laboratórium 2

Digitális technika (VIMIAA01) Laboratórium 2

IV. A SystemC alapelemei

A Picoblaze Core implementálása FPGA-ba

0 0 1 Dekódolás. Az órajel hatására a beolvasott utasítás kód tárolódik az IC regiszterben, valamint a PC értéke növekszik.

HDL nyelvek: VHDL. Fehér Béla Szántó Péter, Lazányi János, Raikovich Tamás BME MIT FPGA laboratórium

Máté: Számítógép architektúrák

Tervezési módszerek programozható logikai eszközökkel

Dr. Oniga István DIGITÁLIS TECHNIKA 4

Hobbi Elektronika. A digitális elektronika alapjai: Újrakonfigurálható logikai eszközök

10-es számrendszer, 2-es számrendszer, 8-as számrendszer, 16-os számr. Számjegyek, alapműveletek.

Máté: Számítógép architektúrák

LOGSYS LOGSYS ECP2 FPGA KÁRTYA FELHASZNÁLÓI ÚTMUTATÓ szeptember 18. Verzió

Beágyazott és Ambiens Rendszerek Laboratórium BMEVIMIA350. Mérési feladatok az 1., 2. és 3. mérési alkalomhoz

3. A DIGILENT BASYS 2 FEJLESZTŐLAP LEÍRÁSA

Tartalom Tervezési egység felépítése Utasítások csoportosítása Értékadás... 38

Hardver leíró nyelvek (HDL)

Verilog HDL ismertető 2. hét : 1. hét dia

5. KOMBINÁCIÓS HÁLÓZATOK LEÍRÁSÁNAK SZABÁLYAI

Attribútumok, constraint-ek

Digitális technikai alapáramkörök labormérése

6. hét: A sorrendi hálózatok elemei és tervezése

Mérési jegyzőkönyv. az ötödik méréshez

DIGITÁLIS TECHNIKA I

2. Fejezet : Számrendszerek

DIGITÁLIS TECHNIKA I PÉLDA: 3 A 8 KÖZÜL DEKÓDÓLÓ HOGYAN HASZNÁLHATÓ EGY 4/16-OS DEKÓDER 3/8-AS DEKÓDERKÉNT? D 2 3 DEKÓDER BŐVÍTÉS

LOGSYS LOGSYS SPARTAN-3E FPGA KÁRTYA FELHASZNÁLÓI ÚTMUTATÓ szeptember 19. Verzió

DIGITAL TECHNICS I. Dr. Bálint Pődör. Óbuda University, Microelectronics and Technology Institute 12. LECTURE: FUNCTIONAL BUILDING BLOCKS III

The Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003

DIGITÁLIS TECHNIKA I BINÁRIS SZÁMRENDSZER BEVEZETŐ ÁTTEKINTÉS BINÁRIS SZÁMRENDSZER HELYÉRTÉK. Dr. Lovassy Rita Dr.

DIGITÁLIS TECHNIKA. Szabó Tamás Dr. Lovassy Rita - Tompos Péter. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar LABÓRATÓRIUMI ÚTMUTATÓ

Az MSP430 mikrovezérlők digitális I/O programozása

Fehér Béla Szántó Péter, Lazányi János, Raikovich Tamás BME MIT FPGA laboratórium

A/D és D/A konverterek vezérlése számítógéppel

Constraint-ek. Fehér Béla Szántó Péter, Lazányi János, Raikovich Tamás BME MIT FPGA laboratórium

E-Laboratórium 1 Kombinációs digitális áramkörök alkalmazása Elméleti leírás

4. hét: Ideális és valódi építőelemek. Steiner Henriette Egészségügyi mérnök

Digitális technika (VIMIAA02) Laboratórium 3

Digitális Technika. Dr. Oniga István Debreceni Egyetem, Informatikai Kar

PROGRAMOZHATÓ LOGIKAI ESZKÖZÖK. Elıadó: Dr. Oniga István Egytemi docens

Digitális technika (VIMIAA02) Laboratórium 3

A SystemC programok adattípusai

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Választható önálló LabView feladatok 2009 A zárójelben szereplő számok azt jelentik, hogy hány főnek lett kiírva a feladat

4. KOMBINÁCIÓS HÁLÓZATOK. A tananyag célja: kombinációs típusú hálózatok analízise és szintézise.

2008. október 9. Verzió

LOGIKAI TERVEZÉS. Előadó: Dr. Oniga István Egytemi docens

Bevezető Típusok és operátorok a VHDL-ben A VHDL nyelv vezérlési szerkezetei Hieararchikus tervezés. Budapesti Műszaki és Gazdaságtudományi Egyetem

Integrált áramkörök/6 ASIC áramkörök tervezése

A gyakorlatokhoz kidolgozott DW példák a gyakorlathoz tartozó Segédlet könyvtárban találhatók.

A tervfeladat sorszáma: 1 A tervfeladat címe: ALU egység 8 regiszterrel és 8 utasítással

LOGIKAI TERVEZÉS HARDVERLEÍRÓ NYELVEN. Dr. Oniga István

Budapesti Műszaki és Gazdaságtudományi Egyetem VHDL. Horváth Péter, Nagy Gergely. Elektronikus Eszközök Tanszéke (BME) október 3.

10. EGYSZERŰ HÁLÓZATOK TERVEZÉSE A FEJLESZTŐLAPON Ennél a tervezésnél egy olyan hardvert hozunk létre, amely a Basys2 fejlesztőlap két bemeneti

Assembly Utasítások, programok. Iványi Péter

Tervezési módszerek programozható logikai eszközökkel

IDAXA-PiroSTOP. PIRINT PiroFlex Interfész. Terméklap

Összeadás BCD számokkal

Joint Test Action Group (JTAG)

11. KÓDÁTALAKÍTÓ TERVEZÉSE HÉTSZEGMENSES KIJELZŐHÖZ A FEJLESZTŐLAPON

The modular mitmót system. DPY kijelző kártya C API

VHDL oktatási segédlet

AF 088II DIO 16/8 AF 088II DIO 16. Digitális ki-, bemeneti modul. Digitális bemeneti modul

Ellenőrző mérés mintafeladatok Mérés laboratórium 1., 2011 őszi félév

Átírás:

FELADATOK 1. Tervezzetek egy félösszeadó VHDL modult 2. Tervezzetek egy teljes összeadó VHDL modult 3. Schematic Editor segítségével tervezzetek egy 4 bit-es öszeadó áramkört. A két bemeneti számot a logikai kapcsolók (DIPSW) segítségével adjuk meg és jelezzük ki az FPGA lap kiterjesztési kártyáján levő két 7 szegmenses kijelzőn (LED1, LED2), felhasználva az előző laborgyakorlaton megírt 7 szegmenses dekódolót. Az eredményt binárisan írjuk ki a kiterjesztési lapon levő BARLED-en. Az.ucf állományhoz szükséges portok számai az XSA Board User Manual leírában találhatók. 4. Valósítsuk meg a 4 bit-es összeadó áramkört VHDL nyelvben, strukturális leírásmódot használva (felhasználva a megírt modulokat). 1

1. A félösszeadó VHDL modul A fenti áramkör alapján megírhatjuk a félösszeadó VHDL modult. Első lépésben deklaráljuk a bemeneteket (A, B) és a kimeneteket (S, C). A és B a két összeadandó bit. S az összeg (Sum) és C a túlcsordulás (Carry). Az architektura részben pedig elvégezzük a logikai kapuknak megfelelő logikai műveleteket: S<=A xor B; C<=A and B; Az alábbiakban megtalálható a teljes VHDL példaprogram forráskódja. library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; ---- Uncomment the following library declaration if instantiating ---- any Xilinx primitives in this code. --library UNISIM; --use UNISIM.VComponents.all; entity Felosszeado is end Felosszeado; architecture Behavioral of Felosszeado is process(a,b) S<=A xor B; C<=A and B; end process; end Behavioral; 1. Ábra: A félösszeadó áramkör 2

2. A teljes összeadó VHDL modul A fenti áramkör alapján megírhatjuk a teljes összeadó VHDL modult. Az első lépésben deklaráljuk a bemeneteket (A, B, Cin) és a kimeneteket (S, C). A és B a két összeadandó bit. Cin a bemeneti túlcsordulás, amely a kisebb helyértékű összeadótól származik. S az összeg (Sum) és C a túlcsordulás (Carry). Az architektura részben pedig elvégezzük a logikai kapuknak megfelelő logikai műveleteket: S<=A xor B xor Cin; C<=(A and B) or ( Cin and (A xor B) ); Az alábbiakban megtalálható a teljes VHDL példaprogram forráskódja. library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity Egesz_oszeado is Cin : in std_logic; end Egesz_oszeado; architecture Behavioral of Egesz_oszeado is 2.Ábra: A teljes összeadó áramkör process(a,b,cin) S<=A xor B xor Cin; C<=(A and B) or ( Cin and (A xor B) ); end process; end Behavioral; 3

3. 4 bit-es összeadó áramkőr Az alábbi ábrán látható a négy bit-es összeadó áramkör rajza. Szükség van egy félösszeadó modulra a legkisebb helyértékű bit-ek összeadására, és három teljesösszeadó áramkörre. A bemeneti összeadandó számokat a két hex_display modul átalakít és kijelez a hétszegmenses kijelzőkön. A kimenet az.ucf állományban megadott portokra kerül és így a BARLED-en jelennik meg az összeadás eredménye bináris formában. 3.Ábra. Négy bit-es összeadó áramkőr 4

4. 4 bit-es összeadó strukturális leírásmódja A strukturális leírásmód esetén ins a bemenetek és a kimenetek deklarálásával kezdjük a feladat megoldását. Deklaráljuk tehát az x1, x2, x3, x4 portokat, amelyek az első összeadandó számot tartalmazzák bináris lakban. Az y1, y2, y3, y4 portok a második összeadandó számot adják meg. Az eredményt a kimeneti z1, z2, z3, z4, és z5 potokon kapjuk meg. A led1 és led2 tömbökben a hétszegmenses dekodoló kimeneteit tároljuk, a bemeneti számok kijelzése céljából. Az architektura részben a component kulcsszót hasnálva deklaráljuk a már megírt félösszeadó és teljesösszeadó modulok be és kimeneti portjait. Figyeljünk, hogy azonos változóneveket és tipusokat hsználjunk mint az eredeti modulokban. component Felosszeado end component Felosszeado; A legutolsó lépésként a port map parancssalsorban meghívjuk a modulokat a megfelelő bemeneti és kimeneti portokat paraméterként átadva. Az összadást a legkisebb helyértékű bit-el kezdjük és a nagybb helyértékű bit-ek fele haladunk. Az utolsó két útasítással a hétszegmenses dekodoló modult is meghívjuk. u1: Felosszeado port map(x1,y1,z1,temp); u2: Egesz_oszeado port map(x2,y2,temp,z2,temp1); u3: Egesz_oszeado port map(x3,y3,temp1,z3,temp2); u4: Egesz_oszeado port map(x4,y4,temp2,z4,z5); u5: hex_display port map(x1,x2,x3,x4,led1); u6: hex_display port map(y1,y2,y3,y4,led2); Az alábbiakban megtalálható a teljes VHDL példaprogram forráskódja. library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; ---- Uncomment the following library declaration if instantiating ---- any Xilinx primitives in this code. --library UNISIM; --use UNISIM.VComponents.all; entity negy_bittes_osszeado_strukt_leirasmod is Port ( x1 : in std_logic; x2 : in std_logic; x3 : in std_logic; 5

x4 : in std_logic; y1 : in std_logic; y2 : in std_logic; y3 : in std_logic; y4 : in std_logic; z1 : out std_logic; z2 : out std_logic; z3 : out std_logic; z4 : out std_logic; z5 : out std_logic; led1: out std_logic_vector(7 downto 0); led2: out std_logic_vector(7 downto 0)); end negy_bittes_osszeado_strukt_leirasmod; architecture Behavioral of negy_bittes_osszeado_strukt_leirasmod is component Felosszeado end component Felosszeado; component Egesz_oszeado is Cin : in std_logic; end component Egesz_oszeado; component hex_display is Port( A : in std_logic; C : in std_logic; D : in std_logic; segm : out std_logic_vector(7 downto 0) ); end component hex_display; signal temp: std_logic; signal temp1: std_logic; signal temp2: std_logic; u1: Felosszeado port map(x1,y1,z1,temp); 6

u2: Egesz_oszeado port map(x2,y2,temp,z2,temp1); u3: Egesz_oszeado port map(x3,y3,temp1,z3,temp2); u4: Egesz_oszeado port map(x4,y4,temp2,z4,z5); u5: hex_display port map(x1,x2,x3,x4,led1); u6: hex_display port map(y1,y2,y3,y4,led2); end Behavioral; 7