XILINX ISE WEBPACK 14.7 UYGULAMA
TUTORIAL
Bu dönemki Bil264L dersinde kullanacağımız Xilinx ISE Web 14.7 programında nasıl proje
oluşturacağımız, oluşturduğumuz devreleri nasıl test edeceğimiz ve bu devreleri Spartan3E FPGA
kartımıza nasıl yükleyeceğimiz bu tutorialda anlatılmıştır.
1. Masaüstünde Xilinx ISE Design Suite 14.7 ikonuna çift tıklayıp programımızı açıyoruz.
2. Açılan pencereden File -> New Project i seçip yeni bir proje oluşturuyoruz.
3. Açılan pencerede (Create New Project) masaüstünde daha önceden oluşturmuş olduğumuz
Xilinx_Projects adlı klasörü Location seçeneğinden seçip Name kısmına Lab1 olarak
projemizin ismini yazıyoruz ve Next butonuna tıklıyoruz.
4. Açılan pencerede (Project Settings)
Family  Spartan3E
Device  XC3S500E
Package  FG320
Speed  -5
Opsiyonlarını karşılarındaki gibi seçip Next ve ardından gelen pencerede (Project
Summary) Finish butonlarına basıyoruz.
5. Şu anda Lab1 isimli projemizi oluşturmuş bulunmaktayız. Project New Source a tıklayıp
projemize devremizi çizecek olduğumuz ‘Source’ u ekliyoruz.
6. Açılan pencerede (Select Source Type) Schematic i seçip File Name kısmında da vermek
istediğimiz ismi –inverter- yazıyoruz. Next ve ardından gelen pencerede (Summary) Finish
butonuna tıklıyoruz.
7. Tasarlamak istediğimiz devreyi artık kurabiliriz. Bunun için gelen pencerede Symbols ten
istediğimiz devre elemanını seçip devremizi kuracağız.
8.
Basit olarak bir ‘inverter’ devresi kuracağız. Inverter girişine verilen sinyalin tersini çıkışından
verir. Yani eğer inverterın girişi 1(logic) ise çıkışı 0(logic) dır. Eğer girişi 1(logic) ise çıkışı
0(logic) dır. Aşağıdaki snapshotta göründüğü gibi Catagories kısmından Logic ve Symbols
kısmından inv seçip çalışma alanımıza yerleştiriyoruz.
9. Bundan sonraki kuracağımız ve FPGA bordumuza yükleceğimiz tüm devrelerde giriş ve çıkış
pinlerine ‘buffer’ koyacağız. Bunun amacı devreye verilen sinyalin devreyi güçlü bir şekilde
sürmesi aynı şekilde tasarladığımız devreninde çıkışına bağlanan herhangi bir devreyi güçlü
bir şekilde sürmesidir. Snapshpotta gösterildiği gibi bufferları giriş ve çıkışa koyuyoruz.
10. Add  I/O Marker a tıklayıp IBUF un girişine OBUF un çıkışına tıklayıp otomatik bir
şekilde giriş ve çıkış pinlerimizi koyuyoruz.
11. Bufferlarla inverterımızı (Add  Wire) ‘wire’ aracılığı ile bağlıyoruz. Şu anda devremizi
kurduk giriş ve çıkış pinlerimizi koyduk. Yaptığımız çalışmayı kaydediyoruz (File 
Save). Design sekmesine tıkladıktan sonra Synthesize –
XST ye çift tıklayıp
kurduğumuz devreyi sentezliyoruz. Bu aşamada console da “Process "Synthesize - XST"
completed successfully“ yazısını görmemiz gerekiyor. Warningleri dikkate almayabilirsiniz
ama eğer error alırsanız geri dönüp çözmeniz gerekiyor.
12. Devremiz sentezlendi, yani bordumuza yüklemek için hazır. Fakat doğru çalışıp çalışmadığını
test etmemiz gerekiyor. Devremizi test etmek için projemize yeni bir ‘source’ ekliyoruz.
Project  New Source a tıklayıp açılan pencerede Select Source Type kısmında
Verilog Test Fixture seçip File Name kısmına inverter_tb yazıyoruz. Next , Next ve Finish e
tıklıyoruz.
13. Açılan pencerede // Initialize Inputs ile endmodule arasında kalan kısımı silip
initial begin
XLXN_6 = 0;
#100
XLXN_6 = 1;
#100
XLXN_6 = 0;
end
Yazıyoruz. Burada #100  zamanı gösteriyor. XLXN_6  girişimizin ismi
Devremizin girişini belli zaman aralıklarında değiştirerek çıkışımıza bakacağız.
File  Save e tıklayıp test kodumuzu kaydediyoruz.
14. Design sekmesinde Simulation ve inverter_tb.v yi seçip Behavioral Check Syntax a çift
tıklıyoruz. Consolda “Process "Behavioral Check Syntax" completed successfully” yazısını
gördükten sonra Simulate Behavioral Model e çift tıklıyoruz.
15. Simulasyon penceresi açılacak. View  Zoom  To Full View e tıklayıp sinyallerimizi kontrol
ediyoruz. Beklediğimiz gibi giriş ve çıkış sinyallerimiz birbirinin tersi.
16. Bu aşamada giriş ve çıkış pinlerimize FPGA bordumuzun üzerindeki switch ve led leri
atayacağız. Simulasyon penceresini kapatıyoruz. Design sekmesinde Implementation u seçip
User Constraints  I/O Pin Planning(PlanAhead) – Pre-Synthesis e çift tıklıyoruz.
17. I/O Ports sekmesinin altında All Ports  Scalar Ports un altında atadığımız pinleri
göreceğiz.
Bordumuzda switch ve led lerin yanında yazan kodu Scalar Ports un altındaki pinlerin Site
kısmına atayacağız. Sonra kaydedip pencereyi kapatacağız. (File  Save)
XLXN_6  L13
XLXN_7  F12
18. Devremizi borda yükleyip çalıştırmak için gerekli olan herşeyi yaptık. Borda yükleyeceğimiz
*.bit dosyasını olusturmak için Design sekmesinde Generate Programming File a çift
tıklıyoruz. “Process "Generate Programming File" completed successfully” yazısını console
da görmemiz gerekiyor.
19. Bordumuzu enerji kablosuna bilgisayara bağlıyoruz.
20. Design sekmesinde Configure Target Device  Manage Configuration Project(iMPACT) e çift
tıklıyoruz.
21. Açılan pencerede Boundary Scan e çift tıklayıp pencerenin ortasında sağ tıklayıp Initialize
Chain e tıklayacağız.
22. Açılan pencerede Yes e tıklıyoruz.
23. Assign New Configuration File diye bir pencere açılıyor. Burada /Xilinx_Projects/Lab1 in
altındaki inverter.bit dosyasını seçeceğiz.
24. Açılan pencerede No ya tıklıyoruz.
25. Açılan pencerede Bypass a tıklıyoruz.
26. Tekrar Bypass a tıklıyoruz.
27. Açılan pencerede Ok e tıklıyoruz.
28. Snapshot taki gibi sağ tıklayıp Program ı seçiyoruz.
29. Tasarladığımız devre bordumuza yüklendi. Artık bordun üstünde deneyebiliriz.
Herhangi bir sorununuz veya sorunuz olursa bize mail atabilirsiniz veya 217’ye gelip
sorabilirsiniz.
Hasan Hassan
[email protected]
Emrah İşlek
[email protected]
Teknoloji Merkezi, Mikroişlemciler Laboratuvarı 217
Bil264/Bil264L Asistanları
Download

XILINX ISE WEBPACK 14.7 UYGULAMA TUTORIAL