FPGA Üreticileri ve Yazılım Araçları

FPGA ile tasarım yapmaya karar verdiniz ve kullanacağınız üreticiyi seçmek istiyorsunuz. Üretici seçimini yaparken dikkat etmeniz gereken önemli unsurlardan biri de üreticinin size sunduğu yazılımlar ve IP'ler (Intellectual Property'ler) olacaktır. IP'nin kısaca anlamı FPGA'e yükleyip kullanabileceğiniz hazır devre tasarımıdır. Bu tasarımlar VHDL ve Verilog kodu olabileceği gibi sadece hazırlayan firmanın FPGA'lerine uyabilecek sentezlenmiş de olabilirler.

Bunlardan bahsetmeden önce FPGA üretimi yapan ana firmaların isimlerini vereyim:

  • Xilinx
  • Altera
  • Actel
  • Lattice Semiconductor
  • QuickLogic
  • Atmel

Xilinx ve Altera pazar payının büyük bir kısmını uzun süredir elinde bulunduran firmalardır (Kaynak: EEtimes 1, 2). Bu yüzden kendi yazılımları ve IP'leri diğerlerine nazaran çok daha fazladır. Bunun için bu iki şirketin araçlarını ele almaya çalışacağım. Diğer FPGA firmalarının kullandığı yazılım araçları genellikle third party denilen başka firmalar tarafından hazırlanmaktadır. Ama bu şirketlerin de kendi sundukları IP'ler vardır.

Aşağıda Xilinx ve Altera'nın sunduğu araçları kısaca açıklamaya çalışacağım. Bu kısa açıklamaların giriş için yeterli olacağını ve FPGA araçlarının ne işe yaradığı (nedir, ne değildir) hakkında fikir vereceğini düşünüyorum.

ISE

Xilinx FPGA'leri ile tasarım yapmak için gerekli ana yazılım ISE Design Suite'dir. Ana amacı devreyi verilen tasarımı (şematik, vhdl, verilog) FPGA'e yüklenecek kod haline getirmektir. Bunun için verilen tasarım dört aşamadan geçer (synthesize, map, place&route, bitstream generation).

Bu işlemleri ISE otomatik olarak yapar. Basit bir tasarım için bu aşamalara müdahale etmek çok gerekli değildir. Ama bu aşamaların neler olduğunu öğrenmek FPGA'in çalışma mantığını anlamak açısından faydalı olacaktır. Çok kısaca bu aşamalar şöyle açıklanabilir:

Synthesize: VHDL, Verilog tasarımı anlamlı bir devre haline getirir (Çıktısı şematik gibi düşünülebilir).

Map: Üretilen devrenin FPGA içerisindeki kaynaklar cinsinden ifade edilmesini sağlar. Mesela bir VE kapısının (OR), LUT içerisine gireceğine karar verilir.

Place & Route: Map işleminden geçen devrenin elemanlarının FPGA içerisinde tam olarak nereye geleceği belirlenir. Burada tasarım artık FPGA'e yerleştirilmiş olur.

Bitstream Generation: Bu aşamada kullanıcı müdehalesi neredeyse hiç gerekmez. Translate aşamasında hazırlanmış tasarımın, FPGA yüklenecek bir formatta dosyaya (*.bit) yazılmasıdır.

ISE Simulator

ISE tasarım araçları ile birlikte satın alınabilen bir benzetim (simulasyon) programıdır. Yazılan kodların FPGA'e yüklenmeden önce nasıl davranacağını öğrenmek için simulasyon çok gereklidir. Yapılan devre tasarımı ISE Simulator'a verilecek Testbench vasıtasıyla test edilebilir.

ChipScope

Xilinx firmasının ISE'den ayrı olarak sattığı bir programdır. Bilgisyarınızı Lojik Gözlemleyici (Logic Analyzer) olarak kullanmanızı sağlar. FPGA üzerine eklenecek devrelerle FPGA çalışırken kaydettiği verileri bilgisayarınıza gönderir. Böylece hiçbir ekstra donanım olmadan kartın üstünde FPGA'e bağlı sinyaller gözlemlenebilir. Ayrıca asıl önemli tarafı FPGA içerisinde çalışan devrelerin iç sinyallerini gözlemeye imkan verir. Böylece FPGA'e yüklenenen devre içerisindeki bir sorun çok hızlı bir şekilde tespit edilebilir.

Impact

ISE programı ile birlikte gelen bir programdır. Program JTAG Chain'i içerisinde olan entegreleri programlamaya yarar. Bunun için uygun bir programlayıcının bilgisayara bağlı olması gerekmektedir.

EDK

EDK(Embedded Development Kit) ile FPGA içerisine işlemci konularak, işlemcinin ve çevre birimlerinin yönetilmesini sağlayan yazılımdır. EDK'da yönetilebilen iki işlemci vardır, bunlar Microblaze ve PowerPC'dir.

  • Microblaze işlemcisi FPGA kapasitesinin yettiği tüm FPGA'lere konulabilir (Mesela Spartan3E-250'ye sığabilmektedir). Microblaze Soft bir işlemcidir. Yani FPGA içerisindeki lojik birimlerin programlanmasıyla oluşturulur. Bundan dolayı Microblaze işlemcisinin kullanılması programlanabilir lojik kaynaklarını azaltır.
  • PowerPC işlemcisi ise FX serisi FPGA'lerde bulunmaktadır. Bu işlemci devresi ise direk FPGA çipinin içerisine gömülmüştür. Yani FPGA'in diğer programlanabilir lojik kaynaklarını tüketmez. Tabii ki içerisinde PowerPC bulunduran FPGA'lerin fiyatları benzerlerine göre çok daha fazladır.

Microblaze işlemcilerin çalışma frekansları 150 MHz'e kadar çıkabilmekteyken, PowerPC işlemcileri 500 MHz'lerde çalışabilmektedir.

Parallel/USB Cable

JTAG üzerinden FPGA veya EEprom'larını programlayan cihazlara denir.

Buradaki araçların kullanım amaçlarını daha sonra ekleyeceğim

Quartus II

ModelSim-Altera Edition

Quartus II SignalTap II

Quartus II Programmer

Quartus II Nios 2

ByteBlaster

Sentezleyici

  • Synopsys Synplify Pro
  • Mentor LeonardoSpectrum

Simülator

  • Aldec Active-HDL
  • Aldec Riviera-PRO
  • Mentor Graphics ModelSim
  • Cadence NCSim
  • Synopsys VCS MX
  • Synopsys VCS
  • projelerim/elektronik/fpga/uretici.txt
  • Son değiştirilme: 2019/05/08 21:25
  • (Dışarıdan düzenle)