You are on page 1of 27

KOCAEL NVERSTES MHENDSLK FAKLTES

ELEKTRONK VE HABERLEME MHENDSL

ALTERA FPGA KARTLARI LABORATUVAR UYGULAMALARININ


NEXYS4 ARTIX-7 FPGA KARTINA UYARLANMASI VE GEREKLENMES
VERLOGHDL LE SAYISAL TASARIM DERS PROJES

OSMAN KUCU
100207038

DERS VE PROJE DANIMANI: YRD.DO.DR. ANIL ELEB


KOCAEL, 2014

indekiler
NDEKLER ....................................................................................................................... i
GR ................................................................................................................................ 1
PROJE KAPSAMINDA GEREKLETRLEN UYGULAMALAR ................................................. 2
FPGA NEDR? .................................................................................................................... 4
NEXYS4 ARTIX-7 FPGA .................................................................................................... 6
XILINX ISE DESIGN SUITE ................................................................................................... 9
PLAN AHEAD.................................................................................................................... 12
LABORATUVAR UYGULAMALARI - 1 ................................................................................. 13
LABORATUVAR UYGULAMALARI - 2 ................................................................................. 14
LABORATUVAR UYGULAMALARI - 3 ................................................................................. 15
LABORATUVAR UYGULAMALARI - 4 ................................................................................. 16
LABORATUVAR UYGULAMALARI - 5 ................................................................................. 17
LABORATUVAR UYGULAMALARI - 6 ................................................................................. 18
LABORATUVAR UYGULAMALARI - 7 ................................................................................. 19
LABORATUVAR UYGULAMALARI - 8 ................................................................................. 20
LABORATUVAR UYGULAMALARI - 9 ................................................................................. 21
LABORATUVAR UYGULAMALARI - 10 ............................................................................... 22
LABORATUVAR UYGULAMALARI - 11 ............................................................................... 23
LABORATUVAR UYGULAMALARI - 12 ............................................................................... 24
KAYNAKLAR ..................................................................................................................... 25

ALTERA FPGA KARTLARI LABORATUVAR UYGULAMALARININ


NEXYS4 ARTIX-7 FPGA KARTINA UYARLANMASI VE GEREKLENMES
1. GR
Proje kapsamnda gerekletirilen uygulamalar; Altera FPGA kartlarnda gereklenmek
zere tasarlanan ve Altera firmas tarafndan yaynlanan laboratuvar uygulamalarnn
Nexys4 Artix-7 FPGA kartna uyarlanp gereklenmesidir. Gereklenen uygulamalar iin
Altera DE2 kart laboratuvar uygulamalar referans alnmtr. Bu uygulamalara aada
verilen adresten ulaabilirsiniz.
http://www.altera.com/education/univ/materials/digital_logic/labs/unv-labs.html
Projenin balang aamasnda yaplmas gereken en nemli durum Altera firmas
tarafndan yaynlanan laboratuvar uygulamalarnn Nexys4 kartnda gereklenmesi iin iki
FPGA kart arasndaki farklar tespit etmekti. Altera laboratuvar uygulamalarnda ska
kullanlan anahtarlarn, ledlerin, butonlarn saylar her iki kart iinde farkldr. Bunun
haricinde DE2 kartndaki RAM bloklar ile Nexys4 kartndaki Ram bloklar ve her iki kart
zerinde bulunan buton ve anahtarlarn balanma ekilleri de (ortak anot-katot) birbirinden
farkldr. Bu durumlar gz nnde bulundurularak Altera firmasnn yaynlam olduu
laboratuvar uygulamalar Nexys4 kart iin deitirilip kart zerinde gereklenmitir.
Nexys4 Artix-7 FPGA kart almalarnda kullanlmak zere gereklenen laboratuvar
uygulamalarna gre yeni laboratuvar fyleri hazrlanmtr.
Proje kapsamnda kullanlan FPGA kartlarnn grselleri aadaki gibidir.

PROJE KAPSAMINDA GEREKLETRLEN UYGULAMALAR


