FPGA e neden gerek duyulur?

Başlatan mir_as82, 09 Mayıs 2014, 14:01:27

Ramiz

Alıntı yapılan: Tagli - 09 Mayıs 2014, 15:45:37
Arkadaşlar, FPGA ile RTOS'un aynı şey olmadığını ve karşılaştırılamayacağını biliyorum zaten. Ama her ne kadar çalışma mantığı ve performans olarak çok farklı olsalar da benzer amaca hizmet ediyorlar: Tek donanım üzerinde birden fazla iş yapmak. Yani ben soruyu görev açısında sordum. Olayın iki boyutu var aslında. Bunlardan biri gerçektan pek çok işi aynı anda yapmak. Diğeri işi ufak parçalara bölerek programlamayı kolaylaştırmak. RTOS sadece bu sonuncusunu yaparken FPGA ikisini de yapıyor. Yani sorum, hangi noktadan sonra RTOS bizi kurtarmaz ve işlerin gerçekten aynı anda paralel yapılmasına ihtiyaç duyarız? Piyasada hangi işler FPGA ile yapılıyor?

Rtos için yanıldığın konu şu,

mcu içersine rtos u gömünce, sanki paralelmiş gibi çalıştığını sanıyorsun ama arka plan böyle olmuyor.

Tasklar görev önceliklerine göre çalışıyorlar ve görev önceliklerine göre işlemler kesilip, diğer tasklar çalışmaya başlıyor vs vs. Yani zaman tablosunda atıyorum 5 task anı anda işlem yapmıyor.

Fpga yamak ında dediği gibi real time işlemlerin gerektiği yerlerde tercih edilir. Artık mcular gelişti. İçersinde kamera modülleri barındırıyorlar. Hadi 1993 yılında olduğumuzu hayal edelim. Kamera yazılım ile kontrol edilemeyecek kadar çok hızlı çalışıyor. Görüntüyü alıp, işleyip, ekrana basmamız gerekli. Piyasada bunu yapabilen xxxx ic si yok. İşte cevap fpga. O ic yi fpga içersinde siz oluşturacaksınız.


Bu örnekler günümüzede uyarlanabilir.
Electrical & Electronics Engineering -> Step one

Tagli

#16
Alıntı yapılan: Ramiz - 09 Mayıs 2014, 17:44:54
Rtos için yanıldığın konu şu,

mcu içersine rtos u gömünce, sanki paralelmiş gibi çalıştığını sanıyorsun ama arka plan böyle olmuyor.

Tasklar görev önceliklerine göre çalışıyorlar ve görev önceliklerine göre işlemler kesilip, diğer tasklar çalışmaya başlıyor vs vs. Yani zaman tablosunda atıyorum 5 task anı anda işlem yapmıyor.
Tamam onu da biliyorum. Ben soruyu çok düzgün soramadım galiba. Aydınlatıcı cevaplar aldım ama öyle görünüyor ki arada "RTOS'un ne olduğu hakkında hiçbir fikri yokmuş" izlenimi oluşturdum.
Gökçe Tağlıoğlu

kralsam

Selamlar,
Özetlemeye çalışayım. Okul döneminde sayısal elektronik hoşuma gitti. Kendimi FPGA alanında geliştirmeye çalıştım ve stajımın 2 ayı FPGA üzerineydi . Fakat mezun olunca gördümki pahalı bir yol ve sanayi pek tercih etmiyor. Pahalıdan kastım adam.saat olarakta donanım olarakta pahalıya geliyor. O sebeple çok spesifik bir uygulama gerekmedikçe tercih edilmiyor.
Benim gördüğüm alanlar LED Tvlerde görüntü işleme ve onun dışında savunma sanayiinde her çeşit sinyal işleme işlemlerinde kullanılıyor. Bu olanların dışında görmedim. 

