TECHNIKA CYFROWA 2 wyklad6


Technika cyfrowa 2  Wykład 6
dr in\. Sławomir Sambor
slawomir.sambor@pwr.wroc.pl
ITA, budynek C-5 pokój 708,
Tel. 0 71 320 30 78
http://zstux.ita.pwr.wroc.pl/slawek/
1
Podstawy języka VHDL
Very high speed integrated Hardware Description Language
przemysłowy standard języka HDL
(IEEE Std 1076-1987, IEEE Std 1076-1993)
VHDL jest językiem przenośnym mo\e być stosowany przez
systemy ró\nych firm
Powszechnie stosowany w specyfikacjach układów cyfrowego
przetwarzania sygnałów
Podstawy Techniki Cyfrowej i
Mikroprocesorowej 1
Projektowanie sprzętu cyfrowego
1.Opis tekstowy: plik w języku VHDL
2.Kompilacja pliku
3.Sprawdzenie, symulacja funkcjonalna
Dalszy ciąg procesu projektowania
4.Synteza logiczna
5.Projekt układu scalonego
6.Symulacja czasowa
7.Weryfikacja praktyczna
Proces projektowania
Podstawy Techniki Cyfrowej i
Mikroprocesorowej 2
Projektowanie w środowisku VHDL
Hierarchia w procesie projektowym
Podstawy Techniki Cyfrowej i
Mikroprocesorowej 3
Język VHDL
Zawiera u\yteczne konstrukcje semantyczne
umo\liwiające zwięzłą specyfikację zło\onych
układów cyfrowych
Projekt mo\e być opisany hierarchicznie (na wielu
poziomach)
Mo\liwe jest korzystanie z biblioteki gotowych
elementów i tworzenie podukładów (tzw.
komponentów)
Jednostka projektowa
DESIGN ENTITY JEDNOSTKA PROJEKTOWA
ENTITY DECLARATION
WEJŚCIE/WYJŚCIE
PARAMETRY
ARCHITECTURE BODY
FUNKCJE
I DZIAAANIE
entity HALFADD is
port (A,B : in bit;
SUM, CARRY : out bit);
end HALFADD;
architecture BEHAVIORAL of HALFADD is
begin
SUM <= A xor B;
CARRY <= A and B;
end BEHAVIORAL;
Podstawy Techniki Cyfrowej i
Mikroprocesorowej 4
Jednostka projektowa języka VHDL
Komunikacja
z otoczeniem
entity
architecture architecture architecture
Działanie układu
Najprostsza struktura pliku
Słowo kluczowe
Key Word
entity HALFADD is
Deklaracje
port (A,B : in bit;
Sygnałów we/wy
SUM, CARRY : out bit);
end HALFADD;
architecture BEHAVIORAL of HALFADD is
begin
SUM <= A xor B;
CARRY <= A and B;
Sekcja opisu logicznego
end BEHAVIORAL;
Podstawy Techniki Cyfrowej i
Mikroprocesorowej 5
Jednostka deklaracji
Deklaracja sygnałów
entity HALFADD is
port (A,B : in bit;
" nazwa
SUM, CARRY : out bit);
" tryb
end HALFADD;
" typ danych
Jednostka deklaracji
entity HALFADD is
port (A,B : in bit;
SUM, CARRY : out bit);
end HALFADD;
" in - wejściowy
" out - wyjściowy
" inout - dwukierunkowy
" buffer - wyjściowy z mo\liwością odczytu
Typy danych: bit, bit_vector, integer, Boolean
Podstawy Techniki Cyfrowej i
Mikroprocesorowej 6
Blok architektury
Architektura opisuje sposób działania jednostki (entity)
lub jej budowę (strukturę).
architecture BEHAVIORAL of HALFADD is
begin
SUM <= A xor B;
Style specyfikacji
CARRY <= A and B;
" funkcjonalny (behavioralny)
end BEHAVIORAL;
" przepływ danych (dataflow)
" strukturalny
Style specyfikacji - przykłady
architecture Budowa_Sumatora1 of Sumator is
signal S1, S2 : bit;
begin
Bramka_Not1 : entity Work.Gate_Not port map (wej1, S1);
Bramka_Not2 : entity Work.Gate_Not port map (wej2, S2);
Bramka_And1 : entity Work.Gate_And port map (S1, S2, wyj);
end Budowa_Sumatora1;
architecture Budowa_Sumatora2 of Sumator is
signal S1, S2 : bit;
begin
process (wej1, wej2)
S1 <= not wej1 after 2 ns;
S2 <= not wej2 after 2 ns;
wyj <= S1 and S2 after 2 ns;
end process;
end Budowa_Sumatora2;
Podstawy Techniki Cyfrowej i
Mikroprocesorowej 7
Blok architektury
architecture nazwa_arch of nazwa_jednostki is
Definicje i deklaracje:
(typów, podtypów, stałych, sygnałów,
komponentów,konfiguracji)
begin
 instrukcje przypisania wartości do sygnałów
 procesy
 komponenty
