際際滷

際際滷Share a Scribd company logo
FPGA
Alanda Programlanabilir Kap脹 Dizisi
Dr. Serkan DEREL聴
dereli@subu.edu.tr
VHDL (Very High Definition Language)
 VHSIC (Very High-Speed Integrated Circuit) ifadesinden d旦n端t端r端lm端t端r.
 Donan脹m tasar脹m脹 yapmak i巽in kullan脹l脹r.
 聴lk olarak USA Savunma Bakanl脹脹nca kullan脹ld脹. Sonradan IEEE enstit端s端ne
devredildi.
 聴lk olarak 1987 y脹l脹nd脹 standartlat脹.
 Son olarak 1993 y脹l脹nda g端ncelleti. Hali haz脹rda kullan脹lan kodlar bu s端r端me
aittir.
2
Dr. Serkan DEREL聴 (dereli@subu.edu.tr)
VHDLTasar脹m Seviyeleri
DAVRANISAL SEV聴YE
-VHDL veyaVerilog gibi kodlama dilleri
kullan脹l脹r.
- Zamansal s端re巽ler kullan脹lmaz ve bu
nedenle geneli sentezlenemez.
-Yap脹lan tasar脹m脹n fonksiyonel davran脹脹
belirlenir.
- Sinyal ge巽ileri asenkrondur
3
Dr. Serkan DEREL聴
VHDLTasar脹m Seviyeleri
RTL (Register Transfer Level) Seviyesi
-Toplay脹c脹 ve kar脹lat脹r脹c脹 gibi
fonksiyonel birimlerle beraber
depolama ve veri se巽ici (巽oklay脹c脹)
birimleri bar脹nd脹r脹r.
- Ortak bir saat sinyali kullan脹l脹r.
- Sinyal gecikmeleri ve anl脹k atlamalar
sistemin 巽al脹mas脹n脹 etkilemez.
4
Dr. Serkan DEREL聴
VHDLTasar脹m Seviyeleri
Mant脹k Seviyesi
Mant脹k kap脹lar脹n脹n ve flip flop gibi
depolama elemanlar脹n脹n kullan脹ld脹脹
tasar脹m seviyesidir.
5
Dr. Serkan DEREL聴
VHDLTasar脹m Seviyeleri
Donan脹m (FPGA) Seviyesi
En alt seviye tasar脹m modelidir.
Yap脹lan tasar脹mlar donan脹m脹n mant脹k
bloklar脹na fiziksel olarak yerletirilir.
6
Dr. Serkan DEREL聴
FPGA gelecek projeksiyonu
7
Dr. Serkan DEREL聴
D端nya b旦lgeler haritas脹
8
Dr. Serkan DEREL聴 (dereli@subu.edu.tr)
RNEK 3.1.
Giriine gelen 4-bitlik iki say脹dan b端y端k, k端巽端k
veya eitlik durumlar脹n脹 巽脹k脹a aktaran devre
tasar脹m脹n脹 yap脹n脹z.
9
Dr. Serkan DEREL聴 (dereli@subu.edu.tr)
rnek 3.1.VHDL kodu
10
Dr. Serkan DEREL聴 (dereli@subu.edu.tr)
rnek 3.1 Sim端lasyon
11
Dr. Serkan DEREL聴 (dereli@subu.edu.tr)
RNEK 3.2.
Giriine gelen 4-bitlik iki say脹dan b端y端k olan脹
巽脹k脹a aktaran eitlik durumunda 巽脹k脹 bitlerini s脹f脹r
yapan tasar脹m脹 yap脹n脹z.
12
Dr. Serkan DEREL聴 (dereli@subu.edu.tr)
VHDLTasar脹m Modelleri
 Veri ak脹 (Data Flow) modeli
 Davran脹sal (Behavioral) model
 Yap脹sal (Structural) Model
13
Dr. Serkan DEREL聴
Davran脹sal Model
 Tasarlanan devrenin 巽脹k脹lar脹n脹n girilerine
verdii tepkiyi modelleyen bir tasar脹m stilidir.
 Devrenin giri sinyallerine g旦re davran脹脹n脹
modellemektedir.
 Tasar脹mc脹 a巽脹s脹ndan mant脹k kap脹lar脹 y旦n端yle
devrenin nas脹l g旦r端nd端端nden ziyade davran脹脹
旦nemlidir.
14
Dr. Serkan DEREL聴 (dereli@subu.edu.tr)
Yap脹sal Model
 Bu modelde ger巽ekletirilen devre bir b端t端n