Buna biraz matematiksel örnek verirsek Full HD bir görüntüyü işlemeye kalksak (RGB) genelde her renk 10 bit yada 8 bit oluyor. Bu da 1920x1080 pikselden 1 Frame(Resim) için 1920x1080x24 = 49,766,400 bitlik bir veri yapıyor ve kaliteli bir film 30 frame. Bu görüntüde bir filtre eklemek istendiğinde ve bu filtre henüz tam belirlenemiyor ve geliştiriliyorsa pixel pixel iş yapılması gerekiyor. Saniyede 30 kareyide işlemesi gerekiyor. Birde şunu düşünelim 3-5 kaynaktan veri ayıklayıp bir biri üzerine maskeleme yapsın. Hal böyle olduğu durumlarda RTOS vs. iş görmemeye başlıyor çünkü arada başka işlere de bakmasi lazım ama FPGA, işlemcilerden daha yavaş olsa da paralellikten kazanıyor.

Yada bir savaş uçağının pilot başlığındaki gecegörüş ekranı vs. de benzer işlemleri yapacağını düşünürsek iş epey karışıyor ve özel donanımlara ihtiyaç duyuluyor.

Bunlar vb. dışında uygulama alanı bilen varsa bende öğrenmek isterim.

İyi çalışmalar.

z

FPGA islemciden nasil yavas oluyor. Sonucta hizi clock frekansi belirliyor.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

E_Kk

Sanırım @kralsam in söylemek istediği; çalıştığımız fpga in clock frekansı bir işlemciden düşük olsada paralel işlem yaptığı için yaptığı paralel işlemin boyutuna göre işlemciden daha hızlı işlem yapar.

FPGA in kullanım alanına ek olarak hızlı şifreleme ve şifre çözme uygulamaları örnek verilebilir.
"Meselâ: Hendese bir fendir. Onun hakikatı ve nokta-i müntehası, Cenab-ı Hakk'ın İsm-i Adl ve Mukaddir'ine yetişip, hendese âyinesinde o ismin hakîmane cilvelerini haşmetiyle müşahede etmektir."Sözler

picusta

Alıntı yapılan: z - 10 Mayıs 2014, 00:16:36
FPGA islemciden nasil yavas oluyor. Sonucta hizi clock frekansi belirliyor.
Bir de senkron degil de asenkron sentezleme yapsak ? Hizi kaça katlariz ?

z

Bu ragbet goren bir durum mu?

TI'in yeni DSP serilerinde sistemde kullanilan frekansin daha dogrusu peryodun 10da biri degerde pwm pals elde edilebiliyor ve pikosaniye cozunurluk elde ediliyordu.

Gerci buna cok guvenmeyin cok dogru olmaz diyorlardi.

Muhtemelen alt cozunurluk icin asenkron bir tasarim yapildi.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

muuzoo

GHZ mertebelerinde çalışmaya izin veren FPGA'lar da var. FPGA'ların bir diğer avantajı da yüksek hesaplama gücünü daha düşük güç tüketimi ile gerçekleştirebilmeleri.
gunluk.muuzoo.gen.tr - Kişisel karalamalarım...

z

Ben de tam tersine FPGAler fazla guc harciyorlar cunku iceride kullanilan kullanilmayan cok fazla lojik devre var diye biliyorum.

Gerci guc yonetimine izin veren bazi bloklari enerjisiz birakan duzenekler varmis.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

muuzoo

Alıntı yapılan: z - 10 Mayıs 2014, 01:46:46
Ben de tam tersine FPGAler fazla guc harciyorlar cunku iceride kullanilan kullanilmayan cok fazla lojik devre var diye biliyorum.

Gerci guc yonetimine izin veren bazi bloklari enerjisiz birakan duzenekler varmis.

Hocam bu biraz tasarımla alakalı. Eğer tasarımınız fpga kaynaklarının yarısını kullanıyorsa kullanılan model o tasarım için fazladır, bir kaç alt modele geçilerek çözülebilir.
gunluk.muuzoo.gen.tr - Kişisel karalamalarım...

