Instrukcje sekwencyjne

Podobne dokumenty
Elementy języka VHDL

Projektowanie automatów z użyciem VHDL

Układy reprogramowalne i SoC Język VHDL (część 4)

Modelowanie złożonych układów cyfrowych (1)

Pojedyncze wartości zadeklarowanego typu Ustawiane przed rozpoczęciem symulacji bez moŝliwości

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL

Programowalne układy logiczne

Projektowanie w VHDL

Układy asynchroniczne

VHDL cz.1. Rafał Walkowiak IIn PP Wer

Altera Quartus II. Opis niektórych komponentów dostarczanych razem ze środowiskiem. Opracował: mgr inż. Leszek Ciopiński

VHDL cz.1. Rafał Walkowiak IIn PP Wer

Sposoby projektowania systemów w cyfrowych

Język HDL - VERILOG. (Syntetyzowalna warstwa języka) Hardware Description Language Krzysztof Jasiński PRUS PRUS

WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego LABORATORIUM UKŁADÓW PROGRAMOWALNYCH I SPECJALIZOWANYCH

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. Automaty stanów

Projektowanie hierarchiczne Mariusz Rawski

Projektowanie Scalonych Systemów Wbudowanych VERILOG

Realizacja algorytmu wyznaczania wyrazów ciągu w języku VHDL z zastosowaniem podziału projektu na moduły: FSM i Data Path.

1. ISE WebPack i VHDL Xilinx ISE Design Suite 10.1 VHDL Tworzenie projektu Project Navigator Xilinx ISE Design Suite 10.1 File

VHLD Very High Speed Integrated Circuit (VHSIC) Hardware Description Language (VHDL)

PUCY Kolos 2: Reloaded

Specyfika projektowania Mariusz Rawski

CZ1. Optymalizacja funkcji przełączających

Kierunek EiT Specjalność Sieci i usługi, V rok Programowalne Układy Cyfrowe. Synteza logiczna. Rajda & Kasperek 2015 Katedra Elektroniki AGH 1

VHDL. Zebrał i opracował R.Walkowiak PTC wykład 2013/2014

Elementy języka VHDL. obiekty typy danych atrybuty pakiety i biblioteki instrukcje współbieżne instrukcje sekwencyjne. PUE-w3 1

Krótkie wprowadzenie do ModelSim i Quartus2

Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje.

Układy asynchroniczne

Synteza strukturalna

Systemy Czasu Rzeczywistego FPGA

Systemy Czasu Rzeczywistego FPGA

AHDL - Język opisu projektu. Podstawowe struktury języka. Komentarz rozpoczyna znak i kończy znak %. SUBDESIGN

Podstawy techniki cyfrowej zima 2015 Rafał Walkowiak

Systemy Czasu Rzeczywistego FPGA

Podstawowe elementy układów cyfrowych układy sekwencyjne Rafał Walkowiak Wersja

Języki opisu sprzętu VHDL Mariusz Rawski

Programowalne układy logiczne

Aby w pełni przetestować układ o trzech wejściach IN_0, IN_1 i IN_2 chcemy wygenerować wszystkie możliwe kombinacje sygnałów wejściowych.

Projektowanie hierarchiczne Mariusz Rawski

Technika Cyfrowa. Wprowadzenie do laboratorium komputerowego część II

mgr inż. Maciej Rudek opracował: dr inż. Daniel Kopiec

Projekt prostego procesora

Układy Cyfrowe laboratorium

Język opisu sprzętu VHDL

Ćwiczenie 1 VHDL - Licznik 4-bitowy.

Podstawy techniki cyfrowej zima 2017 Rafał Walkowiak Synteza strukturalna wyższego poziomu

Podstawowe elementy układów cyfrowych układy sekwencyjne. Rafał Walkowiak

Technika cyfrowa projekt: Sumator 4 bitowy równoległy

Układy reprogramowalne i SoC Język VHDL (część 3)