Altera firmas tarafndan gerekletirilmek zere yaynlanan laboratuvar almalar 12
uygulamadan olumaktadr. Her uygulamada kendi iinde farkl almalara ayrlmtr.
Laboratuvar Uygulamalar 1
Bu uygulamada FPGA yongalarnn giri klarn ynetmek ve devreleri bu giri klara
nasl balanaca esas alnmtr ve bunun iin Nexys4 Artix-7 FPGA kart zerindeki
anahtarlar, ledler, butonlar ve 7-paral gstergeler kullanlmtr.
Laboratuvar Uygulamalar 2
Bu uygulamada kombinasyonel devreler tasarlanarak ikilik tabanda saylar ile onluk
tabanda saylar zerinde ilemler yaplm ve Nexys4 Artix-7 FPGA kart zerindeki
anahtarlar, ledler, butonlar ve 7-paral gstergeler kullanlmtr.
Laboratuvar Uygulamalar 3
Bu uygulamada yaz-boz ve kaydedicilerin mant anlatlmaya allm ve Nexys4
Artix-7 FPGA kart zerindeki anahtarlar ve ledler kullanlmtr.
Laboratuvar Uygulamalar 4
Bu uygulamada sayalarn nasl oluturulaca ve nasl kullanlmas gerektii gsterilmi
ve Nexys4 Artix-7 FPGA kart zerindeki anahtarlar, ledler, butonlar ve 7-paral gstergeler
kullanlmtr.
Laboratuvar Uygulamalar 5
Bu uygulamada zamanlanm devrelerin kullanm ve gerek zamanl saat uygulamalar
yaplm ve Nexys4 Artix-7 FPGA kart zerindeki anahtarlar, ledler, butonlar ve 7-paral
gstergeler kullanlmtr.
Laboratuvar Uygulamalar 6
Bu uygulamada matematiksel ilemlerin FPGA kart zerinde nasl gerekletirilecei
anlatlm ve Nexys4 Artix-7 FPGA kart zerindeki anahtarlar, ledler, butonlar ve 7-paral
gstergeler kullanlmtr.

Laboratuvar Uygulamalar 7
Bu uygulamada sonlu durum makineleri (FSM) alma mant ve nasl kullanlmas
gerektii zerinde allmtr. Nexys4 Artix-7 FPGA kart zerindeki anahtarlar, ledler,
butonlar ve 7-paral gstergeler kullanlmtr.
Laboratuvar Uygulamalar 8
Bu uygulamada bilgisayar sistemlerinde kullanlan hafza birimlerinin (RAM-ROM) FPGA
kart zerinde nasl kullanlmas gerektii ve kullancnn kendisine ait hafza birimlerini nasl
oluturmas gerektii zerinde allmtr ve Nexys4 Artix-7 FPGA kart zerindeki
anahtarlar, ledler, butonlar, 7-paral gstergeler ve hafza birimleri (RAM-ROM)
kullanlmtr.
Laboratuvar Uygulamalar 9
Bu uygulamada FPGA kartnda bir mikroilemcinin nasl tasarlanmas gerektii ve gerekli
devrelerde kullanlmas zerinde almalar yaplm ve Nexys4 Artix-7 FPGA kart
zerindeki anahtarlar, ledler, butonlar, 7-paral gstergeler ve hafza birimleri (RAM-ROM)
kullanlmtr.
Laboratuvar Uygulamalar 10
Bu uygulamada Laboratuvar Uygulamalar 9 da tasarlanan mikroilemci biraz daha
gelitirilerek devrelerde gereklenmitir ve Nexys4 Artix-7 FPGA kart zerindeki anahtarlar,
ledler, butonlar, 7-paral gstergeler ve hafza birimleri (RAM-ROM) kullanlmtr.
Laboratuvar Uygulamalar 11
Bu uygulamada algoritmik durum makineleri (ASM) alma mant ve nasl kullanlmas
gerektii zerinde allmtr. Nexys4 Artix-7 FPGA kart zerindeki anahtarlar, ledler,
butonlar, 7-paral gstergeler ve hafza birimleri (RAM-ROM) kullanlmtr.
Laboratuvar Uygulamalar 12
Bu uygulamada FPGA kartnda saysal iaretleri incelemenin nasl yaplmas gerektii,
dardan alnan analog bir iaretin dijital bir iarete dntrlp incelenmesi ve tekrar
analog bir iarete dntrlp gzlenmesi amalanmtr. Uygulamada FPGA kartndaki
mikrofon giriinde alnan ve ilenen sesin ses kna balanan hoparlr ile duyulmas
gerenlenmitir. Nexys4 Artix-7 FPGA kart zerindeki mikrofon, ses k ve hafza birimleri
(RAM-ROM) kullanlmtr.

