FPGA Öğreniyorum.!

Başlatan EMG81, 19 Nisan 2011, 13:41:54

EMG81

Selam arkadaşlar. Uzun zamandır Çok hızlı, çok yavaş, çok kolay, çok zor işleri mikro işlemciler ile başardık. Fakat şöyle birşey de varki mcu ların da başa çıkamadığı işler var. Bir ara sırf Daha hızlılar diye ARM7 lerle uğraşmak istedim ama FPGA yı duyunca keşke bunları öğrenseymişim dedim. Tamam üzerlerinde mcu gibi ara birimler,donanımlar yok ama şu ana kadar çalışabildiğim en hızlı mcu dan kat kat daha hızlılar.

Şimdi gelelim asıl konuya;

Abiler Ablalar. Ben bu FPGA işini öğrenmek istiyorum. Ayrıca ilerleyen zamanlarda yine benim gibi bu işi öğrenmek isteyen arkadaşlarında bu başlığı açıp, okuduktan sonra bu iş üzerinde genel bir bilgiye sahip olabilmesini istiyorum. O sebeple FPGA ile çalışmış,çalışan arkadaşlar! sizin yardımlarını bekliyorum..

Konu hakkında biraz bilgiye sahibim. Fakat Doğrulukları konusunda tereddütlerim olduğundan Basit sorularıda tekrar soracam sizlere.

1- Ben Xilinx in Chip leri ile çalışmak istiyorum. Ne derece doğru düşünüyorum ? Hızları nasıldır ? Hangi program ile Hangi dilde kullanılır.
2- Nasıl Programlanır? Programlayıcıyı yapayımmı? Yoksa orjinal olarak satınmı alayım ? Hangi programla programlanır?
3- Makul fiyatta deney kiti modeli varsa birkaç öneri alabilirim. Eğer ucuz modeller yoksa direk kendi tasarımlarımda kullanabilirim.(Gerekli bilgileri edindikten sonra)
4- Fiyatlarına göre en ucuz Türkiyede ençok kullanılan ve en ideal modelleri benimle paylaşabilirmisiniz.(Bu soruyu yadırgamayın. 1 adet alımda sorun olmuyor fakat 500-1000 adette çok fiyat farkı doğuyor.)
5- Donanımı hakkında beni biraz bilgilendirebilirmisiniz? Minimum çalışma şartları nelerdir? Dışarıdan osilatör ilemi çalışır ? Nasıldır? nedir?

Bunların cevaplarını aldıktan sonra 2. derece sorularıma geçebilirim :)


fatihkuzucu

Arm7 ögren. FPGA işine yaramaz.
Exp.Kits http://tinyurl.com/3qhs8pm   Küçük adamların, küçük fikirleri... Büyük adamların, büyük hayalleri...


EMG81

#3
VGA da keşke FPGA kullansaydım diyorum ama FPGA hakkında da pek birşey bilmiyorum. Ayrıca artık o işten dönüşte yok.. Pic e elim mahkum :D

ARM9 a eyvallah ta; Pic, ATmel ile yapamayıpta ARM7 de yapabileceğim pek fazla birşey yok. Varsada FPGA ile yaparım ;)


Konuya dönecek olursak; Benim halen yanıt bekleyen sorularım varrrrrrr. :)


EMG81

#5
Yanıt için teşekkür ederim "kudretuzuner". Verdiğiniz linkleri önceden incelemiştim ama tekrar dan okudum. Şu an her bilgiye ihtiyacım var.

Bu arada ileti kısmına yazdıklarınız çok etkileyici :)

Cetinal

Alıntı yapılan: fatihkuzucu - 19 Nisan 2011, 13:49:27
Arm7 ögren. FPGA işine yaramaz.

kulvarları çok çok farklı  MCU nun işi kontrol etmek ama cpld veya fpga daki paralel ve real-time işlem ve hız yeteneği hiç bir mcu da da yoktur...

EMG81

Aslında bende o yüzden öğrenmek istiyorum ya...

Yahu sorulara cevap verebilecek kimse yokmu ???

EMG81

#8
FxDev yanıt için teşekkür ederim. Zaten küçücük bir iş için Pic32, Koskoca bir iş içinde 12Fxxx serisi chiple çalışmak aptallık olur. FPGA lerin yeri çok ayrı. Sende bahsetmişsin. nSn lerin  konuştuğu yerde FPGA lar kendini belli eder.

