Programlanabilir çip tasarım programları değişir. Donanım - ALTERA: programlanabilir mantık çipleri (giriş materyali). altera ürünleri. En büyük PLS geliştiricilerinden biri olan altera, 1983 yılında kuruldu.


(C) Araştırma/VolgaSoft Modern teknolojiler. ALTERA.(giriş materyali) GİRİİŞ Bu makale, modern küçük bir mucizeden, dijital elektronik dünyasında hesaplanmış bir atılım olan programlanabilir mantık çiplerinden bahsedecek. Bu, en modern modellerde duran tuğladır. ZX-SPECTRUM - GMX ve SPRINTER , bu, Z80X'ten (örneğin, 30 MHz, makine döngüsü 1 saati) her şeye kadar hemen hemen her şeyi yapabileceğiniz aynı mikro devredir. Pentagon 2D hızlandırıcı, GS, fare ve IDE denetleyiciyle birlikte. Muhtemelen her radyo amatörü, dijital bir cihaz geliştirirken, kalbinde - tüm hastalıklar için bir hapın nerede bulunacağını - her şeyin yerini alacak bir mikro devre hayal etti. Mühendislerin özellikle bu tür cihazlara ihtiyacı vardı, çünkü ciddi bir ürün geliştirirken "görev için" özel bir entegre devre tasarlamak zorundaydılar. Mantığın oluşturulduğu andan çalışan ürünün ortaya çıkmasına kadar, genellikle birkaç ay geçti ve büyük miktarda kaynak harcandı. Ancak talep arzı yaratıyor; yarı özel büyük ölçekli entegre devreler (LSI) ve programlanabilir mantık dizileri (PLA) ortaya çıktı. Bilim durmadı, teknolojiler giderek daha da gelişti ve bir gün “yazılım” + “donanım” + “taş” paketinin yayınlandığı duyuruldu. Fikir çok basitti: Geliştirici yazılımda bir diyagram çizer (belki de bunu kağıttan aktarır) veya gelecekteki ürünün mantığını ikili denklemler ve basit operatörlerle açıklar, ardından derleyici diyagramı bir koda çevirir ve kod bir programcı ("donanım") tarafından programlanabilir bir mantık çipine ("taş") dikilir ve bu çip karta hemen lehimlenebilir. Ayrıca çip geliştirme veya test etme maliyeti yoktur. Dijital cihaz geliştiricileri yeni ürünü büyük bir heyecanla benimsedi. Bugün piyasada çok sayıda LSI programlanabilir mantık (PL) üreticisi bulunmaktadır. Ürünleri hem kapasite hem mimari hem de yazılım ve donanım desteği kalitesi, hizmet ve sonuçta maliyet açısından farklılık gösterir. Bugünün açık lideri şirkettir Altera Şirketi . Sadece geniş ürün yelpazesiyle değil, aynı zamanda ürünlerinin yetkin dağıtımıyla da pazarı fethetti. Örneğin yazılım ürünlerinin (öğrenci versiyonları) eğitim amaçlı kullanımı ücretsizdir. Rusya için genel olarak önemli değil (neredeyse hiç kimse telif hakkı yasasını görmedi), ancak yurtdışında bu konu alakalı. Ek olarak, şirketin ürünleri tam anlamıyla iç pazara girdi - sonuç olarak artık neredeyse hepimiz bu pazardayız. SÖZLERDEN HAREKETE Altera'dan VLSI PL aşağıdaki kriterlere göre sınıflandırılmıştır: 1) entegrasyon derecesi (mevcut kapıların sayısı (2I-NOT elemanları) ve flip-flop'lar); 2) en basit işlevsel dönüştürücünün (hücre) mimarisi; 3) VLSI'nin iç yapısının organizasyonu ve fonksiyonel dönüştürücülerin bağlantı matrisinin yapısı (hücreleri bağlama yöntemi); 4) dahili RAM belleğinin varlığı; 5) programlanabilir bir elemanın (Sigorta, EPROM, EEPROM, FLASH, SRAM) üretim teknolojisi - devrenin nasıl kablolandığı. BIS PL şirketlerinin çoğuyla çalışmak Altera MAX+plus II donanım tanımlama dilini sunar. MAX+plus II tasarım otomasyon sistemi altı VLSI PL ailesini destekler.┌─────────┬──────────────────────┐ │ │ Parametreler │ │ ├────────── ┬─────┬─────┤ │Aile│Mantık│UPin │Teknoloji │ │ │ kapasite │ │ │ │ │ │ │ │ │ ├─── ──────┼────── ────┼─────┼─────┤ │Klasik │ 300-900 │22-64│EPROM│ │MAX5000 │ 600-3750 │24-84│EPRO M │ │MAX7000E │ 600-5000 │ 164│EEP- │ │MAX9000 │ 6e3-12e3 │216│ROM'a kadar │ │FLEX8000A│ 2500-16e3│208│SRAM'a kadar │ │FLEX10K │ 1e4-1e5 │406'ya kadar │SRAM │ └── ───────┴─ ─────────┴─────┴─────┘Mantıksal kapasite mevcut 2I-NOT elemanlarının sayısıdır; yani FLEX10K'ya 25.000'e kadar LA3'ümüz sığabilir. UPin - kullanıcı pinlerinin sayısı. Teknoloji - teknoloji. Tablonun pratik açıklaması: diyelim ki en ölü FLEX8000A'yı aldık (SRAM teknolojisi - yani, gücü açtıktan sonra cihazın devresi alternatöre "dökülmeli"), kullanıcının ayakları Rodimigo veriyoluna astık. Speccy (birkaç tane boş kalacak olacak), toplu olarak basit bir port kod çözücü yapıp onu alterina girişine bağlıyoruz. Ne elde ederiz? Süper bir cihaz elde ettik!!! Sonuçta, artık hemen hemen her şemayı bir altere aktarabilirsiniz!!! Harici bir paspastan herhangi bir şey olabilir. işlemci (diyelim ki 16 bitlik bir sayıyı bayt bayt bir bağlantı noktasına, ikinci sayıyı başka bir yere, işlem kodunu başka bir yere koyduk, sonra sonucu okuduk), akla gelebilecek her şeye (dürttüyseniz) birkaç serbest bacak “nerede olmalı” - bölümlerin donanım dolgusunu ve donanım yapısını, çok kanallı programlanabilir kesintileri (özellikle dijital ses ile ilgili), yeni işlemci komutlarını (olduğu gibi) yapabilirsiniz."sprinter" veya ek işlemci kayıtları....). İnatçı "kodlayıcıların" hala yaptığı gibi büyük işlevler icat etmemek için donanım işlevleri kitaplıkları oluşturabilir ve bunları göreve uygun olarak okuyabilirsiniz. Aynı FLEX8282A devresinin "ürün yazılımı" ("en ölümcül", yukarıya bakın), hafızam bana doğru hizmet veriyorsa 6kB ağırlığındadır. Yapılandırma sırasında tüm kullanıcı bacakları Z durumundadır ve sistemin çalışmasını etkilemez. Bir cihazı "sonsuza kadar dayanacak" hale getirmeniz ve onu her açtıktan sonra yapılandırmamanız gerekiyorsa, MAX ailesini kullanabilirsiniz. Ayrıca, MAX ailesinin bazı LSI'leri "devre sızıntısına" karşı korumaya sahiptir - biraz geliştirme gizliliği, ancak bence bu ailenin kullanımı, ihtiyaç nedeniyle (en azından "ev" koşullarında) biraz sınırlıdır. programcı ve sınırlı sayıda programlama döngüsü.ŞİMDİ GELİŞTİRME ORTAMI HAKKINDA BİRKAÇ SÖZ: DONANIM AÇIKLAMASI DİL MAX + PLUS II.MAX + plus II sistemi aşağıdaki platformlar için yazılmıştır: PC, MAC, GÜNEŞ. Ne Speccy Bazı nedenlerden dolayı, kötü şöhretli kız arkadaşı bile bu listede yoktu. Sistem çok iyi, basit ve geniş olanaklara sahip. Ana bileşenler grafik ve metin düzenleyicileri, bir derleyici, bir diyagram düzenleyicisi (“hata ayıklayıcı” olarak da bilinir), bir zamanlayıcı ve bir düzen ve düzen düzenleyicisidir. Grafik düzenleyicide cihazın bir diyagramı çizilir (eğer bir grafik görevi kullanılıyorsa). Planın unsurları olarak “burjuva konuğuna göre” mantığını kullanabilirsiniz, 74. serinin tamamı oradadır ve eğer düşmanın tanımlamalarını beğenmiyorsanız her şeyi önümüze çizip çalıştırabilirsiniz. Donanımın metin açıklamasını sağlamak için bir metin düzenleyici kullanılır. Dil arasında bir yerde dBase, C, Pascal . Senkron sonlu durum makinesini tanımlamak için neredeyse hazır bir komut var, ayrıca eğer ve durum . Toplayıcı kelimenin tam anlamıyla şu şekilde tanımlanır: C=A+B . Bir telefon çip kartı hiç zorlanmadan bir saat içinde anlatılır ve test edilir (aşağıya bakınız). Derleyici şemayı (veya metni) kontrol eder ve verilen "tuğla" için ürün yazılımı oluşturur. Hız ve hacim için geniş çapta ayarlanabilen optimizasyon sınırları, cihazdan maksimum performansı veya çip üzerinde kaplanan minimum alanı sıkıştırmanıza olanak tanır. Doktorun tasarladığı faydalı bir şey var. Yarışların ve tehlikeli yerlerin nerede olduğunu ve hangi koşullar altında ortaya çıkacağını gösterir, cihazı açtıktan sonra sıfırlamaya basmayı istemeyi vb. unutmaz. Diyagram düzenleyicide gelecekteki cihazın çalışmasını simüle edebilirsiniz: diyelim ki giriş sinyallerini ayarlıyorsunuz ve karşılık gelen çıkışlara bakıyorsunuz; yarışlar da görüntülenmeyi unutmuyor. Bu nedenle devreyi kurmadan önce “max” konumunda çalıştırıp kontrol etmek daha iyidir. Doğru, aynı zamanda bir hata da vardı - T tetikleyicisi R.S. , farkla senkronize olmasına rağmen pratikte sürülmüş. Diyagramları görüntülemek çok kolay hale getirildi: diyagramları gruplar halinde birleştirerek ve görüntülemesi kolay bir sayı sistemi (ikili, ondalık, onaltılı) sunarak görüntüleyebilirsiniz. Giriş verileri kodla da belirtilebilir Gri . Ayrıca makinenin dahili durumlarını da görüntüleyebilirsiniz. Zamanlayıcı (aynı zamanda Afrika'da da kullanılan bir zamanlayıcıdır) gecikmeleri ve cihazın mümkün olan maksimum çalışma frekansını gösterir. Düzen ve düzen düzenleyicisi, yarışların "donanım" olarak kaldırılması (mantık hücrelerinin yeniden düzenlenmesi) ve özel pinlerin yerleştirilmesi için kullanılır. Distribütör fiyatı Altera Ne yazık ki kaybettim, bu yüzden sadece FLEX10K10'un fiyatının 20 dolardan, FLEX8282A'nın 8 dolardan, MAX ailesinin elemanlarının fiyatının 3,3 dolardan başladığını hafızamdan söyleyebilirim. Nereden bilgi alabileceğinizi merak ediyorsanız makalenin sonuna doğru ilerleyebilirsiniz çünkü daha fazla bilgi gelecektir.AİLELER HAKKINDA DAHA FAZLA BİLGİ Classic ailesi 3 seri VLSI içerir. Bu ailenin LSI'leri, 10 ila 20 mikro devre içeren bir cihazın orta derecede entegrasyonla değiştirilmesini mümkün kılar ve şunları sağlar: * LSI'nin herhangi bir giriş ve çıkışından 10 ns'den fazla olmayan sinyal yayılma gecikmesi; * 100 MHz'e kadar frekanslarda kararlı çalışma; * düşük güç tüketimi modunda çalışma yeteneği; * geliştirme gizliliği modunu ayarlama yeteneği (devre mikruhi'den birleştirilemez). Not: Zaten durdurulmuş gibi görünüyorlar. MAX5000 ailesi 5 seri VLSI içerir. Bu ailenin LSI'leri, ortalama entegrasyon derecesine sahip birkaç düzineye kadar mikro devre içeren bir cihazın değiştirilmesini mümkün kılar ve şunları sağlar: * LSI'nin herhangi bir giriş ve çıkışından gelen sinyal yayılımında 15 ns'den fazla olmayan bir gecikme; * 76 MHz'e kadar frekanslarda kararlı çalışma; * geliştirme gizliliği modunu ayarlama yeteneği; * Çıkış tamponlarının üç çalışma modunu kullanma yeteneği: giriş, çıkış, çift yönlü. MAX7000 ailesi 7 seri VLSI içerir. Bu ailenin LSI'leri, yüzlerce mikro devre içeren bir cihazın orta derecede entegrasyonla değiştirilmesini mümkün kılar ve şunları sağlar: * LSI'nin herhangi bir girişinden çıkışına kadar sinyal yayılma gecikmesi 5 ns'den fazla değildir; * 178 MHz'e kadar frekanslarda kararlı çalışma; * çıkış tamponlarının anahtarlama hızını düzenleme yeteneği; * Çıkış tamponlarının 4 çalışma modunu kullanma imkanı: giriş, çıkış, çift yönlü, açık kollektör; * hem bir bütün olarak tüm VLSI için hem de bireysel sinyallerin yayılma devreleri için düşük güç tüketimi modunu ayarlama yeteneği; * kartta kablolama yapıldıktan sonra programlama ve yeniden programlama imkanı; * geliştirme gizliliği modunu ayarlama yeteneği; * azaltılmış (3,3 V) besleme voltajıyla çalışır. Not: Bazı seriler PCI veri yolu standardına uygundur. FLEX8000A ailesi 7 seri VLSI içerir. Bu ailenin LSI'leri, mikro devreler üzerinde yapılmış düzinelerce kartı kaplayan bir cihazın orta derecede entegrasyonla değiştirilmesini mümkün kılar ve aşağıdaki yetenekleri sağlar: * 294 MHz'e kadar frekanslarda kararlı çalışma; * 3 durumlu dahili veri yolunun emülasyonu; * azaltılmış (3,3 V) besleme voltajıyla çalışın; * karışık (3,3 V, 5 V) besleme voltajına sahip sistemlerde çalışır; * "Anında" dahil olmak üzere sınırsız sayıda konfigürasyon döngüsünün uygulanması, yani. VLSI güç kaynağını kapatmadan; * çıkış tamponlarının anahtarlama hızının düzenlenmesi; * Çıkış tamponlarının 3 çalışma modunu kullanma imkanı: giriş, çıkış, çift yönlü. Not: Bu serideki tüm VLSI'ler PCI veri yolu standardına uygundur. MAX9000 ailesi 4 seri çip içerir. Bu ailenin LSI'leri, mikro devreler üzerinde yapılmış düzinelerce kartı kaplayan bir cihazın orta derecede entegrasyonla değiştirilmesini mümkün kılar ve aşağıdaki özellikleri sağlar: * 125 MHz'e kadar frekanslarda kararlı çalışma; * makro hücrenin mantıksal kısmının ve tetikleyicisinin bağımsız kullanımı; * hem bir bütün olarak tüm VLSI için hem de bireysel sinyallerin yayılma devreleri için düşük güç tüketimi modunu ayarlama yeteneği; * kartta kablolama yapıldıktan sonra programlama ve yeniden programlama imkanı; * karışık (3,3 V, 5 V) besleme voltajına sahip sistemlerde çalışır; * çıkış tamponlarının anahtarlama hızının düzenlenmesi; * Çıkış tamponlarının 3 çalışma modunun kullanımı: giriş, çıkış, çift yönlü. Not: Bazı seriler PCI veri yolu standardına uygundur. FLEX10K ailesi 7 seri VLSI içerir. Bu ailenin LSI'leri, mikro devreler üzerinde yapılmış yüzlerce kartı kaplayan bir cihazın orta derecede entegrasyonla değiştirilmesini mümkün kılar ve aşağıdaki yetenekleri sağlar: * 450 MHz'e kadar frekanslarda kararlı çalışma; * 24 Kbit'e kadar kapasiteye sahip statik bellek ve ROM'un çip üzerinde uygulanması; * mantıksal kısmın bağımsız kullanımı ve her mantıksal öğenin tetikleyicisi; * 3 durumlu dahili veri yolunun emülasyonu; * dahili saat frekansının çarpılması; * karışık (3,3 V, 5 V) besleme voltajına sahip sistemlerde çalışır; * "Anında" dahil olmak üzere sınırsız sayıda konfigürasyon döngüsünün uygulanması, yani. VLSI güç kaynağını kapatmadan; * çıkış tamponlarının anahtarlama hızının düzenlenmesi; * Çıkış tamponlarının 4 çalışma modunu kullanma imkanı: giriş, çıkış, çift yönlü, açık kollektör. Not: Bu serideki tüm VLSI'ler PCI veri yolu standardına uygundur. Bu kadar. Sadece ilerlemenin durmadığını ve her seri ailesinde daha fazlasının olduğunu ekleyeceğim. GÖRÜNÜMLER WWW.ALTERA.COM - Orada MAX + Plus II programına ilişkin daha ayrıntılı bilgi ve elektronik anahtarlar alabilirsiniz (öğrenci veya araştırmacı gibi davranarak).EFO şirketi. E-posta: [e-posta korumalı] Tel. (812) 247-5340 194021 St. Petersburg, Politekhnicheskaya st., 21(burada ilgili elemanları satın alabilirsiniz).LİTERATÜR 1. ALTERA element tabanının gözden geçirilmesi (Antonov A.P., Melekhin V.F., Fillipov A.S.; St. Petersburg 1997) 2. Aynı kitap (sadece daha büyük görünüyor) videoda MAX + Plus II ile kompakt olarak sunulmaktadır.PDF (görünüşe göre) 45 MB), İngilizce olmasına rağmen.

