FPGA Öğreniyorum.!

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

Ersin

Her iki markanın kitlerini kullanıyorum.
FPGA ya harici flash gerekir , cpld ile başlaman en uygun olur ( flash içinde bulunur ve kilitleyebiliyorsun ).Xilinx ve Altera ya gelince : Altera ( Quartus) ide si daha kullanışlı.Hangisi daha iyi dersen oyle bişey yok, her ikisinin avantajı ve dezavantajı var.İki firma ide leri birleştirip yaparsa bir gün en iyisi o olur :D

CPLD olarak Altera epm240 , xilinx xc2c128 ile başlayabilirsin.
Kit olarak cpld de cizgi tagem in http://www.cizgi-tagem.org/e-market/product.aspx?key=altera-max2 kiti alabilirsin ( bu kitte programmer ozelligini de kullanabiliyoesun başka bir cpld/fpga programlamak için )
İlla 2x16 lcd olsun diyosun yine cizgi tagem in de0 bordu alabilirsin.
Xilinx olsun diyosan ( Spartan 3E Starter Board)  uygundur, daha yenileri de mevcut ama hem fiyat hemde şu an ki seviyen için fazla gelir.

Board olarak  Spartan 3E Starter Board, xc9572 ( el yapımı/yukarıda link verdigim ),x-board , DE0,DE2-70,MAX2,MAX2pci, bordlarını kullanmaktayın, bzılarını daha çok. :D

teknikelektronikci

Alıntı yapılan: Ersin - 19 Nisan 2011, 20:31:08
Her iki markanın kitlerini kullanıyorum.
FPGA ya harici flash gerekir , cpld ile başlaman en uygun olur ( flash içinde bulunur ve kilitleyebiliyorsun ).Xilinx ve Altera ya gelince : Altera ( Quartus) ide si daha kullanışlı.Hangisi daha iyi dersen oyle bişey yok, her ikisinin avantajı ve dezavantajı var.İki firma ide leri birleştirip yaparsa bir gün en iyisi o olur :D

CPLD olarak Altera epm240 , xilinx xc2c128 ile başlayabilirsin.
Kit olarak cpld de cizgi tagem in http://www.cizgi-tagem.org/e-market/product.aspx?key=altera-max2 kiti alabilirsin ( bu kitte programmer ozelligini de kullanabiliyoesun başka bir cpld/fpga programlamak için )
İlla 2x16 lcd olsun diyosun yine cizgi tagem in de0 bordu alabilirsin.
Xilinx olsun diyosan ( Spartan 3E Starter Board)  uygundur, daha yenileri de mevcut ama hem fiyat hemde şu an ki seviyen için fazla gelir.

Board olarak  Spartan 3E Starter Board, xc9572 ( el yapımı/yukarıda link verdigim ),x-board , DE0,DE2-70,MAX2,MAX2pci, bordlarını kullanmaktayın, bzılarını daha çok. :D

ersin hocam bu cpld nin programlama kismini yani usb üzerindne jtag programmer kismini kendimiz yapma imkanimiz varmi bilginiz varmi ? böylece picproje fpga boardu ortaya cikaririz ne dersiniz
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!

EMG81

#17
Ben birde Fatih ' i dinlemek istiyorum arkadaşlar. Neden FPGA, CPLD  değilde ARM7 Fatih ? Zaten ben Pic32 leri kullanıyorum.

Ersin

@ teknikelektronikci
Altera nın usb-byteblaster klon devresi internette mevcut ama şahsen yapıp denemedim.Xilinx in usb olarak cypressin bir entegresi ile usb-lpt cevirip o şekilde kullanılıyo, yani benim bildigim xilinx in usb olarak şema ve kod olarak byteblaster gibi nette yok.
Paralel porttan xilinx i  programlama konusunda picproje 1.dergide yaptıgım devrenin şema ve pcb si mevcut.

Çizgi-tagem in sattığı Altera max2 kiti usb programlayıcı olarak kullanabiliyorsunuz kit+programlayıcı şeklinde.Mesela de0/de2 bordlarındaki programmeri harici bir cpld/fpga programak için kullanamıyorsunuz.

@EMG81
Yanlış hatırlamıyosam arm7 leri sevmedim yazmıştın, onları sevmediysen fpga yi hiç sevmeyeceksin

leblebitozu

#19
@ersin

Hatırladığım kadarı ile max2 kiti'nin flash'a yazma kabiliyeti yok, kodu sadece fpga ram'e aktarabiliyor.

Klon'ları uygun fiyata satıyorlar uğraşmaya değmez

http://www.satistronics.com/xilinx-platform-cable-usb-fpga-cpld-usb-download-cable_p2817.html
http://www.satistronics.com/mini-altera-fpga-cpld-usb-blaster-programmer-jtag_p2816.html
http://www.aliexpress.com/product-fm/422443966-USB-Blaster-Download-Cable-For-FPGA-development-board-wholesalers.html
http://www.aliexpress.com/product-fm/442774058-Xilinx-Platform-Cable-USB-CPLD-FPGA-USB-download-cable-wholesalers.html

