Professional Documents
Culture Documents
Eae 25
Eae 25
I. GIRI
Gnmzde teknolojinin hzla gelimesine paralel olarak
kullanlan elektronik devreler de daha karmak hale
gelmektedir. Geleneksel olarak kullanlan yntemler ile bu
devreleri tasarlamak olduka zor hale gelmektedir. Bu ihtiyac
karlamak iin yeni teknolojiler gelitirilmektedir. FPGA lar
da bu teknolojilerden biridir. FPGA lar programlanabilir
saysal bloklar ve balantlarn ieren yar iletken cihazlardr.
Programlanabilen bu saysal kaplar sayesinde karmak
tasarmlar kolay bir ekilde gelitirilmektedir.
FPGA lar programlamak iin Xilinx firmas tarafndan
gelitirilen ISEWebPack program kullanlr. Bu program
kullancya ayr programlama seenei sunmaktadr. VHDL
programlama dili FPGA lar programlama da kullanlan
program seeneklerinden sadece bir tanesidir. VHDL bir
donanm tanmlama dilidir. Dier bir programlama seenei
ematik programlamadr. Bu programlama seenei bize
saysal kaplar, flip-filoplar, mux lar, vb. elemanlar
kullanarak devre tasarmlarmz yapmamza olanak salar.
Dier bir programlama seenei ak diyagram eklinde
programlamadr. Bu almada ematik programlama ve kod
ile programlama kullanlacaktr.
105
Long
Line
CLB
CLB
CLB
CLB
General
Purpose
klar
0
1
1
0
106
Tasarm htiyac
Tanmlama
ematik/HDL
Derleme
Fonksiyonel
Benzetim
Hayr
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity UP_DOWN is
port(CLK, CNT_UP, CNT_DOWN: in Bit
Q0, Q1, Q2: buffer Bit);
end UP_DOWN;
architecture COUNTER of UP_DOWN is
Component JK_FF
port(J, K, CK: in Bit
Q, QN: buffer Bit);
end Component;
Signal S1, S2, S3, S4, S5, S6, S7, S8: BIT;
begin
JK1: JK_FF port map ('1', '1', CLK, Q0, S1);
A1: AND2 port map (CNT_UP, Q0, S2);
A2: AND2 port map (S1, CNT_DOWN, S3);
O1: OR2 port map(S2, S3, S4);
JK2: JK_FF port map ('1', '1', S4, Q1, S5);
Tasarm
Doru
mu?
Evet
Lojik Sentezleme
Yerletirme
&Yollandrma
Serim sonras
Benzetim
Hayr
Tasarm
Doru
mu?
Evet
Component AND2
port(A, B: in Bit;
C: out Bit);
end Component;
FPGA
Programlanmas
eklinde
yaplmaktadr.
Daha
sonra
Entity(Varlk)
tanmlamas yaplmaktadr. Bu tanmlama tasarmmzda
bulunan btn giri ve klarmz ve bu giri ve klarn
veri tipleri tanmlamaktadr. Bu tanmlama ilemi aada
grld gibi yaplmaktadr.
107
entity UP_DOWN is
port(CLK, CNT_UP, CNT_DOWN: in
Bit
Q0, Q1, Q2: buffer Bit);
end UP_DOWN;
Component JK_FF
port(J, K, CK: in Bit
Q, QN: buffer Bit);
end Component;
Kodlarda grld gibi JK flip-filopun girileri ve klar
bit olarak tanmlanm ayrca girileri belirtmek iin in ,
klar belirtmek iin out kullanlmaktadr. Ayn ekilde
AND(VE) ve OR(VEYA) saysal kaplarda tanmlanmaktadr.
ekil 6. VHDL Kodlarnn ematik haline dnm RTL
emas
Component AND2
port(A, B: in Bit;
C: out Bit);
end Component;
Component OR2
port(A, B: in Bit;
C: out Bit);
end Component;
Bu tanmlamalardan sonra begin.end bloklar arasna
kodlar yazlmaktadr. Yazlan kodlar xilinx firmasna ait ISE
WebPack programnda derlenerek JTAG kablo yardmyla
entegre ierisine gmlmektedir.
B. 3 Bitlik Senkron Yukar-Aa saycnn ematik Tasarm
Bu tasarm Xilinx firmasna ait ISE WebPack programnn
Schematic (ematik) programlama seenei kullanlarak
gerekle-tirilmektedir.
Program ierisinde bulunan saysal elemanlar alma ekranna
ktphaneden seilerek yerletirilir ve gerekli balantlar kolay
bir ekilde yaplmaktadr. Bu tasarmn VHDL kodlarna
bakacak olursak aada yaplan tasarm aama aama kodlara
nasl dkldn ve ne kadar kolay olduu grlmektedir.
ematik programlama basit tasarmlarda kullanmak avantajl
olabilir fakat karmak devrelerin tasarmlarnda kullanmak
olduka zordur. Bunun yerine VHDL kodlarn kullanmak
daha avantajldr. ISE WebPack program kullanclarna her
iki programlama seeneini ayn anda kullanma ansn da
vermektedir. rnein kullanc tasarmnn bir ksmn VHDL
kodlarn kullanmakta. Bir ksmnda ise ematik
programlamay kullanmaktadr. te bu durumda ematik
olarak tasarlad
ksmn program
iinde derleyerek
programa VHDL kodlarn retirir ve bu kodlar kopyalayp
V. SONU
Bu almada Xilinx firmas tarafndan retilen FPGA lar, bu
FPGAlarn
programlanmasnda
kullanlan
VHDL
programlama dili ve rnek olarak da 3 bitlik senkron yukaraa sayc devresi anlatlmaktadr. Yaplan tasarm zerinden
VHDL programlama seenekleri anlatlmakta ve kullancya
salad faydalara deinilmektedir.
FPGA, saysal devrelerinin hayata geirilmesi iin olduka
kullanl ve basittir. Kullanclar hem saysal devre tasarm
hem de bu tasarmlarnn VHDL kodlarn e zamanda
yapabilmekte ve uygulamaya geirebilmektedir. Sadece saysal
devrelerde deil her trl tasarmlar uygulamaya geirmekte
de olduka kullanldr. Ayrca gerekletirilen tasarmlarn
gelitirilmesi VHDL programlama dili ve FPGA sayesinde
olduka kolay hale gelmektedir.
Burada gerekletirilen tasarmlar xilinx firmasna ait
XC3S700A entegresinde, Spartan 3A Starter Kit deneme
kartna uygulanmtr.
108
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
109