10 Nisan 2015 Cuma

                       GÖMÜLÜ SİSTEM NEDİR?

     Dikkat etttiniz mi? Arkadaşlar etrafımızdaki akıllı cihazların sayısı son yıllarda ne kadar da arttı. Hayatımızın vazgeçilmezi olan cep telefonlarının bilgisayardan altta kalan hiçbir özelliği yok neredeyse.Artık çamaşır makinelerimiz bile akıllı.Kısaca çevremizdeki elektronik sistem içeren cihazları yazacak olursak;bilgisayar,cep telefonu,çamaşır makinesi,buzdolabı,hesap makinesi,fotoğraf makinesi,video kamera... vb. Bunlar daha da uzatılabilir.Bunların hepsi kendi gömülmüş bilgisayarlarını barındırıyor desek hiç de yanlış bir ifade kullanmış olmayız.






    Gömülü sistemler,en genel tanımıyla belli bir işi yapması için tasarlanmış, mikroişlemci veya mikrodenetleyici tabanlı sistemlerdir.Peki bilgisayar bir gömülü sistem mi? Arkadaşlar bilgisayar bir gömülü sistem değildir.Onu gömülü sistem olmaktan çıkaran nüans ise bilgisayarlar kullanıcının her türlü işlemini yapması için tasarlanmış sistemlerdir.Yani belirli bir amaç yapması için tasarlanmış sisteme gömülü sistem denir.Başka bir şekilde anlatmak gerekirse gömülü sistem içinde bulunduğu sisteme akıllılık özelliği veren elektronik donanım ve yazılım içeren sistemlerdir.Gömülü sistemler üzerine çalışan mühendisler genelde mikrodenetleyici programlarlar.

    Mikroişlemci ve Mikrodenetleyici arasındaki fark nedir?

    Arkadaşlar genelde bu ikisi karıştırılır ve birbirinin yerine çok kullanılır.Bu ikisi arasında en önemli fark; mikroişlemcinin içinde sadece (CPU) Central processing unit bulundurmasıdır.İntel'in ürettiği mikroişlemcidir.Mikrodenetleyicinin içinde ise ram (bellek) ve çevresel birimler vardır.Microchip,atmel gibi şirketlerin ürettikleri PİC,AVR gibi IC'ler microdenetleyicidir.Peki IC nedir? IC integrated circuit (entegre devre ) demektir.Küçük bir kılıfın içine yerleştirilen belirli bir amaç için tasarlanan devredir.
    Arkadaşlar bu konuda daha detaylı bilgi almak isteyenler şu siteyi ziyaret edebilirsiniz.
      
   https://www.youtube.com/watch?v=XaaAkvYS40A


           

               YİĞİT DEMİRCİ
      EMO-GENÇ YÖN.KUR.ÜYESİ

5 Nisan 2015 Pazar

YENİ BİR DİJİTAL DİZAYN-FPGA-

FPGA, VHDL,VERILOG
         FPGA` ler, donanım yapısı üretimden sonra kullanıcı tarafından istenen fonksiyona göre değiştirilebilen entegre (bütünleşmiş) devrelerdir. Bu teknoloji günümüzde tüketici elektroniğinde, medikal alanlardan, uzay ve savunma sanayi alanlarına kadar çok geniş bir yelpazede kullanılmaktadır. VHDL ise günümüzde yaygın olarak kullanılan donanım tanımlama dili olup, FPGA` in donanım yapısının değiştirilmesi için kullanılır. Yazımıza FPGA` ler hakkında detaylı bilgiler vermek üzerine devam edelim.
FPGA  
          FPGA, “Field Programmable Gate Array”  ifadesinin kısaltması olup Sahada Programlanabilir Kapı Dizinleri anlamına gelmektedir. Kapı dizinleri (Gate Array) ismi, FPGA` in yapısının Gate Array ASIC` lere benzemesinden dolay verilmiştir. Sahada Programlanabilir olması da yazımızın başında belirttiğimiz üzere FPGA` in üretimden sonra programlanabilme özelliğini belirtir. Öyleyse FPGA` i üretimden sonra istenen fonksiyona göre donanım yapısı kullanıcı tarafından değiştirilebilen entegre devre olarak tanımlayabiliriz.
          FPGA` i daha iyi anlayabilmek için, içindeki transistorları birbirinden bağımsız ve serbest olarak üretilmiş ham bir entegre olarak hayal edebiliriz. Kullanıcının belirleyeceği tasarıma göre FPGA içindeki transistorlar yazılan programlarla birbirine bağlanabilir ve bu sayede istenen fonksiyonlar gerçekleştirilebilir. Yani teorik olarak sahip olduğu transistor kapasitesi dahilinde aklınıza gelen herhangi bir entegrenin yaptığı işi FPGA ile yapabilirsiniz.
 
                                                      Altera De2-115 Development Board


