Elektrik Mühendisliği · Sayı 432 · Aralık 2007

TEKNOLOJİK ÜRETİMİN UÇ NOKTASI-HDL

Emre Çiftçibaşı

Elektronik ve yarı iletkenler Teknik / bilimsel makale

Yıl
2007
Sayfa
3
Okuma süresi
7 dk
Görüntülenme
0

Konu

Elektronik ve yarı iletkenler

İlgili: Sanayi, teknoloji politikası ve kalkınma

Anahtar kelimeler

  • HDL
  • FPGA
  • ASIC
  • VHDL
  • Verilog
  • tümdevre tasarımı

Özet

Yazı, tümdevre (entegre devre) tasarımında kullanılan donanım tanımlama dilleri (VHDL, Verilog) ile FPGA ve ASIC teknolojilerini, tasarım sürecini, kullanılan yazılım araçlarını ve Türkiye'deki uygulamalarını teknik olarak tanıtmaktadır.

Tam metin

Metin PDF'ten otomatik çıkarılmıştır; tablo, şekil ve formüller eksik ya da hatalı olabilir. Özgün dizgi için PDF'e bakın.

TEKNOLOJİK ÜRETİMİN

UÇ NOKTASI-HDL

Emre Çiftçibaşı Elektrik-Elektronik Yüksek Mühendisi, STM Savunma Teknolojileri Mühendislik ve Ticaret A.Ş [email protected]

HDL genel olarak programlanabilir ya da özel üretilmiş tümdevreler için tasarım dili olarak bilinen ve sayısal devre otomasyonunda kullanılan programlama dilidir. Tümdevre tasarımı ise belirli bir amaca hizmet eden özelleşmiş mantık ve devre tasarımını kapsayan elektrik mühendisliği alt dalıdır.

Tümdevre tasarımı analog ve sayısal tasarım olarak ikiye ayrılır. Analog tasarım güç devreleri, radyo dalgası devreleri gibi konularla ilgilenirken, sayısal tasarım ise mikroişlemciler, programlanabilir tümdevreler (FPGA), hafızalar (RAM, ROM, flash bellek) ve ürüne özel tümdevreler (ASIC) üretmek için kullanılmaktadır. Analog tasarım daha çok

KISA TANIMLAMALAR

ASIC: Ürüne özel tümleşik devre ASIP: Ürüne özel komut setli işlemci CPLD: Programlanabilir karmaşık mantık devresi FPAA: Programlanabilir analog devre dizisi FPGA: Programlanabilir sayısal devre dizisi VHDL: Çok yüksek hızlı donanım tasarlama dili Verilog: En yaygın kullanılan donanım tasarım dili

yarı-iletken cihazların verim ve kazanç gibi fiziksel özellikleriyle ilgilenmekte ve tümdevrelerde çok daha yüksek oranda fiziksel alan kaplamaktadır. Gelişmiş tümdevrelerde analog ve sayısal bölümler birlikte kullanılmaktadır.

Günümüzde kullanılan tümdevreler oldukça karmaşık bir yapıya haiz olmakla birlikte, hazır üretilen programlanabilir tümdevrelerde (FPGA) 300 binden fazla sayısal hücre bulunmaktadır ve bu hücrelerin her birinde 1000’den fazla transistör mevcuttur. Özel üretilen tümdevrelerde (ASIC) ise üst sınır bulunmamakta ve entegre içerisindeki transistör sayısı milyarları geçmektedir. Intel’in ürettiği ve yalnızca hafıza işlemleri için kullanılan SRAM tümdevresinde 2 milyar transistör ve bir Quad Core işlemci çekirdeğinde 800 milyon transistör bulunmaktadır.

Tümdevre tasarımı genellikle silikon taban üzerinde transistör, direnç, kapasite gibi elektronik bileşenlerin oluşturulması ve iletken metallerle bu bileşenlerin birbirine bağlanması işlemidir. Bu bileşenler birbirinden izole edilerek ve gerektiği yerlerde elektron yapılarıyla oynanarak (doping) istenilen özelliklere göre düzenlenir.