ALTERA programlanabilir mantık entegre devreleri ve MAX+PLUS II bilgisayar destekli tasarım sistemi

Programlanabilir mantık entegre devreleri (FPGA'ler) veya yabancı literatürde PLD (programlanabilir mantık cihazları) olarak adlandırılan, mimari ve teknolojik özellikleri sayesinde özel teknik ekipman gerektirmeden geliştirilip üretilebilen yarı özel dijital LSI'lerdir. FPGA'ler 80'li yılların ortalarında dünya pazarında ortaya çıktı. Ve özel bir LSI oluşturma sürecini fabrikadan tasarımcının işyerine taşıyarak hemen yaygınlaştılar. LSI geliştirme döngüsü birkaç saate indirildi ve ilgili maliyetler önemli ölçüde azaldı.

90'lı yılların başından beri. En büyük talep aşağıdaki özelliklere sahip FPGA'lere yöneliktir:

CMOS teknolojilerine dayalı yüksek mantıksal entegrasyon;

80 -100 MHz ve daha yüksek hızlara kadar;

Programlayıcı olmadan programlama imkanı (dahili konfigürasyonun yüklenmesi).

Tüm bu gereksinimler, FPGA alanında dünya lideri olan ALTERA (ABD) firmasının FPGA'leri tarafından karşılanmaktadır. Şu anda ALTERA, çeşitli mimarilere sahip yedi FPGA ailesi üretmektedir [14].

Rusya'da en ünlü FPGA'ler bir süredir INTEL tarafından üretilen Classic ailesidir. Bu mikro devrelerin temel avantajları basitlik, düşük maliyet, kurulumu kolay DIP paketleri, statik modda mikro enerji tüketimi ve ev içi araçlarla (CAD FORS+, Blitz, Sterkh, Forsys programcıları) desteklenebilme yeteneğidir. FPGA EP220, herhangi bir 1556 serisi mikro devrenin (HP4, HP6, HP8, XL8) yerini alır.

Tüm FPGA'ler, aşağıdaki güç tüketimi parametrelerini sağlayan ultraviyole silinebilir CMOS (EPROM) teknolojisi kullanılarak üretilmiştir:

statik modda - 10-30 µA;

1 MHz - 2-8 mA frekansında;

artan saat frekansıyla - 1 mA/MHz.

Ürünlerin seri üretimi sırasında fiyatı %30-40 oranında düşürmek için tüm FPGA'ler ayrıca tek seferlik programlama ile plastik ambalajlarda (DIP ve PLCC) üretilmektedir.

Klasik ailedeki FPGA'lerin dezavantajları, nispeten düşük entegrasyon derecesi ve bazı mimari özelliklerdir: tetikleyicilerin "1" (SET) olarak ayarlanması için girdi eksikliği, dahili bellek elemanlarını uygularken kontakların engellenmesi.

MAX7000 ve FLASHlogic ailelerinin matris mimarisine sahip FPGA'leri; “AND”, “OR” ve flip-flopların programlanabilir matrislerini içerir.

MAX7000 ailesi, 32'den (EPM7032) 256'ya (EPM 7256) kadar flip-flop içeren, entegrasyon seviyeleri 1.200 ila 10.000 eşdeğer mantık kapısı arasında değişen yedi çipten oluşur.

Ek olarak, 3,3 V besleme voltajına sahip EPM7032 mikro devresinin işlevsel bir analogu olan FPGA EPM7032V üretilir.

MAX7000 FPGA ailesi, elektrikle silinebilir CMOS (EEPROM) teknolojisi kullanılarak üretilmiştir. Sağladıkları:

girişten çıkışa minimum sinyal yayılma gecikmesi 5 ns;

maksimum saat frekansı 190 MHz;

100'e kadar programlama/silme döngüsü.

MAX7000 FPGA ailesi esnek bir mimariye sahiptir. Makro hücreleri iki bağımsız geri bildirim hattı içerir; tetikleyiciden ve kontaktan. Bu, flip-flop'un dahili bir kayıt olarak kullanılmasına ve pinin aynı anda bir giriş portu olarak kullanılmasına olanak tanır. FPGA'nın ek kaynakları, ters çıktıları "VE" elemanlarının matrisi ile geri besleme bağlantıları oluşturan genişletme terimleri - bağlayıcılardır. Terimler, makro hücreler harcamadan kontrol sinyalleri (örneğin, CLK, SET, RESET) oluşturmanıza olanak tanır. Terimlerin makro hücreler arasında yeniden dağıtılması sonucunda “OR” elemanlarının giriş sayısı 32'ye çıkarılabilir.

Her makro hücrenin, programlanması performansta hafif bir düşüşle güç tüketimini azaltmanıza olanak tanıyan ayrı bir turbo biti vardır. 1996'dan başlayarak, tüm MAX7000 ailesi FPGA'leri ISP (sistemde programlanabilir) modelinde mevcut olacaktır. Bu, bilgisayar bağlantı noktasına bağlı 4. sinyal arayüzü aracılığıyla devreyi doğrudan çalışma kartı üzerinde programlamanıza ve silmenize olanak tanır. Bir programcının varlığı isteğe bağlı hale gelir ve bu da FPGA'ların kullanım maliyetini büyük ölçüde basitleştirir ve azaltır.

MAX7000 FPGA ailesi düşük maliyetlidir. Örneğin EPM7032 yongasının fiyatı 7'den, EPM7128 yongasının fiyatı ise 25'ten azdır.

MAX7000 ailesinin ortaya çıkışıyla birlikte, MAX5000 ailesinin daha önce üretilmiş FPGA'lerinin pratik değeri önemli ölçüde azaldı çünkü daha iyi performans özelliklerine ve daha düşük fiyatlarla güç tüketimine sahip tüm mikro devrelerin analogları (örneğin, EPM5128 - EPM7128) ortaya çıktı.

MAX+PLUS II, FPGA üretiminde dünya lideri olan Altera Corporation tarafından geliştirilen otomatik programlanabilir mantık entegre devre (FPGA) tasarım sistemidir.

MAX+PLUS II, tasarımcının FPGA üzerinde uygulamayı planladığı devreye girerek FPGA'nın programcı üzerinde programlanmasıyla sona eren tasarımcıya tamamen bir FPGA tasarlama yeteneği sağlayan çok işlevli bir yazılım ürünüdür.

MAX+PLUS II aşağıdaki kullanıcı seçeneklerini sunar:

fonksiyonel diyagramın grafiksel girişi ile FPGA'nın iç yapısının girişi;

Tamamen MAX+PLUS II kabuğuna yerleşik olan üst düzey programlama dili Altera Donanım Tanımlama Dili (AHDL) kullanılarak FPGA'nın iç yapısının girişi;

FPGA işleminin zamanlama diyagramları şeklinde modellenmesi;

Bir programlayıcınız varsa tasarlanan yapıyı FPGA vb.'ye yazın.

AHDL kullanarak bir FPGA'nın iç yapısını açıklarken çeşitli seçenekler mümkündür.

İlk seçenekte yapıyı ilkellerde tanımlayın, yani. RS tetikleyici, D tetikleyici, T tetikleyici, JK tetikleyici vb. gibi basit işlevleri kullanarak.

İkinci seçenekte, açıklamayı ilkelleri ve mega işlevleri kullanarak gerçekleştirin.

Mega işlevler, sayaç, çoklayıcı, kod çözücü, kayıt defteri vb. gibi karmaşık mantıksal işlevlerdir.

İlk seçeneğin avantajı, çevirmenin AHDL dilinin en basit işlevlerini makine kodlarına dönüştürmek için daha az zaman harcamasıdır.

Bu seçeneğin dezavantajları, program metninin büyük hacmi ve tüm sistemin ayrıntılı bir açıklamasına duyulan ihtiyaçtır.

İkinci seçenekte, mega işlevler kullanıldığında, programcının yalnızca karmaşık bir mantıksal işlevin parametrelerini ayarlaması anlamında öğelerin ayrıntılı bir açıklamasına gerek yoktur. Örneğin, lpm_counter mega işlevini kullanarak, bir sayaç yalnızca saatli girişi ve sayacın genişliğini belirterek tanımlanabilir. Bu, program metninin kapladığı hacmi önemli ölçüde azaltır ve ayrıca bir program yazmak için gereken süreyi biraz azaltmanıza olanak tanır.

Dezavantajı ise programın makine kodlarına çevrilmesinin ilk seçeneğe göre daha fazla zaman almasıdır.

Ancak sonuçta sonuç aynıdır, dolayısıyla bir yazılım ürününün yazım tarzı tamamen tasarımcıya bağlıdır.

SIMULATOR MAX+PLUS II, yazılı bir yazılım ürününde hata ayıklama yaparken FPGA işleminin sonucunu zamanlama diyagramları şeklinde ayrıntılı olarak incelemenize olanak tanır. Tasarımcı, programda açıklanan çeşitli çıktıları ve ara durumları seçebildiği gibi, çeşitli giriş eylemlerini de belirleyebilir.

GİRİİŞ

Genellikle birisi çalışan bir kart gördüğünde hep aynı soruları sorar: - Bu bir Arduino mu? - Arduino olmadan nasıl çalışır?

Bu bir mikrodenetleyici değil, hatta bir işlemci bile değil, bir FPGA. FPGA programlanabilir bir mantık entegre devresidir, böyle bir mikro devre birçok aynı bloktan veya makro hücreden oluşur, her üretici bunları farklı şekilde adlandırır, bu nedenle Xilinx için Altera - LogicElements (mantıksal öğeler) için Dilimler (dilimler). Bu bloklar nispeten basittir, birkaç mantıksal öğe olarak hareket edebilir, küçük bir arama tablosu (LUT) olabilir, hazır bir toplayıcı, çarpan, dijital sinyal işleme (DSP) bloğu içerir ve genel olarak üreticinin aklında olan her şeyi içerir. . Kullanıcı bu blokları dilediği gibi düzenleyip yapılandırabiliyor, böylece oldukça karmaşık dijital devreleri gerçekleştirebiliyor. Bir FPGA üzerinde bir mikro denetleyici bile uygulayabilirsiniz, örneğin aynı Arduino'yu veya kendi mimarinizin bir işlemcisini, örneğin bir yazmaç işlemcisi değil, bir yığın işlemciyi uygulayabilirsiniz; hatta kendi FPGA'nızı bir FPGA'ya bile uygulayabilirsiniz!

Mevcut bütçe FPGA'leri arasında iki ana üretici tanımlanabilir: Altera ve Xilinx; ürünleriyle bu teknolojilere hakim olma yolculuğunuza başlayabilirsiniz. Benim düşünceme göre, tasarım ortamları sürekli güncellendiğinden Altera yongalarını seçmek daha iyidir ve popüler bir Xilinx XC3S500E yongasını seçerseniz, eski ISE 14.7 ortamından memnun olmanız gerekecektir (her ne kadar avantajları olsa da) .

Yabancı literatürde FPGA'lerin kısaltmalarını bulabilirsiniz: FPGA ve CPLD. CPLD (Karmaşık Programlanabilir Mantık Cihazı) - az sayıda makro hücreye, özel bloklara ve düşük güç tüketimine sahip çipler. Bu tür çip için büyük bir proje sentezlenemez, ancak pratikte de kullanılırlar, örneğin nadir bir mikro denetleyicinin örneğin 300 bacağı vardır. Bu tür çipler genellikle arayüz sistemleri, ön işlemciler ve I/O genişleticileri olarak kullanılır. FPGA (Alan Programlanabilir Kapı Dizisi), sahada programlanabilir bir kapı dizisidir (FPGA), CPLD'ye kıyasla çok daha güçlü çiplerdir, ancak daha fazla güç tüketir ve önemli ölçüde daha fazla maliyete sahiptir. Kalıp alanı maliyetini azaltmak için FPGA yongaları, dijital sinyal işleme birimleri (DSP birimleri), gömülü işlemciler ve gömülü bellek gibi hazır işlevler içerebilir. FPGA'ler, silikon öncesi doğrulama adı verilen tasarımlarda test etmek ve doğrulamak için yaygın olarak kullanılır, böylece ürün piyasaya sürülmeden önce maliyetleri ve zamanı azaltır. FPGA çipleri neredeyse her zaman yeniden yapılandırılabilir; geleneksel bir işlemci ile bir FPGA çipinin mimarilerini birleştirmek için örneğin Intel'de şu anda gelişmeler devam etmektedir. Xilinx'in zaten bu tür çözümleri var - Zynq, ancak şimdilik bunlardan bahsetmeyeceğiz.

Özellikle elime bir geliştirme kiti geçtiği için daha basit şeylerden bahsedeceğiz: AliExpress'ten satın alınan Cyclone IV 4 FPGA Core Board ve Altera USB Blaster Downloader PLD Geliştirme kiti 35 dolara.

1 Demo kartı Cyclone IV 4 FPGA Çekirdek Kartı, kısa açıklama

Pirinç. 1 - Demo ödemesi Cyclone IV 4 FPGA Çekirdek Kartı

Kartta (Şekil 1) bir EP4CE6E22C8N yongası kuruludur, özellikleri:

Kaynak tipi Kısa Açıklama Miktar
Mantık öğeleri (Les) Çiplerin "gücünü" karşılaştırabileceğimiz ana özellik olan mantıksal blok sayısı - hücreler; sentezlenmiş herhangi bir mantık bu blokları kullanacaktır 6,272
Gömülü bellek (Kbit) Dahili hafıza bizim için henüz önemli bir özellik değil 270
Gömülü 18x18 çarpanlar Dijital sinyal işlemede çok önemli bir parametre olan yerleşik donanım çarpanları, birkaç çarpan paralel olarak çalıştığında FPGA'lerin tam gücü ortaya çıkar 15
Genel amaçlı PLL'ler Henüz önemli bir özellik olmayan faz kilitli döngü düğümleri, farklı frekanslarda çalışan cihazların senkronizasyonunu kolaylaştırır 2
Küresel Saat Ağları Frekans alanlarının sayısı henüz önemli bir özellik değil 10
Kullanıcı G/Ç Bankaları Ayrı kullanıcı I/O bankalarının sayısı henüz önemli bir özellik değil 8
Maksimum kullanıcı G/Ç Özel I/O pinlerinin sayısı, Arduino gibi herhangi bir cihazı bağlayabiliriz 91

Yönetim kurulunda şunlar bulunmaktadır:

  1. Flash Bellek – Güç uygulandığında FPGA, flash bellekte uygulanacak şekilde yapılandırılacaktır. Projenizi sentezleyebilir ve bu flaşa yazabilirsiniz.
  2. 25 MHz kuvars bir referans saat frekansı üretecidir, tüm projelerimiz bu frekansta çalışacaktır, FPGA'mız bu tür 10'a kadar kanalı destekleyebilir.
  3. LED'ler – 10, düğmeler – 2.
  4. G/Ç pinleri 61 + 2 toprak, 1 bağlı değil. Çeşitli cihazları bağlayabilirsiniz. DAC-ADC, ivmeölçerler ve jiroskoplar, karakter ve grafik ekranlar, Arduino gibi.
  5. USB veya harici 5V üzerinden güç kaynağı.

Kit ayrıca bir JTAG programcısı Altera USB Blaster'ı da içerir.

2. Quartus II ortamı ve ilk projemiz

Bu FPGA ile çalışmak için resmi geliştirme ortamını indirmemiz gerekiyor - Quartus II Web Sürümü, bedava. http://dl.altera.com/15.0/?edition=web resmi web sitesine gidiyoruz, bu yazının yazıldığı sırada sürüm 15.0 en yenisidir, daha yeniyse indirin.

Seçmek:


Pirinç. 2 - gerekli Altera ürünlerini seçin

Ve indirme düğmesine tıklayın (Seçili Dosyaları İndir). Bundan sonra kayıt olmamız, kaydolmamız, indirmemiz ve yüklememiz istenecektir.

İlk projemizi oluşturalım.

Quartus'u başlatın, Dosya -> Yeni Proje Sihirbazı ana menüsünü seçin, giriş penceresi belirir, ileri'ye tıklayın. Daha sonra proje için dizini ve adını belirtmeniz gerekiyor, üçüncü alan üst modülün adıdır, daha sonra ne olduğunu göreceksiniz. Projeyi kaydetmek istediğimiz klasörü seçip bir isim buluyoruz, elimde test1 var.


Pirinç. 3 - yeni proje sihirbazı penceresi

İleri'ye tıklayın, boş bir proje mi yoksa Proje şablonu mu olduğu soruluyor. Sırada boş bırakın. Daha sonra bizden mevcut dosyaları eklememiz isteniyor, elimizde hiçbir şey yok, yolculuğumuza yeni başladığımız için ileri diyoruz.

Daha sonra çipimizi seçmemiz gerekiyor; bu herhangi bir zamanda yapılabilir. Şekildeki gibi Family – Cyclone IV E'yi, “Mevcut cihazlar” bölümünde seçilen belirli cihazı seçiyoruz ve EP4CE6E22C8N çipimizi seçiyoruz, bu en başta. Başka bir tane varsa, seninkini bul, bu önemli. Sonrakine tıkla.


Pirinç. 4 -

Bir pencere görünecektir - tasarım araçlarını seçin, hata ayıklama yapın, bunu şimdilik atlayın, ileri'ye tıklayın ve ardından bitirin.


Pirinç. 5 - "Ödevler-Deice" Penceresi

Pencerede “Kullanılmayan pinler” öğesini seçin. Bu ayar, bağlantısız pinlere ne olacağını belirler. Bu önemli olabilir; projenizde tüm pinleri kullanma olasılığınız düşüktür ve bağlı olmayanlar aslında toprağa veya güce bağlı olabilir (yani, kartı kimin kabloladığını asla bilemezsiniz). Topraklı bir pime bir tane uygularsanız yanacaktır, bu nedenle bunu dikkatle izlemeniz gerekir.

Varsayılan olarak, kullanılmayan pinler “Zayıf çekme ile üç durumlu giriş olarak” (giriş pinleri zayıf bir güç çekme ile yüksek empedans ile üçüncü durumda), bırakabilir veya “Giriş üç durumlu olarak” seçeneğini seçebilirsiniz. ”. Çekme direnci hakkında Wikipedia https://ru.wikipedia.org/wiki/Pull-up_resistor adresinden okuyabilirsiniz. Dijital teknolojide üç durum olabilir; mantıksal olan, besleme voltajı veya yüksek seviyedir; mantıksal sıfır, pinin toprağa bağlandığı veya düşük seviye ve yüksek empedans durumudur. Yüksek empedans durumu- bu, bir pimin çok yüksek bir dirence sahip olduğu ve bağlı olduğu teli pratik olarak etkilemediği zamandır.Bu durum, örneğin otobüsleri düzenlerken, birçok cihazın bir kabloya bağlandığı ve aktif olmayan cihazların müdahale etmediği durumlarda gereklidir. operasyonla.


Pirinç. 6 - “Cihaz ve Pin Seçenekleri” penceresi, Kullanılmayan Pinler

Hepsini “Ödeme Düzenleyicisi”ne bağlıyoruz


Pirinç. 7 - “Ödev Editörü”nü arayın menüden veya panelden

Görünen pencerede benim yaptığım gibi yapın veya kesinlikle doğruysa panonuzun şemasına göre yapın.


Pirinç. 8 - Ödev Editörü

"Kime" sütununa giriş veya çıkışın adını girin. “Atama Adı” sütununda “Konum”u seçin. “Değer” sütununda, kart şemasına göre mikro devrenin pin numarası bulunmaktadır (pin numaralarım doğrudan kart üzerine yazılmıştır).

Ayrıca bir ayağı yere, diğer ayağı çipin girişine bağlanan butonlarla ne yapacağınızı da belirtmeniz gerekiyor. Bacağa bastığınızda düşük bir seviye olacak, ancak basmadan çipin bacağının havada asılı kalacağı belli değil ki bu çok kötü. Çip girişini ya kart üzerindeki bir dirençle ya da “Atama Düzenleyicisi”nde daha şık bir şekilde güce bağlamanız gerekiyor. “Atama Adı” sütununda, anahtar* grubu için “Zayıf Çekme Direnci”ni seçin (grup bir yıldız işaretiyle gösterilir).


Pirinç. 9 - Ödev Editörü

Daha sonra, doğrudan çip bacaklarıyla çalışacak olan üst düzey modülün bir tanımını oluşturmanız gerekir; diğer tüm modüller yalnızca onunla çalışacaktır. Ana menüde Yeni'ye tıklayın ve "Tasarım Dosyaları-> Blok Diyagram/Şematik Dosya" seçeneğini seçin.


Pirinç. 10 - Yeni dosyalar iletişim kutusu

Açılan pencerede “Pin Aracı”nı seçin ve giriş ve çıkışı (giriş ve çıkış pinlerini) diyagrama yerleştirin. Girişi anahtar, çıkışı ise led olarak adlandırıp bir iletkene bağlıyoruz. Kaydedin ve "Derlemeyi Başlat"a tıklayın.


Pirinç. 11 - Grafik açıklama penceresi, Pin Aracı ve Derlemeyi Başlat vurgulanmış

Derleme sonrasında uyarılarımız oldu, şimdilik bunları görmezden geldik, bunlar bağlantısız pinler, saat sinyalinin olmaması ve “Zamanlama Analizörü” açıklamasıyla ilgili.

Demo kartını ve programlayıcıyı bağlarız, “Programcı” aracını seçeriz. Pencerede "USB-Blaster" yazmalıdır, değilse "Donanım Kurulumu"na tıklayın ve neden olmadığını anlamaya çalışın, büyük ihtimalle sürücüler yüklü değil, Windows aygıtlarına bakın, tanımlanamayan aygıtları arayın, belki bir sorun vardır kablo ile. Her şey yolundaysa, “Otomatik Algıla” ya tıklayın ve çipimizi seçin.


Pirinç. 12 - Programcı Penceresi

“Dosya” alanına çift tıklayın ve FPGA’ye (projemizin çıktı_dosyaları klasöründe bulunur) yazılacak dosyayı seçin, “Program / Yapılandır” alanını işaretleyin ve “Başlat” butonuna tıklayın.


Pirinç. 13 - Programcı penceresi, çipimiz zaten yapılandırılmış

İlk FPGA yapılandırmanız için tebrikler! D1 diyotu yanmalı, 1 tuşuna bastığınızda sönmeli (düğme ayağı yere kapattığı için), o zaman bu konuda bir şeyler yapacağız)