Część 3. Układy sekwencyjne. Układy sekwencyjne i układy iteracyjne - grafy stanów TCiM Wydział EAIiIB Katedra EiASPE 1

Szkolenia specjalistyczne

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

Programowalne układy logiczne

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014

LABORATORIUM TECHNIKA CYFROWA. Pamięci. Rev.1.35

Język HDL - VERILOG. (Syntetyzowalna warstwa języka) Hardware Description Language Krzysztof Jasiński PRUS PRUS

Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści

Przykładowe pytania z części PSPICE. 1. Podaj zasady tworzenia pliku symulacyjnego. 2. Czy składnia PSPICE jest czuła na wielkość liter? 3.

Realizacja logiki kombinacyjnej Mariusz Rawski

Język AHDL. Synteza strukturalna. dr inŝ. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska H D L

Kurs języka VHDL Very High (Speed Integrated Circuits) Description Language

Programowanie Układów Logicznych kod kursu: ETD6203 W dr inż. Daniel Kopiec. Pamięć w układach programowalnych

System cyfrowy. Układ sterujący (kontroler) Układ operacyjny (Datapath) Mikrooperacje wywoływane przez sygnały sterujące.

Sekwencyjne bloki funkcjonalne

Automat skończony FSM Finite State Machine

Projektowanie Urządzeń Cyfrowych

mgr inż. Maciej Rudek opracował: dr inż. Daniel Kopiec

Wstęp do Techniki Cyfrowej... Synchroniczne układy sekwencyjne

Programowanie Układów Logicznych kod kursu: ETD6203. VHDL, ISE WebPACK, Plan Ahead, Impact W

DOKUMENTACJA PROJEKTU

1.Wprowadzenie do projektowania układów sekwencyjnych synchronicznych

Język PL/SQL Pakiety podprogramów

LABORATORIUM OPTOELEKTRONIKA I SENSORYKA Oprogramowanie bariery podczerwieni w układzie CPLD

Wykład nr 3 Techniki Mikroprocesorowe. dr inż. Artur Cichowski

Wstęp do programowania 2

Cyfrowe układy sekwencyjne. 5 grudnia 2013 Wojciech Kucewicz 2

Układy cyfrowe w Verilog HDL. Elementy języka z przykładami. wersja: cz.3

SWB - Projektowanie synchronicznych układów sekwencyjnych - wykład 5 asz 1. Układy kombinacyjne i sekwencyjne - przypomnienie

XC4000: LUT jako ROM Układy Cyfrowe i Systemy Wbudowane 2 Układy FPGA cz. 2 ROM32X1 VHDL inference example ROM 16x2b type

DECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ];

Układy logiczne układy cyfrowe

Laboratorium przedmiotu Technika Cyfrowa

LABORATORIUM ELEKTRONIKI I TEORII OBWODÓW

Laboratorium Projektowania Systemów VLSI-ASIC Katedra Elektroniki Akademia Górniczo-Hutnicza

PRZERZUTNIKI: 1. Należą do grupy bloków sekwencyjnych, 2. podstawowe układy pamiętające

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Plan wykładu Projekt fizyczny bazy danych Wprowadzenie PL/SQL PL/SQL Cechy PL/SQL

Procedury i funkcje składowane

Październik Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska. Systemy baz danych - wykład III. dr inż.

(przykład uogólniony)

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA

LEKCJA. TEMAT: Funktory logiczne.

Programowanie w SQL. definicja bloku instrukcji BEGIN...END, warunkowe wykonanie instrukcji IF...ELSE, wyrażenie CASE,

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005

Wstęp do Techniki Cyfrowej... Teoria automatów i układy sekwencyjne

Cyfrowe Elementy Automatyki. Bramki logiczne, przerzutniki, liczniki, sterowanie wyświetlaczem

Plan wykładu. Architektura systemów komputerowych. Cezary Bolek

Transkrypt:

