Reprogramowalne uk ady FPGA, 1iswiki.if.uj.edu.pl/images/a/ad/Rekonfigurowalne_układy... · 2019....

30
Plan wykładu Wstęp Bramki logiczne Przerzutniki FIFO Multiplekser LUT Maszyny stanów Przykład architektury FPGA Języki programowania dla Układów FPGA Wprowadzenie do języka VHDL bibliografia Koniec Reprogramowalne układy FPGA, 1 dr M.Pałka 01.03.2013 1 / 30 c dr Marek Pałka, Uniwersytet Jagielloński, wydział FAIS, 2013

Transcript of Reprogramowalne uk ady FPGA, 1iswiki.if.uj.edu.pl/images/a/ad/Rekonfigurowalne_układy... · 2019....

Page 1: Reprogramowalne uk ady FPGA, 1iswiki.if.uj.edu.pl/images/a/ad/Rekonfigurowalne_układy... · 2019. 4. 3. · Układy FPGA zawierają w sobie zbiór elementów należących do grupy

Plan wykładuWstęp

Bramki logicznePrzerzutniki

FIFOMultiplekser

LUTMaszyny stanów

Przykład architektury FPGAJęzyki programowania dla Układów FPGA

Wprowadzenie do języka VHDLbibliografia

Koniec

Reprogramowalne układy FPGA, 1

dr M.Pałka

01.03.2013

1 / 30

c©dr Marek Pałka, Uniwersytet Jagielloński, wydział FAIS, 2013

Page 2: Reprogramowalne uk ady FPGA, 1iswiki.if.uj.edu.pl/images/a/ad/Rekonfigurowalne_układy... · 2019. 4. 3. · Układy FPGA zawierają w sobie zbiór elementów należących do grupy

Plan wykładuWstęp

Bramki logicznePrzerzutniki

FIFOMultiplekser

LUTMaszyny stanów

Przykład architektury FPGAJęzyki programowania dla Układów FPGA

Wprowadzenie do języka VHDLbibliografia

Koniec

Plan wykładu I

1 Plan wykładu

2 WstępCzym są układy FPGAUkłady FPGABudowa układów FPGAPodstawowy budulec elektroniki cyfrowej - tranzystor CMOS

3 Bramki logiczneBudowaSymbole i działanie

4 PrzerzutnikiTypy przerzutnikówWykorzystanie przerzutników do budowy liczników

5 FIFO

6 Multiplekser2 / 30

Page 3: Reprogramowalne uk ady FPGA, 1iswiki.if.uj.edu.pl/images/a/ad/Rekonfigurowalne_układy... · 2019. 4. 3. · Układy FPGA zawierają w sobie zbiór elementów należących do grupy

Plan wykładuWstęp

Bramki logicznePrzerzutniki

FIFOMultiplekser

LUTMaszyny stanów

Przykład architektury FPGAJęzyki programowania dla Układów FPGA

Wprowadzenie do języka VHDLbibliografia

Koniec

Plan wykładu II

7 LUT

8 Maszyny stanów

9 Przykład architektury FPGASpartan 3A i jego budowaOrganizazja bloków logicznych w układzie Spartan 3ASpartan 3A, blok logicznySpartan 3A, połączenia między blokami logicznymi

10 Języki programowania dla Układów FPGA

11 Wprowadzenie do języka VHDLKrótka historia języka VHDLBibliotekiEntityArchitectureOpis jednostki

3 / 30

Page 4: Reprogramowalne uk ady FPGA, 1iswiki.if.uj.edu.pl/images/a/ad/Rekonfigurowalne_układy... · 2019. 4. 3. · Układy FPGA zawierają w sobie zbiór elementów należących do grupy

Plan wykładuWstęp

Bramki logicznePrzerzutniki

FIFOMultiplekser

LUTMaszyny stanów

Przykład architektury FPGAJęzyki programowania dla Układów FPGA