Özelleşmiş tasarımlarda (ASIC), gerekli silikon tipinin (GaAs...vb de kullanılabilir) seçimiyle başlayan bu süreç, FPGA tasarımlarında FPGA seçimiyle başlar. Akabinde tasarımın fonksiyonel testleri yapılır ve tasarım istenilen tümdevre tipine göre silikon üzerine yerleştirilerek, metal hatlar çekilir. FPGA tasarımında

70 elektrik mühendisliği, 432. sayı, aralık 2007

üretilen karta yüklenmesiyle (download) işlem biterken, ASIC tasarımlarda bu süreç tasarımın özel olarak ABD, Avrupa ya da Güneydoğu Asya’daki fabrikalara ürettirilerek, uygun şekilde paketlenmesiyle son bulur.

Tümdevre tasarımında genellikle HDL dillerinden uygun olanı kullanılır. (Hardware Description Language – Donanım Tanımlama Dili) Çeşitli şirketlerde/kurumlarda VHDL, Verilog, iHDL gibi farklı fakat hepsi birbirine çok yakın programlama dilleri yoğun olarak kullanılmakta iken, C++ ile de bu tasarımlar artık yapılabilmektedir. Elbette C++’ın yapısının donanım tasarlamak için çok uygun olmaması nedeniyle, en yoğun olarak dünyada (ve silikon vadisinde) Verilog kullanılmaktadır. Ülkemizde daha yoğun olarak VHDL kullanılmaktadır, bu tercihin sebebi ise VHDL tasarım paketinin maliyetinin çok daha düşük olmasıdır. iHDL, Intel tarafından Pentium 4’lerin geliştirilmesi sırasında 90’lı yılların sonunda tasarlanan ve kısa bir süre kullanılan bir tasarım dilidir; fakat Intel bile artık kendi geliştirdiği iHDL’i bırakmış, endüstri standartlarıyla tasarım yapmaktadır. Cadence, Synopsys, Celoxica gibi büyük şirketler, SystemC adı verilen C/ C++ ile donanım tasarımını ön plana çıkartmakta ve paralel programlama imkanı veren C/C++ kütüphaneleriyle tasarım sürecini hızlandırmaya çalışmaktadırlar. Ayrıca VEE/LABVIEW gibi programların geçtiğimiz yıllarda FPGA desteklerini artırmaları sayesinde, grafiksel veri akış çizelgeleriyle tasarım yapma imkanını, yazılım mühendislerine sağlamaları da sektör için büyük bir gelişmedir.

Türkiye’de ASIC tasarım yapan firma/kurum sayısının oldukça az olması sebebiyle; çoğu büyük şirket ve KOBİ, FPGA üzerinden VHDL ile tasarıma yönelmiş durumdadır. Özellikle tasarım sürecinin hızlanması ve yeniden programlanabilme imkanı nedeniyle FPGA tasarımları pratiklik ve işlevsel güncelleme imkanı sağlamaktadır. Gerek savunma sanayinde, gerekse telekomünikasyon sektöründe her ölçekten çok sayıda yerli firma FPGA kullanarak üretim yapmaktadır. Ankara’da ODTÜ Teknokent’te ve Bilkent Cyberpark’ta kurulu firmaların yanı sıra İstanbul’da ve İzmir yakınlarında da bu tür tasarımlar yapan çok sayıda KOBİ mevcuttur.

