FPGA için arşivdekiler:

30 Eylül 2008

Merhabalar,

Bu kısa yazımda Pardus’a (2008.1) Icarus Verilog yazılımını nasıl yükleyebileceğinizi göstereceğim. 2007 Contrib deposunda aslında iverilog PiSi paketi bulunuyor. Aşağıdaki bağlantıya tıklayarak paketi bilgisayarınıza indirebilirsiniz:

http://paketler.pardus.org.tr/contrib-2007/iverilog-0.8.6-3-4.pisi 

Paket bilgisayarınıza indikten sonra çift tıklayın ve paketi kurun.

Artık icarus verilog’u komut satırından “iverilog” komutuyla çağırabilirsiniz.

Umarım işinize yarar.

31 Ağustos 2008

1-Giriş

Bu yazıda verilog ile SRAM denetimi konusuna değineceğiz. Aslında yapılması gereken çok fazla birşey yok, SRAMlerin arayüzleri ve kullanımları gayet basit.

Yazının kalan kısmını okuyun »

31 Ağustos 2008

1- Giriş:

Bu yazıda Xilinx’in Spartan3E 500 FPGA’i için belirli boyutta bir Block RAM oluşturcağız. Block RAM (BRAM) Xilinx FPGA entegrelerinin içinde bulunan özel amaçlı bellek birimlerine verilen addır. Block RAM birimlerini oluşturabilmek için çeşitli yöntemler mevcut. Mesela bir verilog kodunuz sentezlendikten sonra çıktıda siz direk olarak belirtmeseniz bile BRAM oluşturulmuş olması mümkün, aslında yazdığınız verilog kodu ile BRAM tasviri yapıyorsunuz ama farkında değilsiniz :P. Neyse… Biz zaten o tür durumlarla bu yazıda ilgilenmeyeceğiz, Xilinx Core Generator kullanarak Block RAM oluşturacağız. Yazının kalan kısmını okuyun »

29 Haziran 2008

1- Giriş:

Bu yazıda bir Verilog tasarımını hızlandırmak amacıyla boru hattı tekniğinin kullanımı göreceğiz.

Boru hattı iyi güzel de o nedir diyorsanız Vikipedi’nin “Boru Hattı (Bilgisayar)” başlığına bakabilirsiniz.

Şimdi lafı daha fazla uzatmadan (kimimiz için “daha” kelimesi burada fazla olabilir) bir örnekle boru hattı tekniğini uygulayalım.

2- Örnek:

4 tane sayının birbiriyle çarpılacağını ve her saat darbesinde modülümüze çarpılmak üzere yeni sayıların geldiğini düşünelim.

Öncelikle boru hattı olmayan aşağıdaki tasarımı ISE ortamında sentezleyip elde edebileceğimiz hıza bakalım.

Yazının kalan kısmını okuyun »

30 Eylül 2007

1- Giriş:

Bu örnekte 4 adet servo motoru paralel olarak FPGA ile nasıl kontrol edebileceğimizi göreceğiz. Aşağıda bir adet servo motor görebilirsiniz.

servo-2bb.jpg

Servo motorların nasıl çalıştığını bilmiyorsanız sorun değil. Aşağıdaki makaleyi okumanızı tavsiye ederim.

http://www.elektroboard.com/v2/modules/smartsection/item.php?itemid=2

Yazının kalan kısmını okuyun »

18 Haziran 2007

1- Giriş:

Bu yazıda elimdeki bir NES (Nintendo Entertainment System - 1983) kumandayı Spartan 3E Starter Kit’ e bağlayıp kullanacağım. Mesela basılan tuşlara göre Starter Kit üzerinde farklı bir LED yakacağım. Başka herhangi bir kumanda kullanmanız veya kendi kumandanızı tasarlayıp Starter Kit’e bağlamanız da doğal olarak mümkün. Benim elimde hazırda NES kumandası var ve kullanmıyorum. Bu yüzden onu seçtim.

Kumandayı bağlamadan önce kumanda hakkında biraz bilgi edinmek gerekiyor. Mesela veriyi nasıl veriyor, kaç volt ile besleniyor, hangi iğne ne işe yarıyor ve benzeri.