Wprowadzenie do języka VHDLbibliografia

Koniec

Plan wykładu III

Komponenty

12 bibliografia

13 Koniec

4 / 30

Page 5: Reprogramowalne uk ady FPGA, 1iswiki.if.uj.edu.pl/images/a/ad/Rekonfigurowalne_układy... · 2019. 4. 3. · Układy FPGA zawierają w sobie zbiór elementów należących do grupy

Plan wykładuWstęp

Bramki logicznePrzerzutniki

FIFOMultiplekser

LUTMaszyny stanów

Przykład architektury FPGAJęzyki programowania dla Układów FPGA

Wprowadzenie do języka VHDLbibliografia

Koniec

Czym są układy FPGAUkłady FPGABudowa układów FPGAPodstawowy budulec elektroniki cyfrowej - tranzystor CMOS

Podstawowy opis układu FPGA

Układy FPGA zawierają w sobie zbiór elementów należących do grupy elektronikicyfrowej (bramki, przerzutniki pamięci) i programowalnych połączeń między nimiumożliwiające budowanie zaawansowanych struktur logicznych.Ze wględu na swoją specyfikę układy te mają następujące zalety:

możliwość wielokrotnego przeprogramowania układu,

szybszy czas dostarczenia finalnego produktu,

niższe koszty związane z kosztami rozwoju samego produktu:

mniejsze nakłady na R&D,w porównaniu z rozwojem układów ASIC,koniecznoś’c ciąłej zmiany wymaganej na rynku faworyzuje układy FPGA.

Podobną rodziną układów są układy CPLD. Posiadają one dużo mniej zasobówlogicznych i ma inna wewnętrzną architekturę. Ich podstawową zaletą jestnieulotność oprogramowania znajdującego się w tym układzie (po wyłączeniuzasilania). Fakt ten może zostać wykorzystwany do załadowania domyślnychustwień na płycie po włączeniu urządzenia.

5 / 30

Page 6: Reprogramowalne uk ady FPGA, 1iswiki.if.uj.edu.pl/images/a/ad/Rekonfigurowalne_układy... · 2019. 4. 3. · Układy FPGA zawierają w sobie zbiór elementów należących do grupy

Plan wykładuWstęp

Bramki logicznePrzerzutniki

FIFOMultiplekser

LUTMaszyny stanów

Przykład architektury FPGAJęzyki programowania dla Układów FPGA

Wprowadzenie do języka VHDLbibliografia

Koniec

Czym są układy FPGAUkłady FPGABudowa układów FPGAPodstawowy budulec elektroniki cyfrowej - tranzystor CMOS

Układy FPGA

Rysunek: Virtex 7 - 2 miliony bloków logicznych.

Firmy produkujące układy FPGA:

Altera

Lattice

Xilinx...

Każda z firm produkuje rózne serie układów FPGA...Z roku na rok następuje rozrost rynku FPGA (2010 około 2 miliardów dolarów, w2011 wzrost o 40% )

6 / 30

Page 7: Reprogramowalne uk ady FPGA, 1iswiki.if.uj.edu.pl/images/a/ad/Rekonfigurowalne_układy... · 2019. 4. 3. · Układy FPGA zawierają w sobie zbiór elementów należących do grupy

Plan wykładuWstęp

Bramki logicznePrzerzutniki

FIFOMultiplekser

LUTMaszyny stanów

Przykład architektury FPGAJęzyki programowania dla Układów FPGA

Wprowadzenie do języka VHDLbibliografia

Koniec

Czym są układy FPGAUkłady FPGABudowa układów FPGAPodstawowy budulec elektroniki cyfrowej - tranzystor CMOS

Układy FPGA (ang. Field Programable Gate Array) zbudowane są z takichelementów jak:

bramki logiczne,

przerzutniki,

multipleksery,

pamięci RAM,

FIFO,

elementy LUT,

sumatory,

inne :