Kendi geliştirmeleriyle ilgilenen radyo amatörlerinin ve tasarımcıların çoğu, dijital mikro devreleri uzun zamandır biliyor ve uzmanlaşıyor. Pek çok kişi uzun süredir tasarımlarını mikrodenetleyiciler üzerinde tasarlıyor çünkü bu, cihazların boyutlarını önemli ölçüde azaltıyor ve işlevselliğini artırıyor. Tek sorun, her şeyin bir denetleyici temelinde inşa edilememesidir. Değişen giriş sinyallerine anında yanıt verilmesini gerektiren yüksek hızlı cihazlar, bir mikrodenetleyici üzerine kurulamaz, çünkü komutların adım adım (boru hattı) işlenmesini düzenler ve bunun sonucunda belirli bir sinyal verme kararı verilir. Bu nedenle, mikrodenetleyicilerin yanı sıra, bazen yeterli sayıda paketle geleneksel mantığın kullanılması gerekir. Bunun sonucunda çok sayıda harici bağlantı, tasarımın karmaşıklığı ve baskılı devre kartlarının büyük boyutları, bağlantı iletkenlerinin büyük uzunlukları, yüksek saat frekanslarına sahip cihazların yapımında zorluk ve düşük güvenilirlik ortaya çıkar. Bu sorunun çözümü, birbirine sert elektrik bağlantıları olmayan belirli sayıda fonksiyonel temel elemanın bir koleksiyonu olan ve neredeyse keyfi bir konfigürasyon ayarlamanıza olanak tanıyan programlanabilir mantık entegre devrelerinin (FPGA'ler) kullanılmasıdır. Belirli bir elektronik devre oluşturmak için. İlk aşamada FPGA'ler, K556RT4-RT5 ve diğerleri gibi sigortalı jumper'lara sahip mikro devrelerdi, üzerlerinde bazı işlevler oluşturmak mümkündü, ancak küçük bir devreyi sayaçlar ve tetikleyicilerle doldurmak mümkün değildi.

Basit mantığa dayalı cihaz tasarlama aşamaları yeterince otomatikleştirilmemiştir ve bir hata durumunda, ek elemanların eklenmesi için kartın değiştirilmesi gerekir. Altera'nın MAX+plus II BASELINE yazılım paketini ve FPGA'sını incelemek yalnızca devreyi basitleştirmekle kalmayacak, aynı zamanda birçok tuzağı da önleyecektir. Bu yazılım aynı zamanda 155 serisi ve analoglarındaki devreleri tasarlarken de kullanılabilir. PLD'de programlama (bağlantı oluşturmak) için (aynı zamanda

CPLD) EPROM, EEPROM ve FLASH teknolojileri kullanılmaktadır. Radyo amatörleri için FLASH mikro devreleri, kristali yaklaşık 100 kez yeniden programlamanıza ve besleme voltajını çıkardıktan sonra programlama sonucunda oluşturulan yapıyı korumanıza izin verdiği için büyük ilgi görüyor.