end nazwa_arch;
Elementy strukturalne języka VHDL
Słowa kluczowe
Identyfikatory
Obiekty danych
Operatory
Atrybuty
Instrukcje
Podstawy Techniki Cyfrowej i
Mikroprocesorowej 8
Słowa kluczowe
abs downto library postponed Srl
access else linkage procedure Subtype
after elsif literal process Then
alias end loop pure To
BEGIN, END..
all entity map range Transport
and exit mod record Type
IF, THEN, CASE...
architecture file nand register Unaffected
array for new reject Units
AND, OR, NAND, XOR...
assert function Next rem Until
attribute generate Nor report Use
SIGNAL, COMPONEN, IN, OUT
begin generic Not return Variable
block group Null rol Wait
body guarded Of ror When
buffer if On select While
bus impure Open severity With
case in Or signal Xnor
component inertial Others shared Xor
configuration inout Out sla
constant is Package sll
disconnect label Port sra
Identyfikatory
Identyfikatory mogą się składać z liter, cyfr i
podkreślników
Wielkość liter nie ma znaczenia
Nazwa musi się rozpoczynać od litery
Nazwa nie powinna być dłu\sza ni\ 16 znaków
Nazwa powinna być znacząca
Ta_Sama_Nazwa 16_bit_bus : integer; -- błędnie
TA_SAMA_NAZWA _bus_16_bit_ : integer; -- błędnie
ta_sama_nazwa bus_16_bit : integer; -- O.K.
Podstawy Techniki Cyfrowej i
Mikroprocesorowej 9
Obiekty danych
Obiekty danych słu\ą do przechowywania wartości.
Wyró\nia się trzy klasy obiektów:
" sygnał  signal
" zmienne  variable
" stałe  constant
Wartości zmiennych są przypisywane natychmiast, wartości sygnałów  z pewnym
opóznieniem.
Odpowiednikiem sprzętowym sygnału jest ście\ka w układzie scalonym.
Zmienna nie ma odpowiednika sprzętowego i słu\y do obliczeń na wy\szym
poziomie abstrakcji.
Pojęcie typu danych
Język VHDL jest bardzo silnie zorientowany na typy danych.
Ka\dy obiekt musi mieć zdefiniowany typ i mo\e przechowywać dane tylko tego typu.
SIGNAL signal_name : type_name ;
entity HALFADD is
port (A,B : in bit;
SUM, CARRY : out bit);
end HALFADD;
Wartości dozwolone w sygnale typu bit:  0 ,  1
Przy operacji przyporządkowania sygnałów, typy
danych po ka\dej stronie operatora przyporządkowania
muszą być zgodne
Podstawy Techniki Cyfrowej i
Mikroprocesorowej 10
Typy danych
Wyró\nia się 10 typów danych sygnału:
BIT, BIT_VECTOR,
STD_LOGIC, STD_LOGIC_VECTOR,
(STD_ULOGIC),
SIGNED, UNSIGNED, INTEGER,
ENUMERATION, BOOLEAN
Predefiniowane typy danych
STD_LOGIC, STD_LOGIC_VECTOR
LIBRARY IEEE;
use IEEE.Std_Logic_1164.all;
STD_LOGIC: 0, 1, Z,  , L, H, U, X, W
STD_LOGIC_VECTOR jest tablicą obiektów z STD_LOGIC
Podstawy Techniki Cyfrowej i
Mikroprocesorowej 11
Sygnały
Sygnał mo\e być zdefiniowany w jednostce deklaracji oraz w
części
deklaracyjnej architektury lub pakietu.
Sygnał posiada dwie cechy z nim skojarzone:
typ
wartość
Składnia
signal nazwa_syg: typ_syg[:=wart_pocz];
np.:
signal s1, s2 : bit;
signal liczba : integer := 7;
Stałe
Stałe to takie obiekty danych, których wartości nie
zmieniają się w trakcie symulacji
Stałe mogą być zadeklarowane w jednostce
projektowej, pakiecie, procesie, architekturze, funkcji
i procedurze
Składnia:
constant nazwa : typ := wartość;
np.:
constant zero:STD_LOGIC_VECTOR(3 DOWNTO 0):= 0000 ;
Podstawy Techniki Cyfrowej i
Mikroprocesorowej 12
Typ wyliczeniowy
Typ wyliczeniowy (enumeration type) mo\e być definiowany przez u\ytkownika.
Przykład:
type MY_STATE is (RESET, IDLE, RW_CYCLE, INT_CYCLE);
...
signal STATE : MY_STATE;
signal TWO_BIT : bit_vector (0 to 1);
...
STATE <= RESET; O.K.
Ale do sygnału STATE nie mo\na przyporządkować ka\dego 2-bitowego ciągu
binarnego.
STATE <=  00 NIE
STATE <= TWO_BIT NIE
Typ wyliczeniowy c.d.
Typ wyliczeniowy jest kodowany na minimalnej
liczbie bitów w zapisie wg NKB:
RESET <=  00
IDLE <=  01
RW_CYCLE <=  10
INT_CYCLE <=  11
Podstawy Techniki Cyfrowej i
Mikroprocesorowej 13
Tablice
Typy BIT_VECTOR oraz STD_LOGIC_VECTOR są
tablicami sygnałów typu BIT i STD_LOGIC
Dane typu tablicowego mogą być definiowane przez
u\ytkownika
Zakres tablicy jest definiowany pod odpowiednią deklaracją za
pomocą słów kluczowych:  to  downto
TYPE Byte IS ARRAY (7 DOWNTO 0) OF STD_LOGIC;
SIGNAL X : Byte;
Tablice
signal Z_BUS:bit_vector(3 downto 0);
signal C_BUS:bit_vector(1 to 4);
Z_BUS <= C_BUS;
Przyporządkowanie dla danych tego samego typu i zakresu
Z_BUS(3) <= C_BUS(1);
Z_BUS(2) <= C_BUS(2);
Z_BUS(1) <= C_BUS(3);
Z_BUS(0) <= C_BUS(4);
Z_BUS(3 downto 2) <= "00";
C_BUS(2 to 4) <= Z_BUS(3 downto 1);
W przyporządkowaniu mo\na odwoływać się do fragmentów tablic
Podstawy Techniki Cyfrowej i
Mikroprocesorowej 14
Atrybuty
Dostarczają dodatkowych informacji o obiektach (np. sygnałach,
zmiennych, typach lub komponentach)
Pewna liczba atrybutów jest predefiniowana
Składnia
obiekt atrybut[(parametr)];
Przykładowe atrybuty
 EVENT  równy TRUE, gdy zachodzi zmiana wartości sygnału,
 STABLE  równy TRUE, gdy nie zachodzi zmiana wartości sygnału
 LEFT - zwraca lewą granicę zakresu
 RIGHT - zwraca prawą granicę zakresu
 RANGE - zwraca zakres typu