wbudowane mikroprocesory - Power PC,interfejs Ethernet,PCI Express,interfejs do transmisji giga-bitowej,bloki DSP,bloki do obsługi pamięci DDR ...

7 / 30

Page 8: Reprogramowalne uk ady FPGA, 1iswiki.if.uj.edu.pl/images/a/ad/Rekonfigurowalne_układy... · 2019. 4. 3. · Układy FPGA zawierają w sobie zbiór elementów należących do grupy

Plan wykładuWstęp

Bramki logicznePrzerzutniki

FIFOMultiplekser

LUTMaszyny stanów

Przykład architektury FPGAJęzyki programowania dla Układów FPGA

Wprowadzenie do języka VHDLbibliografia

Koniec

Czym są układy FPGAUkłady FPGABudowa układów FPGAPodstawowy budulec elektroniki cyfrowej - tranzystor CMOS

CMOS - ang. Complementary Metal Oxide Semiconductor

Rysunek: Bramka P i NMOS - wykorzystywane w elektronicecyfrowej.

Tranzystory typuP/NMOS przewodząprąd elektryczny (małyopór elektryczny) wprzypadku gdyprzyłożone jestniskie/wysokie napięcie.

8 / 30

Page 9: Reprogramowalne uk ady FPGA, 1iswiki.if.uj.edu.pl/images/a/ad/Rekonfigurowalne_układy... · 2019. 4. 3. · Układy FPGA zawierają w sobie zbiór elementów należących do grupy

Plan wykładuWstęp

Bramki logicznePrzerzutniki

FIFOMultiplekser

LUTMaszyny stanów

Przykład architektury FPGAJęzyki programowania dla Układów FPGA

Wprowadzenie do języka VHDLbibliografia

Koniec

BudowaSymbole i działanie

Budowa bramek logicznych

Rysunek: Bramka NOT.

Rysunek: Bramka NAND.

9 / 30

Page 10: Reprogramowalne uk ady FPGA, 1iswiki.if.uj.edu.pl/images/a/ad/Rekonfigurowalne_układy... · 2019. 4. 3. · Układy FPGA zawierają w sobie zbiór elementów należących do grupy

Plan wykładuWstęp

Bramki logicznePrzerzutniki

FIFOMultiplekser

LUTMaszyny stanów

Przykład architektury FPGAJęzyki programowania dla Układów FPGA

Wprowadzenie do języka VHDLbibliografia

Koniec

BudowaSymbole i działanie

Tabela odpowiedzi bramek logicznych

NOT

AND OR XOR

NAND NOR XNOR

Rysunek: Symbole bramek logicznych.

p q p AND q p XOR q p OR q p NOR q p XNOR q NOT q p NAND q0 0 0 0 0 1 1 1 10 1 0 1 1 0 0 0 11 0 0 1 1 0 0 1 11 1 1 0 1 0 1 0 0

Tablica: Tabela odpowiedzi różnych typów bramek logicznych

10 / 30

Page 11: Reprogramowalne uk ady FPGA, 1iswiki.if.uj.edu.pl/images/a/ad/Rekonfigurowalne_układy... · 2019. 4. 3. · Układy FPGA zawierają w sobie zbiór elementów należących do grupy

Plan wykładuWstęp

Bramki logicznePrzerzutniki

FIFOMultiplekser

LUTMaszyny stanów

Przykład architektury FPGAJęzyki programowania dla Układów FPGA

Wprowadzenie do języka VHDLbibliografia

Koniec

Typy przerzutnikówWykorzystanie przerzutników do budowy liczników

Typy przerzutników

Przerzutniki mogą być budowane zbramek logicznych.Można wymienić następujące typyprzerzutników:

RS

T

D

JK (JK-MS)

Stan na wyjściu przerzutnika zmienia sięgdy występuje stan aktywny na wejściuzegarowym (niski, wysoki, zboczeopadające, zbocze narastające). Wukładach FPGA stanem aktywnym jestzbocze narastające. W układach FPGAwykorzystywany jest przerzutnik typu D.