2. FPGA NEDR?
FPGA (Field Programmable Gate Array) programlanabilen bir yongadr (entegre veya
ipdir). Trkede bu entegrelere "Alanda Programlanabilir Kap Dizini" denilmektedir.
FPGA'lerin ierisinde saysal(dijital) devre tasarlamak iin kullanlabilen temel devre
elemanlar bulunur. Flip-flop, AND, OR kaplar vb. Bu devre elemanlar VHDL veya Verilog
gibi donanm tanmlama dilleri (Hardware Description Language - HDL) kullanlarak veya
ematik tasarm yaplarak birbirlerine balanr. Bylece istenilen saysal devre sadece bir
FPGA entegresi kullanarak oluturulabilir.
FPGA'lerin en nemli zelliklerinden birisi tekrar programlanabilir olmalardr. Yani
tasarmnda bir hata tespit ettiiniz zaman FPGA kodunuzu tekrar tasarlayp testini
gerekletirdikten sonra kart zerindeyken FPGA'e ykleyebilirsiniz. Bu esnek tasarm
zelliklerinden dolay, baz entegre reticileri, tasarmlarn nce FPGA ile denerler ve son
aamada FPGA zerinde dorulanm olan bu tasarm ASIC tasarma dntrp
entegrelerini piyasaya sunarlar.
FPGA entegreleri genelde paralel ilem gerektiren yksek performansl zel tasarmlar
iin kullanlmaktadr. Grnt ileme, saysal iaret ileme (Digital Signal Processing - DSP)
ilemleri buna rnek olarak verilebilir. Ama tasarmnz sral bir ilem akna uygun ise
mikroilemci kullanmak daha mantkl olacaktr. Bu noktada unutulmamas gereken udur:
Mikroilemcilerin i mimarisi sabittir ve kod deiiklikleri temelde bu mimari zerinde komut
aknn deiimi anlamna gelir ve FPGA'lere gre test ve dorulama ilemleri daha kolay
gerekletirilebilir. FPGA'lerde ise, tasarmnz, entegrenin iindeki donanm yapsn ifade
eder. Her kod deiiklii mimari ve sinyal zamanlamalar asndan farkl yaplar ile
sonulanabilir. Ayn zamanda FPGA tasarm srasnda bir veya birden fazla tasarm yazlm
kullanmanz gerekebilir (tasarm girii, sentez ve benzeim admlar iin). Bundan dolay FPGA
tasarmlarnda yaplan kod/tasarm deiikliklerini dorulamak daha uzun zaman alabilir ve
uzmanlama gerektirir.
FPGAi, iindeki transistrleri birbirinden bamsz ve serbest olarak retilmi ham bir
entegre olarak dnebiliriz. Bizim belirlediimiz fonksiyona gre FPGA iindeki transistrler
birbirlerine balanr ve bu sayede istediimiz fonksiyonu gerekletirir. Yani teorik olarak
transistr kapasitesi dhilinde aklmza gelen herhangi bir entegrenin yapt ii FPGA ile
yapabiliriz.
rnein gerek zamanl yksek znrlkl bir video grnts zerinde filtreleme
ilemi yapmak istiyoruz. Video aslnda pe pee sralanan resimlerdir ve bu resimlerin her
birine frame denilmektedir. En basit haliyle bunun iin videonun bir resim karesini giri
portlarndan almamz, onu filtrelememiz ve k portlarndan gndermemiz gerekir. Sonra
ikinci resim iin de ayn ilemleri gerek zamanl olarak tekrarlamak durumundayz. Standart
entegreler (rnein bir mikroilemci) kullanrsak bu ilemi (alma, filtreleme, gnderme)
srayla yapp bitirdikten sonra gelen ikinci resmi almaya balarz. Eer bu ilemleri yeterince

