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

Podobne dokumenty
Programowalne układy logiczne kod kursu: ETD Szybkość, moc, zasoby W

Układy reprogramowalne i SoC Implementacja w układach FPGA

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

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

Programowalne układy logiczne

Systemy Czasu Rzeczywistego FPGA

Laboratorium przedmiotu Technika Cyfrowa

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

Ochrona własności intelektualnej projektów w układach FPGA poprzez szyfrowanie danych konfiguracyjnych

W przypadku spostrzeżenia błędu proszę o przesłanie informacji na adres

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

Ćwiczenie Technika Mikroprocesorowa komputery 001 Układy sekwencyjne cz. 1

Bezpieczeństwo informacji oparte o kryptografię kwantową

Układy zegarowe w systemie mikroprocesorowym

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

Ćw. 9 Przerzutniki. 1. Cel ćwiczenia. 2. Wymagane informacje. 3. Wprowadzenie teoretyczne PODSTAWY ELEKTRONIKI MSIB

Podstawy Elektroniki dla Elektrotechniki. Liczniki synchroniczne na przerzutnikach typu D

Sławomir Kulesza. Projektowanie automatów asynchronicznych

Elektronika i techniki mikroprocesorowe

LABORATORIUM ELEKTRONIKI I TEORII OBWODÓW

napięcie-częstotliwość

Wygląd okna aplikacji Project Navigator.

Programowalne układy logiczne Wydziałowy Zakład Nanometrologii SEMESTR LETNI

Projektowanie układów FPGA. Żródło*6+.

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

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH

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

Przerzutnik (z ang. flip-flop) jest to podstawowy element pamiętający każdego układu

Przerzutniki RS i JK-MS lab. 04 Układy sekwencyjne cz. 1

Ćw. 7: Układy sekwencyjne

Elementy cyfrowe i układy logiczne

Ćwiczenie MMLogic 002 Układy sekwencyjne cz. 2

ZASTOSOWANIA UKŁADÓW FPGA W ALGORYTMACH WYLICZENIOWYCH APPLICATIONS OF FPGAS IN ENUMERATION ALGORITHMS

Wykorzystanie układów FPGA w implementacji systemów bezpieczeństwa sieciowego typu Firewall

Sławomir Kulesza. Projektowanie automatów synchronicznych

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2016

Projektowanie Scalonych Systemów Wbudowanych VERILOG

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

Ukªady Kombinacyjne - cz ± I

LABORATORIUM TECHNIKA CYFROWA LICZNIKI I REJESTRY. Rev.1.1

Projektowania Układów Elektronicznych CAD Laboratorium

Spis treści 1. Wstęp 2. Ćwiczenia laboratoryjne LPM

Podstawy układów mikroelektronicznych

Przerzutnik ma pewną liczbę wejść i z reguły dwa wyjścia.

Proste układy sekwencyjne

Badanie właściwości wysokorozdzielczych przetworników analogowo-cyfrowych w systemie programowalnym FPGA. Autor: Daniel Słowik

Programowalne układy logiczne

Podstawy elektroniki cyfrowej dla Inżynierii Nanostruktur. Piotr Fita

Programowalne Układy Logiczne. Wykład I dr inż. Paweł Russek

Systemy Czasu Rzeczywistego FPGA

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

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

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

ĆWICZENIE 7. Wprowadzenie do funkcji specjalnych sterownika LOGO!

UKŁADY CYFROWE. Układ kombinacyjny

Liczniki, rejestry lab. 07 Układy sekwencyjne cz. 1

Statyczne badanie przerzutników - ćwiczenie 3

Programowalne Układy Cyfrowe Laboratorium

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

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

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

dwójkę liczącą Licznikiem Podział liczników:

Funkcje logiczne X = A B AND. K.M.Gawrylczyk /55

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

Automatyzacja i robotyzacja procesów produkcyjnych

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TECHNIKA CYFROWA 2 TS1C

Programowanie Układów Logicznych kod kursu: ETD6203. Szczegóły realizacji projektu indywidualnego W dr inż.

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

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

Ćwiczenie 27C. Techniki mikroprocesorowe Badania laboratoryjne wybranych układów synchronicznych

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Projektowanie układów na schemacie

Krótkie wprowadzenie do ModelSim i Quartus2

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE

Temat: Projektowanie i badanie liczników synchronicznych i asynchronicznych. Wstęp:

Projektowanie automatów z użyciem VHDL

WFiIS CEL ĆWICZENIA WSTĘP TEORETYCZNY

WebPack nadal bezpłatnie, ale z licencją

Programowalne scalone układy cyfrowe PLD, CPLD oraz FPGA

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.

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

Projektowanie z użyciem softprocesora picoblaze w układach programowalnych firmy Xilinx