Bu makale, Altera - EPM3064A'dan FPGA'ya dayalı devrelerin en ucuzu olarak adım adım geliştirilmesi konularını tartışacaktır. 44 pinli bir PLCC paketinde bulunur. Mikro devre, karışık güç kaynağına ve çoklu voltaj giriş/çıkış (G/Ç) arayüzüne sahiptir. Mantıksal çekirdeğin besleme voltajı 3,3 volt, giriş/çıkış elemanları – 5; 3.3; ve 2,5 volt. Modifikasyona bağlı olarak maksimum saat frekansı 227,3 MHz. Yapılandırma bitlerini ayarlayarak kenarların eğimini kontrol etmek mümkündür ( DöndürmeOran) giriş/çıkış sinyalleri. Bit () ayarlanarak açık drenaj çıkışlarının bir uygulaması da vardır. AçıkBoşaltmak). Güç tüketimini %50'den fazla azaltan bir enerji tasarrufu modu ayarlamak mümkündür. Gizlilik bitini ayarlamak da mümkündür ( güvenlikbiraz) çipin dahili konfigürasyonunu kopyalamanıza izin vermeyecektir. Bu mikro devrede 4 blok mantıksal matris ve 64 makro hücre bulunur. Programlanabilir makro hücre tetikleyicileri ayrı saat girişlerine sahiptir ( saat), senkronizasyon izinleri ( saatolanak vermek), Sıfırla ( temizlemek) ve ön ayarlar ( önceden ayarlanmış). Her makro hücre programlanabilir bir matris olarak düşünülebilir VE ve sabit matris VEYA. Matris çıkışında VEYA Yapılandırılabilir kontrol devresine sahip bir kayıt dahildir. Kayıt kontrol devresi bağımsız olarak programlanabilen saat, saat etkinleştirme, sıfırlama ve önceden ayarlanmış sinyaller sağlar. Yazara göre bu mikro devreye 10-15 adet 155 seri kasa yerleştirilebilir (16 lojik matris bloklu ve 158 pinli EPM3256 mikro devreleri satışa sunulmaktadır).