Son yıllarda sayısal tasarım teknolojilerinin gelişmesiyle, tasarımların içerisine yerleştirilen ve “çekirdek” (core) adı verilen yapıların alım-satımı da hızlanmıştır. Örneğin bir sinyal işleme kutusu üretilirken, tasarıma eklenecek FFT (Hızlı Fourier Dönüştürücüsü) çekirdeği çok çeşitli firmalardan satın alınıp, kara kutu olarak kodun içerisine yerleştirilebilmektedir. Entegre içerisinde orijinal tasarım şekli bozulmadan yerleştirilmeleri durumunda garanti edilen saat frekansında çalışabilen bu kara kutular, yeterli boş yer olmadığı durumlarda tüm entegre çapında dağıtılabilmekte, fakat azami saat frekansları düşmektedir.

Yazılan tümdevre tasarım kodları (Verilog/VHDL) öncelikle “sentezleme” adı verilen bir işlemden geçirilmekte

ve “sayısal mantık devresi” haline getirilmektedir. Bildiğimiz anlamda “ve”, “veya”, “ve değil”...vb sayısal kapılardan oluşan bu sayısal mantık devresinin, kullanılması istenilen entegre türüne göre (özelleşmiş ya da programlanabilir) önce sentezlenmesi (synthesis), daha sonra ise tümdevre içerisindeki “yerleşimi” yapılmakta (floorplanning) ve “hatları çekilmekte”dir. (place&route) Böylece fonksiyonel işlevselliği doğrulanan tümdevre tasarımı, FPGA üzerine yüklenerek gerçek zamanlı testlere başlanabilmektedir.

Yüksek hızlı karmaşık sinyalleri işlemesi gereken ürünlerde, tasarımcının MATLAB ortamında Xilinx (en büyük FPGA üreticilerinden birisi, www.xilinx.com) firmasının “System Generator” arayüzü ile tasarlayıp MATLAB’da simülasyonunu gerçekleştirdiği sistemlerin, doğrudan FPGA üzerine yüklenebilmeleri ya da yukarıda bahsedildiği gibi “kara kutu” haline getirilip koda entegre edilebilmeleri de olasıdır. Benzer ürünler diğer büyük üretici olan Altera (www.altera.com) tarafından da kullanıma sunulmuştur (DSP Builder, SOPC Builder).

Elektronik tümdevre tasarım otomasyonu şirketleri içerisinde en yoğun olarak kullanılan ürünler Cadence, Synopsys, Mentor Graphics ve Synplicity şirketlerinin ürünleridir. Baskı devre kartı tasarım yazılımı üzerine çok çeşitli firmalar mevcuttur, fakat yazılan Verilog/VHDL kodunun sentezlenmesi her iki tümdevre tipi seçiminde de ortak olduğu için sentezleyici yüksek önem taşımaktadır. Xilinx firmasının çok uygun maliyetle kullanıcılarına sunduğu XST de (Xilinx Synthesis

Tool), yüksek performansla çalışmakta ve Xilinx marka FPGA’ler için pratik bir çözüm olarak karşımıza çıkmaktadır.

Tasarım aşamasında, kodu yazmaya başladığımız andan itibaren Mentor Graphics firmasının geliştirdiği ve endüstriyel standart olan Modelsim

elektrik mühendisliği, 432. sayı, aralık 2007 71

Verilog/VHDL simülasyon ortamı da tasarımcının ilk ihtiyaçları arasındadır. Modelsim, kodun yazıldığı şekliyle teorik simülasyonunu yapmakla beraber, FPGA/ASIC üzerine yerleştirildikten sonra, hatları çeken programın çıktı olarak sağladığı zamanlama bilgilerini de girdi olarak kullanabilmekte ve bu sayede tasarımın FPGA/ASIC üzerinde gerçek zamanlı (1ns çözünürlükle) simülasyonunun yapılabilmesini de tüm gerekleriyle birlikte sağlamaktadır. Benzer simülasyon ortamları Xilinx, Altera, Actel, Aldec, Lattice ve Blue Pacific şirketlerinin ürünleriyle de sağlanmaktadır; fakat Mentor Graphics şirketi, Modelsim isimli ürünüyle tüm dünyada bu alandaki en büyük isim olmayı başarmıştır.