Systemy Czasu Rzeczywistego FPGA

Implementacja algorytmu szyfrującego

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2017

Krótkie przypomnienie

Podstawy elektroniki cz. 2 Wykład 2

Projektowanie z użyciem bloków funkcjonalnych w układach programowalnych firmy Xilinx

Modelowanie liczników w języku Verilog i ich implementacja w strukturze FPGA

Cyfrowe układy scalone c.d. funkcje

Język opisu sprzętu VHDL

Podział układów cyfrowych. rkijanka

Funkcje: wejściowe, wyjściowe i logiczne. Konfigurowanie zabezpieczeń.

Statyczne i dynamiczne badanie przerzutników - ćwiczenie 2

Układy asynchroniczne

Projektowanie Urządzeń Cyfrowych

Lista zadań nr 5. Ścieżka projektowa Realizacja każdego z zadań odbywać się będzie zgodnie z poniższą ścieżką projektową (rys.

f we DZIELNIKI I PODZIELNIKI CZĘSTOTLIWOŚCI Dzielnik częstotliwości: układ dający impuls na wyjściu co P impulsów na wejściu

POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych. Instytut Telekomunikacji Zakład Podstaw Telekomunikacji

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

Transkrypt:

Programowanie Układów Logicznych kod kursu: ETD6203 Analiza czasowa W8 17.04.2019 mgr inż. Maciej Rudek opracował: dr inż. Daniel Kopiec

Plan wykładu Zależności czasowe w układach programowalnych Pojęcia związane z sygnałem Narzędzia optymalizacji czasu i rozmiaru Ograniczenia czasowe SmartXplorer, Plan Ahead Przykładowe pytania - podsumowanie 2

Propagacja sygnałów Dzięki zastosowaniu symulacji czasowej po syntezie możliwe jest określenie opóźnień wynikających z ułożenia elementów, bramek, komponentów wewnątrz układu FPGA.

Propagacja sygnałów Matrycowe rozmieszczenie komórek logicznych CLB wymusza zastosowanie segmentowych połączeń między nimi, niesie to za sobą trudne do przewidzenia i zależne od algorytmów syntezy logicznej parametry czasowe realizowanego projektu. 6 Trasa propagacji sygnału: t PD = t 1 + t 2 + t 3 + t 4 + t 5 + t 6 +

Kilka pojęć związanych z czasem Czas propagacji (ang. propagation delay) Czas reakcji, zadziałania (ang. contamination delay) Czas ustalania (ang. setup time) Czas trzymania (ang. hold time) Jitter 7

Czas propagacji - propagation delay t PD czas potrzebny na zmianę i ustabilizowanie się wartości sygnału wyjściowego pod wpływem zmian sygnału wejściowego 8

Czas reakcji - contamination delay t CD wartość ta wskazuje ilość czasu potrzebnego do zmiany stanu wyjścia cyfrowego zainicjowana zmianę sygnały na wejściu układu 9

Czas ustalania oraz trzymania - setup time t ST, hold time t HT czas stabilizacji danych wejściowych przed pojawieniem się zbocza CLK czas trzymania danych po wystąpieniu zbocza sygnału CLK t DQ 1

Opóźnienie sygnałów - clock skew długie połączenia, bufory na liniach zegarowych, logika komb. na liniach zegarowych 11

Jitter Jitter jest to chwilowe odstępstwo zboczy sygnałów od ich idealnych wartości. Powodem niestabilności sygnału są zazwyczaj: fluktuacje napięć zasilania, zmiany temperatury, obciążenie, zakłócenia zewnętrzne (emitowane przez inne urządzenia), szum drgań termicznych układów elektronicznych itp. Jitter może dotyczyć częstotliwości, amplitudy i fazy danego sygnału. wzorcowy T CLK0 jitter z jitter em okresowo T CLK (n) T CLK (n) T CLK (n+1) 1 J ACC = T CLK (n) nt CLK0

CRYSTAL OSCILLATOR EPSON Q3851CA000055 XG-1000CA 50 MHZ OSCILLATOR, SPXO, XG- 1000CA, 50 MHZ, SMD 13 http://pl.farnell.com/epson/q3851ca000055-xg-1000ca-50-mhz/oscillator-spxo-xg-1000ca-50-mhz/dp/1907482

Widmo sygnału z jitter-em Większa wartości jitter-a powoduje poszerzenie prążka widmowego 14

Metody eliminacji jitter-a - jitter cleaning clock Si5317 Silicon Labs 15 https://www.silabs.com/support%20documents/technicaldocs/si5317.pdf http://www.xilinx.com/support/documentation/application_notes/xapp462.pdf

Metody eliminacji jitteru 16 http://www.xilinx.com/support/documentation/application_notes/xapp462.pdf

Metody eliminacji jitter-u 17 http://www.xilinx.com/support/documentation/application_notes/xapp462.pdf

Przykład minimalny okres sygnału Po jakim czasie na wyjściu zaobserwujemy zmianę stanu? 18 T MIN = t DQ (A) + t PD (LK) + t ST (B) T MIN = 10 ns + 5 ns + 2 ns = 17 ns f = 1/T MIN = 1/17 ns = 58,8 MHz

Przykład minimalny okres sygnału t HT (B) t CD (A) + t CT (LK) 19 1) po narastającym zboczu CLK i czasie 10 ns sygnał z wej. D trafi na wejście x, 2) po czasie 5 ns sygnał pojawia się na wyjściu log. kombinacyjnej 3) w nast. cyklu zeg. sygnał zostaje przepisany na wyj. out

