Sposoby projektowania systemów w cyfrowych

Podobne dokumenty
Projektowanie Urządzeń Cyfrowych

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

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

VHDL. Behawioralny Strukturalny Czasowy. Poziom RTL

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

Projektowanie hierarchiczne Mariusz Rawski

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

Języki opisu sprzętu VHDL Mariusz Rawski

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

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

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

Projekt prostego procesora

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

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

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

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

Krótkie wprowadzenie do ModelSim i Quartus2

Specyfika projektowania Mariusz Rawski

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

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

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

Systemy Czasu Rzeczywistego FPGA

Projektowanie układów na schemacie

Programowalne układy logiczne

LABORATORIUM TECHNIKA CYFROWA. Pamięci. Rev.1.35

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

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Projektowanie scalonych systemów wbudowanych VERILOG. VERLIOG - historia

PUCY Kolos 2: Reloaded

Systemy Czasu Rzeczywistego FPGA

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

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

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

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

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

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...

Technika cyfrowa Układy arytmetyczne

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.

Instrukcje sekwencyjne

Inwerter logiczny. Ilustracja 1: Układ do symulacji inwertera (Inverter.sch)

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

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

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

Język opisu sprzętu VHDL

Programowalne układy logiczne kod kursu: ETD Podstawy języka Verilog W

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.

VHDL cz.1. Rafał Walkowiak IIn PP Wer

Układy kryptograficzne z uŝyciem rejestrów LFSR

Systemy Czasu Rzeczywistego FPGA

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

Systemy Czasu Rzeczywistego FPGA

Architektura komputerów, Informatyka, sem.iii. Sumatory

Projektowanie w VHDL

Układy Cyfrowe laboratorium

Wyświetlacz siedmiosegmentowy

Projektowanie Scalonych Systemów Wbudowanych VERILOG

Projektowanie Scalonych Systemów Wbudowanych VERILOG

Cyfrowe przetwarzanie sygnałów Mariusz Rawski

Układy kombinacyjne 1

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

Synteza logiczna APSC

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Układy arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011

Ćwiczenie 1 VHDL - Licznik 4-bitowy.

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

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

Ćwiczenie 27 Temat: Układy komparatorów oraz układy sumujące i odejmujące i układy sumatorów połówkowych i pełnych. Cel ćwiczenia

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

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

Programowalne układy logiczne

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

Bezpieczeństwo informacji oparte o kryptografię kwantową

Język Verilog w projektowaniu układów FPGA

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

1 Wstęp. 2 Proste przykłady. 3 Podstawowe elementy leksykalne i typy danych. 6 Opis strukturalny. 7 Moduł testowy (testbench)

Projektowanie automatów z użyciem VHDL

Ćwiczenie 28. Przy odejmowaniu z uzupełnieniem do 2 jest wytwarzane przeniesienie w postaci liczby 1 Połówkowy układ

Programowalne układy logiczne

Projektowanie układów VLSI-ASIC techniką od ogółu do szczegółu (top-down) przy użyciu pakietu CADENCE

Pracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5.

VHDL cz.1. Rafał Walkowiak IIn PP Wer

Programowalne układy logiczne

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

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

Zadania do wykładu 1, Zapisz liczby binarne w kodzie dziesiętnym: ( ) 2 =( ) 10, ( ) 2 =( ) 10, (101001, 10110) 2 =( ) 10

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH

Układy reprogramowalne i SoC Specjalizowane moduły FPGA