hzl yapamazsak sradaki resmi karabiliriz. FPGAde ise bu ilemler paralel olarak devam
eder. rnein ilk resmi alp filtreleme ilemini yaparken ikinci resmi almaya balarz. lk resmi
gnderirken ikinci resmi filtrelemeye ve nc resmi almaya balarz. Bunun yannda,
filtreleme ilemi genel olarak youn arpm gerektirmektedir. Standart bir ilemci ile bu
arpma ilemlerini de srayla yapmak zorundayz. Oysaki FPGA ile bu ilemleri de paralel
olarak yani ok hzl bir ekilde yapabiliriz.
zet olarak, FPGAler bize paralel ilem kabiliyeti sunan ve iyapsn istediimiz
fonksiyon ve uygulamaya gre deitirebildiimiz donanm-programlanabilir entegrelerdir.
FPGA ile mikroilemci arasndaki en byk ve temel fark FPGAin donanmsal olarak sabit
bir yapya sahip olmayp kullanc uygulamasna gre programlanabilir olmasdr. lemciler
ise sabit bir donanm yapsna sahiptir. Yani ierisindeki tm transistr, bellek, evrebirimi
yaplar ve balantlar sabittir. lemcinin yapabilecei ilemler (toplama, arpma, I/O
kontrol, vs) nceden tanmldr ve kullanc yazlmla bu ilemleri kendi amacna uygun olarak
sral bir ekilde ilemciye yaptrabilir.
FPGAde ise donanm yaps sabit deildir ve kullanc tarafndan tanmlanr. FPGA
ierisindeki mantk hcreleri sabit olmakla birlikte bunlarn gerekletirdii fonksiyonlar ve
aralarndaki balantlar kullanc tarafndan belirlenir. Dolaysyla FPGAin yapabilecei
ilemler nceden tanmlanm deildir. Yazlan HDL koduna gre istediiniz ilemleri paralel
olarak yani ayn anda yaptrabilirsiniz. Paralel ilem yapabilme yetenei FPGAyi ilemciden
ayran ve birok alanda stn klan en nemli zelliklerdendir.

3. NEXYS4 ARTIX-7 FPGA


Digilent firmasna ait NEXYS4 kart, Xilinx firmasna ait Artix-7 FPGAyini zerinde
barndrmaktadr. NEXYS4 kart zerinde bulunan bileenler aadaki ekilde gsterilmitir.

1
2
3
4
5
6
7
8
9
10
11
12

G Seim Balants
UART/JTAG USB Portu
Yaplandrlm SD/USB Balants
PMOD Konektr
Mikrofon
G Kayna Test Noktas
Ledler (16)
Anahtarlar (16)
7-Paral Gstergeler (8)
JTAG Portu in D Kablo
Butonlar (5)
Scaklk Sensr

13
14
15
16
17
18
19
20
21
22
23
24

FPGA Resetleme Butonu


CPU Resetleme Butonu
Analog aretler PMOD Konektr
Programlama Modu Balants
Ses Konektr
VGA Konektr
FPGA Programland Ledi
Ethernet Konektr
USB Konektr
PIC24 Programlama Portu
G Anahtar
G Girii (5V)

NEXYS4 kart zerinde bulunan baz birimlerin Artix-7 FPGA yongasna balanma
ekilleri ve FPGA yongasna bal olduklar pin numaralar aadaki ekilde belirtilmitir.

ekilde gsterilen Artix-7 FPGA yongasna bal birimleri kullanmak iin yaplmas gereken baz
hususlar vardr. rnein; 7-paral gstergeleri kullanmak iin FPGA yongas zerinde bizim
kullanmmza ak M1,L1,N4,N2 pinleri vardr. AN7 deikeni Artix-7 FPGA yongasnda M1

