Projektowanie systemów cyfrowych z wykorzystaniem języka VHDL

Slides:



Advertisements
Podobne prezentacje
VHDL Today, Verilog HDL is an accepted IEEE standard. In 1995, the original standard IEEE was approved. IEEE is the latest Verilog.
Advertisements

Lingwistyka Matematyczna
REALIZACJA REGULATORA PID W UKŁADZIE FPGA
STRUKTURY DANYCH.
Inżynieria Systemów Programowalnych Część I
JĘZYK VHDL Geneza: komputerowa symulacja układu cyfrowego, Departament Obrony USA opis skomplikowanego systemu w postaci schematu jest nieczytelny, szybkie.
Sortowanie przez scalanie
Układy sekwencyjne - pojęcie automatu
Modelem układu sekwencyjnego jest AUTOMAT
Pomysł Sukces Wstępne rozwiązanie Symulacja Wynik zadowala? Poprawa rozwiązania Nie Tak Podstawowa pętla projektowania.
ALGORYTMY GRAFOWE.
Grażyna Mirkowska PJWSTK 15 listopad 2000
VHDL VHDL – akronim: VHSIC (Very High Speed Integrated Circuit) Hardware Description Language Inicjatywa Departamentu Obrony z 1980 Cel: osiągnąć znaczny.
Instrukcje strukturalne
Nośniki sygnałów - przykład Nośniki sygnałów – przykład.
ZŁOŻONOŚĆ OBLICZENIOWA
Turbo pascal – instrukcje warunkowe, iteracyjne,…
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 6: Tablice, rekordy, zbiory.
Rekurencja Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Rekurencja Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Imperatywne modele obliczeń Copyright, 2003 © Jerzy R. Nawrocki Teoretyczne podstawy.
Rekursja Copyright, 2004 © Jerzy R. Nawrocki Teoretyczne podstawy informatyki.
Kurs Pascala – spis treści
Najczęściej popełniane błędy w VHDL’u
WYZWALACZE (TRIGGERY) Wyzwalacz jest specjalnym rodzajem procedury składowanej, która może być wykonana w odpowiedzi na jedną z trzech sytuacji: UPDATE.
Instrukcje 1 Definicje wstępne Formalny opis akcji wykonywanej przez komputer nazywamy instrukcją ( statement), Każda instrukcja kończona jest średnikiem.
Ogólne jednostki programowe 1
KOMPONENTY TYPU SLAVE Orkiszewski Marcin
Koncepcja refaktoryzacji kodu w języku VHDL
Układy sekwencyjne pojęcia podstawowe.
minimalizacja automatów
Przerzutniki.
Układy sekwencyjne - pojęcie automatu
Pliki tekstowe. Operacje na plikach. mgr inż. Agata Pacek.
Operacje na strukturach listowych
Funkcje logiczne i ich realizacja. Algebra Boole’a
Problem kodowania stanów w układach sekwencyjnych (automatach)
PL/SQL Zajęcia nr II PL/SQL(2) M. Rakowski - WSISiZ.
Pliki Pojęcie i rodzaje plików Definicja typu plikowego Operacje wykonywane na plikach elementowych.
UKŁADY MIKROPROGRAMOWANE
Zbiory i rekordy mgr inż. Agata Pacek. Deklaracja typu zbiorowego (określa ilość elementów w zbiorze) type biegi=set of 0..6; Definiowanie zmiennej typu.
Synteza logiczna w projektowaniu…
Instrukcja warunkowa i wyboru
Programowanie baz danych
Wykład nr 9 Programowanie sterowników PLC Piotr Bilski
Wykład 10 typ zbiorowy rekurencja.
Ogólna struktura programu w TP
Pudełko Urządzenia Techniki Komputerowej
Podstawy Techniki Cyfrowej
Przerzutniki bistabilne
Zagadnienia AI wykład 6.
1 SBD, L.Banachowski Oprogramowanie strony serwera cz. 1 Powtórzenie wyk ł adu 6.
Rejestry przesuwne, Pamięci
I T P W ZPT Konwerter BIN2BCD 1 LK „8” DEC LK = 0 LOAD1 R3R2R1  K S3 S2S1 A B „5” K  5 MUX 1 0 A R4 LOAD2 Y = LD B LB „3” US Układ wykonawczy Układ sterujący.
Podsumowanie wiedzy MPDI2 sem.3 INFORMATYKA. tworzenie nowego pliku i katalogu, nawigacja po katalogach, listowanie zawartości katalogu, zmiana nazw,
1 UKŁADY LOGICZNE Prowadzi: Tadeusz ŁUBA, (GE pok. 483) Wykład dla kierunków: Elektronika, Telekomunikacja.
Programowalne układy cyfrowe, czyli fabryka na Twoim biurku
1 Tadeusz Łuba Mariusz Rawski Paweł Tomaszewicz Politechnika Warszawska Instytut Telekomunikacji Układy programowalne – nowe oblicze techniki cyfrowej.
ZPT 1 Dekompozycja nierozłączna Pojęcie r - przydatności Dekompozycja zrównoważona Dekompozycja równoległa.
VHDL Ernest Jamro, Paweł Russek C3 p. 504
VHDL Ernest Jamro, Paweł Russek C3 p. 504
Media Cyfrowe  Media cyfrowe to dowolna forma (lub format) prezentacji i użytkowania treści (np. tekstowych, graficznych, audiowizualnych), które są.
Projektowanie systemów cyfrowych z wykorzystaniem języka VHDL Układy sekwencyjne.
Projektowanie systemów cyfrowych z wykorzystaniem języka VHDL Układy kombinacyjne.
VHDL Ernest Jamro, Paweł Russek C3 p. 504
Rejestry przesuwne, sumatory
Synteza logiczna w projektowaniu układów cyfrowych
Układy logiczne kombinacyjne sekwencyjne
Układy asynchroniczne
Podstawy Automatyki Człowiek- najlepsza inwestycja
Zapis prezentacji:

