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



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

1. Synteza układów opisanych w języku VHDL Xilinx ISE Design Suite 10.1 VHDL 2. Obsługa przetwornika CA Project Add source...

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

Wygląd okna aplikacji Project Navigator.

Systemy Czasu Rzeczywistego FPGA

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

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

Układy reprogramowalne i SoC Testbenches. Symulacja sterowana zdarzeniami.

Projektowanie Urządzeń Cyfrowych

Sposoby projektowania systemów w cyfrowych

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

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

Bezpieczeństwo informacji oparte o kryptografię kwantową

Architektura komputerów Wprowadzenie do algorytmów

Układy reprogramowalne i SoC Specjalizowane moduły FPGA

Zaawansowane programowanie w języku C++ Przeciążanie operatorów

Sumatory H D L. dr inŝ. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska

Laboratorium Układów Programowalnych System projektowy WebPack ISE 8.2i

PROTOTYPOWANIE UKŁADÓW ELEKTRONICZNYCH Programowalne układy logiczne FPGA Maciej Rosół, Katedra Automatyki AGH,

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

Zaawansowane programowanie w języku C++ Wyjątki

Ćwiczenie 1 VHDL - Licznik 4-bitowy.

Zaawansowane programowanie w języku C++ Funkcje uogólnione - wzorce

dr inż. Małgorzata Langer Architektura komputerów

Zaawansowane programowanie w języku C++ Biblioteka standardowa

Krótkie wprowadzenie do ModelSim i Quartus2

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

Programowalne układy logiczne

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH

Zaawansowane programowanie w języku C++ Programowanie obiektowe

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

Systemy operacyjne na platformach mobilnych 2 Podstawy obsługi powłoki Bash

Studia podyplomowe realizowane w ramach zadania 5 Systemy mobilne i techniki multimedialne

Łukasz Januszkiewicz Technika antenowa

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

Systemy Czasu Rzeczywistego FPGA

Systemy Czasu Rzeczywistego FPGA

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Realizacja własnych modułów IP Cores w srodowisku EDK

Układy FPGA Sumator 4-bitowy

Systemy operacyjne na platformach mobilnych 2 Platforma Maemo

Quartus. Rafał Walkowiak IIn PP Wer

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

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

Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów.

Zaawansowane programowanie w języku C++ Zarządzanie pamięcią w C++

Architektura komputerów Historia systemów liczących

Zaawansowane programowanie w języku C++ Klasy w C++

Quartus. Rafał Walkowiak IIn PP Listopad 2017

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Systemy operacyjne na platformach mobilnych 2 Programowanie aplikacji z graficznym interfejsem użytkownika w GTK+

Medical electronics part 9a Electroencephalography (EEG)

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

Nauczycielem wszystkiego jest praktyka Juliusz Cezar. Nauka to wiara w ignorancję ekspertów Richard Feynman

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

Kodery, dekodery, transkodery Synteza sprzętu przy pomocy VHDL

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

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

Projekt prostego procesora

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

Ukªady Kombinacyjne - cz ± I

Projektowanie Systemów Cyfrowych. Październik 2017 Symulacja na różnych poziomach Biblioteki komórek standardowych i modele symulacyjne

LABORATORIUM ELEKTRONIKA Projektowanie koderów, transkoderów i dekoderów w języku VHDL

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

Mikrosystemy Wprowadzenie. Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt.

Technika Cyfrowa Wprowadzenie do laboratorium komputerowego

Projektowanie hierarchiczne Mariusz Rawski

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

Układy FPGA w przykładach, część 2

Specyfika projektowania Mariusz Rawski

Technika cyfrowa. Laboratorium nr 7. Liczniki synchroniczne. Mirosław Łazoryszczak. Temat:

Środowisko Xilinx ISE i ModelSim XE Instrukcja laboratoryjna

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

LABORATORIUM TECHNIKA CYFROWA. Pamięci. Rev.1.35

SYSTEMY DEDYKOWANE W UKŁADACH PROGRAMOWALNYCH

Architektura komputerów

Łukasz Januszkiewicz Technika antenowa

Programowalne układy logiczne

Programowalne układy logiczne

PROJEKTOWANIE UKŁADÓW CYFROWYCH Z WYKORZYSTANIEM PAKIETU MULTISIM 2001 ORAZ JĘZYKA OPISU SPRZĘTU VHDL

Układy mnoŝące H D L. dr inŝ. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska

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

Projektowanie układów na schemacie

Programowalne układy logiczne

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

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

Projektowanie Systemów Cyfrowych. Październik 2014 Symulacja na różnych poziomach Biblioteki komórek standardowych i modele symulacyjne

Katedra Mikroelektroniki i Technik Informatycznych

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

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

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

Programowalne Układy Cyfrowe Laboratorium

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

Pod o z d ia i ł a r yn y k n u k u ( 2004 r.). źródło: Gartner 3

dr inż. Jarosław Sugier

Laboratorium. Szyfrowanie algorytmami Vernam a oraz Vigenere a z wykorzystaniem systemu zaimplementowanego w układzie

Języki opisu sprzętu VHDL Mariusz Rawski

Środowiska Xilinx ISE i ISim Instrukcja laboratoryjna

Transkrypt:

Układy reprogramowalne i SoC Implementacja w układach FPGA Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój Politechniki Łódzkiej - zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych Prezentacja dystrybuowana jest bezpłatnie Politechnika Projekt Łódzka, współfinansowany ul. Żeromskiego przez Unię 116, Europejską 90-924 Łódź, tel. (042) 631 28 83 w ramach Europejskiego www.kapitalludzki.p.lodz.pl Funduszu Społecznego

2 Proces projektowania dla FPGA firmy Xilinx Plan & Budget Implement Translate Map Create Code/ Schematic Functional Simulation HDL RTL Simulation Synthesize to create netlist Place & Route Attain Timing Closure Timing Simulation Create Bit File

3 Etapy implementacji Synthesize: zamiana opisu np. w języku VHDL na odpowiedni układ złożony z bramek logicznych i przerzutników Translate: połączenie wielu plików projektu w pojedynczą netlistę Map: odwzorowanie logicznych elementów netlisty (bramki, przerzutniki) na komponenty fizyczne (CLB, IOB) Place & Route: rozmieszczenie komponentów na powierzchni układu scalonego i połączenie ich ze sobą oraz ekstrakcja informacji o opóźnieniach w układzie Timing closure: spełnienie założeń co do wymaganej częstotliwości zegara, opóźnień itp. Timing (Sim): Wygenerowanie netlisty z informacją o opóźnieniach dla narzędzi symulacyjnych Configure: wygenerowanie pliku konfiguracyjnego dla układu FPGA

Ograniczenia projektowe Układy reprogramowalne i SoC 4 Różne wymagania dla projektu są zadawane w pliku UCF (User Constraints File) wyprowadzenia układu (który sygnał na której końcówce) wymagania czasowe minimalna częstotliwość zegara maksymalne opóźnienia wymagania na rozmieszczenie komponentów

5 Xilinx ISE Xilinx ISE to zintegrowane środowisko do implementacji układów cyfrowych w układach FPGA i CPLD tej firmy Wszystkie operacje wykonywane za pomocą IDE można również wykonać z linii poleceń Pierwszy etap: tworzymy nowy projekt (File -> New project) i wybieramy typ układu FPGA, w którym będziemy go implementować Family: Spartan 3A and Spartan 3AN Device: XC3S700A Package: FG484 Speed: -4 Drugi etap: dodajemy do projektu pliki VHDL i UCF

6 Przykład: sumator adder.vhd ENTITY full_adder IS PORT (a, b, cin: IN BIT; s, cout: OUT BIT); END full_adder; -------------------------------------- ARCHITECTURE dataflow OF full_adder IS BEGIN s <= a XOR b XOR cin; cout <= (a AND b) OR (a AND cin) OR (b AND cin); END dataflow; s3starter-adder.ucf NET "s" LOC = "R20" IOSTANDARD = LVCMOS33 DRIVE = 8 SLEW = SLOW ; NET "cout" LOC = "T19" IOSTANDARD = LVCMOS33 DRIVE = 8 SLEW = SLOW ; NET "a" LOC = "T16" IOSTANDARD = LVCMOS33 PULLDOWN ; NET "b" LOC = "T14" IOSTANDARD = LVCMOS33 PULLDOWN ; NET "cin" LOC = "T15" IOSTANDARD = LVCMOS33 PULLDOWN ;

7 Implementacja i programowanie Implementacja Okno "Processes" Dwuklik na "Generate programming file" Programowanie FPGA Podłączenie płyty do komputera kablem USB Włączenie zasilania płyty Dwuklik na "Configure target device" w oknie "Processes" Zgoda na otwarcie programu IMPACT Wybór pliku full_adder.bit dla pierwszego układu w łańcuchu Wybór "Bypass" dla drugiego układu w łańcuchu Dwuklik na "Program" w oknie "Configuration operations"

8 Przykład: migacz ENTITY blinker IS PORT (clk: IN BIT; led0, led1: OUT BIT); END blinker; -------------------------------------- ARCHITECTURE rtl OF blinker IS BEGIN process (clk) variable cnt: integer range 0 to 50_000_000; begin if clk'event and clk='1' then if cnt = 0 then led0 <='0'; led1 <='0'; if cnt = 25_000_000 then led0 <='1'; if cnt = 40_000_000 then led1 <='1'; cnt := cnt + 1; if cnt=50_000_000 then cnt:=0; end process; END architecture rtl; NET "led0" LOC = "R20" IOSTANDARD = LVCMOS33 DRIVE = 8 SLEW = SLOW ; NET "led1" LOC = "T19" IOSTANDARD = LVCMOS33 DRIVE = 8 SLEW = SLOW ; NET "CLK" LOC = "E12" IOSTANDARD = LVCMOS33 ; # Define clock period for 50 MHz oscillator NET "CLK" PERIOD = 20.0ns HIGH 50% ;

Układy reprogramowalne i SoC Implementacja w układach FPGA Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój Politechniki Łódzkiej - zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych Prezentacja dystrybuowana jest bezpłatnie Politechnika Projekt Łódzka, współfinansowany ul. Żeromskiego przez Unię 116, Europejską 90-924 Łódź, tel. (042) 631 28 83 w ramach Europejskiego www.kapitalludzki.p.lodz.pl Funduszu Społecznego