EPM3064A mimarisi aşağıdaki öğeleri içerir: Mantık blokları ( Laboratuvarlar). Makrohücreler ( Makrohücreler). Mantık genişleticiler, paylaşılan ( Paylaşılabilir) ve paralel ( Paralel). Programlanabilir bağlantı matrisi ( PIA). G/Ç Kontrol Üniteleri ( BEN/Ökontrolbloklar). Çipin dört özel girişi vardır ( özeltoplu iğne) genel amaçlı girişler veya yüksek hızlı global kontrol girişleri (senkronizasyon - saat, sıfırlama temizlemek ve iki çıkış izin sinyali - olanak vermek), her makro hücre ve G/Ç pini için. Blok şeması Şekil 1'de gösterilmektedir.

ŞEKİL 1

EPM 3064A'nın temel mimarisi mantıksal bloklar 16 makro hücreden oluşur. Lojik bloklar programlanabilir bir bağlantı matrisi ( PIA). Her mantıksal bloğa aşağıdaki sinyaller sağlanır: 36 sinyal PIA, lojik girişler olarak kullanılır. Küresel kontrol sinyalleri. Yüksek performans sağlayan, giriş arabelleklerinden kayıtlara doğrudan devreler. Mikro devrenin fonksiyonel bileşimi ve çalışma prensibi hakkında daha fazla bilgi edinebilirsiniz.

ŞEKİL 2

Çipi programlamak için özel bir indirme kablosu yapmanız gerekir ByteBlasterMV İncir. 2. Hem proje test aşamasında hem de çalışma sırasında FPGA konfigürasyonunu hızlı ve verimli bir şekilde değiştirmenize olanak tanır. Yeniden programlama doğrudan sistemde yapılabilir. Programlama devam ederken mikro devrenin pinleri sistemle çakışmayı önlemek için üçüncü duruma aktarılır. Dahili pull-up dirençlerinin direnci 50 kOhm'dur.

Bu indirme kablosu MAX 3000A, MAX 7000, MAX 9000 serisi ve diğer birçok mikro devrenin programlanması için kullanılabilir, daha fazlasını okuyabilirsiniz. İndirme kablo şeması Şekil 3'te gösterilmektedir. X1 konnektörü doğrudan bilgisayarın paralel portuna veya uzatma kablosuyla bağlanır ve uzunluğu 1,5 metreyi geçmemelidir. Programlayıcının gücü doğrudan tasarlanan cihazın devresinden alınır. Programlayıcının normal çalışması için sürücüyü yüklemelisiniz ByteBlasterMV aşağıda açıklanacaktır. 2,5 ila 5 volt besleme voltajı aralığında çalışabildiği için orijinal D 1 yongasının kullanılması tavsiye edilir (ekstrem durumlarda 1564AP5 ile değiştirilebilir). Tüm dirençler MLT 0.125 tipindedir. Kondansatör C1 seramiktir.

FİGÜR 3

Baskılı devre kartı Şekil 4. tek taraflı yapılmış folyo 1,5 mm kalınlığında ve 52x43 mm boyutunda fiberglas.

ŞEKİL 4

ALTERA'nın MAX+PLUS II sistemi ortamında bir proje oluşturmak için internetten indirip Fig5'i kurmanız gerekir. serbestçe yeniden dağıtılabilir dosya baseline10_1.exe Sitenin linki adresinde verilmiştir. Tam işlevsellik için programı yükledikten sonra Altera web sitesine gitmeli ve bir lisans dosyası edinmelisiniz. Bu sayfada bağlantıyı seçin Öğrenciler ve üniversiteler için MAX+PLUS II yazılımı. Sonraki sayfada bağlantıyı seçin Sürüm 10.2, 10.1,veya 9.23 ve düğmeye basın devam etmek . Penceredeki sonraki sayfada sabit sürücü kayıt numaranızı girin. Bunu Windows'ta yapmak için düğmeye basın O zaman BAŞLA Programlar, Standart, komut satırı, ve komutu çevirin yön Ve girmek.

ŞEKİL 5

İkinci satır 8 haneli disk seri numarasını yazdıracaktır. Girilmesi gereken şey budur. Daha sonra düğmeye basın devam etmek ve bir sonraki sayfadaki formu doldurun. Formu doldurmayı tamamladığınızda düğmeye tıklayın devam etmek. Lisans dosyası tarafınıza posta yoluyla gönderilecektir. Bir klasör oluştur c:\mp2öğrenci\ ve size gönderilen dosyayı oraya yerleştirin lisans.dat. Lisans dosyasını yüklemek için çalıştırın MAX+artıII 10.1 TEMEL HATTI ardından sekmeye tıklayın Seçenekler Ve LisansKurmak görünen pencerede düğmeye tıklayın Araştır, ve lisans dosyasının yolunu belirtin. Düğmeye bas TAMAM. Bundan sonra tüm uygulamalar kullanılabilir hale gelecektir. Bundan sonra programlayıcı sürücü dosyasını yüklemeniz gerekir. Bunu yapmak için düğmeye basın BAŞLANGIÇ Daha sonra Kurulum, kontrol paneli, ekipman kurulumuDaha öte daha sonra düğme Dah, cihaz zaten bağlı ve bir düğme Daha öte. Bir sonraki pencerede seçin Yeni bir cihaz ekleme Ve Dsokak. Düğmeyi takın Listeden seçilen ekipmanın manuel olarak kurulması Ve Dsokak. Listeden seç Ses, video ve oyun cihazları Ve Dsokak. düğmesine basın sendiskten yükle, ardından düğmesine basın Gözden geçirmek. Yolu ayarlama C:\maxplus2\Drivers\win2000 WindowsXP yüklüyse tıklayın TAMAM. Listeden seç Altera ByteBlaster, düğme Daha öte Ve Hazır.