Rysunek: Symbol przerzutnika typu D.

D Q(t) Q(t+1)0 0 00 1 01 0 11 1 1

Tablica: Tabela odpowiedzi przerzutnikatypu D

11 / 30

Page 12: Reprogramowalne uk ady FPGA, 1iswiki.if.uj.edu.pl/images/a/ad/Rekonfigurowalne_układy... · 2019. 4. 3. · Układy FPGA zawierają w sobie zbiór elementów należących do grupy

Plan wykładuWstęp

Bramki logicznePrzerzutniki

FIFOMultiplekser

LUTMaszyny stanów

Przykład architektury FPGAJęzyki programowania dla Układów FPGA

Wprowadzenie do języka VHDLbibliografia

Koniec

Typy przerzutnikówWykorzystanie przerzutników do budowy liczników

Budowa licznika asynchronicznego

Przerzutniki można wykorzystać do budowy liczników asynchronicznych isynchroniczncyh.

D Q

QZegar (clk)

D Q

Q

D Q

Q

D Q

Q

LSB MSBQ0 Q1 Q2 Q3

R R R R

Reset (R)

R

Q0

Q1

Q2

Q3

CLK Tphl

Tplh

Rysunek: Przykład licznika asynchronicznego opartego o przerzutniki typu D wraz zprzebiegami czasowymi wyjść. Tphl/plh ang. high/low to low/high propagation delay

12 / 30

Page 13: Reprogramowalne uk ady FPGA, 1iswiki.if.uj.edu.pl/images/a/ad/Rekonfigurowalne_układy... · 2019. 4. 3. · Układy FPGA zawierają w sobie zbiór elementów należących do grupy

Plan wykładuWstęp

Bramki logicznePrzerzutniki

FIFOMultiplekser

LUTMaszyny stanów

Przykład architektury FPGAJęzyki programowania dla Układów FPGA

Wprowadzenie do języka VHDLbibliografia

Koniec

Typy przerzutnikówWykorzystanie przerzutników do budowy liczników

Budowa licznika synchronicznego

D Q

QR

D Q

QR

D Q

QR

E

CLK

Q1

Q2

Q3

R

CLK

Rysunek: Przykład licznika synchronicznego opartego o przerzutniki typu D wraz zprzebiegami czasowymi wyjść.

13 / 30

Page 14: Reprogramowalne uk ady FPGA, 1iswiki.if.uj.edu.pl/images/a/ad/Rekonfigurowalne_układy... · 2019. 4. 3. · Układy FPGA zawierają w sobie zbiór elementów należących do grupy

Plan wykładuWstęp

Bramki logicznePrzerzutniki

FIFOMultiplekser

LUTMaszyny stanów

Przykład architektury FPGAJęzyki programowania dla Układów FPGA

Wprowadzenie do języka VHDLbibliografia

Koniec

FIFO

FIFO

dana do zapisu

FIFO

Zapis

FIFO

Zapis kolejnych danych

FIFO

FIFO

Zapis i odczyt

wejś

cie

wejś

cie

wejś

cie

wejś

cie

wejś

cie

wyjś

cie

Rysunek: Schemat działania FIFO (ang. First In First Out).

FIFO w szczególności jest wykorzystwyane w sytuacji kiedy mamy dwie strefy zróżnymi zegarami (synchronizacja pomiędzy różnymi domenami zegarowymi).

14 / 30

Page 15: Reprogramowalne uk ady FPGA, 1iswiki.if.uj.edu.pl/images/a/ad/Rekonfigurowalne_układy... · 2019. 4. 3. · Układy FPGA zawierają w sobie zbiór elementów należących do grupy

Plan wykładuWstęp

Bramki logicznePrzerzutniki

FIFOMultiplekser

LUTMaszyny stanów