Bu arada FPGA'leri programlamanın iki yolu var schematic diagram oluşturup lojik bileşenleri birbirine bağlayarak, ha burda lojik bilgisi önemli ama direk VHDL ya da Verilog kullanıyorsanız yoğun lojik bilgisi gerektirdiğine katılmıyorum. Klasik programlamadan farklı olarak yazdığınız herşey siz belirtmediğiniz sürece paralel çalışır.

fatihkuzucu

FPGA ögrenmeye karşı değilim. Ama seçim yapılacaksa arm7 ögrenilmelidir.

FPGA ile yapılacak ve her yönden avantaj saglayacak uygulamalar %10 u geçmez. Bir uygulama ekonomik olarak bir değeri var ise fpga den çok daha uygun çözümleri hızla piyasaya girer. Sanırsınızki fpga ögrenecegim dünyayı kurtaracagım. Öyle bir şey yok. Gerektigi yerde gerektigi kadardan öteye gidemez. Maliyet hesabı diye bir sey var. Ama türkiyede hedef olarak fpga sunulmakta. Bunu üniversitelerimizden taa forumlarımıza kadar "fpga iyidir iyi ögren" tarzı bir cahilce yada uygunsuz amaçlı bir cümle çevresinde götürüyoruz.

Arm7 den vazgecmenizin temel sebebi basic derleyicisinin olmaması. Bu mantıkla giderseniz hiç bir şey ögrenemeyeceksiniz zaten. Ersinde belirtmiş fpgade çok kolay bir dilde yazılmıyor kodlar. VHDL bildigim kadarıyla C ye benzeyen bir yapısı var.
Exp.Kits http://tinyurl.com/3qhs8pm   Küçük adamların, küçük fikirleri... Büyük adamların, büyük hayalleri...

Ersin

#21
@ leblebitozu
max2 nin flash a yazma kabiliyeti ile alakası yok orda ekstra jtag soketi mevcut,uzerindeki blasteri kullanıyosunuz , jumper ile set ediyosunuz kit mi harici mi.
Onu 1-2 ay kullandım programmer olarak, şu an verdigin linkteki klonu kullanmaktayım, onda da silabs ın x51 taban lı bir mcu kullanıyorlar.
Xilinx in klon u kullanmadım direk olarak goruyosa impac iyi ama tahminim thirdparty olarak goruyodur.
Xilinx te de x-bordun usb programmerini kullanmaktayım , tabii 3.party olarak kendi yazılımı var file ları  sfv olarak atmak zorundasınız.X-bordun satışı da o yuzden durduruldu , 25 dolarlık bordu usb programlayıcı olarak kullanıyorlar diye.

@EMG81
FPGA/CPLD  , arm , pic bunları kullandıkça ve iyi bir şekilde ogrendikçe bunların yerlerini göreceksin, tecrube gerek.Bazen pic ile 10dk da yaptıgın bir uygulamayi fpga ile 1gun-1hafta ugraşabiliyorsun, projeye gore bazen hem arm hem fpga kullanmak zorundasın.Çok esnek konu aslında ezbere konuşmak yanlış olur,yapacağın proje ye göre hangisi en uygunsa onu kullanmak gerek.

leblebitozu

@ersin

Ersin kardeşim MAXII manuel'da der ki;

MAX II Micro can be used as a USB Blaster, and programming mode supported depends on the configuration device of Altera board connected to MAX II Micro (Only JTAG programming mode is supported to configure MAX II Micro).  Benim bildiğim JTAG modunda kodu FPGA'e aktarıp ordan çalıştırırsın, enerjiyi kestiğinde program uçar gider. Yanlış isem düzeltirsen sevinirim, USB blaster'da ise kodu FPGA'e bağlı harici flash'a aktarabilirsin.

Ersin

@leblebitozu
Kiti inceledin mi, bence incelemedin.Kitte   ( epm240+ft245+93lc46 ) = byteblaster  + max2  ( epm2210  ) mevcut.Kit 2 kısımdan oluşmakta blaster + cpld ve çevre komponentler.
Manual ın 6. sayfasında bunu daha net görebilirsin:
http://www.cizgi-tagem.org/resource/vfiles/tagem/pms_product/10/max_ii_micro_usermanual_v1.31.pdf

leblebitozu

@ersin

MAXII ve DE1 boardlarım mevcut.DE1 deki harici flash'ı MAXII ile programlamak mümkün olmadı, ancak JTAG modunda RAM'e aktarabildi. XILINX klonunun kutusunu şimdi açtım içinde Cypress CY7C68013A işlemci ve XILINX XC2C256 CPLD mevcut buna göre yorum yapabilirsiniz, orjinalinin içeriğini bilmiyorum.

Ersin