olarak d端端n端ld端端nde alt-tasar脹mlar脹n
(component) bir araya getirdii bir sistem
olarak 旦n plana 巽脹kmaktad脹r.
 Asl脹nda bu sistemi bir araya getiren her bir alt-
tasar脹m davran脹sal olarak ger巽ekletirilen
tasar脹m modellerinden olumaktad脹r.
 G端n端m端zde yayg脹n ekilde kullan脹m脹 olan bu
model 旦zellikle b端y端k sistem tasar脹mlar脹nda
tasar脹mc脹ya ziyadesiyle fayda salamaktad脹r.
15
Dr. Serkan DEREL聴 (dereli@subu.edu.tr)
VHDLTasar脹m Bileenleri
VHDL
Tasar脹m
K端t端phana
(Library)
Varl脹k (Entity)
Mimari
(Architecture)
 K端t端phane (Library)
 Varl脹k (Entity)
 Mimari (Architecture)
16
Dr. Serkan DEREL聴 (dereli@subu.edu.tr)
K端t端phaneler (Libraries)
 use IEEE.std_logic_1164.all;
std_logic, std_logic_vector t端rleri ile ilgili fonksiyonlar脹
i巽erir.
 use IEEE.numeric_std.all;
std_logic_arith k端t端phanesinin alternatifidir.
 use IEEE.std_logic_signed.all;
iaretli aritmetik fonksiyonlar脹 i巽erir.
 use IEEE.std_logic_arith.all;
signed, unsigned, integer ve std_logic_vector t端rleri
i巽in aritmetik, d旦n端t端rme ve kar脹lat脹rma
fonksiyonlar脹n脹 i巽erir.
VHDL tasar脹mda kullan脹lacak
kodlar脹n ilevlerini i巽eren yap脹lard脹r.
17
Dr. Serkan DEREL聴 (dereli@subu.edu.tr)
Varl脹k (Entity)
entity Uyg41 is
Port (
clk : in std_logic;
rst : in std_logic;
sayi_16b : in std_logic_vector(15 downto 0);
say1_8b : out std_logic_vector(7 downto 0);
say2_8b : out std_logic_vector(7 downto 0)
);
end Uyg41;
Tasar脹m脹n giri deerleri ile 巽脹k脹
deerlerinin tan脹mland脹脹
b旦l端md端r.
18
Dr. Serkan DEREL聴 (dereli@subu.edu.tr)
Mimari (Architecture)
1. architecture Behavioral of Uyg41 is
2.  sinyal ve deiken tan脹mlamalar脹
3. begin
4. process1(clk,rst);
5. process2(say);
6. process3(esit);
7. 
8. end Behavioral;
 Yap脹lan bir tasar脹m脹n ne i
yapt脹脹 tam olarak bu b旦l端mde
tan脹mlanmaktad脹r.
 Tasarlanan sistemin s脹ral脹 veya
paralel bir ekilde 巽al脹aca脹 da
bu b旦l端mde ortaya 巽脹kmaktad脹r.
19
Dr. Serkan DEREL聴 (dereli@subu.edu.tr)
ICT (information and
communication
technology)yi elinde
bulunduran 10 端lke
Kaynak: World Economic Forum
https://www.weforum.org/agenda/2014
/04/top-10-countries-embracing-
information-technology/
20
Dr. Serkan DEREL聴 (dereli@subu.edu.tr)
RNEK 3.3.
Giriine gelen 16-bitlik say脹y脹 8-bit ve 8-bit olmak
端zere ikiye b旦lerek 巽脹k脹a aktaran VHDL tasar脹m脹
ger巽ekletiriniz.
21
Dr. Serkan DEREL聴 (dereli@subu.edu.tr)
rnek 3.2.VHDL Kod
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
-varl脹k tan脹mlamas脹
entity Uyg41 is
Port (
clk : in std_logic;
rst : in std_logic;
sayi_16b : in std_logic_vector(15 downto 0);
say1_8b : out std_logic_vector(7 downto 0);
say2_8b : out std_logic_vector(7 downto 0)
);
end Uyg41;
mimari tan脹mlamas脹
architecture Behavioral of Uyg41 is
begin
process(clk, rst)
begin
if (rst = '1') then
say1_8b <= (others => '0');
say2_8b <= (others => '0');
elsif rising_edge(clk) then
say1_8b <= sayi_16b(7 downto 0);
say2_8b <= sayi_16b(15 downto 8);
end if;
end process;
end Behavioral;
22
Dr. Serkan DEREL聴 (dereli@subu.edu.tr)
rnek 3.1 Sim端lasyon
23
Dr. Serkan DEREL聴 (dereli@subu.edu.tr)
B旦l端m Sonu
24

