Delavnica Načrtovanje digitalnih vezij

Podobni dokumenti
DES

Delavnica Načrtovanje digitalnih vezij

DIGITALNE STRUKTURE Zapiski predavanj Branko Šter, Ljubo Pipan 2 Razdeljevalniki Razdeljevalnik (demultipleksor) opravlja funkcijo, ki je obratna funk

5 Programirljiva vezja 5.1 Kompleksna programirljiva vezja - CPLD Sodobna programirljiva vezja delimo v dve veliki skupini: CPLD in FPGA. Vezja CPLD (

Delavnica Načrtovanje digitalnih vezij

DES11_realno

Univerza v Ljubljani FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Tržaška c. 25, 1000 Ljubljana Realizacija n-bitnega polnega seštevalnika z uporabo kvan

DES

Diapozitiv 1

Slide 1

seminarska_naloga_za_ev

REALIZACIJA ELEKTRONSKIH SKLOPOV

Delavnica Načrtovanje digitalnih vezij

RAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni

ARS1

STAVKI _5_

MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje prir

Delavnica Načrtovanje digitalnih vezij

Diapozitiv 1

CelotniPraktikum_2011_verZaTisk.pdf

Microsoft Word - M doc

Prekinitveni način delovanja PLK Glavni program (OB1; MAIN) se izvaja ciklično Prekinitev začasno ustavi izvajanje glavnega programa in zažene izvajan

Uradni list RS - 12(71)/2005, Mednarodne pogodbe

Microsoft Word doc

Diapozitiv 1

Uvodno predavanje

DES11_vmesniki

Microsoft Word - CNC obdelava kazalo vsebine.doc

Microsoft Word - M docx

Analiza vpliva materiala, maziva in aktuatorja na dinamiko pnevmatičnega ventila

Univerza v Ljubljani

Microsoft Word - M docx

Strojna oprema

Datum in kraj

Diapozitiv 1

Microsoft Word - UNI_Mlakar_Ziga_1987_E doc

ŠTEVCI PROMETA IN NJIHOVA UPORABA ZA NAMENE STATISTIK ČRT GRAHONJA

Avtomatizirano modeliranje pri celostnem upravljanju z vodnimi viri

Vaje: Matrike 1. Ugani rezultat, nato pa dokaži z indukcijo: (a) (b) [ ] n 1 1 ; n N 0 1 n ; n N Pokaži, da je množica x 0 y 0 x

Microsoft PowerPoint - ORS-1.ppt

Microsoft Word - EV-2-projekt.doc

LINEARNA ELEKTRONIKA

Microsoft Word - UP_Lekcija04_2014.docx

Microsoft PowerPoint _12_15-11_predavanje(1_00)-IR-pdf

Microsoft Word - NAVODILA ZA UPORABO.docx

Besedilo naloge:

Microsoft PowerPoint - Sirikt-SK-FV.ppt

'Kombinatoricna optimizacija / Lokalna optimizacija'

Microsoft Word - avd_vaje_ars1_1.doc

Microsoft PowerPoint - IPPU-V2.ppt

Osnove matematicne analize 2018/19

GHOSTBUSTERS navodila za učitelje O PROJEKTU S tem projektom se učenci sami naučijo izdelati igro. Ustvariti morajo več ikon (duhcov ali kaj drugega)

NAVODILA AVTORJEM PRISPEVKOV

Področje uporabe

Iztok KOSEM in Špela ARHAR HOLDT Trojina, zavod za uporabno slovenistiko ANALIZA BESEDIŠČA IN SKLADNJE V BESEDILIH TESTA BRALNE PISMENO

Microsoft Word - Avditorne.docx

Turingov stroj in programiranje Barbara Strniša Opis in definicija Definirajmo nekaj oznak: Σ abeceda... končna neprazna množica simbolo

Microsoft Word - ELEKTROTEHNIKA2_11. junij 2104

Luka Brinovšek Detektor fazne napake optičnega enkoderja Diplomsko delo Maribor, avgust 2011

1. izbirni test za MMO 2018 Ljubljana, 16. december Naj bo n naravno število. Na mizi imamo n 2 okraskov n različnih barv in ni nujno, da imam

(Microsoft PowerPoint - vorsic ET 9.2 OES matri\350ne metode 2011.ppt [Compatibility Mode])

Elektronska pošta

Univerza v Ljubljani

PowerPoint Presentation

Šolski center celje

PRIPOROČILA ZA OBLIKOVANJE KATALOGOV ZNANJA ZA MODULE V PROGRAMIH VIŠJEGA STROKOVNEGA IZOBRAŽEVANJA

KRMILNA OMARICA KO-0

Upravljanje sistema COBISS Navodila za uporabo tiskalnika CITIZEN S310II V1.0 VIF-NA-27-SI

17. Karakteristična impedanca LC sita Eden osnovnih gradnikov visokofrekvenčnih vezij so frekvenčna sita: nizko-prepustna, visoko-prepustna, pasovno-p

Gimnazija Bežigrad Peričeva Ljubljana OPERACIJSKI SISTEM Predmet: informatika

ELEKTRONIKA ŠTUDIJ ELEKTRONIKE

VIN Lab 1

1 MMK - Spletne tehnologije Vaja 5: Spletni obrazci Vaja 5 : Spletni obrazci 1. Element form Spletni obrazci so namenjeni zbiranju uporabniških podatk

Kazalo 1 DVOMESTNE RELACIJE Operacije z dvomestnimi relacijami Predstavitev relacij

Podatkovni model ER

COBISS3/Medknjižnična izposoja

PowerPointova predstavitev

PowerPoint Presentation

Orodje za izvoz podatkov

%

Diapozitiv 1

Microsoft Word - ELEKTROTEHNIKA2_ junij 2013_pola1 in 2

Sistemi Daljinskega Vodenja Vaja 3 Matej Kristan Laboratorij za Strojni Vid Fakulteta za elektrotehniko, Univerza v Ljubl

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNITVO IN INFORMATIKO tqca - Seštevalnik Seminarska naloga pri predmetu Optične in nanotehnologije Blaž Lampre

Osnove verjetnosti in statistika

REŠEVANJE DIFERENCIALNIH ENAČB Z MEHANSKIMI RAČUNSKIMI STROJI Pino Koc Seminar za učitelje matematike FMF, Ljubljana, 25. september 2015 Vir: [1] 1

TNUV Lab

Poročilo projekta : Učinkovita raba energije Primerjava klasične sončne elektrarne z sončno elektrarno ki sledi soncu. Cilj projekta: Cilj našega proj

Microsoft Word - vaje2_ora.doc

Protokoli v računalniškem komuniciranju TCP, IP, nivojski model, paket informacij.

Logični modul LOGO!

Slide 1

5 SIMPLICIALNI KOMPLEKSI Definicija 5.1 Vektorji r 0,..., r k v R n so afino neodvisni, če so vektorji r 1 r 0, r 2 r 0,..., r k r 0 linearno neodvisn

Osnove statistike v fizični geografiji 2

VARIMOT® in pribor

LaTeX slides

ISOFT , računalniški inženiring

Transkripcija:

Laboratorij za načrtovanje integriranih vezij Univerza v Ljubljani Fakulteta za elektrotehniko Digitalni Elektronski Sistemi Osnove jezika VHDL Strukturno načrtovanje in testiranje

Struktura vezja s komponentami Model vezja je sestavljen iz para entity-architecture Posamezne modele povezujemo v večje vezje, tako da jih vključimo v opis vezja kot komponente podobno risanju sheme vezja Strukturno načrtovanje struktura (zgradba) vezja, ki temelji na povezavi komponent Hierarhična struktura vezja celotno vezje je sestavljeno iz komponent, ki so zgrajene iz enostavnejših komponent...

Deklaracija komponent Komponente deklariramo na začetku arhitekturnega stavka (pred ) Navedemo ime komponente kot je zapisano v stavku entity in zunanje priključke (stavek port) Primer: v vezje sek bomo vključili register reg architecture struktura of sek is component reg is port ( d : in std_logic_vector(7 downto 0); clk, ce : in std_logic; q : out std_logic_vector(7 downto 0) ); end component;

Povezovanje komponente Komponento povežemo s stavkom port map vsaki komponenti damo enolično oznako v oklepaju navedemo povezave (signal komp. => signal vezja) r1: reg port map (d=>data, clk=>clk, ce=>en1, q=>data_reg); r2: reg port map (d=>data, clk=>clk, ce=>en2, q=>op_reg);... end struktura; Krajši zapis: r1: reg port map (data, clk, en1, data_reg); r2: reg port map (data, clk, en2, op_reg);... end struktura;

Pravila povezovanja komponent Signale komponente povezujemo z notranjimi in zunanjimi signali vezja omejitve pri zunanjih signalih: signal out je lahko vezan le na out, buffer le na buffer (zato so priključki buffer nezaželeni!) Povezati moramo najmanj vse vhodne signale (in, inout) običajno povežemo vse signale, če kakšen izhod ne potrebujemo zapišemo rezervirano besedo open pri krajšem zapisu je vrstni red pomemben oznaka: ime_komp port map (sk1=>sv1, sk2=>sv2, sk3=>open);

Testiranje vezij Testiranje strojne opreme na delovni mizi (work bench) inštrumenti: multimeter, logični analizator, osciloskop Testiranje na računalniku simulacija 1. Izvajanje simulacije po korakih nastavimo vhode, izvedemo korak, spremenimo vhode omejene možnosti simulacije, za preprosta vezja simulator v praksi nikoli ne poženemo le enkrat! 2. Programska testna miza (testna struktura, test bench) v testni strukturi določimo časovni potek vhodov v vezje naredimo model okolice testiranega vezja ko je testna struktura narejena, jo večkrat uporabimo za izvedbo simulacije vezja

Testna struktura Testna struktura je orodje, ki pomaga načrtovalcu vezja ugotavljati pravilnost delovanja vezja Testno strukturo povežemo s testiranim vezjem in izvedemo simulacijo testirano vezje Testna struktura

Testna struktura v jeziku VHDL Vezje (entity architecture), ki nima zunanjih priključkov vse vrednosti signalov definiramo znotraj strukture testirano vezje vključimo kot komponento V arhitekturi definiramo časovno spreminjanje vhodnih signalov testiranega vezja uporabimo konstrukte jezika VHDL namenjene simulaciji, saj testne strukture ne bomo sintetizirali zakasnitve signalov stavki za izpis poročil med simulacijo funkcije za branje in zapis datotek

Časovno spreminjanje signalov Signalu priredimo več dogodkov, ki so vezani na čas: reset <= 0, 1 after 100 ns, 0 after 200 ns; data <= 00101100, ZZZZZZZZ after 500 ns; reset data 00101110 ZZZZZZZZ 0 500 t(ns) Kadar je v testu veliko dogodkov uporabimo proces prirejanje dogodkov le v najbolj preprostih primerih, npr. za enkratne dogodke kot je reset

Primer: test ALE Deklaracija testirane komponente in notranjih signalov architecture behavior of test is component ale is port ( a, b : in std_logic_vector(7 downto 0); op : in std_logic_vector(1 downto 0); rez : out std_logic_vector(7 downto 0) ); end component; signal a,b: std_logic_vector(7 downto 0); signal op: std_logic_vector(1 downto 0); signal rez: std_logic_vector(7 downto 0); Povežemo komponento UUT: ALE port map (a=>a, b=>b, op=>op, rez=>rez);

Test ALE (2): nastavljanje vhodov Napišemo proces v katerem spreminjamo vhode časovni potek signalov določajo stavki wait for uporabimo proces brez seznama signalov stim_proc : process a <= "00000011"; b <= "00000010"; op <= "00"; -- operacija AND wait for 100 ns; op <= "01"; -- vsota wait for 100 ns; op <= "10"; -- razlika wait for 100 ns; op <= "11"; -- odstej 1 wait; -- zamrzni proces, da se ne ponavlja end process;

Test ALE(3): rezultat simulacije Ali lahko testna struktura samodejno preverja vezje? Da, npr. preverimo ali je vsota takšna, kot jo pričakujemo: op <= "01"; -- vsota wait for 100 ns; assert rez = 5 report "Napaka, vsota ni enaka 5!";

Testni vektor Testni vektor je množica vrednosti vhodnih signalov v praksi ne moremo uporabiti vseh možnih vrednosti uporabimo nekaj tipičnih vrednosti, mejne vrednosti Vrednosti testnega vektorja lahko zapišemo v zbirko type vzorci is array (natural range <>) of std_logic_vector(7 downto 0); -- deklaracija zbirke constant data_a : vzorci := ("00000000", "00000011", "11111111"); process for i in data_a range loop -- za vse vrednosti testnega vektorja a <= data_a(i); b <= data_b(i) wait for 100 ns; end loop; wait; end process;

Testiranje sekvenčnih vezij Za generiranje ure uporabimo procesno okolje brez seznama signalov in stavke wait for proces se izvaja, dokler ga ne ustavimo z wait GEN_URE: process clk <= 0 ; wait for 500 ns; clk <= 1 ; wait for 500 ns; end process; ustavi <= '0', '1' after 10 us; GEN_URE: process if ustavi='0' then clk <= 0 ; wait for 500 ns; clk <= 1 ; wait for 500 ns; else wait; end if; end process;

Primer: testiranje akumulatorja akumulator_tb stim a op osc clk b uut b reg a op nula clk akumulator reg nula osc: process if ustavi='0' then clk <= '0'; wait for 500 ns; clk <= '1'; wait for 500 ns; else wait; end if; end process; stim: process op <= '0'; a <= "0000"; wait for 1 us; a <= "1010"; wait for 1 us; op <= '1'; a <= "0001"; wait; end process;