Yazdıklarından yeni şeyler öğrendim ama biraz daha giriş düzeyinde gidelim şuan..
Kit alırım ama evde yada işte onunla pek vakit geçiremem. Benim öncelikle bu chiplerin yapılarını, Programlama dillerini öğrenmem lazım. Haa birde VHDL dili için hiç bir sıkıntım yok biraz araştırdım. Yazılanları anlıyorum en azından. Onuda öğrenmek çok zor olayacaktır diye düşünüyorum.

Şu an öğrenmek istediklerim;

Minimum çalışma şartları nelerdir? (Şema)
Nekadar hız da çalışabilir?
Hangi compiler ı önerirsin ?
ISP nasıl programlarım ?
Programlayıcı durummu nedir? Yapayım mı ? alayım mı ?

Bunları bilirsemdaha hızlı ilerlerim diye düşünüyorum... Tekrardan yanıtın için çok teşekkür ettim

leblebitozu

@EMG81

1- Ben Xilinx in Chip leri ile çalışmak istiyorum. Ne derece doğru düşünüyorum ? Hızları nasıldır ? Hangi program ile Hangi dilde kullanılır.
Hız konusunda çok farklılık göstermiyorlar, Programlamayı VHDL ya da VERILOG ile yapacaksan her firmanın ücretsiz compiler'ları vardır. (IP'ler hariç).
Çipleri uzakdoğu'dan temin edeceksen altera daha ucuzdur.

2- Nasıl Programlanır? Programlayıcıyı yapayımmı? Yoksa orjinal olarak satınmı alayım ? Hangi programla programlanır?
Firmaların bu iş için gerektirdikleri IDE'ler mevcut, programlayıcı ile uğraşmaya gerek yok çin malı klonları çok ucuza alabilirsin, VHDL ve VERILOG standart olarak desteklenir, bunun haricinde C dilini kullanarak programlayabileceğin compiler'lar da mevcut.
www.satistronics.com , burdan klonları alabilirsin ben öyle yaptım.

3- Makul fiyatta deney kiti modeli varsa birkaç öneri alabilirim. Eğer ucuz modeller yoksa direk kendi tasarımlarımda kullanabilirim.(Gerekli bilgileri edindikten sonra)
Makul fiyata çizgi elektronik Altera'nın deney kitlerini satıyor ordan kredi kartı ile alabilirsin.

4- Fiyatlarına göre en ucuz Türkiyede ençok kullanılan ve en ideal modelleri benimle paylaşabilirmisiniz.(Bu soruyu yadırgamayın. 1 adet alımda sorun olmuyor fakat 500-1000 adette çok fiyat farkı doğuyor.)
Türkiye fiyatlarını bilmiyorum Xilinx'i empa getiriyor fakat.

5- Donanımı hakkında beni biraz bilgilendirebilirmisiniz? Minimum çalışma şartları nelerdir? Dışarıdan osilatör ilemi çalışır ? Nasıldır? nedir?
Minumum çalışma şartları osilatör, harici serial flash (bazı modellerde içinde SPARTAN-3AN gibi). Güç tüketimleri mikro'lara göre oldukça fazladır. Derlenmiş kodlar harici flash'a atılır.


Paralel işlem yapan birkaç mikroişlemci'de mevcut araştırmak istersen onları da yazalım

http://www.parallax.com/propeller/
http://www.xmos.com/   

Yeri gelmişken PIC32 başarılı bir işlemcidir, GNU C kullanabilir, Microchip'in Ses,Grafik,Network,Kablosuz Network, USB host, Flash disk system gibi detaylı ve çok başarılı bir çok kütüphanesini ve çipin fiyatını işin içine kattığınızda ARM'lere oldukça uygun bir alternatif'tir.

EMG81

Pic32 leri şu an kullanıyorum zaten :) ARM7 lere bir türlü ısınımadım.  Çok denedim olmadı, olmuyor.. Bende bu yüzden zorlamıyorum :D

Şimdibir model e ihtiyacım var. Araştırdım biraz.
Xilinx için:
http://www.hdl.co.jp/en/index.php/xilinx-series1/spartan-6.html
Altera için:
http://www.hdl.co.jp/en/index.php/altera-series1.html

Hangi modelle başlamalıyım.? Bu arada Flash belleği içerisinde olan modelleri tercih etmek istiyorum. 