Przykład architektury FPGAJęzyki programowania dla Układów FPGA

Wprowadzenie do języka VHDLbibliografia

Koniec

Multiplekser i demulitplekser

...adres

...

wejście

wyjście

...adres

...

wejście

wyjście

Rysunek: Za pomocą wejścia adresowego można dokonaćwyboru, które z wejść/wyjść powinno pojawić sie/zostaćużyte na wyjściu.

adres

D1

D1

Wyj.

Rysunek: Budowamultipleksera dwubitowego.

15 / 30

Page 16: Reprogramowalne uk ady FPGA, 1iswiki.if.uj.edu.pl/images/a/ad/Rekonfigurowalne_układy... · 2019. 4. 3. · Układy FPGA zawierają w sobie zbiór elementów należących do grupy

Plan wykładuWstęp

Bramki logicznePrzerzutniki

FIFOMultiplekser

LUTMaszyny stanów

Przykład architektury FPGAJęzyki programowania dla Układów FPGA

Wprowadzenie do języka VHDLbibliografia

Koniec

Look Up Table

1

0

1

0

adres wyjście

LUT

komorkipamięciSRAM

Rysunek: Za pomocą wejścia adresowego można dokonać wyboru, która z komórekSRAM pojawi sie na wyjściu.

16 / 30

Page 17: Reprogramowalne uk ady FPGA, 1iswiki.if.uj.edu.pl/images/a/ad/Rekonfigurowalne_układy... · 2019. 4. 3. · Układy FPGA zawierają w sobie zbiór elementów należących do grupy

Plan wykładuWstęp

Bramki logicznePrzerzutniki

FIFOMultiplekser

LUTMaszyny stanów

Przykład architektury FPGAJęzyki programowania dla Układów FPGA

Wprowadzenie do języka VHDLbibliografia

Koniec

Maszyny stanów

Maszyny stanów mogą być budowane z liczników, elementów LUT. Za pomocąmaszyn stanów można budować bardziej zaawansowane struktury logiczne.

A

B

C

D

E

F

Rysunek: Przykład maszyny stanów (ang. Final State Machine).

17 / 30

Page 18: Reprogramowalne uk ady FPGA, 1iswiki.if.uj.edu.pl/images/a/ad/Rekonfigurowalne_układy... · 2019. 4. 3. · Układy FPGA zawierają w sobie zbiór elementów należących do grupy

Plan wykładuWstęp

Bramki logicznePrzerzutniki

FIFOMultiplekser

LUTMaszyny stanów

Przykład architektury FPGAJęzyki programowania dla Układów FPGA

Wprowadzenie do języka VHDLbibliografia

Koniec

Spartan 3A i jego budowaOrganizazja bloków logicznych w układzie Spartan 3ASpartan 3A, blok logicznySpartan 3A, połączenia między blokami logicznymi

Spartan 3A i jego budowa

Rysunek: Architektura układu Spartan 3A.

18 / 30

Page 19: Reprogramowalne uk ady FPGA, 1iswiki.if.uj.edu.pl/images/a/ad/Rekonfigurowalne_układy... · 2019. 4. 3. · Układy FPGA zawierają w sobie zbiór elementów należących do grupy

Plan wykładuWstęp

Bramki logicznePrzerzutniki

FIFOMultiplekser

LUTMaszyny stanów

Przykład architektury FPGAJęzyki programowania dla Układów FPGA

Wprowadzenie do języka VHDLbibliografia

Koniec

Spartan 3A i jego budowaOrganizazja bloków logicznych w układzie Spartan 3ASpartan 3A, blok logicznySpartan 3A, połączenia między blokami logicznymi

Spartan 3A i umieszczenie bloków logicznych

Rysunek: Organizacja bloków logiczncyh w układzie Spartan 3A firmy Xilinx.

19 / 30