MAX+PLUS II sistemi, uygun proje girişi, derleme ve hata ayıklamanın yanı sıra doğrudan cihaz programlama için araçlara sahiptir. MAX+PLUS II sistem yazılımı 11 uygulama ve bir ana kontrol programı içerir. Proje oluşturmayı destekleyen çeşitli uygulamalar anında etkinleştirilebilir ve kullanıcının fare tıklamasıyla veya menü komutlarıyla bunlar arasında geçiş yapmasına olanak tanır. Aynı zamanda, bir derleyici, simülatör, senkronizasyon analizörü ve programcı gibi arka plan uygulamalarından biri çalışıyor olabilir.

Tablo uygulamaları açıklamaktadır.

Masa

Başvuru Gerçekleştirilen işlev
HiyerarşiGörüntülemek Hiyerarşiye genel bakış— mevcut hiyerarşik dosya yapısını, alt projeleri temsil eden dallara sahip bir ağaç biçiminde görüntüler.
GrafikEditör Grafik editörü— ekranda gerçek görüntü formatında bir devre mantığı projesi geliştirmenize olanak sağlar.
SembolEditör Karakter editörü— mevcut sembolleri düzenlemenize ve yenilerini oluşturmanıza olanak tanır.
MetinEditör Metin düzeltici— AHDL, VHDL, Verilog HDL'de yazılmış mantıksal tasarım metin dosyalarını oluşturmanıza ve düzenlemenize olanak tanır.
Dalga formuEditör Sinyal düzenleyici— ikili bir işlevi yerine getirir: tasarım geliştirme aracı ve test vektörlerinin girilmesi ve test sonuçlarının gözlemlenmesi için bir araç.
Kat planıEditör Seviye seviyezamanlayıcı— grafiksel araçları kullanarak cihaz bağlantılarına ve mantıksal öğe kaynaklarına atamalar yapmanızı sağlar.
Derleyici Derleyici— grafik projelerini işler.
Simülatör Simülatör— tasarlanan mantıksal devrenin mantıksal işlemlerini ve dahili senkronizasyonunu test etmenize olanak tanır.
ZamanlamaAnalizör Zaman analizörü— tasarlanan mantık devresinin derleyici tarafından sentezlenip optimize edilmesinden sonra çalışmasını analiz eder.
Programcı Programcı— ALTERA FPGA'leri programlamanıza, yapılandırmanıza, doğrulamanıza ve test etmenize olanak tanır.
İletiİşlemci Mesaj oluşturucu— ekranda hata, uyarı ve bilgilendirme mesajlarını görüntüler.

Projemizi yerleştireceğimiz bir çalışma dizini oluşturalım C:\ALTERA_WORK\schetchic. Devre AHDL, VHDL, Verilog HDL (programlamayı tercih edenler için) veya grafiksel olarak (radyo amatörleri için daha uygun) olarak açıklanabilir. Proje dosyası, MAX+PLUS II sisteminin grafik veya sinyal editörleri kullanılarak oluşturulan bir grafik, metin veya sinyal dosyasıdır. Bu dosya MAX+PLUS II projesinin mantığını içerir ve derleyici tarafından derlenir. Derleyici aşağıdaki proje dosyalarını otomatik olarak işleyebilir: grafiksel proje dosyaları ( .gdf); AHDL dilinde proje metin dosyaları ( .tdf); proje sinyal dosyaları ( .wdf); VHDL dilindeki proje dosyaları ( .vhd); Verilog dilindeki proje dosyaları ( .v); OrCAD şematik dosyaları ( .sch); EDIF giriş dosyaları ( edf); dosyaları biçimlendirmek XilinxAğ listesi (.xnf); proje dosyaları Altera (.adf); dijital makine dosyaları ( .smf). Yardımcı dosyalar MAX+PLUS II projesiyle ilişkili olan ancak hiyerarşik ağacının parçası olmayan dosyalardır. Bu dosyaların çoğu proje mantığını içermiyor. Bazıları MAX+PLUS II sistem uygulaması tarafından, bazıları ise kullanıcı tarafından otomatik olarak oluşturulur. Destek dosyalarına örnek olarak atama ve yapılandırma dosyaları ( .acf), sembol dosyaları ( .sym), rapor dosyaları ( .rpt) ve vektör dosyalarını test edin ( .vec).

Yani ana menüde tıklayın Dosya Daha sonra Yeni ve öğeyi seçin Grafik Editör dosya Ve TAMAMŞekil 6. Bir grafik düzenleyici penceresi açılacaktır. Daha sonra projemizi adı altında kaydedelim. şematik. gdf kataloğumuza C:\ALTERA_WORK\ bunu yapmak için tıklayın Dosya Daha sonra Kaydetmek Gibi Ve TAMAM. Dosya adını proje dosyasına bağlayalım; bunun için ana menüde Dosya Daha sonra Proje ve sonrası Ayarlamak Proje ile Akım Dosya veya bunun yerine tuşlara aynı anda basabilirsiniz Ctrl+ Vardiya+ J. Projede kullanılacak mikro devre tipini ayarlayalım. Bunu yapmak için ana menüdeki düğmeye basın Atamak Daha sonra Cihaz.

Açılan pencerede satırda Cihaz Aile bir dizi seç MAKS3000 A. Ve pencerede Cihazlar EPM3064ALC44-4 ve TAMAM. Projenizin ne kadar yer kaplayacağını bilmiyorsanız, o zaman Cihazlar daha iyi kurulum OTO derleyicinin kendisi mikro devre tipini seçecektir.

ŞEKİL 6

Çalışma kütüphanesi çeşitli türlerde öğeler içerir:

1). Mantıksal temel öğeler (c:\maxplus2\max2lib\prim\ klasöründe bulunur) gibi öğeler Ve, veya, ne de vb. farklı sayıda girişle.

2). 74. serinin ayrık mantığının analogları 155. serinin analoglarıdır (c:\maxplus2\max2lib\mf\ klasöründe bulunur).

3). Her türlü karmaşıklığa sahip dijital aygıtlardan oluşan projeler oluşturmanıza olanak tanıyan parametrelendirilmiş mantıksal işlevler (c:\maxplus2\max2lib\mega_lpm\ klasöründe bulunur).

Kendi bileşen kütüphanemizi yerleştireceğimiz bir dizin oluşturalım C:\ALTERA_WORK\Altera_Lib ve bunu projeye bağlayın. Bunu yapmak için ana menüdeki düğmeye basın Seçenekler Daha sonra KullanıcıKütüphaneler ve pencereden dışarı Rehberİsim hadi yola girelim c:\altera_work\altera_lib Daha sonra TAMAM. Ekrana sembol yerleştirmenin iki yolu vardır; bunun için elemanı yerleştirmek istediğimiz yere sağ tıklayın ve açılan pencerede menüyü seçin. Sembolü Girinben pencerede Sembolİsim Açılan pencerede öğenin adını yazın ve tıklayın. TAMAM. Veya pencerede gerekli kitaplığı seçin SembolKütüphaneler iletişim kutusu GirmekSembol ve açmak için farenin sol tuşuna çift tıklayın. Daha sonra pencerede gerekli öğeyi aynı şekilde seçin SembolDosya. Proje küçükse ve kütüphanedeki tüm unsurlardan memnunsanız, bu şekilde gerekli tüm elemanları kuruyoruz ve iletkenleri kullanarak pinlerini bağlıyoruz. Bunu yapmak için soldaki grafik düzenleyicide simgeler var, üzerlerine tıkladığınızda düz bir çizgi bağlantısı, dik açılarla yerleştirilmiş çizgiler, sektörler ve daireler elde edebilirsiniz.Çizgi kırmızı ile vurgulanmışsa, o zaman bağlantı adresini üzerine koyun ve bağlantıyı kendiniz yapmayın. Giriş ve çıkış devreleri eleman kütüphanesinden seçilerek çizilir giriş Ve çıktı( gerekirse onlara bir isim veririz). Mantıksal bir ve sıfırın grafiğini çizmek için şunu yazın: vcc veya toprak. Kendi sembolünüze ihtiyacınız varsa, yeni bir grafik düzenleyici penceresi açmanız ve Şekil7 bileşeninin bir diyagramını çizmeniz, ona bir ad vermeniz ve kütüphaneye kaydetmeniz gerekir. c:\altera_work\altera_lib. Proje dosyasına bağlantı verin ve tıklayarak derleyin ctrl+L. Hata yoksa, bir simülatör kullanarak devrenin çalışmasını kontrol edebilirsiniz.

ŞEKİL 7

Bunu yapmak için açıyoruz Dalga formu Editör, dosyayı aynı isimle kaydedin. Aşağıdaki ilk satırda İsim: sağ tıklayın ve menüyü seçin GirmekdüğümleritibarenSNF görünen pencerede düğmeye tıklayın Liste pencerede MevcutDüğümler veGruplar devremizin tüm giriş ve çıkışları görünecektir. Gerekli olanları seçiyoruz (bu durumda İÇİNDE Ve DIŞARI) Ve düğmesine basın => seçilen karakterler kopyalanacak sağ pencerede. Tıklamak TAMAM. Editörde osilogramı Şekil 8'de görebilirsiniz. adı altında Değer Olabilmek giriş sinyalinin başlangıç ​​durumunu ayarlayın; bunun için farenin sol tuşuna tıklayın soldaki satırda editörde mantıksal 1 ve 0 simgeleri görüntüleniyor, simgeye tıklayarak giriş durumunu atadık. Zamanla değişen bir sinyal girebilirsiniz veya Z durum. Osilogramın bitiş zamanı menüye gidilerek girilebilir. Dosya Daha sonra SonZaman. Zaman damgaları menü aracılığıyla ayarlanır Seçenekler Daha sonra Grig Boyut.

Osilogramın zaman içindeki durumunu görüntülemek için şunu çalıştırın: Simülatör düğmelere basmak Ctrl+Shift+L. Osilogram Şekil 9'da görülebilir. Ortaya çıkan bileşen modelinden memnun kalırsak sembolün resmini çizeceğiz. Bunu yapmak için sembol düzenleyiciyi açın, ana menüde Dosya Daha sonra Yeni ve öğeyi seçin SembolEditör dosya Ve TAMAMŞekil 6. Farenin sol tuşuna tıklayarak ikonun sol tarafında bulunan çizim aracını seçerek sembolün ana hatlarını çiziyoruz.

