Strict Standards: Declaration of action_plugin_popularity::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /home2/iaydinc/public_html/coskuner.com/aydin/lib/plugins/popularity/action.php on line 11

Strict Standards: Declaration of action_plugin_blog::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /home2/iaydinc/public_html/coskuner.com/aydin/lib/plugins/blog/action.php on line 171

Strict Standards: Declaration of action_plugin_safefnrecode::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /home2/iaydinc/public_html/coskuner.com/aydin/lib/plugins/safefnrecode/action.php on line 66

Strict Standards: Declaration of action_plugin_captcha::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /home2/iaydinc/public_html/coskuner.com/aydin/lib/plugins/captcha/action.php on line 261

Strict Standards: Declaration of action_plugin_include::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /home2/iaydinc/public_html/coskuner.com/aydin/lib/plugins/include/action.php on line 142

Strict Standards: Declaration of action_plugin_discussion::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /home2/iaydinc/public_html/coskuner.com/aydin/lib/plugins/discussion/action.php on line 1142

Strict Standards: Declaration of action_plugin_showlogin::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /home2/iaydinc/public_html/coskuner.com/aydin/lib/plugins/showlogin/action.php on line 52

Strict Standards: Declaration of action_plugin_translation::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /home2/iaydinc/public_html/coskuner.com/aydin/lib/plugins/translation/action.php on line 90

Strict Standards: Declaration of action_plugin_bookmarkme::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /home2/iaydinc/public_html/coskuner.com/aydin/lib/plugins/bookmarkme/action.php on line 186

Strict Standards: Declaration of action_plugin_tag::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /home2/iaydinc/public_html/coskuner.com/aydin/lib/plugins/tag/action.php on line 117

Warning: Cannot modify header information - headers already sent by (output started at /home2/iaydinc/public_html/coskuner.com/aydin/lib/plugins/popularity/action.php:11) in /home2/iaydinc/public_html/coskuner.com/aydin/inc/auth.php on line 352

Warning: Cannot modify header information - headers already sent by (output started at /home2/iaydinc/public_html/coskuner.com/aydin/lib/plugins/popularity/action.php:11) in /home2/iaydinc/public_html/coskuner.com/aydin/inc/actions.php on line 180
FPGA Üreticileri ve Yazılım Araçları :: Aydın Coşkuner'in Kişisel Web Sitesi
Translations of this page:

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.

Xilinx

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.

Altera

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

Diğer Firmaların Yazılımları

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: 2011/06/12 06:02 (Dışarıdan düzenle)

Her Hakkı Saklıdır © 2005-2012 Aydın Coşkuner
AydinCoskuner.com

chimeric.de = chi`s home Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0