Yazının kalan kısmını okuyun »

15 Haziran 2007

1- Giriş:

Spartan 3E Starter Kit Digilent firmasının Xilinx Spartan 3E 500 modelli FPGAsı için ürettiği bir geliştirme ortamıdır. Bu ortam kullanılarak FPGA denenebilir ve çeşitli uygulamalar yapılabilir.

Bundan bir önceki makalede ISE Webpack ile sentezleyip gerçeklediğimiz örneği şimdi Spartan 3E Starter Kit üzerine yükleyeceğiz.

Yazının kalan kısmını okuyun »

12 Haziran 2007

8086 ve PIC’den sonra bu uygulamada S3E SK yı kullanarak bir karaşimşek efekti uygulaması yapacağız. Sanırım karaşimşek efekti yapma olayı takıntı haline geldi.

B- Uygulama:

Teknik olarak bundan önceki fpga uygulamalarına yeni bir şey katmadığından burada fazla açıklama yapmayacağım. Daha doğrusu açıklama yapmayacağım :D. Aşağıda uygulamanın vidyosunu, kodları ve proje dosyasını bulabilirsiniz.

Tavsiyem öncelikle vidyoyu izledikten sonra bu uygulamayı yapmayı bir denemenizdir. Sorun yaşarsanız kodlara bakabilirsiniz. Hala sorun yaşıyorsanız proje dosyasını bilgisayarınıza indirip bir de öyle deneyin.

Yazının kalan kısmını okuyun »

12 Haziran 2007

A- Giriş:

Bu uygulamada S3E SK nın üzerinde bulunan LED leri ve düğmeleri kullanacağız. LED ler bir sayıyı göstermeye yarayacak ve düğmeler de bu sayı üzerinde oynama yapmaya yarayacak.

Kullanacağımız LED ler S3E SK kullanım kılavuzunda “Discrete LEDs” olarak geçen LEDlerdir. Bu LED leri S3E SK’nın sağ alt köşesinde bulabilirsiniz.

s1_1_ledler.JPG

Kullanım klavuzundan alınan yukarıdaki resimde LEDler gösterilmiştir. Ayrıca iğne bilgileri de verilmiştir (F9 - D9 - D11 - C11 - F11 - E11 - E12 - F12).

Kullanacağımız düğmeler ise kullanım kılavuzunda “Push Button Switches” olarak geçen düğmelerdir.

s1_1_butonlar.JPG

Aynı şekilde kullanım kılavuzundan alınan yukarıdaki resimde düğmeleri ve ilgili iğne bilgilerini görebiliyoruz. Biz bu uygulamada yukarıdaki BTN_NORTH, BTN_EAST, BTN_SOUTH ve BTN_WEST düğmelerinikullanacağız. ROT_A, ROT_B ve ROT_CENTER‘ı bir sonraki uygulamamızda kullanacağız.

Yazının kalan kısmını okuyun »

12 Haziran 2007

1- Xilinx ISE Webpack Nedir?

Xilinx ISE Webpack Xilinx firmasının bedava dağıttığı ve Xilinx FPGAlarının üzerinde çalışılmasını sağlayan bir yazılımdır. Verilog veya VHDL ile yazılan kod sentezlenebilir ve Webpack aracılığıyla FPGA geliştirme ortamına yüklenebilir.

Xilinx ISE Webpack yazılımını indirmek için http://www.xilinx.com/ise/logic_design_prod/webpack.htm adresine gitmeniz ve
kaydolmanız gerekmektedir. Kayıt olduktan sonra yazılımı indirip bilgisayarınıza
kurabilirsiniz.

Yazılımı bilgisayarınıza kurduktan sonra gerekli ISE Webpack yazılım güncellemelerini yapmayı unutmayınız.

2- Xilinx ISE Webpack Kullanımı - Sentez

Yazılımın kullanımını göstermenin en iyi (ve kolay) yöntemi bir örnek olacağından bu bölümde Verilog dili ile bir kod yazıp sentezleyeceğiz. Yazdığımız kod Spartan S3E Starter Kit üzerindeki LED’leri açıp kapamaya yarayacak.

Yazının kalan kısmını okuyun »