Farenin sol tuşuna çift tıklayın menüyü aç GirmekPinstub belirttiğimiz pencerenin solundaçıkış türü giriş veya çıkış BEN/ ÖTip. Pencerede Tam doluPinstub İsimÇıkış adını belirtin (bizim durumumuzda İÇİNDE giriş DIŞARIçıkış). Taşınan elemana sol tıklanarak tüm çizgilerin ve etiketlerin boyutları değiştirilebilir ve taşınabilir. Dosya, kütüphane klasörümüzdeki grafik düzenleyici dosyasıyla aynı adla kaydedilmelidir.

Tüm yardımcı pencereleri kapattıktan sonra proje dosyamıza bir sembol girebiliriz.

Şekil 10'da dinamik göstergeli üç basamaklı bir sayacın pratik devresini ele alalım. Güç kaynağı, LM 317 tipi bir D2 yongasına monte edilir ve D1 için gerekli voltajı sağlar.

ŞEKİL 10

Gösterge deşarjlarının çıkış akımı, tüm göstergeler açıkken yaklaşık 80 mA olabilir, bu nedenle gösterge deşarjları VT 1-VT 3 transistörleri tarafından anahtarlanır. Deneysel model için, harici devreleri olan bir dahili jeneratör devresi seçildi. dirençler R 16, R 18, C2, ancak Çalışma şemasında jeneratörü harici yapmak daha iyidir. Yazara göre FPGA'ler kapasitif yüklerde pek iyi çalışmıyor. Programlayıcıya bağlantı için X1 konektörü gereklidir.

Şekil 11 projesinin iç yapısını ele alalım. Tüm bileşenler yukarıdaki yöntem kullanılarak yeniden oluşturuldu ve kendi bileşen kitaplıklarına kaydedildi.

ŞEKİL 11

Diyagramdaki bileşenler 0_3r_komütatör– bu, gösterge rakamlarını sırayla değiştiren ve aynı zamanda çoklayıcılara kontrol seviyelerini veren üç haneli bir anahtardır 0_3 Ve_ veya. Çoklayıcılar, görüntülenen basamağa bağlı olarak ondalık sayaçları bağlar 0_2 B_10 D_ tezgahİle ikiliyedi bölümşifre çözücü 0_ bcd _7 seg . Bileşenlerin adları bir edat içerir 0 _ bunu kendi kütüphanemizin bir öğesi olarak adlandırıyoruz. MAX+PLUS II projesindeki diyagram üzerinde bileşenin üzerine farenin sol tuşuna çift tıkladığımızda grafik düzenleyici açılacak ve elemanın diyagramını göreceğiz. Şekil 12, devresi standart kitaplık temel öğelerinden oluşan bir anahtarı göstermektedir. İsim OLUMSUZ invertör anlamına gelir, DFFD tetiklemek, VE2 – eleman VE iki girişli. Şekil 13 dahili diyagramı göstermektedir ikili ondalık sayaç. Şekil 14 bir çoklayıcıyı göstermektedir. Ve pirinç 15 ikiliyedi bölüm kod çözücü. Aşağıda standart kütüphanenin bazı megafonksiyonlarının bir listesi bulunmaktadır.

ŞEKİL 12

ŞEKİL 13

ŞEKİL 14

Mantık kapıları (Kapılar):

lpm_and – VE öğesi

lpm_inv – NOT öğesi (invertör)

lpm_bustri – üç durumlu veri yolu

lpm_mux - çoklayıcı

lpm_clshift - mantıksal kaydırma

lpm_or – VEYA öğesi

lpm_constant - sabit

lpm_xor – Özel OR öğesi

lpm_decode - kod çözücü

mux – çoklayıcı

busmux - çoklayıcı

ŞEKİL 15

Aritmetik bileşenler:

böl* — bölen

lpm_compare - karşılaştırıcı

lpm_abs – mutlak değer

lpm_counter - sayaç

lpm_add_sub – toplayıcı/çıkarıcı

lpm_divide — bölen

lpm_mult — çarpan

Bellek öğeleri:

altdpram* - çift bağlantı noktalı RAM

lpm_latch – mandal kaydı

lpm_shiftreg – kaydırma yazmacı

dcfifo* — Çift Saatli FIFO

lpm_ram_dp - çift bağlantı noktalı RAM

scfifo* — Tek Saatli FIFO

lpm_ram_dq – Ayrı giriş ve çıkış bağlantı noktalarına sahip RAM

csdpram - Döngü Paylaşımlı Çift Bağlantı Noktası

lpm_ram_io - Ortak giriş ve çıkış bağlantı noktasına sahip RAM

lpm_ff — Tetikleyici

lpm_rom-ROM

lpm_fifo — Tek Saatli FIFO

lpm_dff* — D – flip-flop ve kaydırma yazmacı

lpm_fifo_dc — Çift Saatli FIFO

lpm_tff* – T-tetikleyici

Diğer özellikler:

clklock - PLL (Faz Kilitli Döngü)

pll – darbe kenar dedektörü

ntsc – NTSC video sinyali oluşturucu

Tüm bileşenler oluşturulduktan, projenin genel diyagramı çizildikten ve tüm bağlantılar yapıldıktan sonra projeyi kaydedip derlemeniz gerekiyor. Hiçbir hata yoksa, yapmanız gerekir gitmek Dalga formu Editör ve nasıl değerlendirildi Yukarıda projenin doğru çalıştığından emin olun Şekil 16.

ŞEKİL 16

Derleyici tarafından bağlanan devre, giriş ve çıkış pinlerini otomatik olarak atar; bu şekilde görülebilir. Kat Planı Düzenleyicisi düğmesine basarak. Aynı editörde bacakların amacını dilediğiniz gibi değiştirebilirsiniz. Bunu yapmak için düğmeye tıklayın ve pencerede görüntülenen pinlerin adlarını fareyle sürükleyin AtanmamışDüğümler ve Pimler, karşılık gelen FPGA pin numaralarına ekleyin ve ardından projeyi yeniden derleyin. Bundan sonra projenin iç yapısında yapılan herhangi bir değişiklik; Pin ekleme veya çıkarmayla ilgili olmayan pin atamasını değiştirmez.

Bundan sonra Fig10 devresini X1 konnektörü üzerinden programlayıcıya, programlayıcıyı da bilgisayara bağlıyoruz (tüm bu işlemleri bilgisayar kapalıyken yapıyoruz) ve devreye güç sağlıyoruz. Pencereyi açma Programcı ve düğmeye basın programı. Program yüklendikten sonra devre çalışma moduna geçecektir. Bu yöntem, baskılı devre kartını değiştirmeden, değişen görevlere bağlı olarak cihazın iç devresini değiştirmenize olanak sağlar.

MAX+PLUS II yazılım ortamını öğrenmenin görünürdeki karmaşıklığına rağmen, projeleri çok daha hızlı gerçekleştirebileceksiniz çünkü bilgisayarda tasarım ve hata ayıklama, devre tahtası üzerinde devre yapmaktan ve osiloskop kullanarak daha fazla araştırma yapmaktan daha fazla bilgi sağlar. Daha önce belirtildiği gibi, elde edilen sonuçlar 155-555 serisine dayalı yapıların imalatında başarıyla kullanılabilir.

Bir işaret mi bekliyordun? İşte burada!

Uzun yıllar FPGA'leri programlamaya başlamakta tereddüt ettim çünkü bu zor, pahalı ve acı vericiydi (bana öyle geliyordu). Ancak ilk adımı atmanıza yardımcı olacak arkadaşlarınızın olması güzel. Ve şimdi tek bir şeyi anlamıyorum - NEDEN BU KADAR UZUN BEKLEDİM?

Şimdi ben de ilk adımı atmana yardım edeceğim!

Neden buna ihtiyacım var?

Sürekli olarak MK'nizdeki belgeleri okumaktan veya kafanızda bir sürü bilgi tutmaktan yoruldunuz mu? Asm'de her şeyi yeniden yazdınız ancak hız hala yeterli değil. MK'nize iki harici cihaz bağladınız, üçüncüsünü bağladınız, ancak kesintileriniz bitti, zaten çalışan modüller çalışmayı bırakıyor. Aynı hattan daha güçlü bir MK daha alırsınız, ama yine kılavuzlar, bayrak kayıtları, bitler... cehennem. Platformu değiştirirsiniz: başka bir MK'ye geçersiniz ve önceki platform hakkındaki bilginizi bir kenara atarsınız. Ne yaparsan yap çok zor. Bir projeyi bileşenlerden kolayca bir araya getirebileceğiniz popüler bir platform buluyorsunuz, ancak yine de bu MK'nin donanım sınırlamalarının üstüne çıkamıyorsunuz... Bilincinizin bir yerinde bazen bir FPGA'de bu düşünce ortaya çıkıyor. kesinlikle hızlı ve paralel çalışırdı, bu "tam olarak çözülmesi gereken sorun lütfen" nedir, ama ben bunu yapamayacak/yapmaya başlayamayacak kadar yaşlıyım/aptalım/meşgulüm/vs.

Sonunda özgürce nefes almak istiyor musun? Devam etmek!

FPGA'ler üzerinde geliştirmenin keyfi

İş yerinde zor bir gün geçirdim. Bir işten ikinci işe, sonra kulübeye geldim, akşam ödev yaptım, ödev yaptım, sonra aile filmi çektim ve ancak akşam 23: 00'te tamamen özgürdüm! Yorgun olduğumu söylemek hiçbir şey söylememek demektir. Ancak bu durumda dizüstü bilgisayarın başına kesin bir hedefle oturdum: 440 Hz kare dalga üreteci yapmak. 20 dakika geçti ve şimdiden kulaklığımdan duyabiliyordum. Kulaklarıma inanamadım! PWM yapmak ve ses seviyesini değiştirmek 15 dakikamı daha aldı. O zamana kadar FPGA kartını yalnızca bir hafta kadar kullanmıştım ve ondan önce Verilog'da yalnızca birkaç kitap okumuştum.

O akşam şunu fark ettim: İŞTE BURADA! Burası düşüncelerimi hızlı ve kolay bir şekilde gerçekten çalışan donanıma dönüştürebildiğim platform!

Nedenmiş?

