FPGA yardım

Başlatan tevfik_kadi, 11 Mart 2005, 22:06:59

tevfik_kadi

Arkadaşlar şu an FPGA oldukça ilgimi çekiyor proteus gibi simulasyonunu yapabileceğim bir program ve VHTL veya verilog derleyicilerini bulabileceğim bir adres biliyor musunuz FPGA ile ilgili bildikleriniz paylaşısanız (linkler, çeşitli dökümanlar, form siteleri, kısaca alakalı olan herşey (çok şey istiyorum galiba  :)    ))
Şimdiden çok teşşekkür ediyorum ve tüm arkadaşlara başarılar diliyorum

Göktuğ

xilinx sitesine git. uye ol.
ordan web pack programını indir. su an 6.3 var 7.1 cıkmak uzere.
bununla program yaarsın.
gene xilinx sitesinden modelsim indir. licence dosyasınıda 2 ay için veriyor.
modelsimlede simulasyon ekleniyor web pack içerisine.
7.1 web packde simulasyon entegre edilmiş olacak sanırım.

tevfik_kadi

Bildikleriniz bu kısımda bizimle paylaşırsanız çok memlun olurum

Göktuğ

web pack programını indir kur. yeni proje ac olmazsa bendeki bir iki cizim yollarım bakarsın. Elemanları secip semaya bırakıyorsun. baglantıları yapıyorsun.Mantıgı cok basit.Lojikten anlıyorsan tabi.
simulasyonda dedigim programla oluyor.
Sen programı kurda sorularını cevaplarım.

tevfik_kadi

İyide benim istediğim direk el ile bir devre oluşturmak değil VHTL veya Verilog dillerini öğrenmek istiyorum ama senin dediğin programı da indirdim sağol

Göktuğ

Hocam biz sirkette bir cok devrede cpld (fpga) kullanıyoruz ve cok işimize yarıyor.Mesele son teknolojiyi kullanabilmek değilmi?
Şimdi VHTL veya Verilog dillerini ben bilmiyorum.Vede gerekte kalmıyor. bir teknolojiyi kullanmak için bu dillerden ogrenmeye gerek olmasın diye adamlar bu tip programlar geliştiriyor.
Burda onemli olan logic devre mantıgının kişide iyi bir seviyeye gelmiş olması.Simdi bu programda sorunlarla karsılasırsan yardımcı olayım.
Yok ben işi uzun yontemlerle devam etmek istiyorum diyorsan sen bilirsin.Bununla ilgili bilgisi olan arkadaslar sana yardımcı olacaktır.

aster arkadasımızda gameboy dizaynında cpld kullanılmıs bir devre için topic acmıs.bu cpldler piyasada daha cok kullanılacak diye dusunuyorum.

tevfik_kadi

Tamam hocam çok sağol takılırsam yardım isterim

Başarılar

z

Bu tür ürünlere program yazmak için iki alternatif sunulmuş.

1. Şematik tabanlı geliştirme ortamı.
2. Yazılım tabanlı geliştirme ortamı.

1.Alternatifde, verilen imkanlarla lojik şemanızı grafik ortamda çiziyorsunuz ve bana şu çip için kodları üret dediğinizde iş bitmiş oluyor.

Bu biraz zahmetli. Gerçi işi basitleştirdiklerini düşünüyorlar ama mouse ile şema çizmek çok da pratik değil. Aynen proteusda şema çizmeye benziyor.

2. Alternatifde ise text editörde program yazıyorsunuz.

PLD tipi ürünler için geliştirilmiş iki dil var.

Birincisi asm gibi çok alt seviyeli ABEL dili. Yok ben alt seviye çalışmak istemiyorum C gibi biraz daha üst düzey olsun derseniz VHDL dilini tercih edebilirsiniz.

Bunlara ait derleyiciler standartlaştımı bilmiyorum. Izleyececeğiniz en pratik yol, üreticilerden birisinin ürününde karar kılıp en ucuz geliştirme setlerini satın almak olacaktır. Boylece derleyici ve programlayici dahil her seye sahip olusunuz.

ASM bilenler  ABEL dilinde hiç zorlanmayacaklardır. Ancak çok büyük hacimli tasarımlarda nasıl ASM hamallık haline geliyorsa PLD programcılığında da ABEL hamallık olacaktır.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Göktuğ

bunalmıs hocam, programcı arkadaslar için yeni bir dil ogrenmek kolay olabilir belki ama hiç kod yazmamıs bir elektronikcinin de boyle bir elemanı kullanması iyi olur mantıgı ile sematik editorler geliştirilmiştir diye dusunuyorum. Yani programcı olmayacak tasarım muhendisleri için bu editorler cok yararlı. Zaten lojigi sematik gosterimlerle  ogrendik.