muuzoo

#11
Yaklaşık 3 yıldır fpga üzerinde çalışıyorum ve ben bile hala fpga'dan anlıyorum diyemiyorum. Çünkü bambaşka bir dünya. Yaklaşık 6 yıllık da bir pic ailesi tecrübem var. FxDev arkadşımız zaten tam olarak değinmiş farklılıklarına. Zaman kritik uygulamalarla çalışmıyorsanız (görüntü işleme,sinyal işleme v.b) fpga biraz pahalı bir çözüm olacaktır. Şu aşamada izleyeceğiniz en mantıklı yol bence kullandığınız mcu'ları sınırlarına kadar zorlamaktır.

Ama yine'de biraz bilgim olsun diyorsanız Altera DE2-70 ya da DE2-115 (Çizgi Elektronik),Xilinx Spartan3 ya da Spartan6 serisi fpga'lara (www.elektrovadi.com) bakabilirsiniz.

Yeni başlayanlar için altera'nın setlerini daha kullanışlı buluyorum. Üzerinde pek çok bileşen var ve pek çok örnek uygulama mevcut. Ben önce DE2-70 üzerinde çalışıp daha sonra Xilinx Virtex5 OpenSparc kartına geçtiğim için Xilinx'in giriş seviye kartları hakkında yorum yapamayacağım.

Kullanacağınız iki dil var ya VHDL ya da Verilog. Verilog üzerinde kod yazmak biraz daha kolay. Dilin yapısı (tam olarak olmamakla birlikte) C'ye benzer gibi. VHDL ise "strongly type" (tam türkçesini bilmiyorum) bir dil. Kod yazarken zaman zaman saç baş yoldurabiliyor ama hatayı daha kolay buluyorsunuz.

Diller ortak olduğu için (özel kütüphaneler kullanmadığınız müddetçe) rahatça herhangi bir fpga üzerine kodlarınızı taşıyabilirsiniz.

Örnek olarak 2x16 LCD çalışması : http://gunluk.muuzoo.gen.tr/2010/01/08/xilinx-ml506-16x2-lcd-calisma/

gunluk.muuzoo.gen.tr - Kişisel karalamalarım...

Ankaralı

KAYNAKLAR;


1-   Digital Logic and Microprocessor design with VHDL         Enoch O.HWANG

2-   Digital Design (Principles & Practices)               John F.WAKERLY

3-   Digital System Design using VHDL                  Charles H.ROTH

4-   Circuit Design with VHDL                             M.I.T Press

5-   Introduction to Digital Design                          Richard E.HASKEL
                                                                                              Darrin M.HANNA


Dostum FPGA öğrenmek istersen bu 5 kitabın pdf leri internette mevcut.Ben sadece bu 5 kitaba çalışarak FPGA denen zımbırtıyı 2 ayda anlamaya çalıştım.Üstüne birde bitirme tezi yaptım uygulama dahi gerçekleştirdim.Kit alacaksanda NEXYS2 kartını almanı öneririm fiyatıda 250 TL.Yalnız işlemcileri bununla çalışırken arıycaksın söliyim ...
@ NEXYS2

teknikelektronikci

Alıntı yapılan: RoMeO123 - 19 Nisan 2011, 16:42:47
Alıntı yapılan: fatihkuzucu - 19 Nisan 2011, 13:49:27
Arm7 ögren. FPGA işine yaramaz.

kulvarları çok çok farklı  MCU nun işi kontrol etmek ama cpld veya fpga daki paralel ve real-time işlem ve hız yeteneği hiç bir mcu da da yoktur...


2 farkli ledi bile kontrol ederken cpld farkini görebilyioruz

fpga veya cpld nedense cok ucuk seyler icin diye düsünülyüor ama calistigim is yerinde sadece i2c benzeri bir bus dan datayi alip 8 bitlik mosfetleri kontrol eden bir kartda bile max2 cpld kullaniliyor niye diye kendime hep sorar dururum

bir ara picproje icinde cpld deneme boardu yapmaya calistim ama programlama kismi problemli cünkü herkezde paralel port yok usb li icin ise cypress veya alterayi programlamak gerekiyor
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

fatihkuzucu

Bu ülkede insanlar doğru yönlendirilmiyor.
Exp.Kits http://tinyurl.com/3qhs8pm   Küçük adamların, küçük fikirleri... Büyük adamların, büyük hayalleri...