pinine balanmtr. AN7 deikenine mantk deeri 1 verildii zaman yani M1 pinine 3.3V
gerilim verildii zaman transistrn bacaklar arasnda gerilim fark olumad iin akm

akmaz ve 7 paral gsterge beslenemez. AN7 deikenine mantk deeri 0 verildii zaman
yani M1 pinine gerilim verilmedii zaman transistrn bacaklar arasnda gerilim fark oluur
ve 7 paral gsterge beslenir. Baka bir rnek verecek olursak Artix-7 FPGA yongasnda
kullanma ak 16 tane led baldr. Bu ledler FPGA yongasnn T8,V9,R8, pinlerine
balanmtr. T8 pinine mantk deeri 0 verildii zaman ledin bal olduu telden akm
akmayacak, dolaysyla led yanmayacaktr. Fakat T8 pinine mantk deeri 1 yani o pine 3.3V
gerilim verilirse ledin bal olduu telden akm akacak ve led yanacaktr. Bir baka rnekte
anahtarlarn alma ekline bakalm. FPGA yongasnn R7 pinine anahtar balanmtr.
Anahtar 0 konumunda iken R7 pini toprak ile balantldr. Fakat anahtar 1 konumunda
iken R7 pini 3.3V gerilim deerine sahiptir.
Artix-7 FPGA yongasna bal kullanma ak hafza birimleri de aadaki ekilde
gsterilmitir.

NEXYS4 kartna ait en kapsaml bilgileri aadaki adresten edinebiliriz.


https://digilentinc.com/Products/Detail.cfm?NavPath=2,400,1184&Prod=NEXYS4

4. XILINX ISE DESING SUITE


Bu blme kadar projede uygulanmas laboratuvar almalarndan ve NEXYS4 Artix-7
FPGA kartnn zelliklerinden bahsettik. Bu blmde ise laboratuvar uygulamalarn NEXYS4
Artix-7 FPGA kartnda gerekletirmek iin kullanacamz programdan bahsedeceiz.
Xilinx firmas rettikleri FPGA yongalarn programlayabilmek iin ISE Design Suite
programn gelitirmilerdir. Proje kapsamnda ncelikli olarak ISE Design Suite programnda
nasl yeni proje oluturulacandan, Verilog programlama dili ile yazlan almalarn Artix-7
FPGA yongasna nasl gnderileceinden bahsedeceim.
lk olarak ISE Design Suite programnda yeni proje oluturmay ekillerle inceleyelim.
ISE Design Suite program aldktan sonra New Project sekmeleri tklandktan sonra
projemizin kaydedilecei yeri ve proje ismimizi belirlemeliyiz.
Sonraki admda aadaki ekilde olduu gibi;

Evaluation Development Board, Product Category, Family, Device, Package, Speed ve


Preferred Language ara yzlerinin seimleri doru yaplmaldr. Artix-7 FPGA yongasnn
zellikleri yukarda seildii gibidir. Her yonga iin ara yzlerden o yongann zelliklerinin
seilmesine dikkat edilmelidir.

Proje ismi ve FPGA yongasnn zellikleri


seildikten sonra yaplmas gereken adm
Verilog programlama dili iin yeni bir
kaynak eklemektir. Bunun iin yandaki
ekilde yuvarlak iinde bulunan New Source
butonu tklanmaldr.
New Source butonuna tklandktan sonra
karmza kan New Source Wizard ara
yz aadaki ekilde gsterilmitir.
ekilde olduu gibi projemiz iin farkl
kaynaklar
ekleyebiliriz.
Projemizin
genelinde en fazla kullanacamz kaynaklar
ilk olarak Verilog Module, Verilog Test
Fixture ve IP (Core Generator) dir.
Verilog Module kaynan setikten sonra
modln
ismini
girip
projemize
balayabiliriz.