Literatura (w zakresie języka j

Automatyka. Treść wykładów: Multiplekser. Układ kombinacyjny. Demultiplekser. Koder

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

Metody Programowania

Ćwiczenie Digital Works 003 Układy sekwencyjne i kombinacyjne

Projektowanie systemów cyfrowych w językach opisu sprzętu. Studium Zaoczne IV rok kierunek Elektronika i Telekomunikacja. Wykład 2

Elementy języka VHDL

Architektura systemów komputerowych. Poziom układów logicznych. Układy mnoŝące i dzielące

Technika cyfrowa Synteza układów kombinacyjnych

Projektowanie hierarchiczne Mariusz Rawski

Automatyzacja procesu tworzenia sprzętowego narzędzia służącego do rozwiązywania zagadnienia logarytmu dyskretnego na krzywych eliptycznych

Pakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki.

Elektronika i techniki mikroprocesorowe

Transkrypt:

Sposoby projektowania systemów w cyfrowych Top-down Idea całości projektu Dekompozycja na mniejsze bloki Projekt i rafinacja podbloków Łączenie bloków w całość PRZYKŁAD (sumator kaskadowy) zdefiniowanie operacji sumatora kaskadowego określenie projektu za pomocą szeregu pełnych sumatorów zdefiniowanie pełnego sumatora za pomocą pół-sumatora skonstruowanie pełnego sumatora połączenie wszystkich bloków 1 Sposoby projektowania systemów w cyfrowych Down-top (bottom-up) Projektowanie najmniejszych elementów Łączenie komponentów w bloki funkcjonalne Powtarzanie procesu łączenia PRZYKŁAD (sumator kaskadowy) Zdefiniowanie, zaprojektowanie, symulacja oraz synteza pełnego sumatora za pomocą pół-sumatora Skonstruowanie pełnego sumatora poprzez połączenie dwóch pół-sumatorów Zaprojektowanie sumatora n-bitowego dzięki szeregowemu połączeniu n pełnych sumatorów 2 1

Top-down i Bottom-up Wybór sposobu projektowania zaleŝy od rozmiaru i złoŝoności projektu, dostępnych zasobów oraz doświadczenia i preferencji projektanta Wybór stylu top-down duŝe i złoŝone projekty z małym wykorzystaniem IP core we wczesnej fazie projektowej brak moŝliwości dekompozycji projektu na mniejsze elementy brak informacji dotyczącej komponentów na poziomie strukturalnym 3 Kod strukturalny MoŜliwość stworzenia hierarchicznego projektu za pomocą zbioru połączonych komponentów Komponenty (bloki uprzednio zweryfikowane i zsyntezowane) mogą być umieszczone w bibliotekach Uproszczenie procesu rafinacji, uruchamiania i usuwania błędów (mniejszy układ, łatwiejsze uruchamianie) Tworzenie komponentów: Mniejsze komponenty WyraŜenia logiczne Opis funkcjonalny (behawioralny) Rodzaje komponentów na róŝnych poziomach abstrakcji (netlista, RTL) 4 2

Kod strukturalny Poziom blokowy Poziom logiczny 5 Reprezentacja strukturalna w VHDL Implementacja jednostki projektowej za pomocą specyfikacji połączeń podsystemów Ciało architektury złoŝone tylko z połączonych podsystemów Elementy strukturalne ciała architektury deklaracja sygnałów deklaracja komponentów konkretyzacja komponentów 6 3

Przykład architektury strukturalnej Czterobitowy sumator kaskadowy 7 Deklaracja komponentów w (component( component) Deklaracja komponentów specyfikacja zewnętrznego interfejsu pod kątem stałych (generic) oraz portów (port) brak wymagania implementacji komponentu, konieczność znajomości jego interfejsu Deklaracja komponentu wykorzystuje nazwę, którą posiada jednostka projektowa definiująca komponent, a takŝe taką samą deklarację portów. Istnienie wielu komponentów o tej samej nazwie -> konieczność specyfikacji komponentu do wykorzystania 8 4

Przykłady deklaracji komponentu architecture struct of ripple4 is signal c: bit_vector(2 downto 0); component full_adder port( a_in: in bit; b_in: in bit; c_in: in bit; s: out bit; c_out: out bit ); end component; architecture struct of reg8 is component reg_blk generic(n : integer := 8) port( clk: in bit; d: in bit_vector(0 to N-1); q: out bit_vector(0 to N-1) ); end component; 9 Specyfikacja komponentu etykieta nazwa komponentu jednostka projektowa for U0:fa use entity work.fa(strukt) obszar roboczy nazwa jednostki projektowej nazwa architektury 10 5

Specyfikacja komponentów w i synteza Specyfikacja komponentów tylko do celów symulacji Narzędzia syntezy ignorują specyfikację komponentów Do syntezy projektu uŝywane są najpóźniej skompilowane komponenty Konkretyzacja komponentów deklaracja komponentu definicja rodzaju modułu konkretyzacja wykorzystanie modułu w projekcie deklaracja komponentu w ciele architektury wraz z deklaracją sygnału (przed begin) konkretyzacja komponentu w ciele architektury (po begin) Uwaga: komponenty mogą być opisane strukturalnie lub behawioralnie w oddzielnych jednostkach projektowych, traktując je jako oddzielne projekty 11 Konkretyzacja komponentów architecture struct of ripple4 is --deklaracja komponentu --specyfikacja komponentu for U0:fa use entity work.fa(struk) signal c: bit_vector(2 downto 0); begin FA0:fa port map( a_in => a(0), b_in => b(0), c_in => c_in_f, s_out => s_out_f(0), c_out => c(0) ); component fa port( ); end component; a_in: in bit; b_in: in bit; c_in: in bit; s: out bit; c_out: out bit 12 6

Przykład projektowy Czterobitowy sumator złoŝony z czterech pełnych sumatorów połączonych szeregowo bitem przeniesienia 13 Konstrukcja pół-sumatorap 4 kombinacje dodawania tablica prawdy realizacja (struktura) 14 7

Kod VHDL pół-sumatorap library IEEE; use ieee.std_logic_1164.all; entity ha is port( a, b: in bit; sum, c_out: out bit); end ha; architecture behav of ha is begin sum <= a xor b; c_out <= a and b; end behav; 15 Konstrukcja pełnego sumatora tablica prawdy realizacja konstrukcja z półsumatorów 16 8

Kod VHDL pełnego sumatora library IEEE; use ieee.std_logic_1164.all; entity fa is port( x, y,cin: in bit; s, cout: out bit); end fa; architecture struc of fa is -- deklaracja komponentów component ha port( a, b: in bit; sum, c_out: out bit); end component; -- specyfikacja komponentów for U0: ha use entity work.ha(behav); for U1: ha use entity work.ha(behav); 17 Kod VHDL pełnego sumatora c.d. -- deklaracja sygnałów signal s_tmp: bit; signal c_tmp1, c_tmp2: bit; begin -- konkretyzacja komponentów U0: ha port map(x, y, s_tmp, c_tmp1); U1: ha port map(b => s_tmp, a => cin, c_out => c_tmp2, sum => s); -- generowanie wyj ś cia za pomocą przypisania sygnałów cout <= c_tmp1 or c_tmp2; end struc; 18 9

Kod VHDL sumatora czterobitowego library IEEE; use ieee.std_logic_1164.all; entity adder4 is port( x4, y4: in bit_vector(3 downto 0); cin4: in bit; s4: out bit_vector(3 downto 0); cout4: out bit); end adder4; architecture struc of adder4 is -- deklaracja komponentów component fa port(x, y,cin: in bit; s, cout: out bit); end component; 19 Kod VHDL sumatora czterobitowego c.d. -- specyfikacja komponentów for U0: fa use entity work.fa(struc); for U1: fa use entity work.fa(struc); for U2: fa use entity work.fa(struc); for U3: fa use entity work.fa(struc); signal c1, c2, c3: bit; begin U0: fa port map(x4(0), y4(0), cin4, s4(0), c1); U1: fa port map(x4(1), y4(1), c1, s4(1), c2); U2: fa port map(x4(2), y4(2), c2, s4(2), c3); U3: fa port map(x4(3), y4(3), c3, s4(3), cout4); end struc; 20 10