kategoriler: Mikrodenetleyici devreleri
Görüntülenme sayısı: 21445
Makaleye Yorumlar: 0

FPGA nedir yeni başlayanlar için basit bir dil

 

Dijital elektronik nedir? Her şeyden önce, AND, OR, NOT mantıksal elemanları ile. Ayrıca vardiya kayıtları, kod çözücüler, çoklayıcılar vb. Hafızaya alınır. Bununla birlikte, elektronik cihazların karmaşıklığı ve minyatürleştirme eğilimi arttıkça, yukarıdaki bileşenlerden entegre devrelere (IC'ler) dayalı cihazların oluşturulması daha zor hale geldi, gerekli topolojinin ve devrenin özel IC'lerinin sadece cihaz çok sayıda çoğaltıldığında değerli olduğu kanıtlandı, diğer durumlarda makul değildi.

Bu durumun çıkış yolu, programlanabilir entegre mantık devrelerinin (FPGA olarak kısaltılmış, programlanabilir mantık cihazı, PLD olarak yabancı kısaltma) geliştirilmesiydi. Bu makalede ne olduğunu ve nerede kullanıldığını anlatacağız.

FPGA nedir yeni başlayanlar için basit bir dil

Mikrodenetleyicilerden farklılıklar

"Programlanabilir" kelimesi ile yeni başlayanların çoğu mikrodenetleyiciler ile. Programlanmış olmalarına rağmen FPGA'lar tamamen farklı bir cihazdır.

Mikrodenetleyicilerdeki geliştiriciler için, belirli bir çipin doğasında olan sabit bir dizi çözüm ve araç mevcuttur, mimariden geri çekilmek için hiçbir şekilde çalışmaz. Dijital ve analog girişlerden veri okuyarak ve çıkışları kullanarak aktüatörlere sinyal göndererek, çevre ile etkileşim işlemleri gerçekleştirdiğiniz bir dizi komut verilir.

Buna ek olarak, hesaplamalar yapabilir, verileri kayıtlara veya ROM'lara kaydedebilir ve mikrodenetleyicinin belleğine yanıp sönen verilerle çalışabilirsiniz. Bu, özünde, mikrodenetleyicilerle çalışmanın amacı ve özellikleri.

Programlanabilir 769; log 769; tamsayı 769; keten 769; ma (FPGA, programlanabilir mantık cihazı, PLD)

Programlanabilir mantıkla tümleşik devreler (FPGA'lar), bir cihazı programladığınızda, temel mantık öğelerinden bir mimari oluşturduğunuzdan farklıdır. Böylece, çipin yüksek hızını ve esnekliğini elde edersiniz. Bu, bir çipi değiştirmeden bir dizi projenin yapılmasını mümkün kılar.

Genel olarak, dahili FPGA cihazı üç ana gruba ayrılabilir:

1. Bir dizi mantıksal eleman (makroseller, mantıksal bloklar).

2. Giriş / çıkış blokları (IO).

3. Bu bağlantıları kontrol eden cihaz ile aralarındaki iletişim hatları.

Bununla birlikte, bu tür bir yapılandırma çok genelleştirilmiştir, bu sorunu aşağıda daha ayrıntılı olarak ele alacağız.

Programlayarak, elemanları istediğiniz gibi bağlarsınız, bir cihazı tek tek elemanlardan monte eder ve giriş ve çıkışlarını iletkenlere bağlarsınız.

Not:

FPGA'lar ve mikrodenetleyiciler arasındaki temel fark, bir mikro denetleyicide en basit elemanlar arasındaki dahili bağlantıları değiştiremeyeceğiniz ve onlarla programlama ve çalışmanın bağlantıları kaydetmeye dayanmasıdır.

Mikrodenetleyicilerin seçimi aşağıdakiler gibi birçok kritere dayanmaktadır:

  • Hız ve saat hızı;

  • ROM ve RAM miktarı;

  • Giriş ve çıkışların sayısı.

İletişim hatları ve protokolleri (I2C, tek telli, PWM sinyali vb.) İçin destek gibi diğer fonksiyonel özellikler ve çevre birimleri.

Bir FPGA seçerken, ana kriter programlanabilir blok sayısıdır - görevi uygulamak için yeterli olmalıdır.

Spesifik FPGA'ya bağlı olarak, blok sayısı geniş sınırlar ve buna göre maliyet içinde değişebilir.

Mikrodenetleyici, programında belirtilen tüm işlemleri sırayla gerçekleştirirken, FPGA blokları görevi paralel ve birbirinden bağımsız olarak gerçekleştirir, bu nedenle bu cihazları saat frekansı ile karşılaştırmak pratik değildir. Çalışma prensipleri çok farklı.

FPGA Türleri

türleri

Şu anda ilgili iki ana FPGA türü vardır:


1. CPLD (Karmaşık Programlanabilir Mantık Cihazı - Programlanabilir Mantık Entegre Devre, aslında, bu klasik anlamda FPGA). Genellikle yerleşik yazılımın yüklendiği yerleşik bir kalıcı belleğe sahiptir.

İç yapı bir makroseller veya mantıksal bloklar matrisi üzerine inşa edilmiştir ve içindeki elemanların sayısı yüzlerce ve binlerce parça arasındadır. Göreceli sadeliği nedeniyle, bir sonraki programlanabilir mantık türünden daha ucuzdurlar. Bütün bunlar, CPLD'nin basit görevleri yerine getirirken esas olarak yüksek hız ve çok sayıda çıkışa ihtiyaç duyulan devrelerde kullanılmasına yol açar.


2. FPGA (Alanda Programlanabilir Kapı Dizisi - Alanda Programlanabilir Kapı Dizisi, ancak genellikle FPGA olarak adlandırılır) - CPLD'ye kıyasla daha gelişmiş ve karmaşık cihazlar, esnek anahtarlama ile mantıksal bloklar üzerine inşa edilmiştir ve daha fazla sayıda eleman içerir (on veya yüz binlerce parça).

Bellenim genellikle harici kalıcı bellekte saklanır. En basit mantık öğelerine ek olarak, FPGA'lar herhangi bir işlemi gerçekleştirmek için hazır bloklar içerebilir, örneğin DSP sinyal işleme blokları. Bütün bunlar bir işlemci, sinyal işleme cihazları ve diğer karmaşık cihazları uygulamanıza izin verir.


Ben merak:

Aslında kalıcı bellek varlığı programlanabilir mantık CPLD yapmaz. Bu kısmen yanıltıcıdır. CPLD ve FPGA arasındaki temel fark iç yapıdır.

CPLD ve FPGA arasındaki fark iç yapıdır.

Dahili CPLD cihazı aşağıdaki şekilde daha ayrıntılı olarak gösterilmiştir.

CPLD dahili cihazı

Ve makro hücresinin yaklaşık şeması şöyle:

Örnek CPLD makro hücre düzeni

Makrosel, programlanabilir çoklayıcılardan, tetikleyicilerden (bir veya daha fazla) oluşur ve çeşitli versiyonlarda bir grup çıkış FB sinyali oluşturur.

Aşağıdaki başka bir örnek - Altera MAX II yonga ailesinden bir CPLD yongasının blok şeması.

Altera MAX II CPLD Akış Şeması

Ve aynı ailenin fişlerinin yapısal planı.

Altera MAX II CPLD blok şeması

Ara lastikler, İngilizce distribütör gibi bir düğüm kullanılarak makro hücrelere atanır. Aşağıdaki şemada gösterilen bir Mantık Ayırıcısı gibi görünür, aynı zamanda anahtarlama matrisini de gösterir (Global Yönlendirme Havuzu) ve çıkış makro hücrelerinde (makro hücreleri) iki geribildirimi vardır.

Dağıtıcı ve anahtarlama matrisi

Mikro devrenin harici çıkışları, makro hücrelerin çıkışlarına başka bir blok (matris) - ORP (Çıkış Yönlendirme Havuzu) üzerinden bağlanır, bununla INPUT mantığının aşağıdaki şekilde gösterildiği gibi GRP'ye bağlandığını unutmayın.

Not:

Bazı CPLD'ler doğrudan girişler (Doğrudan Giriş) - doğrudan hücrelerin girişlerine bağlanırlar, bu da gecikmeleri azaltır.

FPGA yapısı şu şekildedir:

FPGA yapısı
  • L - mantıksal yapılandırılabilir blok;

  • S (ikame bloğu) - bir ikame bloğu, hareket başına belirli sayıda bit alır, belirli bir algoritmaya göre dönüştürür ve çıkışta farklı sayıda bit çıkarır. Başka bir deyişle, bir kod çözücü, bir şifreleyici ve bir anahtar.

  • C (bağlantı bloğu) - bağlantı bloğu.

S-blok şeması:

 

S-blok şeması



programlama


HDL (Donanım Tanımlama Dili) - FPGA'ların programlandığı dil budur. Popüler ve çok yönlü olan Verilog HDL ve VHDL'dir. ALTERA ürünleri için AHDL gibi üreticilere özgü diğer diller de vardır.

Grafik programlama FPGA'larla çalışan geliştiriciler tarafından kullanılabilir. Yani, mantık devreleri çizebilir veya kodu grafiklerle birleştirebilirsiniz. İkincisi, belirli modüller reçete edildiğinde modüler geliştirme yöntemi olarak adlandırılır ve her şeyin birleştirildiği üst modül grafik olarak programlanır.


Popüler üretici ve seri örnekleri

Yazma sırasında en ünlüsü iki üreticinin ürünleri.

  • Altera (1983 yılında kuruldu);

  • Xilinx (1984 yılında kuruldu).

Altera

Altera'nın birkaç ana programlanabilir mantığı serisi vardır:

  • MAX, MAX II, MAX IIZ;

  • 7000S;

  • 3000A;

  • MAX V;

  • Cyclone;

  • arria;

  • Stratix.

Her birini daha ayrıntılı olarak ele alalım. Aşağıdaki tablolarda, ailenin mikro devreleri hakkında genel bilgileri görebilirsiniz.

Programlanabilir mantığın ana serisinin özellikleri
Programlanabilir mantığın ana serisinin özellikleri

Altera 3 CPLD CPLD:

  • MAX, mobil cihazlarda kullanım için bir CPLD'dir, ayırt edici özellikler nispeten düşük güç tüketimi ve ısı dağılımıdır. Karmaşıklığa ve yayınlanma yıllarına bağlı olarak, aşağıdaki değişiklikler ayırt edilir:

  • 7000S, modası geçmiş, 1995 yılında piyasaya sürüldü.

  • 2002 yılında piyasaya sürülen 3000A, 300nm teknolojisi kullanılarak üretilmiştir. Az sayıda makro hücreden oluşur (32-512)

  • 2004 yılında piyasaya çıkan MAX II, 100nm teknolojisi kullanılarak üretilmiştir, 304 MHz'e kadar frekanslarda çalışan daha fazla sayıda üniteden (240-2210) oluşur. Ürün 100 veya daha fazla ayağı olan 0,5 mil TQFP tipi durumlarda yapılır.

  • MAX IIZ - 2007, ana özellik azaltılmış güç tüketimidir - bu olumlu bir noktadır, ancak frekanslar 152 MHz'ye düşürülür. Bu mikro devreler 1.8 V'tan güç alır.

  • MAX V - 2010 yılı. 180nm teknolojisine göre üretilir, 40 ila 2210 blok içerebilir ve 152MHz veya 304MHz'e kadar frekanslarda çalışabilir - blok sayısına bağlıdır.

Altera 3 CPLD CPLD

FPGA:

  • Siklon bütçe FPGA tipi bir çiptir. Yunanca sayılarla işaretlenmiş beş nesil vardır (sırasıyla I'den V'ye). İlk nesil 2002 yılında piyasaya sürüldü, 180nm teknolojisi kullanılarak üretildi ve beşinci nesil 2011 yılında çıktı ve 28nm teknolojisi kullanılarak üretildi. Tüm nesillerin alakalı kaldığını belirtmek gerekir.

  • Arria - ayrıca orta menzilli FPGA'ya bakın.

  • Stratix - Güçlü FPGA'lar.

Altera FPGA Programlanabilir Mantık Pivot Tabloları aşağıdadır.

FPGA Özellikleri
FPGA Özellikleri
FPGA Özellikleri

Ve bağlantıdaki tüm tablo:

Seri Xilinx CPLD üreticisi sundu:

  • 36-288 makrocellden XC9500XL. 178 MHz'e kadar frekanslarda çalışır ve 208 MHz'de 288 makro hücrede modeller. Küçük durumlarda olduğu gibi birbirinden 0,8 mm mesafede 44 pim (kurşun) ile gerçekleştirilir - bu gibi vakaların kolayca lehimlendiği düşünülür. Ayrıca, 0.5 mm'lik artışlarla 64 ve 100 ayakların yanı sıra PLCC tipi muhafazalardaki modellerde de mevcuttur.

  • CoolRunner-II Serisi enerji tasarruflu ancak üretken bir CPLD'dir. Bir özellik 1.8V voltaj ile beslenir, girişler ve çıkışlar 1.5-3.3V aralığında çalışacak şekilde tasarlanmıştır. 32-512 makro hücreden oluşur ve 180 nm teknolojisi kullanılarak üretilir. Hücre sayısına bağlı olarak, 179-323 MHz frekans aralığında çalışırlar ve hücreler ne kadar küçük olursa, bu durumda daha fazla frekans çalışabilirler. Yukarıda ele alınan serinin mikro devrelerinde olduğu gibi kolayca lehimlenmesi de dahil olmak üzere farklı durumlarda bulunurlar.

Xilinx şirketi geçmedi ve FPGA:

  • Spartan-6 - 6 girişli mantık bloklarından oluşur, sayıları 3840-147443 adettir. DDR2, DDR3, PCI-EXPRESS, Ethernet 1Gbit, SerialATA gibi veri alışverişi için kontrolörler içerebilmeleri ilginçtir.

  • Vitrex-7 serisi karmaşıktır, mikro devreler 2.000.000 mantık bloğu ve 1.200 kontak içerebilir.

Aşağıda, Xilinx 6 ve 7 serilerinden CPLD ve FPGA spesifikasyonlarının yanı sıra Zynq-7000'in özet tablolarını bulabilirsiniz.

Xilinx 6 ve 7 Serisi FPGA Özellikleri
Virtex-6 FPGA'ların özellikleri
FPGA ailesinin özellikleri Spartan-6
FPGA ailesinin özellikleri Spartan-6
FPGA Özellikleri
FPGA Özellikleri

Sonuç

FPGA'lar ve PCVM'ler, Lattice Semiconductor (2002'de FPGA üretmeye başladı), Actel ve sitemizin tanınmış okuyucuları gibi diğer şirketler tarafından da üretilmektedir. mikrodenetleyiciler ATMEL ve diğerleri. Programlanabilir mantıkta, bir cihazda birbirinden bağımsız paralel hesaplamalar uygulamak için bir dizi cihaz uygulamak mümkündür, ancak, ev projeleri için satın alımları genellikle finansal olarak haksızdır, ancak özel entegre devrelere alternatif olarak bir üretim ölçeğinde oldukça makuldür.

Not;Videoyu izleyin, içinde FPGA'da Nintendo oyun konsolunun uygulanmasına bir örnek göreceksiniz:

Ayrıca bkz. electro-tr.tomathouse.com:

  • Fonksiyonel Blok Diyagram Dili (FBD) ve Uygulaması
  • Modern entegre devre türleri - mantık türleri, durumlar
  • Mantık yongaları. 1.Bölüm
  • Yeni başlayanlar için PIC mikrodenetleyiciler
  • Ev Otomasyonu için Programlanabilir Mantık Denetleyicileri

  •