nstrukcje sekwencyjne nstrukcje sekwencyjne są stosowane w specyfikacji behawioralnej (behavioral description) rzede wszystkim w tzw. procesach (process) roces nstrukcja F nstrukcja CASE Z 1

rocesy Konstrukcja wykonywana równolegle ystępuje wewnątrz architektury Zawiera opis behawioralny nstrukcje wewnętrzne wykonywane są sekwencyjnie Zawiera: listę czułości (ang. sensitivity list); jest to lista sygnałów, których zmiana powoduje aktywację procesu Z 2

roces Name :ROCESS (sensitivity_list) BEGN nstrukcja sekwencyjna #1 nstrukcja sekwencyjna #2... nstrukcja sekwencyjna # N END ROCESS name; Składnia: rocess ( ) begin.. end process Lista czułości nstrukcje sekwencyjne są wykonywane kolejno jedna po drugiej Etykieta jest opcjonalna Z 3

nstrukcja warunkowa if then else Jest to instrukcja sekwencyjna Analogiczna do instrukcji when else Część elsif może wystąpić dowolną liczbę razy Część else nie musi wystąpić Składnia: if warunek then sekwencja_instrukcji1 {elsif warunek then sekwencja_instrukcji2 } [else sekwencja_instrukcji3] end if ; Z 4

nstrukcja wyboru - case nstrukcja sekwencyjna Analogiczna do instrukcji with select Można określać kilka wartości lub zakres artoś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; Z 5

Synteza układów sekwencyjnych VHDL umożliwia bezpośrednią reprezentację automatu (układu sekwencyjnego). ablicę przejść-wyjść można bezpośrednio przetłumaczyć na specyfikację VHDL. szystkie inne metody, polegające na oddzielnej syntezie części kombinacyjnej, a następnie na dołączaniu do niej rejestru, w typowych układach nie mają sensu. Z 6

Zasady specyfikacji automatu Stany automatu są reprezentowane przez typ wyliczeniowy, którego wartości są nazwami stanów Synchronizm zapewnia odpowiednie wyrażenie testujące zbocze sygnału zegarowego Funkcje przejść wyjść są realizowane instrukcjami CASE, F HEN wewnątrz ROCESU Specyfikacja jedno- lub dwu-procesowa yjątkiem w stosowaniu typu wyliczeniowego jest automat ze stanami kodowanymi przez użytkownika Z 7

yp wyliczeniowy yp wyliczeniowy (enumeration type) może być definiowany przez użytkownika. rzykład: type MY_SAE is (State1, State2, State3, State4);... signal SAE : MY_SAE; SAE <= State1; Z 8

Atrybuty Dostarczaj dodatkowych informacji o obiektach (np.. sygnałach, zmiennych, typach lub komponentach) Składnia obiekt atrybut[(parametr)]; Najczęściej stosowany atrubut: event równy RUE, gdy zachodzi zmiana wartości sygnału, f Clock event and Clock = 1 then Q := D; Z 9

rzykład: automat Moore a x = 0 Rst x = 1 x s 0 1 z A/z = 0 B/z = 0 A A B 0 x = 0 x = 0 x = 1 B A C 0 C/z = 1 C A C 1 x = 1 Z 10

Automat: deklaracja jednostki LBRARY ieee; USE ieee.std_logic_1164.all; ENY automacik S OR (Clock, Rst, x : N SD_LOGC; z : OU SD_LOGC); END automacik; Z 11