FPGA Özellikleri
          Paralel işlem yapabilme kabiliyeti basta olmak üzere, sahada programlanabilme, tasarımın test edilip doğrulanabilmesi ve istenirse içine işlemci sistemi dahi gömülebilmesi gibi birçok özelliği, FPGA` i günümüzde popüler kılan yönlerdir.
          Paralel işlem yapabilme kabiliyeti FPGA` lerin en önemli özelliklerinden biridir. Aynı anda birden fazla işlemi yapabilme anlamına gelen bu özellik, FPGA` in diğer entegrelere göre daha hızlı çalışmasını sağlar. Sıradan entegreler ya hiç paralel işlem yapamazlar ya da çok sinirli sayıda yapabilirler. FPGA` de ise uygulamaya ve kapasiteye bağlı olarak, birbirinden bağımsız onlarca belki yüzlerce işlemi ayni anda yapmak mümkündür. Ayni anda birden fazla işlemi yapabilme özelliği, paralel işlem gerektiren uygulamalarda FPGA` leri eşsiz kılmaktadır. FPGA` ler ayni zamanda tasarlanan programın FPGA` e yüklenmeden önce bilgisayar ortamında simülasyonu yapılabilme imkânı da sağlar. 
FPGA Kullanım Alanları
           FPGA` ler tüm bu özelliklere sahip olmasından ve neredeyse bütün tasarım türlerine hitap etmesinden dolayı bir çok alanda kullanıldığını rahatlıkla söyleyebiliriz. Bunlara, Uzay ve Savunma Sanayi, Otomotiv, Kablolu/Kablosuz İletişim, Güvenlik/ Şifreleme, Tıbbi Elektronik alanları örnek olarak verilebilir.
FPGA Yapısı
          Yarı iletken teknolojisi ile üretilen FPGA` ler, temel olarak Mantık Hücreleri (Logic Cell) Giriş/Çıkış Blokları (IO Blocks) ve Programlanabilir Ara Bağlantılar`dan oluşur. Yapılandırılabilir özellikli olan mantık hücreleri FPGA içerisinde matris seklinde yerleştirilmiştir. Programlanabilir Ara Bağlantılar ile bu mantık hücreleri birbirine bağlanmıştır.   


FPGA Yapısı