z

Eger 5-10 kapi 5-10  FF ile ugrasiyorsaniz ok sema cizmek sorun değil ama cok buyuk hacimli devrelerle ugrasiyorsaniz hamallikla neden bahsettigimi anlayacaksiniz.

5-10 satir kod yazmak cok daha pratik.

Gene de ilk baslangic icin sematik calismakta fayda var.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

SpeedyX

Biraz pascal a benzettim VHDL dilini. Okadar da korkutucu görünmüyor.

   top_down_receiver : process
      variable L : line;
    begin
      wait until receive_msg_from_top_down_tree(index).message_waiting;
      write(L, string'("Receiver "));   write(L, index);
      write(L, string'(" from top down tree:   "));
      write_message(L, receive_msg_from_top_down_tree(index).message);
      writeline(log_file, L);
      send_ack_to_top_down_tree(index) <= true;
      wait until not receive_msg_from_top_down_tree(index).message_waiting;
      send_ack_to_top_down_tree(index) <= false;
    end process top_down_receiver;

Bunun yaptığı işi kapılarla yapmayı düşünmek istemiyorum.

http://tams-www.informatik.uni-hamburg.de/vhdl/
http://tams-www.informatik.uni-hamburg.de/vhdl/models/recursive/recursive_models.vhdl

Göktuğ

Belki siz haklısınız. Ama kapı olarak  bakmayın pek cok sey bloklastırılmıs olarak bulunmakta. Ayrıca bir cok temel elemandan cok daha komplex bloklar olusturup bunları kullanabiliyoruz. Bence gorsel dil gelişmeye devam edecektir.

Su ana kadar kullandıgım cpld ler genelde devre içerisindeki lojik mantıklı bolgelerden kurtulmak içindi (7-8 farklı projede cpld kullandım). Yani pek cok işlev için hazır entegreler zaten cokca bulunmakta. Ancak devrede lojik kapılar, fifo, sayıcılar vb. gibi elemanlar belli sayı uzerine cıkıyorsa o zaman yerden ve parasal olarak devre şişiyor. Bir cpld ile yerden paradan  kazanılmakla kalmayıp, tasarımı da esneklestiriyor. Tasarımda hatalar ortaya cıktıgında pld uzerindeki mantık degiştirilerek cok rahatlıkla hata giderilebiliyor.
Bu acılardan bakılınca oyle cook karmasık devreleri pld ile yapma yoluna gidilecegini dusunmuyorum. Buda yazılım yerine sematik programcılıgı one cıkaracak diye dusunuyorum. Neyse ileride gorecegiz.

alicavuslu

Kardeşim eğer bu konuda bişeler yapma kistiyorsan seninle bildiğim herşeyi paylaşabilirim. Şu anda FPGA üzerinde ysa eğitimleri ve akıllı anten algoritmalarını gerçekledik. Şu anda hızlı bi şekilde işaret işleme üzerine yoğunlaşmış durumdayız. Bu konuda seninle birlikte iyi işler yapabiliriz. Cevabını bekliyorum...

AHDL

Merhaba arkadaslar,

yukarida belirtildigi gibi FPGA veya CPLD´ler
- Şematik tabanlı geliştirme ortamı
- Yazılım tabanlı geliştirme ortamı
kullanilarak programlanabilirler.

Yazilim tabanbli sekilde programladiginizda VHDL, AHDL gibi dillerden yararlanabilirsiniz. Bugüne kadar sadece C gibi diller kullanmissaniz ve simdi VHDL ögrenmek istiyorsaniz, bu yeni dili ögrenirken artik C yazar gibi düsünmemeniz gerektigini unutmayin. C sequentiel(yukaridan asagiya) akisli bir dil´dir. Ve ayni anda sadece bir prozes(islev) yürür.
FPGA'de işlemler parelel olarak işlendiği için aynı anda yazdığıniz programa göre çok fazla modül kullanabilirsiniz.
Bir baska dikkate alinmasi gereken nokta ise FPGÁ veya CPLD´l erin icinde yürüyen her programin aslinda programdan öte bir devre olmasidir. Buda bir Programcinin digital devreler üzerine bilgi sahibi olmadan FPGA programlayamaz anlamina gelmesidir.

karabel

verdiğim linkte çeşitli videolar var. Yararlı olur diye tahmin ediyorum.

http://www.demosondemand.com/clients/xilinx/001/page/index_destools.asp#18