Przykład (atrybuty)
type count is integer range 0 to 127
type states is (st1, st2, st3, st4);
count left = 0
count right = 127
states left = st1
states high = st4
If Clock event and Clock =  1 then Q := D;
Podstawy Techniki Cyfrowej i
Mikroprocesorowej 15
Operatory
Operatory - przykłady
signal A_BUS, B_BUS, Z_BUS :
library IEEE;
std_logic_vector (3 downto 0);
use IEEE.Std_Logic_1164.all;
Z_BUS <= A_BUS and B_BUS;
entity MVLS is
Z_BUS(3) <= A_BUS(3) and B_BUS(3);
port (A,B,C : in std_logic;
Z_BUS(2) <= A_BUS(2) and B_BUS(2);
Z : out std_logic);
Z_BUS(1) <= A_BUS(1) and B_BUS(1);
end MVLS ;
Z_BUS(0) <= A_BUS(0) and B_BUS(0);
architecture EX of MVLS is
if A = B then
begin
Z <= '1';
Z <= A and not(B or C);
else
end EX ;
Z <= '0';
end if;
Podstawy Techniki Cyfrowej i
Mikroprocesorowej 16
Instrukcje
WSPÓABIEśNE I SEKWENCYJNE
Współbie\ne (Concurrent assignment statement)
Sekwencyjne (Sequential assignment statement)
Współbie\ne:
Zachowanie układu jest niezale\ne od kolejności
X <= A + B;
instrukcji przyporządkowania sygnałów.
Z <= C + X;
Stosowane w specyfikacji typu  przepływ danych
Z <= C + X;
(dataflow description).
X <= A + B;
Sekwencyjne:
Instrukcje sekwencyjne są stosowane w specyfikacji behawioralnej (behavioral
description). Przede wszystkim w tzw. procesach (process).
Porządek zapisu instrukcji sekwencyjnych zmienia działanie układu.
Współbie\ne instrukcje przypisania
sygnału
(Concurrent Signal Assignment Statements)
podstawowe przypisanie do sygnału
(simple signal assignment statement)
warunkowe przypisanie do sygnału
(conditional signal assignmenet statement)
selektywne przypisanie do sygnału
(selected signal assignment statement)
 when  else
 with  select
