FPGA

FPGA-TASARIM SOYUTLAMA SEVIYELERI #2

FPGA tasarımında HDL dilleri kullanır. HDL klasik programlamadan tamamen farklı, donanım tasarlama için geliştirilmiş dillerdir. Örneğin bir C programında yazılan kod satır satır işlenir ve her şey sırasıyla gerçekleşir. HDL dilinde yazdığınız kod ise bir fiziksel yapı olşturur ve işleyiş tamamen bu yapının nasıl tasarlandığı ile ilgilidir. Kodun yazım sırası ile işleyisi arasında direk bir ilişki yoktur. Asıl akış sistemin nasıl tasarlandığıyla ilgilidir.

Yazılım ile donanım tasarımında çeşitli soyutlama seviyeleri vardır. Bu seviyeler programcının tercihine ve ihtiyaçlara göre farklılık gösterebilir.

  1. Layout Level: En temel tasarım seviyesidir. Bu seviyede programcılar transistörlerin layoutlarından başlayarak tasarım yaparlar. Bu seviyede programlama için yüksek bir elektronik bilgisi gerekir. Her bir transistör gerçek dünyada oluşturulacağı gibi programlanır. ASIC tasarımlarında kısmi olarak kullanır ancak büyük çaplı projeler için kullanışsız kalabilir.
    Diopsis
  2. Gate Level: Bu seviyede tasarımlar lojik kapılar seviyesinde yapılır. Tüm tasarım blokları kapı seviyesinden inşa edilerek ana modül oluşturulur. Bu seviyede büyük çalışmaların takibi yine zor olsa da donanım seviyesinde transistörlerin oluşturulmasıyla ilgilenilmez. Bu yüzden lojik tasarımı doğru aktarmak sistemin çalışması için yeterli olur.
    Bu seviyede netlist ler ve kapı yapıları kullanılır.
    Breadboard_complex
  3. Data Flow Level(Veri Akış Seviyesi): Bu seviyede programcı donanımdan biraz daha soyutlanır. Donanımdan bağımsız tasarım yapabilir. Bu kısımda önemli olan tasarımdaki veri akışıdır. Bu seviyede register, clock, logic block gibi kavramlar kullanılmaya başlanır.
    Aşağıdaki görselde bu seviyede tasarlanmış bir yapının RTL gösterimi yer alır.
    RISC_PROCESSOR_1
  4. Behavioural Level(Davranışsal Seviye): Davranışsal seviyede lojik blokların nasıl davranacağı programlanır. Algoritma seviyesinde program yazılır. Lojik kapılar seviyesine çok nadir olarak gereken yerlerde inilir ancak gerekli durumlar hariç algoritma seviyesinde yazılan programlar donanımı tasarlamak için yeterli olur. Davranışsal seviye donanım programlama için bu gün için en üst seviyedir.
    C++ ile yazılan kodların donanıma çevrilmesi ile ilgili çeşitli çalışmalar ve uygulamalar da bulunmaktadır.
    FPGA-development-the-good-the-bad-the-ugly-1-1024x518graal
Kategorisiz

FPGA-NEDIR? #1

FPGA (Field Programmable Gate Array) Sahada Programlanabilir Kapı Dizileri olarak türkçeleştirilebilir. Biraz daha açmak gerekirse FPGA devre üzerinde iç yapısı programlanabilir lojik devreler serisidir.

swvvifhq558

FPGA’lerin tasarım kolaylığı ve paralel işlem yapabilme gücü tercih sebeplerinin başında gelir. FPGA ile birçok işlemi eş zamanlı yapabilirsiniz. Bu sizin yazacağınız donanım kodlamasına bağlıdır. FPGA ile paralel işlemler yapan çeşitli IP ler tasarlayabileceğiniz gibi bir mikroişlemci tasarımı da yapabilirsiniz.