Automat - wersja Zerowanie asynchroniczne ARCHECURE funkcja_przejsc OF automacik S YE State_type S (A, B, C); SGNAL Q : State_type; BEGN Deklaracja typu i sygnału ROCESS (Rst, Clock) BEGN F Rst = '0' HEN Q <= A; ELSF (Clock'EVEN AND Clock = '1') HEN CASE Q S HEN A => F x = '0' HEN Q <=A; ELSE Q <= B; END F; HEN B => F x = '0' HEN Q <= A; ELSE Q <= C; Synchronizacja END F; HEN C => F x = '0' HEN Q <= A; ELSE Q <= C; END CASE; END F; END ROCESS; z <= '1' HEN Q = C ELSE '0'; END funkcja_przejsc; END F; Z 12

roces Kombinacyjny Case f hen Else ejścia Układ kombinacyjny Automat Stan następny (next_state) roces Sekwencyjny CLK EVEN and CLK= 1 rzerzutniki Stany bieżące (present_state) Z 13

Automat Moore a - wersja Z ARCHECURE funkcja_przejsc OF simple S YE State_type S (A, B, C); SGNAL Q_present, Q_next : State_type ; BEGN ROCESS (x, Q_present) BEGN CASE Q_present S HEN A => F x = '0' HEN Q_next <= A; ELSE Q_next <= B; END F; HEN B => F x = '0' HEN Q_next <=A; ELSE Q_next <= C; END F; HEN C=> F x = '0' HEN Q_next <= A; ELSE Q_next <= C; END F; END CASE; END ROCESS; ROCESS (Clock, Rst) BEGN F Rst = '0' HEN Q_present <= A; r o c e s k o m b i n a c y j n y roces sekwencyjny ELSF (Clock'EVEN AND Clock = '1') HEN Q_present <= Q_next; END F; END ROCESS; z <= '1' HEN Q_present = C ELSE '0'; END funkcja_przejsc; 14

roblem kodowania stanów Specyfikacja automatu: ciekawostka o procesie kompilacji Automaty w komercyjnych kompilatorach VHDL raczej nie są realizowane optymalnie jak też nie zawsze są realizowane na minimalnej liczbie przerzutników Nasz automat w opcji FGA na trzech przerzutnikach!!! Ucieczka przed skomplikowaniem części kombinacyjnej w realizacjach dla struktur FGA Z 15

roblem kodowania stanów Dlatego warto w projektach dla urządzeń rynkowych stosować zewnętrzne procedury kodowania stanów automatu. akie procedury są dostępne w oprogramowaniu uniwersyteckim akiet SS JED, NOVA Z 16

roblem kodowania stanów Szczęśliwie się składa, iż język VHDL umożliwia wprowadzenie dowolnego, zewnętrznie obliczonego kodowania stanów wewnętrznych architecture nazwa_arch of nazwa_jednostki is begin u kodowanie: za pośrednictwem deklaracji stałych (constant) end nazwa_arch; Z 17

Automat Moore a z kodowaniem stanów Z ARCHECURE funkcja_przejsc OF simple S SGNAL Q_present, Q_next: SD_LOGC_VECOR(1 DONO 0) CONSAN A :SD_LOGC_VECOR(1 DONO 0) := "00"; CONSAN B :SD_LOGC_VECOR(1 DONO 0) := "01"; CONSAN C :SD_LOGC_VECOR(1 DONO 0) := "11"; BEGN ROCESS (x, Q_present) BEGN CASE Q_present S HEN A => F x = '0' HEN Q_next <= A; ELSE Q_next <= B; END F; HEN B => F x = '0' HEN Q_next <= A; ELSE Q_next <= C; zabezpieczenie przed nadmiarowym stanem: 10 nny typ zmiennej END F; HEN C => F x = '0' HEN Q_next <= A; ELSE Q_next <= C; END F; HEN OHERS => Q_next <= A; END CASE; END ROCESS; ROCESS (Clock, Rst) BEGN F Rst = '0' HEN Q_next <= A; ELSF (Clock'EVEN AND Clock = '1') HEN Q_present <= Q_next; END F; END ROCESS; z <= '1' HEN Q_present = C ELSE '0'; END funkcja_przejsc; 18

Specyfikacje typowych układów rzerzutniki Rejestry: równoległy, szeregowy Liczniki: w górę, z wpisem równoległym Modelowanie na poziomie strukturalnym rojektowanie większych układów Specyfikacje wszystkich przykładów są podane w książce: rogramowalne układy przetwarzania sygnałów cyfrowych i informacji Z 19