@leblebitozu
max2 diyosun byteblaster epm240 mı kast ediyorsun?Daha önceki yazımda yazdım bu cpld kitte harici fpga/cpld programlayabiliyosunuz diye.Diğer bordlarda bu özellik yok bildigim kadarı ile, zaten programmer alacagımıza 20 dolar daha fazla verip bunu almıştık zamanında.Bende de DE0 ve DE2-70 bordları mevcut , genelde DE2-70 kullanmaktayım , bunlarda harici bir fpga/cpld yi programlayabilecek bişey bulamadım, sendeki de1 bordta o şekilde dir tahminim.Bütün bordlarda byteblaster mevcut ama bunu dışarı aktarmamışlar ( yeni çıkan kartlarda belkide vardır ) sadece bu max2 kitte gördum.Bu max2 kit ile epcs1/flash,epcs4/flash,ep1c6/fpga-cyclone,epm3064/cpld,epm7xxx/cpld programladım.

Xilinx e gelince bildigim kadarı ile orjinal usb programmer da benzer bir yapı mevcut.Bütün devrelerinde usb entegresi olarak  CY7C68013A kullanıyorlar.Bu xilinx klonu impact direk olarak usb programmer olarak goruyor mu.Eğer görüyrsa iyi bişey direk olarak atabilirsin sfv ler ile ugraşmadan.Bendeki x-board ( ufak cpld kiti )  yine CY7C68013A mevcut ama digilentin kendi programından yuklemek zorundasın.

leblebitozu

@ersin

DE1 üzerinde epcs4 flash mevcut ve MAXII kit ile bunu programlamak mümkün olmuyor, belki de DE1 e özgü bir kısıtlamadır başka bir board'da denemedim. Bunu belirtmek istemiştim sadece.

Ersin

Bildiğim kadarı ile epcs nin pinleri byteblastera baglı direk.de2-70 in şemasına baktım ,çıkış yok herhangi bir yere .CPLD isp diye bir port var o da sanırım  byteblasterın cpld sini programlamak için.max2 ile benim yaptıgım kartları programlıyorum hem fpga hem flash ı. Bu DE-x bordlar kapalı bir sistem olarak tasarlanmış, adamlar birde programmer da satmaları gerekiyo :D.
Neden harici max2 ile bordu programlamak istiyorsun?
Normal şartlarda yaptığın bir karta jtag konektoru taktıysan sorun olmuyo.

EMG81

#28
Buradan bir gün uzak kaldım bir sürü şey yazmışsınız.. Teşekkür ederim.

şimdi öncelikle.;
"FPGA ögrenmeye karşı değilim. Ama seçim yapılacaksa arm7 ögrenilmelidir.

FPGA ile yapılacak ve her yönden avantaj saglayacak uygulamalar %10 u geçmez. Bir uygulama ekonomik olarak bir değeri var ise fpga den çok daha uygun çözümleri hızla piyasaya girer. Sanırsınızki fpga ögrenecegim dünyayı kurtaracagım. Öyle bir şey yok. Gerektigi yerde gerektigi kadardan öteye gidemez. Maliyet hesabı diye bir sey var. Ama türkiyede hedef olarak fpga sunulmakta. Bunu üniversitelerimizden taa forumlarımıza kadar "fpga iyidir iyi ögren" tarzı bir cahilce yada uygunsuz amaçlı bir cümle çevresinde götürüyoruz.

Arm7 den vazgecmenizin temel sebebi basic derleyicisinin olmaması. Bu mantıkla giderseniz hiç bir şey ögrenemeyeceksiniz zaten. Ersinde belirtmiş fpgade çok kolay bir dilde yazılmıyor kodlar. VHDL bildigim kadarıyla C ye benzeyen bir yapısı var."

Fatih benim asıl hakim olduğum dil ASM dır. Basic i de C yi de sevmem. Ha şu var. Vb.net i yıllarca kullana kullana Basic e yatkınlığım arttı. C yi de bikaç ay önce öğrendim. En eksik olduğum dil C dir. Fakat Bence asıl öğrenilmesi gereken konu Programlama mantığıdır. Hangisi kolayıma gelirse, Hangisi bu işi en iyi yaparsa onu kullanıyorum. Mesela hız gerektiren nano sn leri hesapladığım bir işte ne basic nede c kullanırım.

ARM7 ye gelince. biraz baktım. Portları bile doğru dürüst kontrol edilmiyor.(Maskeleme yapılması lazım vs ) Onun yerine Pic32 ler var kullandığım. Buda 32 bit. Tamam Pic32 leri geçen ARM7 modelleri var. Ama ne gerek var ?
Haaa bu arada yaptığım işe göre işlemcimi seçerim ben.! Bir bakarsın Pic kullanırım. Bir bakarsın Texas ın bi MCU sunu kullarınım.
FPGA konusunda haklısın. Üzerinde hiçbir donanımı yok. Pahalı ve gereksiz. Fakat.! Eğer 100Mhz de çalışman gerekiyorsa ELİN ONA MAHKUM!
VHDL e gelince Sanki basic ile C karışımı birşeye benziyor ama yazılmış programları okurken ne işlem yaptığını anlıyorum zaten. Uzun lafın kısası
ARM7 den halen nefret ediyorum. Mümkün olduğuncada ondan kaçıyorum. Değişik alternatif ler deniyorum ama FPGA ile ARM7 leri kıyaslamıyorum bile. Çünkü olayları çok farklı.

salih18200

Modelsim simülasyon programı ile vhdl yada verlog kodlarınızı simüle edebilirsiniz ilk etapta.