Projektowanie systemów cyfrowych z wykorzystaniem języka VHDL Podstawy syntezy układów sekwencyjnych

Automaty – tradycyjne projektowanie Etapy tradycyjnej metodologii projektowania skończonych automatów stanu: Utworzenie grafu stanu Utworzenie tablicy stanów Określenie funkcji wzbudzeń Utworzenie tablicy wyjść Określenie funkcji wyjść Narysowanie schematu Otrzymany w powyższy sposób schemat automatu można zapisać w języku VHDL używając opisu strukturalnego. Ten sposób opisu automatu jest bardzo czasochłonny.

Automaty w VHDL Krok pierwszy: - na podstawie grafu stanów definiujemy wejścia i wyjścia automatu entity fsm is port (wejscia in bit; clk, reset in bit; wyjscia out bit); end fsm; Krok drugi: - zdefiniowanie w części deklaracyjnej architecture typu wyliczeniowego zawierającego stany automatów oraz sygnałów stan_obecny i stan_nastepny architecture fsm1 of fsm is type stan is (s0, s1, s2, s3, ...); signal stan_obecny, stan_nastepny: stan; ...

Automaty w VHDL Krok trzeci: - opis działania części sekwencyjnej automatu process (clk, reset) begin if reset = ’1’ then stan_obecny <= s0; -- jeśli uznamy, ze s0 jest stanem poczatkowym automatu elsif clk’event and clk = ’1’ then stan_obecny <= stan_nastepny; end if; end process;

Automaty w VHDL Krok czwarty: - opis działania części kombinacyjnej automatu process (wejscie, stan_obecny) begin case stan_obecny is when s0 => if wejscie = ... then wyjscie <= wartosc_wyjsciowa; stan_nastepny <= s1; else ... end if; when s1 => end case; end process;

Automat Moore’a

Przykład – automat Moore’a Krok pierwszy: wejścia: wyjścia: - clk - y - reset - x ... entity fsm is port (x in bit; clk, reset in bit; y out bit); end fsm;

Przykład – automat Moore’a Krok drugi: stany: - s0, s1, s2, s3 ... architecture moore of fsm is type stan is (s0, s1, s2, s3); signal stan_obecny, stan_nastepny: stan; begin

Przykład – automat Moore’a Krok trzeci: ... process (clk, reset) begin if reset = ’1’ then stan_obecny <= s0; elsif clk’event and clk = ’1’ then stan_obecny <= stan_nastepny; end if; end process;

Przykład – automat Moore’a Krok czwarty: process (x, stan_obecny) begin case stan_obecny is when s0 => y <= ’0’; if x = ’0’ then stan_nastepny <= s1; else stan_nastepny <= s2; end if; when s1 => stan_nastepny <= s0; ... ... when s2 => y <= ’0’; if x = ’0’ then stan_nastepny <= s1; else stan_nastepny <= s3; end if; when s3 => y <= ’1’; stan_nastepny <= s0; end case; end process;

Automat Mealy’ego

Przykład – automat Mealy’ego , Krok pierwszy: wejścia: wyjścia: - clk - y - reset - x ... entity fsm is port (x in bit_vector(1 downto 0); clk, reset in bit; y out bit); end fsm;

Przykład – automat Mealy’ego , Krok drugi: stany: - s0, s1, s2 ... architecture mealy of fsm is type stan is (s0, s1, s2); signal stan_obecny, stan_nastepny: stan; begin

Przykład – automat Mealy’ego , Krok trzeci: ... process (clk, reset) begin if reset = ’1’ then stan_obecny <= s0; elsif clk’event and clk = ’1’ then stan_obecny <= stan_nastepny; end if; end process;

Przykład – automat Mealy’ego Krok czwarty: process (x, stan_obecny) begin case stan_obecny is when s0 => if x = ”00” then y <= ’1’; stan_nastepny <= s1; elsif x = ”01” then elsif x = ”10” then y <= ’0’; else stan_nastepny <= s2; end if; ... ,

Przykład – automat Mealy’ego Krok czwarty: ... when s1 => if x = ”00” then y <= ’0’; stan_nastepny <= s0; elsif x = ”01” then stan_nastepny <= s2; elsif x = ”10” then y <= ’1’; stan_nastepny <= s1; else end if; ,

Przykład – automat Mealy’ego Krok czwarty: ... when s2 => if x = ”00” then y <= ’0’; stan_nastepny <= s0; elsif x = ”01” then y <= ’1’; stan_nastepny <= s1; elsif x = ”10” then else end if; end case; end process; ,