Page 20: Reprogramowalne uk ady FPGA, 1iswiki.if.uj.edu.pl/images/a/ad/Rekonfigurowalne_układy... · 2019. 4. 3. · Układy FPGA zawierają w sobie zbiór elementów należących do grupy

Plan wykładuWstęp

Bramki logicznePrzerzutniki

FIFOMultiplekser

LUTMaszyny stanów

Przykład architektury FPGAJęzyki programowania dla Układów FPGA

Wprowadzenie do języka VHDLbibliografia

Koniec

Spartan 3A i jego budowaOrganizazja bloków logicznych w układzie Spartan 3ASpartan 3A, blok logicznySpartan 3A, połączenia między blokami logicznymi

Blok logiczny

20 / 30

Page 21: Reprogramowalne uk ady FPGA, 1iswiki.if.uj.edu.pl/images/a/ad/Rekonfigurowalne_układy... · 2019. 4. 3. · Układy FPGA zawierają w sobie zbiór elementów należących do grupy

Plan wykładuWstęp

Bramki logicznePrzerzutniki

FIFOMultiplekser

LUTMaszyny stanów

Przykład architektury FPGAJęzyki programowania dla Układów FPGA

Wprowadzenie do języka VHDLbibliografia

Koniec

Spartan 3A i jego budowaOrganizazja bloków logicznych w układzie Spartan 3ASpartan 3A, blok logicznySpartan 3A, połączenia między blokami logicznymi

Połączenia między blokami logicznymi

21 / 30

Page 22: Reprogramowalne uk ady FPGA, 1iswiki.if.uj.edu.pl/images/a/ad/Rekonfigurowalne_układy... · 2019. 4. 3. · Układy FPGA zawierają w sobie zbiór elementów należących do grupy

Plan wykładuWstęp

Bramki logicznePrzerzutniki

FIFOMultiplekser

LUTMaszyny stanów

Przykład architektury FPGAJęzyki programowania dla Układów FPGA

Wprowadzenie do języka VHDLbibliografia

Koniec

VHDL

VHDL - ang.Very High Speed Integrated Circuits Hardware DescriptionLanguage,Verilog

entity

componentA

componentB

componentC

componentD

FPGA

Urządzenia peryferyjne

Płyta elektroniczna

Połączenieświatłowodowe

(m.in. Gbit Etehrnet)

PCI Express

Urządzeniaaudio-video

dedykowaneurządzenia

Rysunek: Ogóny zarys jak wyglądają jednostki projektowe w jęyku VHDL w połączeniuz urządzeniami peryferyjnymi.

22 / 30

Page 23: Reprogramowalne uk ady FPGA, 1iswiki.if.uj.edu.pl/images/a/ad/Rekonfigurowalne_układy... · 2019. 4. 3. · Układy FPGA zawierają w sobie zbiór elementów należących do grupy

Plan wykładuWstęp

Bramki logicznePrzerzutniki

FIFOMultiplekser

LUTMaszyny stanów

Przykład architektury FPGAJęzyki programowania dla Układów FPGA

Wprowadzenie do języka VHDLbibliografia

Koniec

Krótka historia języka VHDLBibliotekiEntityArchitectureOpis jednostkiKomponenty

Utworzony w ramach projektu finansowanego przez Departament Orony USA doopisu dokumentacji zachowania ukladów ASIC.Kilka razy standard języka zostal zrewidowany:

1987 podstawowa wersja języka zawierajkaca szeroki wachlarz typów danych(integral, bit character),

IEEE standard 1164 wprowadzenie nowych typów std logic...,

1993 IEEE Std 1076-1993 bardziej zwarta formula języka (następne wersjejęzyka 1076.1/2/3),

2000, 2003 - dodanie typów chronionych i usunięcie pewnych obostrzeńdotycząych mapowania portów.

23 / 30

Page 24: Reprogramowalne uk ady FPGA, 1iswiki.if.uj.edu.pl/images/a/ad/Rekonfigurowalne_układy... · 2019. 4. 3. · Układy FPGA zawierają w sobie zbiór elementów należących do grupy

