PCIe kullanarak FPGA'in Memory'sine erişme

Başlatan musdem06, 25 Haziran 2015, 17:05:01

musdem06

Merhabalar,
Bu yaz kendimi geliştirmek için stajda FPGA öğrenmeye başladım ve şu anda elimde Xilinx firmasının Virtex-7 FPGA VC709 kartı var. PCIe kullanarak FPGA'in Memory'sine erişmek istiyorum ama nereden başlayacağımı bilemiyorum. İnternette İngilizce çok fazla bilgi bulamadım. Sadece bir master öğrencisinin tezini bulabildim ama onu da pek anlamadım. Bu konuyla alakalı zaten Türkçe kaynak hiç yok. Çalışmaya nereden başlayacağıma dair yardımcı olabilir misiniz?

muuzoo

FPGA deneyiminiz ne kadar? Hangi dili kullanıyorsunuz? En başta direk sorayim, dahili hafıza tasarlayıp kullandınız mi? Harici bir hafıza sürmeyi denediniz mi?

FPGA üzerinde siz tasarlamadikca kullanılabilir hafıza olmaz. Eğer kastiniz FPGA kartı üzerinde bulunan ddr belleğe erişmek ise o daha da çetrefilli.

Eğer yeni başlayan biri iseniz daha basit uygulamaları tavsiye ederim.
gunluk.muuzoo.gen.tr - Kişisel karalamalarım...

alicavuslu

#2
VHDL veya Verilog öğrenmeye nasil başlayacağın konusunda mı yardım istiyorsun? Yoksa bu konulara hakimsin yada kod yazabilecek düzeydesin PCI üzerinden haberleşmek mi istiyorsun?

Birincisi için, şu anda iki tane türkçe kaynak mevcut. Bunlar işine yarayabilir.
İkincisi için, Vivado kullanıyor olduğunu tahmin ediyorum. Vivado içerisidne PCI ile haberleşmek için hazır IP ler mevcut. Bunları kullanarak yoluna devam edebilirsin.  Aşağıdaki linkte sana yardımcı olacak bilgiler mevcut.

http://www.fpga4fun.com/PCI.html

musdem06

Dil olarak Verilog kullanıyorum. Şu anda basit uygulamaları tamamladım ve IP lere testbench yazmayı öğrendim. Lakin şimdiye kadar hafızayla ilgili hiç uygulama yapmadım.
Evet Vivado kullanıyorum ve FPGA üzerindeki belleğe erişmek istiyorum.
Vivado'da 'Virtex-7 FPGA Gen3 Integrated Block for PCI Express' adında bir IP var. Dediğiniz IP acaba bu mu?

alicavuslu

#4
 IP'ye ilişkin kullanım detaylarını IP arayüzündeki dokumanda bulabilirsin.

Hafıza uygulaması olarak öncelikle Block RAM oluşturma işlemlerine başlamanı öneririm. FPGA üzerindeki hafızalar bunlar oluyor.

Kart üzerinde ki DDR belleğe erişim sağlamak istiyorsan bunun içinde yine IP blok kullanmalısın. Bu şekilde daha hızlı çözüme ulaşabilirsin.