Przykład f MAX = 58,8 MHz T AB = t DQ (A) + t ST (B) = 9 ns + 2 ns = 11 ns T AC = t DQ (A) + t PD (LK) + t ST (C) = 9 ns + 5 ns + 2 ns = 16 ns 20 T BC = t DQ (B) + t PD (LK) + t ST (C) = 10 ns + 5 ns + 2 ns = 17 ns

Ograniczenia czasowe efekty - Timing Constraints Bez globalnych ograniczeń czasowych Z globalnymi ograniczeniami czasowymi 21 Grupowanie optymalizowane pod kątem poprawy czasu wewnątrz struktury logicznej Ocenie czasowej podlegają wszystkie połączenia, CLB zostają rozmieszczone bliżej IOB

22 Plan Ahead - floorplaner

Ograniczenia czasowe 23 W procesie projektowania i syntezy CPLD/FPGA istnieją cztery rodzaje ograniczeń: ograniczenie między połączeniowe, - obejmuje połączenia pomiędzy elementami synchronicznymi, taktowanych globalnym sygnałem zegarowym, ograniczenie przesunięć czasowych od wej. i z wyj., - obejmuje połączenie pomiędzy elementami synchronicznymi z sygnałami z wejścia, oraz synchronicznych elementów wyjściowych, ograniczenia czasowe od PAD-u do PAD-u, - obejmuje połączenia od pad-u do pad-u, ścieżki nie mogą zawierać elementów synchronicznych, ograniczenie od do - obejmuje ograniczania pomiędzy dwoma określonymi grupami sygnałów, grupa może być zdefiniowana lub predefiniowana

Ograniczenia czasowe czas do wejścia czas pomiędzy czas do wyjścia ADATA FLOP1 D Q FLOP2 D Q FLOP3 D Q OUT1 CLK BUS [7..0] BUFG FLOP4 D Q FLOP5 D Q OUT2 CDATA od wejścia do wyjścia (PAD to PAD) 24 http://www.xilinx.com/itp/xilinx10/books/docs/cgd/cgd.pdf

Punkty końcowe Elementami końcowymi są: - wejścia/wyjścia (I/O pads) - elementy synchroniczne: FFs, Latches, Rams, DSP slices, SRLs, Flip-Flops Zatrzaski RAM DSP48 25 W ich skład nie zalicza się: - LUT, - połączeń, ścieżek oraz elementów asynchronicznych

Analiza wrażliwości czasowej - możliwości Umożliwia przeprowadzenie czterech rozbudowanych analiz czasowych, umożliwiających: osiągnięcie czasów propagacji sygnałów zgodnie z zadanymi ograniczeniami (User Constraints), oszacowania czasów propagacji wybranych ścieżek sygnałów, oszacowanie czasów propagacji wybranych odcinków ścieżek, porównanie czasów dla zadanych przez użytkownika ograniczeń czasowych dot. sygnału zegarowego i czasów opóźnienia sygnałów między wejściem a wyjściem układu 26 http://www.xilinx.com/itp/xilinx10/books/docs/cgd/cgd.pdf

Tworzenie ograniczeń Tworzenie ograniczeń czasowych jest procesem dwuetapowym, który obejmuje: - tworzenie grup elementów np. elementy synchroniczne przerzutniki, zatrzaski, ram - określenie ograniczeń czasowych dla każdej grupy oraz pomiędzy nimi, Wymagania stawiane projektowi zadawane są w pliku *.ucf: - wymagania czasowe: częstotliwość, opóźnienia sygnałów, - wymagania co do sposobu rozmieszczania komponentów 27

Edytor ograniczeń - Constraints editor, Create Timing Constraints Dostęp z poziomu User Constraints Dwuklik uruchamia edytor ograniczeń 28