Projenin bu aamasnda ise Verilog programlama dili ile oluturulan almann Artix-7
FPGA yongasna nasl gnderileceinden bahsedeceim.
FPGA yongasna ISE Design Suite programnda oluturulan projeyi gndermek iin
IMPACT aracn kullanyoruz. ncelikli amacmz projemizin ISE Design Suite program
tarafndan doru bir ekilde sentezlenmesidir. Sentezleme ilemi tamamlandktan sonra
aadaki ekilde gsterilen Manage Configuration Project (IMPACT) blmne geilmelidir.
Alan pencerede Boundary Scan
blmne geilip Add Xilinx Device
seilerek projemiz IMPACT aracna
yklenmelidir.
Sonraki admda ise aadaki ekilde
sembol olarak gsterilen FPGA
yongasna sa tklanp Program
seilerek
FPGA
yongasnn
programlanmas beklenmelidir.

5. PLAN AHEAD
Bu blmde Verilog programlama dili ile oluturduumuz almann FPGA yongasnda
gerekleebilmesi iin, FPGAin oluturduumuz almada kullanacamz pinlerinin
belirtilmesinden bahsedeceim.
Verilog programlama dili ile NEXYS4 kart zerindeki bir ledi yakmak iin Artix-7 FPGA
yongasnda o ledin bal olduu pine mantk deeri 1 verilmesi gerektiini daha nce
belirtmitim. Pinlerin oluturduumuz almada hangi deikene karlk geldii
belirtilmelidir. Aksi takdirde projemiz ISE Design Suite program tarafndan zaten
derlenemeyecektir.
Verilog programlama dili ile oluturulan projede deikenlerin hangi pinlere karlk
geldiinin ayarlanmas Plan Ahead program sayesinde yaplmaktadr.

6. LABORATUVAR UYGULAMALARI 1
Laboratuvar Uygulamalar 1 blmnde FPGA yongalarnn pinlerine erimek ve
eriilen pinlerdeki giri ve klar kontrol etmek amalanmtr.
Yaplan uygulamalarda ncelikle anahtarlarn durumlar ledlerde gzlenmitir. Bylelikle
FPGA pinlerine doru bir ekilde eriildii anlalmtr. Dier uygulamalarda ise verilog
programlama dilinde bilgi seici modl oluturulup anahtarlarla belirlenen bilgi iaretleri
yine anahtarlarla seilerek klarda (led) sonular gzlenmitir. Anahtarlarla belirlenen
bilgiler baz uygulamalarda say, baz uygulamalarda ise H-E-L-O harfleri gstergelerde
gzlenmitir. Bilgi seici modl kullanlarak kayan yaz H-E-L-L-O uygulamas yaplmtr.

7. LABORATUVAR UYGULAMALARI 2
Laboratuvar Uygulamalar 2 blmnde kombinasyonel devreler tasarlanarak
NEXYS4 kart zerindeki anahtar, led ve gstergeler kullanlmtr.
Yaplan uygulamalarda ncelikle anahtarla girilen saylarn onaltlk tabanda ve onluk
tabandaki deerleri gstergelerde gzlenmitir. Dier uygulamalarda ise anahtarlar ile girilen
saylarn toplamlar nce ledlerde daha sonra gstergelerde gzlenmitir. Saylar ilk
aamalarda tek basamakl seilirken sonraki aamalarda 2 basamakl istenmitir.

8. LABORATUVAR UYGULAMALARI 3
Laboratuvar Uygulamalar 3 blmnde yaz-boz ve kaydediciler zerinde almalar
yaplmtr.
Yaplan almalarda SR-Latch yaps zerinde simlasyonlar yaplp istenen devreler
gereklenmitir. Bizden istenen SR-Latch ve gereklenen devreler aadaki ekillerde
belirtilmitir.

9. LABORATUVAR UYGULAMALARI 4
Laboratuvar Uygulamalar 4 blmnde saya tasarmlar, sayalarn FPGA yongasnda
kullanmlar ile ilgili uygulamalar yaplmtr.
Yaplan uygulamalarda ncelikle kullanc kontroll sayc modl tasarlanmtr. clock
sinyali kullanc tarafndan butonlarla salanmtr. Sonular gstergelerde gzlenmitir.
Dier uygulamalarda ise sayc kullanc kontrolnden karlp saniyede bir artmas
istenmitir ve sonular gstergelerde gzlenmitir. Laboratuvar Uygulamalar 1 blmnde
bilgi seici modl ile yaplan kayan yaz H-E-L-L-O uygulamas bu blmde tekrar
uygulanmtr. Ancak bu sefer bilgi seici modl yerine saniyede bir artmas istenmitir.