Plan wykładuWstęp

Bramki logicznePrzerzutniki

FIFOMultiplekser

LUTMaszyny stanów

Przykład architektury FPGAJęzyki programowania dla Układów FPGA

Wprowadzenie do języka VHDLbibliografia

Koniec

Krótka historia języka VHDLBibliotekiEntityArchitectureOpis jednostkiKomponenty

Biblioteki

biblioteki

top entity

Architecture

Deklaracje:sygnałów,komponentów ...

begin

Opis strukturypołączeń i logiki

library ieee ;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;

Biblioteki pozwalają na użycie:

typów std_logic...,

funkcje arytmetycznych,

operacji numerycznych (bez znaku) na std_logic_vector,

operacji związanych z czytaniem, pisaniem stringów,

operacji numerycznych na zmiennych typu “bit”, ...

24 / 30

Page 25: Reprogramowalne uk ady FPGA, 1iswiki.if.uj.edu.pl/images/a/ad/Rekonfigurowalne_układy... · 2019. 4. 3. · Układy FPGA zawierają w sobie zbiór elementów należących do grupy

Plan wykładuWstęp

Bramki logicznePrzerzutniki

FIFOMultiplekser

LUTMaszyny stanów

Przykład architektury FPGAJęzyki programowania dla Układów FPGA

Wprowadzenie do języka VHDLbibliografia

Koniec

Krótka historia języka VHDLBibliotekiEntityArchitectureOpis jednostkiKomponenty

Jednostka projektowa - entity

biblioteki

top entity

Architecture

Deklaracje:sygnałów,komponentów ...

begin

Opis strukturypołączeń i logiki

library ieee ;use ieee.std_logic_1164.all; ...

entity up_down_counter is

generic ( NUMBER_OF_BITS : positive ); port ( CLK : in std_logic; RESET : in std_logic; COUNT_OUT : out std_logic_vector(NUMBER_OF_BITS-1 downto 0); UP_IN : in std_logic; DOWN_IN : in std_logic );end up_down_counter;

entity – definiuje jakie są połączenia architektury ze “światem zewnętrznym”, w przypadku “top entity” są to połączenia z pinami układu FPGA (wraz z plikami ucf, lpf...)

Argument generic pozwala na elastyczne użycie portów, sygnałów, połączeń...

port - są możliwe następujące typy portu: in – wejście do entity, out – wyjście, inout – typ dwukierunkwoy, buffer – podobne do wyjścia ale może zostać odczytany przez entity (nie rekomendowany)

25 / 30

Page 26: Reprogramowalne uk ady FPGA, 1iswiki.if.uj.edu.pl/images/a/ad/Rekonfigurowalne_układy... · 2019. 4. 3. · Układy FPGA zawierają w sobie zbiór elementów należących do grupy

Plan wykładuWstęp

Bramki logicznePrzerzutniki

FIFOMultiplekser

LUTMaszyny stanów

Przykład architektury FPGAJęzyki programowania dla Układów FPGA

Wprowadzenie do języka VHDLbibliografia

Koniec

Krótka historia języka VHDLBibliotekiEntityArchitectureOpis jednostkiKomponenty

Architecture

biblioteki

top entity

Architecture

Deklaracje:sygnałów,komponentów ...

begin

Opis strukturypołączeń i logiki

library ieee ;use ieee.std_logic_1164.all; ...

entity up_down_counter is ...

architecture up_down_counter of up_down_counter is

signal counter: std_logic_vector (NUMBER_OF_BITS-1 downto 0);

Std_logic_vector "reprezentuje" magistralę, zaś std_logic pojedyńcze połączenie

więcej na temat typów na następnych wykładach...

26 / 30