FPGA Üreticileri
            Başlıca FPGA üreticileri Xlinx, Altera, Lattice, Micrpsemi, Quicklogic ve SliconBlue firmalarıdır. Pazarın büyük çoğunluğunu ellerinde bulunduran Xlinx ve Altera dünyanın en büyük iki FPGA üreticisidir. Bu iki firma birlikte pazarın yaklaşık %90 ini ellerinde bulundurmaktadır.
            XLINX firması FPGA` i ilk üreten firmadır ve su sıralarda dünyanın en büyük FPGA üreticisi konumundadır. Spartan ailesi güç tüketimini, risk ve maliyeti düşük uygulamalar için piyasaya sunulan bir urun gurubudur. Bu ailenin yanında kullanım amacına göre seçilebilecek diğer ürünleri de mevcuttur. Xlinx yazılımlarından bahsedecek olursak, Xlinx ISE Design Suite kapsamlı bir program olup, Xlinx` in kendi FPGA ve CLPD` leri (Complex Programmable Logic Device) için sunduğu tasarım ve sentezleme programıdır. Bu program ilerleyen yazımızda detaylıca bilgi vereceğimiz VHDL ve Verilog dillerini desteklemekte ve şematik çizimlere imkan vermektedir.
          ALTERA firması en önemli iki FPGA üreticinden biri konumundadır,  Xlinx firmasının yakın takipçisi ve en büyük rakibidir. Ayni zamanda CLPD, ASIC ve işlemci de üreten firma; geliştirme kartları programlama kodları, fikri mülkiyet çekirdekleri (IP core) ve tasarım yazılımları da sunmaktadır. Altera firmasının Cyclone ailesi, Xlinx firmasinin Spartan ailesi gibi düşük maliyeti, düşük güç tüketimi ve büyük miktarda üretimleri için sunduğu ürünlerden birisidir. Diğer alanlardaki kullanım amaçları için piyasaya sürdüğü diğer ürünleri de bulunmaktadır. Altera yazılımlarından bahsedecek olursak, firma FPGA tasarımı ve sentezlemesi için Quartus yazılımını geliştirmiştir. Quartus programında özel tasarlanmış SOPC Builder ve Qsys aracı kullanarak, FPGA içerisine soft mikroişlemci gömülmektedir.
       Yani özetlemek gerekirse eğer çalışmak istediğiniz mikroişlemci Xlinx firması tarafından üretilen bir urun ise onu programlamanız için edinmeniz gereken Program ISE Design Suit Programıdır. Eğer Altera firması tarafından üretilen bir mikroişlemci kullanmak istiyorsanız Quartus Programını edinmeniz gerekiyor. Bu iki program arasında sadece arayuz farkı vardır. Yani öğrendiğiniz Programlama dili VHDL de olsa Verilog da olsa ikisini de hem ISE Design Suit programında hem de Quartus` ta programlayabilirsiniz. Peki kullandığımız bu VHDL ve Verilog kelimeleri nedir ?
 VHDL ve Verilog
         VHDL, “Very High-Speed Integrated Circuit Hardware Description Language” ifadesinin kısaltması olup Çok Hızlı Entegre Devre Donanımı Tanımlama Dili anlamına gelir. VHDL, Verilog ile beraber günümüzde en yaygın kullanılan donanım tanımlama dilidir. Donanım parçalarını modellemede kullanılır. Verilog` ta ayni şekilde elektronik sistemleri modellemek için kullanılan donanım tanımlama dilidir. Yapısal olarak C programlama diline benzemektedir. VHDL ve Verilog birbirlerinden farklı gibi görünseler de birbirlerine göre avantajları ve dezavantajları vardır. Eğer yeni başlayan biriyseniz yapısal olarak daha kolay olduğu için Verilog ile başlamanızı tavsiye edebilirim. Aralarındaki en büyük fark, VHDL dilinin daha kompleks tasarımlarda kullanılmasıdır. Buna su şekilde örnek verebiliriz: Verilog` ta yazdığınız her türlü programı VHDL diline uyarlamanız mümkündür fakat tersi her zaman mümkün olmayabilir. Bu yüzden daha basit tasarımlarda mümkün oldukça C diline benzemesini de göz önünde bulundurarak Verilog`u kullanmak avantajlı olacaktır.
   Son olarak  bu yazımda son zamanlarda sıkça kullanılan FPGA entegre devresinden ve onu programlamak için kullandığımız VHDL ve Verilog donanımı tanımlama dillerinden bahsettik.  FPGA ile ilgili gerek proje gerek genel bilgiler almak isterseniz gokhan_bilik@hotmail.com adresinden bana ulaşabilirsiniz. Fırsat oldukça, FPGA Altera DE2-115 Development and Education Board`unu ve bu board ile yapılmış projeler de dahil olmak üzere Quartus Programı ile detaylı bilgilerle sizlerle olacağım. İyi çalışmalar dilerim.

 Gökhan BİLİK
Elektrik-Elektronik Mühendisi