10. LABORATUVAR UYGULAMALARI 5


Laboratuvar Uygulamalar 5 blmnde sayc modlleri gelitirilerek zamanlanm
devreler tasarlanmtr. Gerek zamanl sonular NEXYS4 kart zerinde gzlenmitir.
Yaplan uygulamalarda ncelikle Laboratuvar Uygulamalar 4 te yaplana benzer bir
ekilde kullanc kontroll sayc tasarlanp sonular ledlerde gzlenmitir. Saniyede bir artan
3 basamakl say tasarlanp gstergelere atanmtr. Gerek zamanl saat uygulamas
yaplmtr. kier gstergede saat, dakika ve saniyeler gzlenmitir. Son olarak Mors
Alfabesinin ilk sekiz harfi ledlerde gzlenmitir. Mors Alfabesi nokta ve izgilerden oluan ve
telgraf haberlemesinde kullanlan bir alfabedir. Uygulamada bizden istenen nokta
karakterinin NEXYS4 kart zerindeki bir ledi 0.5 sn, izgi karakterinin ise 1.5 sn yakmasdr.
Mors alfabesinin ilk sekiz harfinin emas aada verilmitir.

11. LABORATUVAR UYGULAMALARI 6


Laboratuvar Uygulamalar 6 blmnde matematiksel ilemlerin Artix-7 FPGA
yongasnda uygulanmas ve sonularnn gstergelerde gzlenmesi amalanmtr.
Yaplan uygulamalarda ncelikle iki basamakl 2 say anahtarlar yardm ile belirlenmi ve
toplamlar gstergelerde gzlenmitir. Dier uygulamalarda ise iki basamakl 2 saynn fark,
tek basamakl ve iki basamakl saylarn arpmlar gstergelerde gzlenmitir.

12. LABORATUVAR UYGULAMALARI 7


Laboratuvar Uygulamalar 7 blmnde sonlu durum makineleri (FSM) tasarm ve
FPGA yongalar zerinde kullanm zerinde allmtr.
Yaplan almalarda; giri deerinin drt saat darbesi boyunca deimemesi durumunda
k mantk deeri 1 yapan sonlu durum makinesi tasarlanmtr. Tasarlanacak olan sonlu
durum makinesinin durum diyagram ve simlasyon sonular aadaki ekillerde
gsterilmitir. Sonular ledlerde gzlenmitir.

13. LABORATUVAR UYGULAMALARI 8


Laboratuvar Uygulamalar 8 blmnde bilgisayar sistemlerinde kullanlan hafza
birimlerinin (RAM-ROM) FPGA kart zerinde nasl kullanlmas gerektii ve kullancnn
kendisine ait hafza birimlerini nasl oluturmas gerektii zerinde allmtr.
Yaplan almalarda ilk olarak ISE Design Suite programnn IP Core Generator arac
kullanlarak FPGA yongas iinde RAM blou oluturulmutur. Oluturulan RAM blou
iindeki adreslere kullanc tarafndan veriler yazlm ve belirli adreslere yazlan veriler
okunmutur. Dier uygulamalarda ise yine RAM blou oluturmak amalanmtr. Ancak bu
sefer IP Core Generator arac yerine Verilog programlama dilindeki reg deikeni kullanlarak
RAM blou oluturulmutur. Artix-7 FPGA yongasna bal SRAM e mdahele edilip iindeki
veriler deitirilmitir.
Laboratuvar Uygulamalar 8 blmnde hafza birimlerinin oluturulmas, oluturulan
hafza birimlerine veriler yazlmas ve yazlan verilerin okunulmas gereklenmitir.

14. LABORATUVAR UYGULAMALARI 9


Laboratuvar Uygulamalar 9 blmnde FPGA yongas zerinde bir mikroilemcinin
nasl tasarlanmas gerektii ve gerekli devrelerde kullanlmas zerinde almalar yaplmtr.
Bir mikroilemcinin alma ekli ve tasarlanmak istenen
gerekletirmesi gereken komutlar aadaki ekillerde verilmitir.

