Teknolojik aygıtlardan bahsederken genel olarak donanım sahnesinde CPU, GPU ve SoC gibi işlemci türlerinin ismi geçer. Ancak endüstride çoğu kişinin duymadığı, çok farklı uygulamalarda kullanılan donanım çözümleri de var: Örneğin FPGA (Field-Programmable Gate Arrays) ve ASIC (Application-Specific Integrated Circuits) gibi.
ASIC ve FPGA, elektronik ürün tasarımı yaparken tercih edilebilecek mikroçip türlerinden sadece ikisi. Başka şekilde ifade edecek olursak, elektronik dünyasında farklı amaçlara hizmet eden iki tür yarı iletken cihaz. ASIC’ler belirli uygulamalar için özel olarak tasarlanmış olup yüksek performans ve verimlilik sunuyor. FPGA’ları ise esneklik ve hızlı prototip oluşturma yetenekleri sağlayan yeniden programlanabilir entegre devreler olarak tanımlayabiliriz.
İkisi arasındaki seçim performans gereksinimleri, güç tüketimi, maliyet, tasarım esnekliği ve pazara çıkış süresi gibi çeşitli faktörlere bağlı. Şimdi ASIC ve FPGA olarak yonga türlerinin detaylarından bahsedeceğiz, ayrıca avantajlarına ve dezavantajlarına bakacağız. Aslında ikisi de son tüketicilerin uzak olduğu konular. Mühendisler ve tasarımcılar, bu seçenekler arasındaki temel farkları anlayarak proje gereksinimlerine ve kısıtlamalarına uygun, bilinçli kararlar alabilirler.
CPU, FPGA ve ASIC
CPU ve ASIC (uygulamaya özel entegre devreler) bilgi işlem spektrumunun iki zıt kutbudur. Adından da anlaşılacağı gibi, ASIC’ler sabit kablolu silikonlar ve belirli algoritmaları çalıştırmak için kullanılmakta. Bunlar mümkün olan en hızlı ve en verimli çiplerdir, çünkü yalnızca amaca yönelik olarak tek bir iş yaparlar. Sonuç olarak başka algoritmaları çalışma gibi esneklikleri yok. CPU’lar ise herhangi bir yazılımı çalıştırmak için serbestçe programlanabilir.
FPGA’lar iki uç noktanın arasında yer alıyor. Bu entegre devreler özünde milyonlarca mantık elemanından (logic element-LE) ya da kapı dizisinden oluşmakta. FPGA adının son kısmı da zaten bununla ilişkili. Bir mantıksal bileşen, basitçe tüm olası giriş kombinasyonları için çıktıyı depolayan bir arama tablosudur (LUT veya doğruluk tablosu olarak da bilinir). Örneğin, 2 bitlik bir LUT dört farklı girişe sahip olabilir: 00, 01, 10 ve 11. Arama tablosu daha sonra bu olası girişlerin her biri için bir boole fonksiyonunun nasıl değerlendirileceğini (doğru veya yanlış olarak) gösterir. Basitçe söylemek gerekirse, FPGA’lar genel amaçlı bir CPU’nun yaptığı gibi talimatları almak, kodunu çözmek ve yürütmek yerine cevabı arar.
FPGA adındaki mantık birimleri (diğer adıyla kapı dizileri), herhangi bir zamanda yeniden yapılandırılabilecek şekilde (yani field-programmable) tasarlanır. “Alanda (veya sahada) programlanabilir” kelimeleri de buradan geliyor. Peki anlamı ne? Algoritmalar güncellenebiliyor veya FPGA tamamen farklı uygulamalar için hızla yeniden tasarlanabiliyor. Sağlanan programlama imkanı, kablolu bir ASIC’e kıyasla pazara çıkış süresini de önemli ölçüde kısaltıyor.
Özetle FPGA’lar hızlı ve verimli, çünkü algoritmalar için optimize edilebiliyor ve programlanabiliyor. Üst düzey FPGA’ler yukarıda bahsedilen mantık elemanlarından milyonlarcasını içermekte.
FPGA Nedir?
Şimdi çip tasarım şekillerini ayrı ayrı ele alalım. Alanda programlanabilir kapı dizisi (FPGA), üretimden sonra bir müşteri veya tasarımcı tarafından yapılandırılmak üzere tasarlanmış bir entegre devre türü.
Dirençleri, kapasitörleri, transistörleri ve diğer bileşenleri bakır yollarla birbirine bağlayan elektrik devreleri gözünüzün önüne getirin. Pekala devreyi ürettikten ve PCB montajı yapıldıktan sonra bileşenler arasındaki bağlantıyı değiştirmek isterseniz ne olur? Daha yeni PCB’ler üretmediğiniz sürece bu çok kolay olmayacaktır. 10 katmanlı veya daha karmaşık bir PCB için zaman, çaba, maliyet ve birçok şey gerekir. Bu yüzden tek bir denemede çalıştığından emin olmak gerekir.
CPU, GPU ve çeşitli mikro kontrolcüler de aslında entegre devrelerden başka bir şey değil, ancak nanometre ölçeğinde. Çipler çok küçük kablolarla birbirine bağlanmış milyarlarca MOSFET veya transistöre sahip, milyarlarca kapı bağlantısı mevcut. Sonuç olarak, bir çipin üretilmesi çok büyük miktarda kaynak ve zaman gerektiriyor. Ar-Ge, testler, prototip aşamaları, üretim süreci ve daha fazlası. Milyonlarca dolar yatırımın yanı sıra, aylar ya da belki yıllar alan süreçler var.
Yazılım tarafında işler daha kolaydır. iOS, Android veya Windows işletim sistemleri için yeni bir sürüm piyasaya çıktığı zaman bazı sorunlar yaşanabilir. Şirketler, birkaç gün içerisinde hata düzeltmeleri ve güncellemeler yapabilir. Ancak bir ASIC (CPU, GPU, AI çipleri) söz konusu olduğunda, üretildikten sonra milyarlarca transistörden tek bir tanesinin bile bağlantısını değiştiremezsiniz. İşte bu noktada FPGA devreye giriyor.
FPGA’larda bağlantılar ve kablolar programlı olarak yeniden düzenlenebiliyor. Herhangi bir mantık kapısı taklit edilebiliyor, istendiği şekilde herhangi bir kombinasyonda birbirine bağlanabiliyor. FPGA’lar çoğunlukla SRAM tabanlıdır, bu nedenle teorik olarak onları milyonlarca kez yeniden programlayabilirsiniz.
Bazı sınırlamaları yok değil, ancak modern FPGA’lar çok daha verimli. Şu anda 10 dolarlık bir FPGA çipi içinde 100 MHz’lik bir RISC-V çekirdeği (soft-core) çalıştırabilirsiniz. İnsanlar bunun üzerinde Linux çalıştırıyor.
FPGA’lar Nerelerde Kullanılıyor?
FPGA’lar her türlü uygulama için kullanılabilir. Buna akıllı telefonlar, otonom araçlar, kameralar, ekranlar, video/görüntü işleme ve güvenlik sistemleri gibi tüketici elektronikleri de dahil. Ayrıca sunucularda, havacılık, savunma, tıbbi elektronik ve dağıtılmış para sistemleri dahil olmak üzere çeşitli dikey pazarlarda olduğu gibi birçok ticari kullanım için de kullanılıyor.
FPGA’nın Kısa Tarihçesi
FPGA’nın başlangıcı, mucitler Ross Freeman ve Bernard Vonderschmitt’in FPGA endüstrisinde öncü bir şirket haline gelecek olan Xilinx’i kurdukları 1980’lere kadar uzanıyor. Çığır açan yenilikleri, elektronik tasarımcıların özel üretim gerektirmeden dijital devreleri uygulamalarına olanak sağladı. FPGA teknolojileri, o zamandan bu yana Altera (şimdi Intel’in bir parçası) gibi büyük oyuncuların katkı sağlamasıyla önemli gelişmelere tanık oldu.
Bu noktada bir hatırlatma yapalım. Yakından tanıdığınız AMD, büyük bir bedelle Xilinx’i satın almıştı. Xilinx’in teknolojilerine erişim sağlayan kırmızı takım, şirketin yeteneklerini farklı alanlarda da kullanmaya başladı.
ASIC Nedir?
Aslında isimlendirme her şeyi açıklıyor: uygulamaya özel entegre devre. ASIC’ler, belirli bir işlevi veya işlevler kümesini gerçekleştirmek için tasarlanmış özel yarı iletken devrelerdir. CPU’lar ve GPU’lar gibi genel amaçlı işlemcilerin aksine, ASIC’ler belirli bir uygulamanın gereksinimlerini karşılayacak şekilde uyarlanır. Belirli bir işe yönelik olduğu için özel optimize edilir, böylelikle performans ve güç verimliliği sağlanabilir. Genel olarak özel tasarım maliyetinin gelişmiş performans, daha düşük güç tüketimi ve azaltılmış form faktörü avantajlarıyla gerekçelendirilebildiği yüksek hacimli ürünlerde ASIC denilen devreler kullanılmakta.
Özel tasarlanan yongalar istenilen işlevi gerçekleştirmek için gerekli olan herhangi bir mantıksal, bellek veya analog bileşene sahip olabilir. Bununla birlikte, bir ASIC’in üretimi pahalı ve zaman alıcıdır. Ayrıca FPGA gibi üretildikten sonra yeniden programlanamaz veya değiştirilemez. Dijital sinyal işleme, grafik işleme veya şifreleme gibi yüksek hacimli, düşük değişkenlik ve kararlı uygulamalar için çok daha uygun.
Bir ASIC, transistörler ve diğer bileşenleri içeren özel düzeninin bir silikon plaka üzerine kazındığı fotolitografi adı verilen işlemle üretiliyor. Bu düzen, basit mantık kapılarından karmaşık dijital sinyal işleme devrelerine kadar değişebilen ASIC’in istenen işlevselliğini uygulamak için kullanılıyor. ASIC’ler için üretim süreci zaman alıcı ve pahalı demiştik; maske oluşturma, wafer üretimi ve paketleme gibi birden fazla adım mevcut. Ancak ilk yatırım yapıldıktan sonra, üretim hacmi arttıkça ASIC’lerin birim başına maliyeti önemli ölçüde azalabiliyor. Yani yüksek miktarlarda üretim yapılıyorsa uygulamaya özel entegre devreler üretmek oldukça mantıklı.
ASIC’ler Nerelerde Kullanılıyor?
ASIC’ler, her biri teknolojiden benzersiz amaçlar için yararlanan çeşitli sektörlerde kullanılabilir. ASIC’lerin önemli bir rol oynadığı bazı önemli sektörleri sıralayacak olursak:
- Tüketici Elektroniği: ASIC’ler tüketici elektroniğinde her yerde bulunur ve akıllı telefonlar, dijital kameralar ve akıllı TV’ler gibi cihazlara güç sağlar. Özel çözümler sunma yetenekleri, bu cihazların genel performansını ve güç verimliliğini artırır.
- Telekomünikasyon: Ağ ekipmanlarında, yönlendiricilerde ve iletişim cihazlarında yer alabilir Özel tasarımlı yapıları, verilerin işlenmesinde optimum işlevsellik ve hız sağlamakta.
- Otomotiv Endüstrisi: Motor kontrol üniteleri (ECU), gelişmiş sürücü destek sistemleri (ADAS) ve bilgi-eğlence sistemleri gibi çeşitli sistemlere entegre edildikleri otomotiv endüstrisine önemli ölçüde katkıda bulunuyor.
- Sağlık Hizmetleri: Tıbbi cihazlar, teşhis ekipmanları ve görüntüleme sistemleri; hassasiyet, güvenilirlik ve güç verimliliği gibi katı gereksinimleri karşılamak için genellikle ASIC’leri kullanmakta.
FPGA vs ASIC
Aşağıdaki tabloda ASIC’ler ve FPGA’lar arasındaki farkları görebilirsiniz:
ASIC | FPGA | |
Tasarım Esnekliği | Bir kez üretildiğinde tekrar değiştirilemez; değişiklikler yeni tasarım ve imalat gerektirir | Yüksek programlanabilirlik; üretimden sonra değiştirilebilir, hızlı prototipleme ve uyarlanabilir tasarımlar için uygun |
Performans | Özel tasarım sayesinde daha yüksek performans; belirli bir uygulama için optimize edilmekte | Yeniden yapılandırılabilir mimari nedeniyle biraz daha düşük performans; programlanabilirlik nedeniyle ek performans yükü |
Güç Tüketimi | Optimize edilmiş tasarım nedeniyle genellikle daha düşük | Özellikle büyük tasarımlar olmak üzere genellikle ASIC’lerden daha yüksek |
Piyasaya Ulaştırma Süresi | Tasarım, doğrulama, imalat ve test aşamaları nedeniyle daha uzun; değişiklikler süreyi daha da uzatmakta | Daha kısa; uzun imalat gerektirmiyor; tasarım değişiklikleri yeniden programlanarak hızla uygulanabiliyor |
Maliyet | Yüksek hacimli üretim için birim başına daha düşük maliyet; daha yüksek Tekrarlanmayan Mühendislik (NRE) maliyetleri | Düşük hacimli üretim için daha yüksek birim maliyet; daha düşük NRE maliyetleri |
Uygulamalar | Yüksek performans ve güç verimliliği gereksinimleri olan yüksek hacimli, sabit fonksiyonlu uygulamalar için ideal | Hızlı prototipleme, değişen gereksinimler, düşük adetli üretim veya sınırlı bütçeli projeler için uygun |
SoC’lerle Entegrasyon | Bazı modern SoC’ler ASIC tabanlı mikroişlemcilere sahip olabilir | Bazı modern SoC’ler esneklik için FPGA öğeleri içerebilir |
Uzun Ömür ve Güvenilirlik | Radyasyon gibi çevresel faktörlere duyarlılığın azalması nedeniyle genellikle daha uzun ömür | Radyasyon ve yüksek ısı gibi faktörlere duyarlılık nedeniyle belirli uygulamalarda kullanım ömrü kısalabilir |
Geliştirme araçları | Pahalı olabilecek özel tasarım ve doğrulama araçları gerekli | Hem FPGA satıcılarından hem de üçüncü taraf tedarikçilerden temin edilebilen geniş araç ekosistemi; daha kullanıcı dostu geliştirme ortamları |
Özel IP Koruması | Tasarımın kablolu olması ve kolayca tersine mühendislik uygulanamaması nedeniyle daha güçlü koruma | Özellikle tasarım güvenliği önlemleri titizlikle uygulanmadığında potansiyel IP hırsızlığına veya klonlamaya karşı savunmasız |
Tekrar Kullanılabilirlik | Tekrar kullanılamaz; üretildikten sonra tasarım belirlenir | Yeniden kullanılabilir; aynı FPGA birden fazla uygulama veya yineleme için yeniden programlanabilir |
SoC Nedir?
Birden fazla elektronik sistemi tek bir çipe entegre etmek için tek bir çipte çözüm sağlayan SoC, modern elektroniğin önemli bir etkeni. Çip üzerinde sistem dediğimizde aslında tek bir parça halindeki yonga bütününden, diğer bir tabirle işlemciden bahsediyoruz. Ancak bu entegre devrenin içerisinde işlemci (CPU), grafik işleme birimi (entegre GPU), mikrokontrolcü, çevresel kontrolcüler (USB, depolama için), bellek, giriş/çıkış (I/O) bağlantı noktaları, özel sinir ağı devresi ve radyo modemleri (Bluetooth veya Wi-Fi için) gibi birçok ayrı bileşen yer alabilir.
Başka bir deyişle, SoC dediğimiz işlemle bunların hepsi tek bir tabakada tutuluyor. Tüm bu bileşenlerin tek bir alt tabaka üzerinde bulunması, SoC’lerin daha az güç kullanması ve çok çipli muadillerine göre daha az yer kaplamasına olanak sağlıyor. SoC’ler Nesnelerin İnterneti (Internet of Things-IoT) ve mobil bilişimin büyümesiyle giderek daha popüler hale geliyor.
İşlemci çipin “beynidir”, talimatları yürütmekten ve hesaplamaları yapmaktan sorumludur. Bellek, işlemcinin erişmesi için verileri ve talimatları depolar. Giriş/çıkış arabirimleri çipin sensörler, ekranlar veya diğer çipler gibi diğer bileşenler veya cihazlarla iletişim kurmasını sağlar. Grafikler bildiğiniz gibi görüntü çıkışından sorumlu. Modemler Wi-Fi ve Bluetooth bağlantılarını yönetiyor. İşte tüm bu işlevlerin yekpare küçük bir yongada yapıldığını düşünün.
Özetleyecek olursak SoC, bilgisayarın veya diğer elektronik sistemin gerekli tüm bileşenlerini tek bir çip üzerine entegre eden bir mikroçip türünü ifade ediyor. Kullanım alanı ise oldukça yaygın. Her şeyi bir arada toplayan bu sistemler başta akıllı telefonlar, tabletler, IoT cihazlar olmak üzere Nintendo Switch, PlayStation ve Xbox gibi konsollar, Raspberry Pi bilgisayarlar, Arduino kartları ve STEM kitleri gibi birçok cihazda kendine yer buluyor. Ayrıca SoC türünde işlemcilere sahip dizüstü bilgisayarların sayısı da her geçen dün artıyor.