z

Ama durum sadece kullanilmayan fazla fazla bloklar değil.

Carpimlarin toplami yada toplamlarin carpimi turundeki matrisde olasi her durum icin lojik kapiciklar var. Senin yaptigin bunlardan isine yarayanlari kullanmak digerlerini kullanmamak (programlama dedigimiz olay da sonucta bunlarin tespiti). Fakat kullanilmayan her kapinin beslemesi kesilemiyor. Dolayisi ile guc tuketiyorlar.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

kralsam

#26
Alıntı yapılan: picusta - 10 Mayıs 2014, 00:56:07
Bir de senkron değil de asenkron sentezleme yapsak ? Hizi kaça katlariz ?

Sistemin asenkron tasarlanması düşündüğünüzün aksıne frekansı inanılmaz derecede düşürüyor. Bu işe içerdeki routing sebep olabiliyor diye biliyorum. Yan yana lojik elemanları nasıl dizdiği çok önemli. Hatta hız kayıplarının büyük bir çoğunluğu iç tasarımdaki lojik elemanlar arası yollar ve tasarımı yapan kişinin asenkron tasarım sorunları diyebilirim.

Hızlı olma kısmına gelirsek evet GHz mertebede çalışanları var ama piyasanın şuanlık küçük bir kısmını kapsıyor çünkü çok pahalı ve gerek PCB tasarımı gerek diğer kısımları tasarlamak açısından kullanması da zor. Bu konuda çok detay bilgim yok ama sadece savunma sanayii de ve Uzay teknolojilerinde kullanıldığını duydum. Piyasada kullanılan çoğu model ortalama 400-500 MHz ve bu da sizin tasarımınıza göre inanılmaz düşebiliyor. Staj yaptığım yer o FPGA modelleri için 250MHz de tasarım yapabildiysen iyi sayılabilecek bir tasarım diyordu.

Ekleme:
Kesin bir bilgi değil ama yorum yapacak olursam bu tip malzeme kullanan adamların güç gibi bir sorunu yok. İlk öncelik işlem gücü.

speak48

----fpgalar asenkron tasarım iniç tasarlanmamışlardı.
"önce bi senkron tasarımı halledilsinde sonra asenkrona girilir.asenkron tasarım en az phd de uğraşmış olmak ister."
----düşük freankslı fpga yüksek frekanslı dsp den daha az güç harcar.
kullanılmayan kısımlarında fazla güç harcıyacağını düşünmüyorum.
yorum olarak mcu sleep modunda
içersindeki güç kesiliyorda mı düşük güç harcıyor yoksa içersindeki birimler kulllanımadığındamı düşük güç harcıyor.


z

#28
Asenkron tasarimin soyle bir avantaji var.

Senkron tasarimda durum degistirmek icin sistem clockun bir sonraki palsinin gelmesi beklenmek zorunda.

Asenkron tasarimda ise clock sinyalini gelisi guzel bir anda (mesela iki sistem clock arasinda) diger sinyallerden combinational olarak olusturabilirsiniz. Bu nedenle hiz artirilabilir ama
asenkron tasarim cok risklidir.

mesaj birleştirme:: 10 Mayıs 2014, 12:56:04

MCU sleep moduna alindiginda clock sinyali kesiliyor. Sadece gerekli birime clock gidiyor.

http://www.eejournal.com/archives/articles/20080318_atmel/
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

speak48

#29
güç açısından dediğim gibi clock kesilirse güç düşer.
powerı  kesmeye gerek yok.
fpga nın içersindede kullanılmayan birimlere clock verilmiyor.

dsp fpga karşılaştırması
http://www.bdti.com/MyBDTI/pubs/info_stanford02_fpgas.pdf

asenkrona gelirse baya sene önce  ilgilenmiştim
asenkron tasarım standarlaşmış değil.
nasıl tasarım yapılacağını  biliyorsanız benide aydınlatın.