mikroilemcinin

Yaplan ilk almada anahtarlarla girilen veriler ve yine anahtarlarla girilen komutlar
FPGA yongasnda gerekletirilip gstergeler ve ledler zerinde gzlenmitir. mv komutu ile
bir kaydedici iindeki veri dier kaydediciye yazlmtr. mvi komutu ile dardan yada RAM
dan alnan veri kaydediciye yazlmtr. add ve sub komutlar ile iki kaydedicinin barndrd
veriler toplanp yada kartlp kaydedicilerden birine yazlmtr.
Laboratuvar Uygulamalar 9 blmnde basit dzeyde bir mikroilemci FPGA
yongasnda tasarlanp gereklenmitir.

15. LABORATUVAR UYGULAMALARI 10


Laboratuvar Uygulamalar 10 blmnde bir nceki uygulamada yaplan mikroilemci
gelitirilmek istenmitir.
Gelitirilmi mikroilemcinin alma ekli ve eklenen komutlar aadaki ekillerde
gsterilmitir.
Laboratuvar Uygulamalar 9 blmnde tasarlanan mikroilemciye ek olarak ld, st,
mvnz konutlar eklenmitir. ld komutu kaydedicideki verinin RAM de gsterdii adresteki
veriyi baka bir kaydediciye yazma grevini stlenir. st komutu ise kaydedicideki veriyi dier
bir kaydedicinin iindeki verinin RAM de gsterdii adrese yazlmasn salar. mvnz komutu
ise bir kaydedicideki verinin dier kaydediciye yazlmasn koullu bir ekilde yapan komuttur.
Laboratuvar Uygulamalar 10 blmnde gelitirilmi dzeyde bir mikroilemci FPGA
yongasnda tasarlanp gereklenmitir.

16. LABORATUVAR UYGULAMALARI 11


Laboratuvar Uygulamalar 11 blmnde aritmetik durum makinelerinin (ASM) nasl
oluturulmas gerektii ve FPGA yongalar zerinde nasl kullanlmas gerektii zerine
almalar yaplmtr.
Yaplan almalarda ilk olarak kullanc tarafndan girilen 8 bitlik bir saynn ka tane 1
deeri barndrd aritmetik durum makineleri kullanlarak hesaplanmtr ve gstergelerde
gzlenmitir. ASM durum diyagram aadaki ekilde gsterilmitir. Dier uygulamada ise
kullanc tarafndan girilen bir saynn oluturulan RAM blou iinde herhangi bir adreste olup
olmad ASM blou kullanlarak gereklenmitir.

17. LABORATUVAR UYGULAMALARI 12


Laboratuvar Uygulamalar 12 blmnde FPGA kartnda saysal iaretleri incelemenin
nasl yaplmas gerektii, dardan alnan analog bir iaretin dijital bir iarete dntrlp
incelenmesi ve tekrar analog bir iarete dntrlp gzlenmesi konusunda almalar
yaplmtr.
Yaplan almalarda ilk olarak NEXYS4 kart zerindeki ADMP421 mikrofon modl
kullanlarak analog bir veri olan ses iareti PDM modl kullanlarak Artix-7 kartnda
oluturulan kaydedicilere kaydedilmitir. Daha sonra kaydedilen verilen AUD_PWM
modlnde szgelenerek mono audio out kna balanan hoparlr ya da kulaklk ile
analog bir veri olarak dinlenmitir.
ADMP421 mikrofon modl ve AUD_PWM devre emas aadaki ekillerde
belirtilmitir.

KAYNAKLAR

http://www.xilinx.com/
http://www.xilinx.com/products/silicon-devices/fpga/artix-7/index.htm
http://www.altera.com/education/univ/materials/manual/unv-lab-manual.html
http://www.altera.com/devices/fpga/cyclone2/cy2-index.jsp
http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,1184&Prod=NEXYS4
http://objectmix.com/verilog/189666-help-switch-debouncing.html
http://forums.xilinx.com/

You might also like