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聴
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聴
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聴
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)
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)