Herkes zaten bilmesine rağmen FPGA'leri incelemenin ve kullanmanın avantajlarını anlatacağım:
  • Bilginin evrenselliği- MK modelini değiştirirken belgeleri okumanız gerekir. MK'nin üreticisini değiştirirken belgeleri okumanız gerekir. Sürekli olarak dokümanları okumanız, birçok bilgiyi sürekli kafanızda tutmanız gerekiyor. Bir FPGA üzerinde geliştirme yaparken, Verilog veya VHDL'yi biliyorsanız, yalnızca bir üreticinin hattından herhangi bir FPGA'yı programlamakla kalmaz, aynı zamanda dilerseniz diğerine (Altera, Xilinx) geçebilirsiniz. Her ne kadar farklı bir geliştirme ortamı ve incelikli donanım sorunları üzerinde uzmanlaşılacağı anlar olsa da, HDL'de cihaz tasarlama yaklaşımının özü bundan değişmeyecektir.
  • Fikirden donanıma- Bir proje geliştirirken bir mikrodenetleyiciniz yoksa diğerini seçmelisiniz. Prensip olarak, bu MK'nin projeyle başa çıkıp çıkmayacağı konusunda varsayımlarda bulunabilirsiniz. Veya belirli bir MK var ve siz ona bir proje sığdırmaya çalışıyorsunuz. Çoğu zaman durum budur. Bu bana biraz da dedemin barakadakilerden merdiven yapan yaklaşımını hatırlattı. Bir merdiven tasarlayabilseniz de, sığacak tahtaları satın alın... Fikirden donanıma, tersi değil.
  • Başkalarının gelişmelerinden yararlanma kolaylığı- Başkasının modülünü alıp projenizde uygulayabilirsiniz. Nasıl çalıştığını kodlardan anlayabilirsiniz. Xilinx için olsa bile ve siz bunu altera altında yapıyorsunuz. Bazen bu pek işe yaramasa da örneğin bir C++/Qt projesine ikili kitaplıklar eklemekten daha kolaydır.
  • Bağımsızlığı engelle. HDL'deki bloklar dildeki saf işlevler gibidir. Yalnızca giriş sinyallerine bağlıdır. Geliştirilen ve hataları ayıklanan modül, proje ne kadar büyürse büyüsün doğru çalışmaya devam edecektir. Dışarıdan gelen hiçbir şey, içeriden doğru çalışmasını etkilemeyecektir. Ve genel olarak nasıl çalıştığını unutabilirsiniz - bu bir kara kutudur. Ayrıca bloklar işe yarıyor paralel.

Seçim sorunu

Ne seçileceğine dair pek çok soru var: Altera/Xilinx, Verilog/VHDL, hangi hata ayıklama panosunun alınacağı. Ama önce ilk şeyler.

Üretici firma

Seçtim Altera. Neden? Her ne kadar Xilinx ismi benim için daha güzel olsa da, arkadaşım ve ben böyle karar verdik. ANCAK. Eğer şimdi seçim yapamıyorsan o zaman bunu senin için yapacağım. Altera'ya ihtiyacın var! Neden? Bilmiyorum. Artık daha önemli olan adım atmak: bir seçim yapmak. Altera'yı seçtim ve şu ana kadar hiç pişmanlık duymadım.



Dil

Hadi alalım Veri günlüğü - Çünkü… Peki, anlıyorsun.

Geliştirme kurulu

Geliştirme kurulunu seçmek en çok zaman aldı. Kurulu FPGA yongasında kartların farklı olduğu açıktır. Ve FPGA çipleri, eleman sayısı bakımından birbirinden farklılık gösterir. Ancak test projeleriniz için bunlardan kaç tanesine ihtiyaç duyulacağı hiç de belli değil. Bu nedenle zamanımın çoğunu her türlü FPGA projesini arayarak FPGA kaynaklarını ne kadar tükettiklerini öğrenmek için harcadım.

Altera ailesinde makul bir paraya 240, 570 ve 1270 elemanlı CPLD MAX II'li kartlar veya 10.000 veya daha fazla hücreye kadar Cyclone 1, 2, 3, 4 gibi daha eski FPGA yongaları satın alabiliriz. Nasıl seçilir?

Mars Rover projesi 240 hücre temelinde bile çok sayıda proje gerçekleştiriyor. 240 hücreye sığabilecek projelerin karmaşıklığı hakkında kabaca bir fikir edinmek için mutlaka okumanızı tavsiye ederim. Öte yandan, işlemci ve etrafındaki tüm mantık (NES, Speccy, Orion, YuT-88 vb.) dahil olmak üzere belirli bir bilgisayarın donanım kopyası için tamamen programlanmış projeler de vardır. Bu zaten beş, on veya daha fazla bin hücre gerektiriyor. Ayrıca bu kartlar ek harici cihazlar içerir.

Bu nedenle, mevcut fonlara bağlı olarak daha büyük olanları tercih ederek 240 ila 10.000 hücre arasında bir şey almanızı tavsiye ederim. Hata ayıklama panosunda fazladan hücreler önemli değildir, ancak yeterli sayıda hücre yoksa bu konuda yapabileceğiniz hiçbir şey yoktur. Daha sonra, cihazda hata ayıklandığında, kaç hücreye ihtiyaç duyulduğu netleşecek, gereksiz "gövde kiti" olmadan gerekli miktarı satın alacak, daha ucuz olacak ve bitmiş cihazda bırakacaktır.

Hücre sayısının yanı sıra MAX'ı Siklonlardan gerçekten ayıran şey şudur:
1) MAX serisinin içerisinde PLL yoktur. Her geliştirme kartının genellikle 50 MHz'lik bir osilatörü vardır. Bu çoğu proje için yeterli olacaktır. Tüm senkronizasyon 50 MHz'in bir değere bölünmesiyle gerçekleşecektir. Veya harici bir jeneratör alıp onu ayrı bir FPGA girişine besleyebilirsiniz. Peki ya 50 MHz'den daha yüksek bir frekansa ihtiyacınız varsa? 50 MHz'in üzerindeki osilatörleri hemen bulamadım. Ancak Cyclones'a yerleşik PLL'nin kurtarmaya geldiği yer burasıdır. Üzerinde frekansı örneğin 100 MHz'e kadar çarpabilirsiniz.
2) Cyclone serisi yerleşik donanım çoğaltma birimlerine sahiptir. Sayıları belirli modele bağlıdır - burada ne kadar olduğunu öğrenmek için yine de "talimatlara bakabilirsiniz". Bir tür DSP yapmayı planlıyorsanız kullanışlı olacaklar: hücreleri kurtaracak ve hızı artıracaklar. Öte yandan çarpanlar yoksa sentezlenebilirler ancak küçük bir FPGA bunun için yeterli kaynağa sahip olmayabilir.

Diğer tüm açılardan “uygun/uygun değil” kriterim var. Açıkça ihtiyaç duyulandan daha büyük olan bir kartta hata ayıklama ve ardından bunun için gereken minimum miktarla doldurma.

Ne kadar paraya ihtiyaç var?


Programcı
Programcıları toplu olarak lehimlemek için zamanım olmadığına inanıyorum.

300 ruble. Benimkini eBay'den aldım, şöyle görünüyor:

Geliştirme kurulu
Para miktarına bağlı olarak seçim geniştir.

İlk seviye 350 - 550 ruble. Bunlar MAX II'ye (veya hücrelere) dayalı kartlardır. İlk alıştırma ve son cihazlara daha fazla entegrasyon için uygun olabilir. Kartta bir jeneratör, birkaç düğme, birkaç LED ve sizin takdirinize bağlı olarak kalan 80 pin bulunur.

güç ünitesi
Olması gereken bir şeydir, ancak her zaman dahil edilmez. 5 voltluk bir güç kaynağına ve 2A akıma ihtiyacınız olacak.

Ortalama seviye 900 ila 1500 ruble. Bunlar, esas olarak hücre sayısında farklılık gösteren Cyclone 1, 2, 3, 4 panolarıdır.
Bunun gibi bir şeyle işaretlenirler:
E.P. 2 C 5 T144 - Siklon 2 yaklaşık 5k hücre
E.P. 4 C.E. 6 E22C8N - Siklon 4 yaklaşık 6k hücre
E.P. 2 C 8 Q208C8N - Siklon 2 yaklaşık 8k hücre

Siklon 3'ün Siklon 4'ten daha fazla hücreye sahip olabileceğini fark edebilirsiniz.

İşte bazı seçenekler:

835 ruble.
ALTERA FPGA CycloneII EP2C5T144 Learn good için Minimum Sistem Kartı

880 ruble
Altera CycloneII EP2C5T144 FPGA Mini Geliştirme Çekirdek Kartını Öğrenin E081

1265 ruble
EP2C8 EP2C8Q208C8N ALTERA Cyclone II FPGA Değerlendirme Geliştirme Çekirdek Kartı

Gelişmiş kartlar . Bunlar, üzerine ek modüllerin (UTP, USB, AUDIO), konektörlerin (SD, VGA), düğmelerin, anahtarların, LED'lerin, yedi bölümlü göstergelerin vb. takılı olduğu kartlardır. Veya bir temel kart olabilir ve ona ayrı olarak genişletme kartları takılabilir.

Aşağıdaki çalışma setine sahibim - kart + genişletme kartı:
Altrea EP4CE10E22 FPGA CORE Board+ Cihaz Kartı USB/Ses/Ethernet/SD Kart/VGA
2760 ruble

İşte ana kart. 2 LED'i, 2 düğmesi, 4 anahtarı, yedi bölümlü göstergesi ve RAM yongası vardır.

Genişletme kartı. SD, VGA ve ayrıca USB denetleyicileri (Yüksek Hızlı USB2.0 Çipi: CY7C68013A), AUDIO (96kHz/32bit ADC/DAC'ye kadar Ses Kartı: WM8731S), UTP (100M Ethernet arayüzü: DM9000A):

Bu panolar basitçe birbirine yerleştirilmiştir, ancak hala çekmecemde duruyor. El işlerim için kitle birlikte gelen kabloyla bağladığım bir devre tahtam var. Ayrıca 5 volt güç kaynağı da dahildir.

Fok
Konunun devamı:
Elma

Dinyeper-Bug Kanalı (eski adıyla Kraliyet Kanalı), Polesie'de 1775 ile 1783 yılları arasında inşa edilmiş bir nakliye kanalıdır. Pina nehirlerini birbirine bağlar (Pripyat'ın kolu;...