Podstawy Techniki Cyfrowej i
Mikroprocesorowej 17
Instrukcja podstawowa
Składnia:
signal_name <= expression;
signal_name <= expression after delay;
Przykład:
ENTITY simpsig IS
PORT (a, b: IN BIT;
c, d: OUT BIT) ;
END simpsig;
ARCHITECTURE arch1 OF simpsig IS
BEGIN
c <= a AND b;
d <= b;
END arch1;
Instrukcja podstawowa (przykład)
library ieee;
use ieee.std_logic_1164.all;
entity mux is port (
a, b, c, d : in std_logic ;
s: in std_logic_vector (1 downto 0) ;
x: out std_logic ) ;
end mux;
architecture archmux of mux is
begin
x <= (a and not(s(1)) and not(s(0)))
or (b and not(s(1)) and (s(0))
or (c and (s(1) and not(s(0)))
or (d and (s(1) and (s(0));
end archmux
Podstawy Techniki Cyfrowej i
Mikroprocesorowej 18
Instrukcja selektywna
Składnia:
with sel_sig select
signal_name <= value_a when value1_of_sel_sig ,
value_b when value2_of_sel_sig ,
value_c when value3_of_sel_sig , ...
value_x when last_value_of_sel_sig;
Instrukcja selektywna -with-select
U\ywana wewnątrz architektury
Podobieństwo do znanej instrukcji case
Mo\na określać kilka wartości lub zakres
Wartości nie mogą się powtarzać
Przykład:
with INT_A select
Z <= A when 0,
B when 1 to 3,
C when 4 | 6 | 8,
D when others;
Podstawy Techniki Cyfrowej i
Mikroprocesorowej 19
Zapis tablicy stanów układu kombinacyjnego
Np. dla funkcji 6 zmiennych
a : in std_logic_vector(5 downto 0);
i sygnale wyjściowym
y : out std_logic;
mo\na opisać tablicę stanów:
with a select
with select
with select
with select
y <= 2 12 when -- tu trzeba wypisac wszystkie stany a,
when
when
when
-- dla ktorych y = 1, na przyklad
3 0011003 | 3 10100X3 | 3 1110XX3 ,
2 02 when -- tu trzeba wypisac wszystkie stany a,
when
when
when
-- dla ktorych y = 0, na przykład
3 X010103 | 3 1100X03 | 3 1000103 ,
2 X2 when others;
when others
when others
when others
Symbol (|) oznacza wybór ( albo ). Nie oznacza on funkcji or.
Instrukcja warunkowa
Składnia:
signal_name <= value_a when condition1 else
value_b when condition2 else
value_c when condition3 else ...
value_x;
Podstawy Techniki Cyfrowej i
Mikroprocesorowej 20
Instrukcja warunkowa -when-else
Odpowiednik instrukcji if-then-else
Składnia
sygnał <= wart1 when warunek1 else
wart2 when warunek2 else
[...]
wartN when warunekN;
A <= In1 when war1=1 else
In2 when war2=2 else
In3;
Instrukcje sekwencyjne
Instrukcje sekwencyjne są stosowane w specyfikacji
behawioralnej (behavioral description)
Przede wszystkim w tzw. procesach (process)
Proces
Instrukcja IF
Instrukcja CASE
Podstawy Techniki Cyfrowej i
Mikroprocesorowej 21
Proces
Składnia:
process ( )
begin
..
Name :PROCESS (sensitivity_list)
end process
BEGIN
Lista czułości
Instrukcja sekwencyjna #1
Instrukcja sekwencyjna #2
Instrukcje sekwencyjne są
wykonywane kolejno
.......
jedna po drugiej
Instrukcja sekwencyjna # N
END PROCESS name;
Procesy
Konstrukcja wykonywana równolegle
Występuje wewnątrz architektury
Zawiera opis zachowania
Instrukcje wewnętrzne wykonywane są sekwencyjnie
Zawiera:
listę czułości (ang. sensitivity list);
jest to lista sygnałów, których zmiana
powoduje aktywację procesu
Podstawy Techniki Cyfrowej i
Mikroprocesorowej 22
Procesy c.d.
Procesy nie mogą być zagnie\d\ane
Wewnątrz architektury mo\e występować dowolna
liczba procesów
W części deklaracyjnej mo\na definiować: typy,
podtypy, stałe, atrybuty i zmienne
Nie mo\na deklarować sygnałów
Składnia:
[etykieta:] process [ ( lista_czułości ) ] [ is ]
--definicje i deklaracje
begin
--instrukcje_sekwencyjne;
end process [ etykieta ] ;
Przykładowa organizacja procesu
architecture A of E is
begin
-- concurrent statements
P1 : process
begin
-- sequential statements
end process P1;
-- concurrent statements
P2 : process
begin
-- sequential statements
end process P2;
-- concurrent statements
end A;
Podstawy Techniki Cyfrowej i
Mikroprocesorowej 23
Instrukcja warunkowa if then else
Jest to instrukcja sekwencyjna
Część elsif mo\e wystąpić dowolną ilość razy
Część else nie musi wystąpić
Część elsif mo\e u\ywać wielokrotnie
Mo\e być zagnie\d\ana
Składnia:
if warunek then
sekwencja_instrukcji1
{elsif warunek then
sekwencja_instrukcji2 }
[else
sekwencja_instrukcji3]
end if ;
if then else
Podstawy Techniki Cyfrowej i
Mikroprocesorowej 24
Przykład (bramka ex-or)
entity xor_gate is
port ( a: in bit;
b: in bit;
y: out bit);
end xor_gate;
architecture xor_gate_arch1 of xor_gate is
begin
gate:process(a, b)
begin
if a=b then y<='0';
else y<='1';
end if;
end process gate;
end xor_gate_arch1;
architecture xor_gate_arch2 of xor_gate is
begin
Y <= '0' when a=b else '1';
end xor_gate_arch2;
Instrukcja wyboru -case
Instrukcja sekwencyjna
Podobna do instrukcji with select
Mo\na określać kilka wartości lub zakres
Wartości nie mogą się powtarzać
Składnia (przykład):
case zm_wielow is
when wybór1 => sekwencja1_instrukcji ;
when wybór2 => sekwencja2_instrukcji ;
[when others => sekwencja3_instrukcji ; ]
end case;
Podstawy Techniki Cyfrowej i
Mikroprocesorowej 25
Przykłady
entity mp is
port ( instr : in instrukcja;
case sterowanie is addr : in integer;
when "00" => sel := 1 data : inout integer:=0);
when "01" => sel := 1; end mp;
when "10" => sel := 2; architecture opis of mp is
when others => sel := 3; type regtype is array (0 to 255) of integer;
end case; signal a, b : integer;
signal reg : regtype;
begin
process(instr)
begin
case instr is
case inp is
when lda => a<= data;
when 0 => Y <= A; when ldb => b<= data;
when 1 to 3 => Y <= B;
when add => a<= a + b;
when 4|6|8 => Y <= C;
when sub => a<= a - b;
when others => Y <= 'X';
when sta => reg(addr)<=a;
end case;
when stb => reg(addr)<=b;
when outa => data<= a;
when xfr => a <= b;
end case;
end process;
end opis;
Archmux1
entity mux is port(
a, b, c, d: in bit;
s: in bit_vector(1 downto 0);
x: out bit);
end mux;
architecture archmux1 of mux is
begin
mux4_1: process (a, b, c, d, s)
begin
if s = "00" then x <= a;
elsif s = "01" then x <= b;
elsif s = "10" then x <= c;
else x <= d;
end if;
end process mux4_1;
end archmux1;
Podstawy Techniki Cyfrowej i
Mikroprocesorowej 26
Archmux2
entity mux is port(
a, b, c, d: in bit;
s: in bit_vector(1 downto 0);
x: out bit);
end mux;
architecture archmux2 of mux is
begin
x <= a when (s = "00") else
b when (s = "01") else
c when (s = "10") else
d;
end archmux2;
Archmux3 i Archmux4
architecture archmux3 of mux is
begin
process (a,b,c,d,s)
begin
case s is
when "00" => x<= a;
when "01" => x<= b;
when "10" => x<= c;
when "11" => x<= d;
end case;
end process;
architecture archmux4 of mux is
end archmux3;
signal SEL : bit_vector(1 downto 0);
begin
with SEL select
x <= a when "00",
b when "01",
c when "10",
d when "11";
SEL <= s;
End archmux4;
Podstawy Techniki Cyfrowej i
Mikroprocesorowej 27
Archmux5
Archmux6
architecture archmux6 of mux is
begin
mux4_1: process (a, b, c, d, s)
begin
if s = "00" then x <= a;
end if;
if s = "01" then x <= b;
end if;
if s = "10" then x <= c;
end if;
if s = "11" then x <= d;
end if;
end process mux4_1;
end archmux6;
Podstawy Techniki Cyfrowej i
Mikroprocesorowej 28
Archmux1 i Archmux2
Archmux3 i Archmux4
Podstawy Techniki Cyfrowej i
Mikroprocesorowej 29
Archmux5
Archmux6
Podstawy Techniki Cyfrowej i
Mikroprocesorowej 30
Synteza układów sekwencyjnych
VHDL umo\liwia bezpośrednią reprezentację
automatu (układu sekwencyjnego). Tablicę
przejść-wyjść mo\na bezpośrednio przetłumaczyć
na specyfikację VHDL.
Wystarczą do tego instrukcje sekwencyjne:
a) wyboru (CASE) oraz
b) warunkowa (IF THEN ELSE).
Automat
Podstawy Techniki Cyfrowej i
Mikroprocesorowej 31
Zasady specyfikacji automatu
" Stany automatu są reprezentowane przez typ wyliczeniowy,
którego wartości są nazwami stanów
" Funkcje przejść wyjść są realizowane instrukcjami CASE,
IF THEN wewnątrz PROCESU
" Synchronizm zapewnia odpowiednie wyra\enie testujące
zbocze sygnału zegarowego
Specyfikacja jedno- lub dwu-procesowa
Problem kodowania stanów!
Przykład: automat Moore a
Podstawy Techniki Cyfrowej i
Mikroprocesorowej 32
Automat: jednostka deklaracji
LIBRARY ieee;
USE ieee_std_logic_1164.all;
ENTITY automacik IS
PORT (Clock,Rst, x : IN STD_LOGIC;
z : OUT STD_LOGIC);
END automacik;
Automat Moore a
ARCHITECTURE funkcja_przejsc OF automacik IS
TYPE State_type IS (A, B, C);
SIGNAL Q : State_type;
BEGIN
PROCESS (Rst, Clock)
BEGIN
IF Rst = '0' THEN Q <= A;
ELSIF (Clock'EVENT AND Clock = '1') THEN
CASE Q IS
WHEN A => IF x = '0' THEN Q <=A; ELSE Q <= B;
END IF;
WHEN B => IF x = '0' THEN Q <= A; ELSE Q <= C;
END IF;
WHEN C => IF x = '0' THEN Q <= A; ELSE Q <= C;
END IF;
END CASE;
END IF;
END PROCESS;
z <= '1' WHEN Q = C ELSE '0';
END funkcja_przejsc;
Podstawy Techniki Cyfrowej i
Mikroprocesorowej 33


Wyszukiwarka

Podobne podstrony:
TECHNIKA CYFROWA 2 wyklad4
TECHNIKA CYFROWA 2 WYKLAD2
TECHNIKA CYFROWA1 WYKLAD10
TECHNIKA CYFROWA 2 wyklad3
TECHNIKA CYFROWA 2 WYKLAD1
Technika cyfrowa
BM w TM Stobiecka Technika drabinkowa wykład turystyka(1)
technika cyfrowa ukl synchr i asynchr

więcej podobnych podstron