Verilog/VHDL dillerinin bir diğer büyük üstünlüğü test arayüzü sağlamalarıdır. Tasarım kodu yazılırken, ayrı bir “entity” (varlık-kod grubu) olarak da “testbench” adı verilen test arabirimleri yazılabilmekte ve simülasyon sırasında tasarıma istenilen her türlü girdilerin (sinyal ya da vektör, analog ya da sayısal) bu testbench’ler yoluyla girilmesi ve çıkışların analizi sağlanmaktadır. Böylece yapılan tasarım tek bir tuşla tüm testlerden geçirilip sonuç alınabilmekte ve test bilgileri testbench arayüzüyle her türlü yazılıma da aktarılabilmektedir.

Programlanabilir tümdevreler (FPGA) elbette genel kullanım için üretilmeleri nedeniyle, uygulamaya özel üretilen tümdevrelere (ASIC) göre daha yavaş kalmakla beraber, piyasadaki yeni FPGA’ler ortalama 500 megahertz saat frekansı ile çalışabilmeleri ile yüksek hız gereksinimi olan telekomünikasyon ve radar cihazları dahil her türlü cihazın tasarımında rahatlıkla kullanılmaktadırlar.

FPGA’lere çalışmaları için gerekli voltaj ilk verildiği anda, belirli bir arayüz vasıtasıyla kart üzerindeki flash bellekten yüklenerek programlanmaktadırlar. Ayrıca CPLD (karmaşık programlanabilen mantık devresi) adı verilen, daha basit ve flash bellek kullanımıyla hafızası

istenmedikçe silinmeyen programlanabilir entegreler de kullanılmaktadır. CPLD’ler çok daha düşük frekanslarda çalışmakta ve basit kontrol devrelerinin tasarımında kullanılmaktadırlar. Batarya ile çok uzun süre çalışabilen CPLD çeşitleri de mevcuttur.

Son birkaç yıl içinde, FPGA üreticilerinin, programlanabilir entegre içerisine mikroişlemci/powerpc işlemcisi (hatta çok sayıda işlemci) yerleştirerek ürün çeşitliliğine gittikleri de görülmektedir. Bu işlemciler bazı firmalarda doğrudan donanımın içerisine işlemciyi (işlemcileri) gömerek üretmek şeklinde olurken, bazı firmalarda/ürünlerde ise bu işlemcilerin yazılım olarak “kara kutu” şeklinde satıldığı gözlenmektedir. Xilinx, Altera, Altium, Lattice, Virginia Tech ve Pablo Bleyer şirketleri kendi geliştirdikleri “kara kutu” işlemcileri satışa sunmuş başlıca şirketlerdir.

Yüksek sıcaklık, titreşim, radyasyon gibi zorlu koşullara özel üretilen (elbette daha yüksek maliyetli) FPGA tipleri de mevcuttur. Bir ASIC tümdevreyi üretirken çalışacağı koşulların önceden belirlenmesi önem arz ederken, proje gereksinimlerine göre FPGA ve diğer devre elemanlarının seçimi de özenle yapılmalı, yüksek sıcaklık ve radyasyon gibi unsurlar tasarımın her aşamasında dikkate alınmalıdır. Örneğin radyasyona maruz kalabilecek tasarımlarda (uydu...vb cihazların elektronik kartları), doğru malzeme seçilmemesi telafi edilemez sonuçlar doğurabilmektedir.

Gelişen teknolojinin üretimde sağladığı yüksek olanakları kullanmamız, özellikle kontrol ve sinyal işleme teknolojilerinde KOBİ’lerin dünya liderleriyle yarışabilmelerine olanak sağlamaktadır. Düşük maliyetleri, yüksek hızları ve kısa tasarım süreçleriyle FPGA’ler, tüm tasarımlarımızda çok büyük başarılara ve esnek tasarımlara olanak sağlamıştır. <

72 elektrik mühendisliği, 432. sayı, aralık 2007