FPGA’ler HDL denilen dillerle programlanmakdır. Bunların başlıcaları Verilog ve VHDL dilleridir. Basit bir benzetme yapacak olursak Verilog C, VHDL assembly gibi anılır ancak kesinlikle ve kesinlikle geleneksel programlama ile donanım programlama dilleri tamamen farklıdır. Klasik programlamada program işleyişini düzenlerken, HDL programlamada donanım yapısını tasarlıyorsunuz.

Virtex7_200t-Substratec1omp-1d

FPGA bir çok alanda kullanılmaktadır. Bunların başını savunma, medikal ve ölçüm sektörleri yer alır. FPGA firmaları ASIC tasarımı yapmadan ve çeşitli lojik entegrelerin kombinasyonlarıyla uğraşmadan donanım tasarımı yapılmasına izin verir. Örnek vermek gerekirse uygulamaya özel DSP tasarımı yapmak FPGA ile sadece yazılım üzerinden gerçekleştirilebilir.

pciev4base-nah-virtex4-fpga

İlk FPGA üreticisi Xilinx firmasıdır. Halen bu konuda başı çeken firmalar arasındadır. Aynı seviyede bugün Altera da bu alanda öncü firmalardandır. Altera yakın zamanda Intel tarafından satın alınmıştır. Pazarın büyük kısmı bu iki firmadadır.

board_front21

IOT, Microcontroller, Open Source

NodeMcu ve LoLin ile IOT İşlerine Giriş

Merhaba

ESP8266 ve TI CC3200 ile “bu wifi/IoT olayları nasıl oluyor” diye çeşitli denemeler yapmıştım. Şimdi yeni aldığım Node Mcu v3 kartı ile çeşitli denemeler yapacağım. Tüm çalışmalar bu kart üzerinden ilerleyecek. Çalışmaları blogda paylaşmayı planlıyorum.

Node Mcu açık kaynak destekli IoT projeleri için bazı katmanları kendisi halleden bir yapıdır. Üzerinde ESP modülleri bulunur.

Şimdi ilk olarak bir Node Mcu ediniyoruz. Gittigidiyor da uygun fiyatlı ürünler bulabilirsiniz. Robotik ve elektronik marketler nispeten daha pahalıya satıyorlar.

 

Geliştirme ortamı olarak Arduino IDE’si kullanılır.

Arduino IDE’sini kurduktan sonra aşağıdaki işlemler takip edilerek Node Mcu kartı sisteme eklenmelidir.

  • Files/Preferences penceresini açın buranın alt tarafında Additional Boards Manager kısmına aşağıdaki linki yapıştırın.
  • http://arduino.esp8266.com/stable/package_esp8266com_index.json
  • OK diyerek sayfayı kapatın
  • Tools/Board/Boards Manager açın
  • Çıkan listede ESP8266 ile ilgili paketi yükleyin
  • Artık tamam ESP8266 ile ilgili kartların listesi Arduino IDE’sine eklendi. Hangi kart elinizde varsa oradan devam edebilirsiniz. Biz NodeMCU 1.0(ESP 12E Module) ile devam edeceğiz.
  • Bu aşamanın ardından File/Examples altından çeşitli örnekleri inceleyip kurcalayabilirsiniz.

Gelecek postlarda projeleri incelerek devam edeceğiz.

DAQ

YILDIRIM DIJITAL .NET Kütüphanesi Yayınlandı!

YILDIRIM DIJITAL .NET Kütüphanesi Yayınlandı!

Merhaba

Yıldırım Dijital’in Visual Studio’da kullanılması için geliştirilen kütüphanenin v1.0.0’ı yayınlandı! Buradaki linkten kolayca ulaşabilirsiniz.

Kütüphanede Yıldırım Dijital’i kullanmanız için gereken tüm fonksiyonlar mevcut. Bu kütüphane ile 15 milyonun üzerinde IO yazma, okuma testi yapılmış ve hiç bir sorunla karşılaşılmamıştır.

Çok yakında Yıldırım Dijital ile yapılan proje kodlarını github’dan takip edebilirsiniz. Bunun yanında bu projelere ait videoları da youtube kanalımızdan takip edebilirsiniz.

Soru, sorun ve önerileriniz için;
info@kiesrd.com