Page 27: Reprogramowalne uk ady FPGA, 1iswiki.if.uj.edu.pl/images/a/ad/Rekonfigurowalne_układy... · 2019. 4. 3. · Układy FPGA zawierają w sobie zbiór elementów należących do grupy

Plan wykładuWstęp

Bramki logicznePrzerzutniki

FIFOMultiplekser

LUTMaszyny stanów

Przykład architektury FPGAJęzyki programowania dla Układów FPGA

Wprowadzenie do języka VHDLbibliografia

Koniec

Krótka historia języka VHDLBibliotekiEntityArchitectureOpis jednostkiKomponenty

Opis zachowania jednostki projektowej

biblioteki

top entity

Architecture

Deklaracje:sygnałów,komponentów ...

begin

Opis strukturypołączeń i logiki

library ieee ;use ieee.std_logic_1164.all; ...

entity up_down_counter is ...

architecture up_down_counter of up_down_counter is ...

COUNTER_PROC : process (CLK) begin if rising_edge(clk) then if RESET = '1' then counter <= (others => '0'); elsif UP_IN = '1' and DOWN_IN = '0' then counter <= counter + 1; elsif UP_IN = '0' and DOWN_IN = '1' then counter <= counter - 1; else counter <= counter; end if; end if; end process COUNTER_PROC; COUNT_OUT <= counter;end up_down_counter;

27 / 30

Page 28: Reprogramowalne uk ady FPGA, 1iswiki.if.uj.edu.pl/images/a/ad/Rekonfigurowalne_układy... · 2019. 4. 3. · Układy FPGA zawierają w sobie zbiór elementów należących do grupy

Plan wykładuWstęp

Bramki logicznePrzerzutniki

FIFOMultiplekser

LUTMaszyny stanów

Przykład architektury FPGAJęzyki programowania dla Układów FPGA

Wprowadzenie do języka VHDLbibliografia

Koniec

Krótka historia języka VHDLBibliotekiEntityArchitectureOpis jednostkiKomponenty

Tworzenie komponentów

biblioteki

top entity

Architecture

Deklaracje:sygnałów,komponentów ...

begin

logika

component a

component b

Możemy ponownie używać napisane jużjednostki projektowe (entity) jako komponenty (component)

architecture ...component up_down_counter generic ( NUMBER_OF_BITS : positive); port ( CLK : in std_logic; RESET : in std_logic; COUNT_OUT : out std_logic_vector(NUMBER_OF_BITS-1 downto 0); UP_IN : in std_logic; DOWN_IN : in std_logic); end component;...begin...COUNTER_A: up_down_counter generic map ( NUMBER_OF_BITS => 5) port map ( CLK => CLK, RESET => RESET, COUNT_OUT => counter_out, UP_IN => count_up, DOWN_IN => count_down);...

28 / 30

Page 29: Reprogramowalne uk ady FPGA, 1iswiki.if.uj.edu.pl/images/a/ad/Rekonfigurowalne_układy... · 2019. 4. 3. · Układy FPGA zawierają w sobie zbiór elementów należących do grupy

Plan wykładuWstęp

Bramki logicznePrzerzutniki

FIFOMultiplekser

LUTMaszyny stanów

Przykład architektury FPGAJęzyki programowania dla Układów FPGA

Wprowadzenie do języka VHDLbibliografia

Koniec

Bibliografia

Xilinx Spartan 3A data sheet - UG331,

wikipedia.org

www.xilinx.com

29 / 30

Page 30: Reprogramowalne uk ady FPGA, 1iswiki.if.uj.edu.pl/images/a/ad/Rekonfigurowalne_układy... · 2019. 4. 3. · Układy FPGA zawierają w sobie zbiór elementów należących do grupy

Plan wykładuWstęp

Bramki logicznePrzerzutniki

FIFOMultiplekser

LUTMaszyny stanów

Przykład architektury FPGAJęzyki programowania dla Układów FPGA

Wprowadzenie do języka VHDLbibliografia

Koniec

Dziękuję

30 / 30