More Related Content

FPGA ve VHDL Ders - 3

  • 1. FPGA Alanda Programlanabilir Kap脹 Dizisi Dr. Serkan DEREL聴 dereli@subu.edu.tr
  • 2. VHDL (Very High Definition Language) VHSIC (Very High-Speed Integrated Circuit) ifadesinden d旦n端t端r端lm端t端r. Donan脹m tasar脹m脹 yapmak i巽in kullan脹l脹r. 聴lk olarak USA Savunma Bakanl脹脹nca kullan脹ld脹. Sonradan IEEE enstit端s端ne devredildi. 聴lk olarak 1987 y脹l脹nd脹 standartlat脹. Son olarak 1993 y脹l脹nda g端ncelleti. Hali haz脹rda kullan脹lan kodlar bu s端r端me aittir. 2 Dr. Serkan DEREL聴 (dereli@subu.edu.tr)
  • 3. VHDLTasar脹m Seviyeleri DAVRANISAL SEV聴YE -VHDL veyaVerilog gibi kodlama dilleri kullan脹l脹r. - Zamansal s端re巽ler kullan脹lmaz ve bu nedenle geneli sentezlenemez. -Yap脹lan tasar脹m脹n fonksiyonel davran脹脹 belirlenir. - Sinyal ge巽ileri asenkrondur 3 Dr. Serkan DEREL聴
  • 4. VHDLTasar脹m Seviyeleri RTL (Register Transfer Level) Seviyesi -Toplay脹c脹 ve kar脹lat脹r脹c脹 gibi fonksiyonel birimlerle beraber depolama ve veri se巽ici (巽oklay脹c脹) birimleri bar脹nd脹r脹r. - Ortak bir saat sinyali kullan脹l脹r. - Sinyal gecikmeleri ve anl脹k atlamalar sistemin 巽al脹mas脹n脹 etkilemez. 4 Dr. Serkan DEREL聴
  • 5. VHDLTasar脹m Seviyeleri Mant脹k Seviyesi Mant脹k kap脹lar脹n脹n ve flip flop gibi depolama elemanlar脹n脹n kullan脹ld脹脹 tasar脹m seviyesidir. 5 Dr. Serkan DEREL聴
  • 6. VHDLTasar脹m Seviyeleri Donan脹m (FPGA) Seviyesi En alt seviye tasar脹m modelidir. Yap脹lan tasar脹mlar donan脹m脹n mant脹k bloklar脹na fiziksel olarak yerletirilir. 6 Dr. Serkan DEREL聴
  • 8. D端nya b旦lgeler haritas脹 8 Dr. Serkan DEREL聴 (dereli@subu.edu.tr)
  • 9. RNEK 3.1. Giriine gelen 4-bitlik iki say脹dan b端y端k, k端巽端k veya eitlik durumlar脹n脹 巽脹k脹a aktaran devre tasar脹m脹n脹 yap脹n脹z. 9 Dr. Serkan DEREL聴 (dereli@subu.edu.tr)
  • 10. rnek 3.1.VHDL kodu 10 Dr. Serkan DEREL聴 (dereli@subu.edu.tr)
  • 11. rnek 3.1 Sim端lasyon 11 Dr. Serkan DEREL聴 (dereli@subu.edu.tr)
  • 12. RNEK 3.2. Giriine gelen 4-bitlik iki say脹dan b端y端k olan脹 巽脹k脹a aktaran eitlik durumunda 巽脹k脹 bitlerini s脹f脹r yapan tasar脹m脹 yap脹n脹z. 12 Dr. Serkan DEREL聴 (dereli@subu.edu.tr)
  • 13. VHDLTasar脹m Modelleri Veri ak脹 (Data Flow) modeli Davran脹sal (Behavioral) model Yap脹sal (Structural) Model 13 Dr. Serkan DEREL聴
  • 14. Davran脹sal Model Tasarlanan devrenin 巽脹k脹lar脹n脹n girilerine verdii tepkiyi modelleyen bir tasar脹m stilidir. Devrenin giri sinyallerine g旦re davran脹脹n脹 modellemektedir. Tasar脹mc脹 a巽脹s脹ndan mant脹k kap脹lar脹 y旦n端yle devrenin nas脹l g旦r端nd端端nden ziyade davran脹脹 旦nemlidir. 14 Dr. Serkan DEREL聴 (dereli@subu.edu.tr)
  • 15. Yap脹sal Model Bu modelde ger巽ekletirilen devre bir b端t端n olarak d端端n端ld端端nde alt-tasar脹mlar脹n (component) bir araya getirdii bir sistem olarak 旦n plana 巽脹kmaktad脹r. Asl脹nda bu sistemi bir araya getiren her bir alt- tasar脹m davran脹sal olarak ger巽ekletirilen tasar脹m modellerinden olumaktad脹r. G端n端m端zde yayg脹n ekilde kullan脹m脹 olan bu model 旦zellikle b端y端k sistem tasar脹mlar脹nda tasar脹mc脹ya ziyadesiyle fayda salamaktad脹r. 15 Dr. Serkan DEREL聴 (dereli@subu.edu.tr)
  • 16. VHDLTasar脹m Bileenleri VHDL Tasar脹m K端t端phana (Library) Varl脹k (Entity) Mimari (Architecture) K端t端phane (Library) Varl脹k (Entity) Mimari (Architecture) 16 Dr. Serkan DEREL聴 (dereli@subu.edu.tr)
  • 17. K端t端phaneler (Libraries) use IEEE.std_logic_1164.all; std_logic, std_logic_vector t端rleri ile ilgili fonksiyonlar脹 i巽erir. use IEEE.numeric_std.all; std_logic_arith k端t端phanesinin alternatifidir. use IEEE.std_logic_signed.all; iaretli aritmetik fonksiyonlar脹 i巽erir. use IEEE.std_logic_arith.all; signed, unsigned, integer ve std_logic_vector t端rleri i巽in aritmetik, d旦n端t端rme ve kar脹lat脹rma fonksiyonlar脹n脹 i巽erir. VHDL tasar脹mda kullan脹lacak kodlar脹n ilevlerini i巽eren yap脹lard脹r. 17 Dr. Serkan DEREL聴 (dereli@subu.edu.tr)
  • 18. Varl脹k (Entity) entity Uyg41 is Port ( clk : in std_logic; rst : in std_logic; sayi_16b : in std_logic_vector(15 downto 0); say1_8b : out std_logic_vector(7 downto 0); say2_8b : out std_logic_vector(7 downto 0) ); end Uyg41; Tasar脹m脹n giri deerleri ile 巽脹k脹 deerlerinin tan脹mland脹脹 b旦l端md端r. 18 Dr. Serkan DEREL聴 (dereli@subu.edu.tr)
  • 19. Mimari (Architecture) 1. architecture Behavioral of Uyg41 is 2. sinyal ve deiken tan脹mlamalar脹 3. begin 4. process1(clk,rst); 5. process2(say); 6. process3(esit); 7. 8. end Behavioral; Yap脹lan bir tasar脹m脹n ne i yapt脹脹 tam olarak bu b旦l端mde tan脹mlanmaktad脹r. Tasarlanan sistemin s脹ral脹 veya paralel bir ekilde 巽al脹aca脹 da bu b旦l端mde ortaya 巽脹kmaktad脹r. 19 Dr. Serkan DEREL聴 (dereli@subu.edu.tr)
  • 20. ICT (information and communication technology)yi elinde bulunduran 10 端lke Kaynak: World Economic Forum https://www.weforum.org/agenda/2014 /04/top-10-countries-embracing- information-technology/ 20 Dr. Serkan DEREL聴 (dereli@subu.edu.tr)
  • 21. RNEK 3.3. Giriine gelen 16-bitlik say脹y脹 8-bit ve 8-bit olmak 端zere ikiye b旦lerek 巽脹k脹a aktaran VHDL tasar脹m脹 ger巽ekletiriniz. 21 Dr. Serkan DEREL聴 (dereli@subu.edu.tr)
  • 22. rnek 3.2.VHDL Kod library IEEE; use IEEE.STD_LOGIC_1164.ALL; -varl脹k tan脹mlamas脹 entity Uyg41 is Port ( clk : in std_logic; rst : in std_logic; sayi_16b : in std_logic_vector(15 downto 0); say1_8b : out std_logic_vector(7 downto 0); say2_8b : out std_logic_vector(7 downto 0) ); end Uyg41; mimari tan脹mlamas脹 architecture Behavioral of Uyg41 is begin process(clk, rst) begin if (rst = '1') then say1_8b <= (others => '0'); say2_8b <= (others => '0'); elsif rising_edge(clk) then say1_8b <= sayi_16b(7 downto 0); say2_8b <= sayi_16b(15 downto 8); end if; end process; end Behavioral; 22 Dr. Serkan DEREL聴 (dereli@subu.edu.tr)
  • 23. rnek 3.1 Sim端lasyon 23 Dr. Serkan DEREL聴 (dereli@subu.edu.tr)