Analiza czasowa - wynik analizy, raport ogólny Ograniczenia liczba analizowanych ścieżek, liczba błędów, długość krytycznych połączeń Całkowite opóźnienie w odniesieniu do danych i zegara Analiza zegara Szczegółowy wykaz rodzaj opóźnienia najgorszy przypadek, podsumowanie 29

Optymalizacja czas, rozmiar - Post-Place & Route Static Timing Report Analiza, czy spełnione zostały założone ograniczenia? Design Summary/Reports Place & Route report Założenia odnośnie syg. zegarowego Actual Period 2,025 ns All constraints were met. 30

31 Optymalizacja czas, rozmiar - Failing Constraints

Optymalizacja czas, rozmiar - optymalizacja procesu syntezy XST odpowiednie wykorzystanie możliwości modułu XST pozwala zwiększać wydajność Synthesis Options HDL Options Xilinx Specific Options 32

Optymalizacja czas, rozmiar - optymalizacja procesu syntezy XST Łączenie LUT - LUT Combining korzystanie z zasobów LUT (generatorów funkcji) powiązanie, XST looks for functions that use the same five inputs and tries to pair them Recommended for Virtex-5, Spartan-6, and Virtex-6 architectures Ograniczenie zasobów sterujących - Reduce Control Sets XST będzie korzystał z LUT zamiast przerzutników z CE, synch. SET/RESET, wszystkie FF w obrębie Slice a korzystają z tych samych CE, SET, RESET 33

Optymalizacja czas, rozmiar - optymalizacja procesu syntezy XST Symbol blokady Oznacza tylko tyle, że ustawienia regulowane są przez cel projektu i ustawień strategii, Zmiana wymaga wybór innej strategii Możliwość zmiany właściwości bardziej zaawansowanych 34

Optymalizacja czas, rozmiar - zalecana strategia (1) Korzystaj ze standardowych opcji i planów syntezy, (2) Zezwól na korzystanie z ograniczeń XCF, (3) Zezwól na umieszczanie rejestrów w blokach IOB, zwiększa to szybkość działania wyjść, (4) Redukuj zasoby zoptymalizuj kod, korzystaj z dedykowanych zasobów, (5) Korzystaj z celów i strategii 35

Optymalizacja czas, rozmiar - ISE WebPack Design Goals & Strategies Zaawansowane opcje syntezy i implementacji Opcje definiowalne Zrównoważony poziom optymalizacji Optymalizacja czasowa Redukcja obszaru Ograniczenie czasu działania Optymalizacja zużycia mocy Możliwość edytowania strategii 36

Optymalizacja czas, rozmiar - ISE WebPack SmartXplorer SmartXplorer porównuje wyniki wszystkich iteracji Najlepszy wynik zostaje zapisany w katalogu projektu uzyskane rezultaty są wyświetlane na bieżąco Informacje na temat wszystkich iteracji są natychmiast dostępne w oknie podsumowanie projektu 37

38 Optymalizacja czas, rozmiar - PlanAhead

Optymalizacja czas, rozmiar - technika programowania Proste kroki kodowania zwiększające wydajność kodu: przetwarzanie równoległe, procesy, procesy, procesy operacje współbieżne, optymalizacja maszyn stanów, grupować operacje arytmetyczne, wykorzystanie zasobów wewnętrznych: mnożarki, rejestry przesuwne, LUT RAM, BlkockRAM, DSP, unikać konstrukcji o wysokim poziomie zagnieżdżenia: ograniczać pętle w kodzie. 39 Tworzenie projektów synchronicznych pozwala tworzyć projekty stabilne w pełnym zakresie częstotliwości sygnałów wejściowych.

W ramach podsumowania kompresja 40 http://www.xilinx.com/training/fpga/xst-synthesis-options-video.htm

Literatura dodatkowa Xilinx Timing Constraints User Guide http://www.xilinx.com/itp/xilinx10/books/docs/cgd/cgd.pdf http://www.xilinx.com/itp/xilinx10/books/docs/timing_constraints_ug/timing_constraints_ug.pdf Constraints Guide http://www.xilinx.com/itp/xilinx10/books/docs/cgd/cgd.pd What are OFFSET Constraints? http://www.xilinx.com/support/documentation/white_papers/wp237.pdf Synthesis and Simulation Design Guide http://www.xilinx.com/itp/xilinx10/books/docs/sim/sim.pdf 41

Przykładowe pytania 1. Pojęcia związane z sygnałem, czasem 2. Czas propagacji dla logiki kombinacyjnej i synchronicznej 3. Jitter jednostki w jakich jest wyrażany 4. Clock skew przyczyny powstawania 5. Co zaliczamy do punktów końcowych logiki programowalnej 6. Optymalizacja zalecana strategia 7. Ograniczenia zadawane przez użytkownika w projekcie 8. Narzędzia oraz poziomy optymalizacji 42