Menü
Bedava
kayıt
ev  /  bellenim/ FPGA üzerine küçük bir proje. FPGA

Küçük FPGA projesi. FPGA

FPGA (Programmable Logic Integrated Circuit), özel bir programlama dilindeki bir tanımdan dijital devreler oluşturmak için tasarlanmış bir entegre devredir. Başka bir deyişle, bir FPGA, 74HCxx gibi bir grup element içeren bir çiptir. Bunların ne tür mantıksal elemanlar olacağı, aralarında hangi bağlantıların olacağı ve ortaya çıkan devrenin dış dünya ile ne gibi bağlantılara sahip olacağı FPGA programlama aşamasında belirlenir.

Not: Bulabildiğim kadarıyla, bugün Rusça'da FPGA ve FPGA (Alan-Programlanabilir Kapı Dizisi, Kullanıcı-Programlanabilir Kapı Dizisi) terimleri, metinde daha sonra kullanılacak olan, birbirinin yerine kullanılabilir olarak kabul ediliyor. Bununla birlikte, FPGA'nın (FPGA) FPGA (PLD, Programlanabilir Mantık Aygıtı) çeşitlerinden biri olduğuna göre, varlığı ve alternatif bir bakış açısı hakkında bilgi sahibi olmaya değer.

FPGA Temelleri

FPGA programlama için donanım tanımlama dilleri (HDL, Hardware Description Language) kullanılmaktadır. Bunlar arasında en popüler olanı Verilog (ve lehçeleri, özellikle SystemVerilog) ve VHDL'dir. Diller birçok yönden benzerdir, ancak farklı sözdizimlerine sahiptir ve bazı ayrıntılarda farklılık gösterir. Verilog, donanım tanımlama dünyasının böyle bir C'siyse, VHDL sırasıyla Pascal'dır. Bildiğim kadarıyla VHDL, kısmen Verilog'a kıyasla ayrıntılı olması nedeniyle biraz daha az popüler. VHDL'nin avantajlarından (veya herkes gibi dezavantajları) çağrılabilir sıkı statik yazma. Verilog bazen örtük döküme izin verir. C ve Pascal ile analojiye devam edersek diller o kadar farklı değil ki ikisini de öğrenemiyorsunuz.

Şu anda, önde gelen FPGA üreticileri Altera (şu anda Intel'e aittir) ve Xilinx'tir. Çeşitli kaynaklardan edinilen bilgilere göre, birlikte pazarın en az %80'ini kontrol ediyorlar. Kayda değer diğer oyuncular Actel (Microsemi tarafından satın alındı), Lattice Semiconductor, Quicklogic ve SiliconBlue. Xilinx donanımıyla yalnızca Xilinx geliştirme ortamından (Vivado olarak adlandırılır) çalışabilirsiniz ve Altra geliştirme ortamı (Quartus olarak adlandırılır) yalnızca Altera donanımını anlar. Yani, tam bir satıcı kilidi ve projeniz için belirli bir FPGA seçerek, ilgili üreticinin geliştirme araçlarını, teknik desteğini, belgelerini, yazılım lisanslama koşullarını, donanım desteğinin sona erdirilmesine ilişkin politikayı vb. otomatik olarak seçersiniz. .

FPGA'lar genellikle bazı hesaplamaları doğrudan donanımda uygulayarak hızlandırmak istediğiniz görevlerde kullanılır. Örneğin, FPGA'lar, osiloskoplar, spektrum analizörleri, mantık analizörleri, sinyal üreteçleri, Yazılım Tanımlı Radyo ve hatta bazı monitörler gibi sinyal işlemede yaygın olarak kullanılmaktadır. Özellikle, LimeSDR, Altera Cyclone IV'ü kullanır ve Rigol DS1054Z osiloskopu, Actel'den ProASIC 3'ün yanı sıra Xilinx Spartan-6'yı kullanır. Duyduğum diğer uygulamalar arasında bilgisayarla görme, konuşma tanıma ve biyoinformatik yer alıyor. Özellikle web sunucularının ve FPGA üzerinde çalışan DBMS'lerin geliştirilmesi için başka projeler de var. Ama bildiğim kadarıyla, bu yön hala oldukça deneysel.

Xilinx mi Altera mı?

Bununla birlikte, en iyi Linux, Linux gurusu arkadaşınızın kullandığı Linux'tur.

Bir FPGA gurusu olan arkadaşım Dmitry Oleksyuk, Digilent'ten Arty Artix-7 devboard ile başlamamı tavsiye etti. İçinde kullanılan FPGA, Xilinx'ten Artix-7'dir. Digilent'in kendisi Rusya'ya gönderilmiyor, ancak cihaz, gözle görülür bir işaretleme ile de olsa AliExpress'te de mevcut (resmi fiyat 99 $). Ayrıca eBay'de de satılmaktadır. Bu, yine de yeterli paraya mal olan oldukça güçlü bir tahtadır.

Eğlenceli gerçek! Sadece Verilog veya VHDL'de programlama yapmak istiyorsanız, kesinlikle konuşmak gerekirse, herhangi bir FPGA kartı satın almanıza gerek yoktur. İlk başta, kendinizi daha sonra tartışılacak olan bir simülatörle sınırlayabilirsiniz.

Kartın ilginç bir özelliği de slotların Arduino shield'ları ile uyumlu olacak şekilde düzenlenmesidir. Ayrıca panoya Vivado için tüm olanaklarını açan bir lisans almak için bir ek de dahildir. Lisans, etkinleştirme tarihinden itibaren bir yıl geçerlidir ve ayrıca işletim sistemi türü ve MAC adresi ile bir bilgisayara bağlıdır.

Teslimatta. FPGA'lı cihazların gümrükten geçmeme şansının yüksek olduğunu duydum. Yukarıda verdiğim bağlantı AliExpress'teki mağaza, panoları SPSR kurye servisi aracılığıyla Rusya'ya teslim ediyor. Gümrükten geçmek için, mevcut Rus mevzuatının gerektirdiği şekilde pasaport verileri (yalnızca veriler, fotoğraf yok) ve bir irtibat telefon numarası içeren çevrimiçi bir form doldurulması gerekiyordu. Bundan sonra pano, kurye ile kapıya kadar herhangi bir soru sorulmadan teslim edildi.

Vivado'yu Yükleme

Vivado geliştirme ortamı, Xilinx web sitesinde indirilebilir. İndirmeden önce kayıt olmanız ve kendiniz hakkında oldukça ayrıntılı bir form doldurmanız gerekeceği gerçeğine zihinsel olarak hazır olun. "Vivado HLx 2017.2: Tüm OS yükleyici Tek Dosya İndirme" adlı arşivi indirin. Yanlışlıkla herhangi bir "Vivado Lab Solutions" ile karıştırmayın, kesinlikle ihtiyacınız olan şey bu değil. Arşiv 20 GB'ın üzerinde, bu yüzden sabırlı olmamız gerekiyor.

Arşivi paketinden çıkarın, yükleyiciyi çalıştırın. Vivado HL System Edition'ı yükleyin. Tam sürümü 47 GB disk alanı kaplayacak. Şahsen, Yazılım Geliştirme Kitinin işaretini kaldırdım ve yalnızca 7 Serisi cihazlar için desteği bıraktım, bu da boyutu 12 GB'a indirdi. Biraz ilerlerken, bu konfigürasyonun oldukça yeterli olduğunu belirteceğim.

Vivado'yu başlatmadan önce, bu pano hakkında kutunun dışında hiçbir şey bilmediği için Arty Artix-7 için destek eklemeniz gerekiyor. Bir şekilde şöyle yapılır:

cd ~ / opt / xilinx / Vivado / 2017.2 / veri / panolar / board_files
wget https: // github.com/ Digilent / vivado-boards / arşiv / master.zip
master.zip dosyasını aç
mv vivado-boards-master / yeni / board_files / * ./
rm -r vivado-panoları-ustası
rm master.zip

Ayrıca Arty_Master.xdc dosyasını indirip bir yere kaydedin. Daha da ihtiyacımız olacak. Dosya, panodaki LED'lerin, anahtarların vb. bir açıklamasını içerir. Onsuz, Verilog'daki LED'lerin yanıp sönmesi kolay olmayacak.

SystemVerilog'daki ilk proje

Vivado'da Dosya → Yeni Proje deyin... Proje türü olarak RTL Projesi'ni seçin, Şu anda kaynakları belirtme onay kutusunu işaretleyin. Tahta tipi seçim iletişim kutusunda, listede Arty'yi bulun.

Öncelikle daha önce indirdiğiniz XDC dosyasını projeye ekleyin. Proje dizinine kopyalayın. Ardından Dosya → Kaynak Ekle… → Kısıtlama ekle veya oluştur → Dosya Ekle diyoruz, dosyanın bir kopyasını bulun, Bitir'e tıklayın. Arty_Master.xdc dosyası veya kopyaya ne ad verdiyseniz, Kısıtlamalar grubundaki proje dosyaları ağacında (Kaynaklar) görünecektir. Açın ve Saat sinyali, Anahtarlar ve LED'ler gruplarındaki tüm satırları kaldırın.

Ardından Dosya → Kaynak Ekle… → Tasarım kaynakları ekle veya oluştur → Dosya Oluştur deriz. Dosya türünde SystemVerilog'u seçin, dosya adında merhaba gibi bir şey girin. Bitir diyoruz. Ardından, modül arayüzüne tıklamanızı önerecek olan Modül Tanımla iletişim kutusu görünecektir. İletişim kutusu oldukça işe yaramaz, çünkü aynı şeyi kodda yapmak daha uygun, bu yüzden İptal'i tıklayın.

Kaynak ağaçta yeni bir merhaba.sv dosyası bulun, Tasarım Kaynakları grubunda olacaktır. Açın ve aşağıdaki kodu yazın:

`zaman ölçeği 1ns / 1ps

modül merhaba (
giriş mantığı CLK100MHZ,
giriş mantığı [3: 0] sw,
çıkış mantığı [3: 0] ledi
) ;

her zaman @ (CLK100MHZ'ye poz verdi)
başlamak
if (sw [0] == 0)
başlamak
Led<= 4"b0001 ;
son
Başka
başlamak
Led<= 4"b0000 ;
son
son

uç modül

Her şey doğru yapıldıysa, bu aşamada Vivado'nuz şöyle görünecektir (tıklanabilir, PNG, 71 KB):

Bir programın derlenmesi iki aşamada gerçekleştirilir - sentez ve uygulama. Sentez aşamasında, program mantık kapılarının ve diğer elemanların soyut bir devresine çevrilir. Uygulama aşamasında, bu devrenin belirli bir donanım parçasına nasıl flaş edileceğine karar verilir.

Flow → Run Synthesis diyerek veya sadece F11 tuşuna basarak sentezi çalıştıralım. Sağ üst köşede işlemin devam ettiğini gösteren bir gösterge göreceksiniz. Bilgisayarınıza ve programın karmaşıklığına bağlı olarak oldukça uzun zaman alabilir. Dizüstü bilgisayarımda, yukarıdaki programın sentezi yaklaşık 10 saniye içinde tamamlandı, şimdi Akış → Sentezlenmiş Tasarımı Aç dersek, şöyle güzel bir resim görebilirsiniz:

Panomuzu yakmanın zamanı geldi. Akış → Gerçekleştirmeyi Çalıştır, ardından Akış → Bit Akışı Oluştur deriz. Kartı USB üzerinden bilgisayara bağlıyoruz, Vivado'da Akış → Donanım Yöneticisini Aç → Hedefi aç → Otomatik Bağlan → Cihazı programla diyoruz. Bit dosyasının yolunu belirtmeniz gerekecektir. Aşağıdaki gibi yaşadım:

./first-project.runs/impl_1/hello.bit

Program diyoruz. SW0 anahtarı kapalıysa, kart üzerindeki LD4 LED'i artık yanar (yukarıdaki kartın fotoğrafına bakın). Anahtar açıksa, LED kapalıdır. Basit, elbette, ama bu "merhaba dünya", ne bekliyordun? :)

simülasyon

Simülasyon, herhangi bir FPGA olmadan doğrudan bilgisayarınızda Verilog veya VHDL'de sanal bir kod yürütülmesidir. Hem bir hata ayıklama aracı hem de kodu testlerle kaplamak için bir tür çerçevedir.

Simülasyonu öğrendiğimde ilk keşfettiğim şey benim için işe yaramadığıydı. Günlükler basitti:

HATA: Oluşturulan C dosyası [...] xsim_1.c derlenemedi.

Bu hatada Google, "antivirüsünüzü devre dışı bırakmaya çalışın" tarzında yalnızca her türlü saçmalığı buldu. Sonunda ~ / opt / xilinx / Vivado / 2017.2 / bin / xelab betiğine -v 2 bayrağının eklenmesi sorunun çözülmesine yardımcı oldu. Onun yardımıyla, Vivado'nun ikili dosyasını sürüklediği Clang'ın aşağıdaki hatayla çöktüğünü öğrendim:

/ a / long / path / to / clang: paylaşılan kitaplıklar yüklenirken hata oluştu:
libncurses.so.5: paylaşılan nesne dosyası açılamıyor: Böyle bir dosya yok veya
dizin

Ve bu hata ve çözümü Arch Wiki'de zaten açıklanmıştır. Şahsen, zaten var olan bir dosyayı Vivado_HLS dizininden kopyaladım:

cp ~ / opt / xilinx / Vivado_HLS / 2017.2 / lnx64 / araçlar / gdb_v7_2 / libncurses.so.5 \
~ / opt / xilinx / Vivado / 2017.2 / lib / lnx64.o / libncurses.so.5

... bundan sonra her şey çalıştı. Şimdi, aslında, bir simülasyon örneği.

Merhaba.sv'yi daha önce oluşturduğumuza benzer şekilde, Simulation Sources grubunda yeni bir merhaba_sim.sv dosyası oluşturun. Dosyaya aşağıdaki kodu yazıyoruz:

`zaman ölçeği 1ns / 1ps

modül merhaba_sim();
mantık clck_t;
mantık [3: 0] sw_t;
mantık [3: 0] led_t;

Merhaba merhaba_t (clck_t, sw_t, led_t);

ilk başlangıç
clck_t<= 0 ;
sw_t<= 4"b0000 ; # 1 ; clck_t <= 1 ; # 1 ; clck_t <= 0 ; # 1 ;
iddia (led_t === 4 "b0001);

sw_t<= 4"b0001 ; # 1 ; clck_t <= 1 ; # 1 ; clck_t <= 0 ; # 1 ;
iddia (led_t === 4 "b0000);
son

uç modül

Kaynak ağaçta, dosyaya sağ tıklayın, Kaynak Düğüm Özellikleri'ni seçin. Kullanım Yeri bölümünde, Sentez ve Uygulama kutularının işaretini kaldırın. Kauçuktan uzak FPGA'mızı tıkamak için herhangi bir test istemiyoruz, değil mi?

Şimdi Akış → Simülasyonu Çalıştır → Davranış Simülasyonunu Çalıştır diyoruz. Sonuç olarak, şöyle bir şey göreceksiniz:

sw sıfır olduğunda, led'in bir olduğunu ve bunun tersini görebilirsiniz. Bu durumda, tüm değişiklikler saat sinyalinin kenarında meydana gelir. Program düzgün çalışıyor gibi görünüyor. Eh, iddialara hiçbir şey düşmedi, bu da ipucu gibi görünüyor.

Çözüm

Yukarıda açıklanan projeye sahip arşiv indirilebilir. Ek bilgi kaynakları olarak aşağıdakileri tavsiye ederim:

  • Donanım ayrıntılarıyla ilgileniyorsanız, dikkat edin

İşlemcinin bir dizi talimat yürütmek yerine her program için yeniden oluşturacağını ve algoritmayı doğrudan donanıma dönüştüreceğini hayal edin. FPGA'lar böyle çalışır! Bu yazıda bunun nasıl mümkün olduğunu anlatacağım ve sizi FPGA tasarımının farklı yolları ile tanıştıracağım.

Belki dünyanın diğer ucundaki cihazları nasıl hackleyeceğinizi veya harika web uygulamalarını nasıl kodlayacağınızı biliyorsunuzdur, ancak bilgisayarınızın nasıl çalıştığını anlıyor musunuz? Ve bu, işletim sisteminin ne yaptığı, Java'da çöp toplayıcının nasıl çalıştığı veya C++ derleyicisinin nasıl çalıştığı ile ilgili değildir. Montajcının altındaki en düşük donanım seviyesinden bahsediyorum: donanımın nasıl çalıştığı.

Bir Ethernet paketi geldiğinde NIC yongasına ne olur? Bu paket, PCI Express veri yolu aracılığıyla bilgisayarın RAM'ine nasıl aktarılır? En hızlı donanım görüntü tanıma sistemleri nasıl çalışır?

Bu soruları cevaplamak için ASIC'lerin dijital mantığını biraz anlamanız gerekir, ancak onlarla başlamak çok zor ve pahalıdır ve bunun yerine FPGA'larla başlamak daha iyidir.

BİLGİ

FPGA, Rusça - programlanabilir kapı matrisleri, FPGA'da alan programlanabilir kapı dizisi anlamına gelir. Daha genel olarak, bunlara FPGA - programlanabilir mantık entegre devreleri denir.

FPGA'lar ile, masanızda mevcut bir hata ayıklama panosu ve birkaç kilo papel için geliştirici yazılımı ile evde otururken tam anlamıyla dijital mikro devreler tasarlayabilirsiniz. Ancak, ücretsiz seçenekler de var. Not: Tam olarak tasarlamak, programlamak değil, çünkü çıktı, işlemci için bir program değil, donanım düzeyinde belirli bir algoritmayı gerçekleştiren fiziksel bir dijital devredir.

Bu şekilde çalışır. Bir veri merkezi için soğuk bir kart veya eğitim için bir hata ayıklama panosu gibi, kart üzerine kurulu bir FPGA yongasına bağlı bir dizi arayüze sahip hazır bir PCB vardır.

FPGA'yı yapılandırana kadar, mikro devrenin içinde arayüzlerden gelen verileri işlemek için bir mantık yoktur ve bu nedenle hiçbir şey açıkça çalışmayacaktır. Ancak tasarımın bir sonucu olarak, FPGA'ya yüklendikten sonra ihtiyacımız olan dijital devreyi oluşturacak bir ürün yazılımı oluşturulacaktır. Örneğin, ağ paketlerini alacak ve işleyecek bir 100G Ethernet denetleyicisi oluşturabilirsiniz.

FPGA'nın önemli bir özelliği, yeniden yapılandırma yeteneğidir. Bugün bir 100G Ethernet denetleyicisine ihtiyacımız var ve yarın aynı kart bağımsız dört adet 25G Ethernet arabirimini uygulamak için kullanılabilir.

Pazarın sırasıyla %58 ve %42'sini kontrol eden iki büyük FPGA yonga üreticisi Xilinx ve Intel var. Xilinx kurucuları, 1985 yılında ilk FPGA çipini icat etti. Intel, kısa süre önce 2015 yılında Xilinx ile aynı zamanda kurulan Altera'yı satın alarak pazara girdi. Xilinx ve Altera teknolojileri, geliştirme ortamları gibi birçok yönden benzerdir. Çoğu zaman Xilinx ürünleriyle çalıştım, bu yüzden sürekli bahsedilmesine şaşırmayın.

PROJENİN FPGA ÜZERİNDE UYGULANMASI

Mantık devresini fonksiyonel modelleme kullanarak çalıştıktan sonra çip üzerine yerleştirmek gerekir. Ardından, devreyi bir çip üzerine yerleştirdikten sonra elde edilen öğelerin gerçek gecikmesine dayalı olarak devreyi simüle edin. Gerekirse, alınan çözümleri düzeltin. Daha sonra devre FPGA'ya yüklenir ve stantta test edilir.

Pirinç. 82. FPGA üzerinde dijital cihaz tasarlama aşamaları

FPGA'da tasarımın ana aşamaları (derslerden):

    Bir cihaz şeması geliştirilir ve XILINX'e girilir.

    UYGULAMA ile yürütülür (çeviri, kitaplık öğelerini çıkararak şema oluşturma, optimizasyon, çip üzerine yerleştirme).

    Programlama.

  1. İlişkisel bellek. Organizasyon, örnekleme yöntemi, adres belleğinden farklılıklar.

ilişkisel erişim bilgiyi bellekteki konumuna (adres veya sıradaki yer) göre değil, bazı özniteliklere göre arar. En eksiksiz sürümde, bellekte depolanan tüm kelimeler, örneğin belirli kelime alanlarının (etiketler - İngilizce kelime etiketinden) giriş kelimesi (etiket adresi) tarafından belirtilen özellikle çakışması gibi bir özellikle uygunluk açısından kontrol edilir. ). Çıktıya kriteri karşılayan kelimeler verilir. Birkaç kelime etiketi karşılıyorsa, kelime yayınlama disiplini ve yeni veri yazma disiplini farklı olabilir. Modern bilgisayarlarda ilişkisel belleğin ana uygulama alanı veri önbelleğe almadır.

İlişkili depolama cihazlarında bilgi, her bir bellek hücresine kaydedilen bir ilişkisel özellik tarafından aranır.

Maske kaydına, ilişkisel özniteliğin tümü veya yalnızca bazı bitleri için bir sorguya izin veren bir kelime yazılır; maske kullanımı, arama alanını daraltmanıza veya genişletmenize olanak tanır.

Bilgi araması, talebi her hücrenin ilişkisel özniteliği ile karşılaştırarak tüm hücrelerde paralel olarak gerçekleştirilir.

Arama sonucu, arama koşullarını karşılayan kelimelerin yokluğu, sadece bir kelimenin varlığı, böyle bir çağrışım özelliğine sahip birkaç kelimenin varlığı hakkında bildirimde bulunan sinyaller üreten özel bir kombinasyonel devre tarafından oluşturulur.

Uyarı sinyallerinin oluşması ve işlenmesinden sonra kontrol devresi gerekli bilgileri okur. Yazarken, meşgul bitinin değerine göre boş hücre aranır, ilk bulunan boş hücreye bilgi yazılır.

Meşgul bitinin kontrolü, maskenin n. biti (meşgul biti) ayarlanarak gerçekleştirilir. İlişkisel bellekte ek kombinasyonel devreler kullanırken, maksimum veya minimum sayıyı, aynı çağrışım özelliğine sahip kelime sayısını vb. belirleyerek çeşitli mantıksal işlemler gerçekleştirebilirsiniz. Çağrışımsal belleğin bellek hücreleri statik bellek öğeleri olmalıdır; çağrışımsal bellekte tüm hücrelere aynı anda erişilir ve yenilenme döngüleri tarafından kesintiye uğratılmamalıdır. İlişkisel bellek en hızlıdır, ancak çok pahalıdır, çünkü her bir bellek hücresi için arama yapmanızı sağlayan ek bir karşılaştırma şemasının kullanılmasını gerektirir. Bu nedenle, bu tür bellek genellikle saf haliyle kullanılmaz ve Önbellek gibi yüksek hızlı bellek aygıtları genellikle kısmen ilişkisel olarak yürütülür.

Vtamamen ilişkisel ön bellek (FACM, Tam İlişkili Önbellek Belleği), her hücre verileri depolar ve "etiket" alanında - bir kopyası kaydedilen bilgilerin tam fiziksel adresi. Herhangi bir değiş tokuşta, istenen bilginin fiziksel adresi, tüm hücrelerin "etiket" alanlarıyla karşılaştırılır ve eğer eşleşirse, herhangi bir hücrede Hit sinyali ayarlanır.

Hit = 1 sinyalinin değeri okunurken, veri veri yoluna gönderilir, ancak eşleşme yoksa (Hit = 0), ana bellekten okunurken, adresle birlikte veriler bir veri yoluna yerleştirilir. boş veya en son kullanılmayan önbellek hücresi.

Veri yazarken, adresle birlikte, kural olarak, ilk önce önbelleğe yerleştirilir (tespit edilen hücrede Hit = 1 ve Hit = 0'da boş). Verilerin ana belleğe kopyalanması, bellek erişimi olmadığında özel bir denetleyicinin kontrolü altında gerçekleştirilir.

FACM belleği çok karmaşık bir cihazdır ve yalnızca küçük kapasiteler için, özellikle özel uygulamalarda kullanılır. Aynı zamanda, bu tip önbellek, herhangi bir bilgi birimi önbelleğin herhangi bir hücresine yüklenebildiğinden, en büyük işlevsel esnekliği ve çatışmasız adresleri sağlar.

Derslerden:

İlişkili depolama cihazları

Temel fark, onlardan bilgi alma sisteminin, bilginin bulunduğu benzersiz bir adreste değil, aslında gerekli bilgilerin bir parçası olan bazı niteliklerle gerçekleştirilmesidir.

Bilgi

Etiket, tesadüfen bir bilgi parçasının aldığı ayırt edici bir özelliktir.

İlişkisel belleğin basitleştirilmiş şeması:

Depolama alanı, bilgileri ve etiketleri depolayan, numaralandırılmış hücrelere sahip adreslenebilir bir bellektir.

İlişkisel belleğe erişmek için, istek kaydına gerekli etiketin bir örneği yerleştirilir. Karşılaştırma şeması sorguyu karşılaştırır. Hafızadaki etiketin modelle eşleştiği yerde eşleşme kaydında bir eşleşme ayarlayın. Tepkiler mümkündür (eşleşme yok; en az bir eşleşme var - bu durumda, bulunan hücre veri kaydına yerleştirilir; çoklu eşleşme - CC, hangi hücrelerden işlem için alınacağına karar vermelidir).

Uygulama: DB, bilgi tabanı, önbellek olarak PC.

65 nanometre, 300-350 milyon avroya mal olacak Zelenograd fabrikası "Angstrem-T"nin bir sonraki hedefi. Tesisin yönetim kurulu başkanı Leonid Reiman'a atıfta bulunarak Vedomosti'nin bu hafta bildirdiğine göre, işletme üretim teknolojilerini modernize etmek için Vnesheconombank'a (VEB) zaten yumuşak bir kredi başvurusunda bulundu. Şimdi "Angstrem-T", 90nm topolojiye sahip mikro devreler için bir üretim hattı başlatmaya hazırlanıyor. Satın alındığı önceki VEB kredisinin ödemeleri 2017 yılının ortalarında başlayacak.

Pekin Wall Street'i çökertti

ABD'nin kilit endeksleri Yeni Yıl'ın ilk günlerini rekor bir düşüşle işaretledi, milyarder George Soros şimdiden dünyanın 2008 krizinin tekrarını beklediği konusunda uyardı.

60 $ fiyatla ilk Rus tüketici işlemcisi Baykal-T1 seri üretime girdi

2016 yılının başlarında "Baikal Electronics" şirketi, Rus işlemci Baykal-T1'i yaklaşık 60 $ değerinde endüstriyel üretime sokmayı vaat ediyor. Piyasa katılımcıları, bu talebin devlet tarafından yaratılması halinde cihazların talep göreceğini söylüyor.

MTS ve Ericsson, Rusya'da 5G'yi ortaklaşa geliştirecek ve uygulayacak

Mobile TeleSystems PJSC ve Ericsson, Rusya'da 5G teknolojisinin geliştirilmesi ve uygulanması konusunda işbirliği anlaşması imzaladı. 2018 Dünya Kupası da dahil olmak üzere pilot projelerde MTS, İsveçli satıcının gelişmelerini test etmeyi amaçlıyor. Operatör, gelecek yılın başında, beşinci nesil mobil iletişim için teknik gereksinimlerin oluşturulması konusunda Telekom ve Kitle İletişim Bakanlığı ile bir diyalog başlatacak.

Sergey Chemezov: Rostec şimdiden dünyanın en büyük on makine üreticisi şirketinden biri

Rostec başkanı Sergey Chemezov, RBC ile yaptığı röportajda keskin soruları yanıtladı: Platon sistemi, AVTOVAZ'ın sorunları ve beklentileri, Devlet Kurumunun ilaç sektöründeki çıkarları, yaptırımlar karşısında uluslararası işbirliği hakkında konuştu baskı, ithal ikamesi, yeniden yapılanma, kalkınma stratejileri ve zor zamanlarda yeni fırsatlar.

Rostec "çitle çevrili" ve Samsung ve General Electric'in defnelerine tecavüz ediyor

Rostec Denetleme Kurulu, "2025'e Kadar Geliştirme Stratejisini" onayladı. Temel hedefler, yüksek teknolojili sivil ürünlerin payını artırmak ve temel finansal göstergeler açısından General Electric ve Samsung'u yakalamaktır.

Makale, programlanabilir mantık tümleşik devreleri (FPGA) için geliştirilen dijital modüller için eşlik eden belgelerin bileşimini belirlemeye çalışmaktadır. Geliştirilen dijital modülün FPGA'lara dayalı dijital cihazların tasarım aşamasında projelerinde başarılı bir şekilde daha fazla kullanılması için geliştiriciler tarafından tüketiciye / müşteriye bu eşlik eden belgeler sağlanmalıdır.

Tanıtım

Peki, firma veya müşteri işletmesi veya başka bir geliştirici gelecekte projelerinde “yabancı” geliştirilmiş bir cihaz kullanacaksa, geliştiriciden ne tür tasarım belgeleri istenmelidir? Bu makale, önce bir FPGA için dijital bir cihazın geliştirilmesi için teknik bir atamayı doğru bir şekilde yayınlamak ve ardından geliştiriciden halihazırda geliştirilmiş bir dijital cihaz için tasarım dokümantasyonu istemek için bir "hile sayfası" olarak hizmet edebilir. Tasarım belgeleriyle ilgili önceki deneyimlere dayanarak, genellikle bir işletme veya firma aşağıdaki standartları ve düzenlemeleri kullanır:

  • GOST 2.102-68 ESKD. Tasarım belgelerinin türleri ve eksiksizliği.
  • GOST 15.101-98. Ürün geliştirme ve üretime geçme sistemi. Araştırma çalışması yapma prosedürü.
  • GOST R 15.201-20-00. Ürün geliştirme ve üretime geçme sistemi. Endüstriyel ve teknik amaçlı ürünler. Üretim için ürünlerin geliştirilmesi ve piyasaya sürülmesi prosedürü.

Kural olarak, bunlar bir ürün yazılımı dosyası ve bir programdı (VHDL / Verilog'daki bir dijital cihazın tanımı veya tetikleyiciler, kayıtlar, sayaçlar, kod çözücüler gibi dijital mantığın kütüphane öğelerini kullanarak bir devre düzenleyicide geliştirilen bir dizi dijital devrenin tanımı) , vb.) CD veya DVD'de ve programlama talimatlarında. Ve hepsi bu.

Yazar, örneğin, aşağıdaki sorunla karşılaştı. Çalışanlardan biri sofistike bir çok modüllü dijital cihaz geliştirdi. VHDL'deki tüm modülleri tanımladı ve iyi ve pahalı bir osiloskopta bu modüllerin ve dijital cihazın çalışma sıralarına bir bütün olarak baktı. Test Bench dosyalarını ve modelleme olasılığını bilmiyordu veya nasıl yazılacağını bilmiyordu, bu arada proje ve modüllerin açıklamaları hakkında da yorum yoktu. Modüller, kütüphane elemanları kullanılarak şematik bir düzenleyicide geliştirilen dijital devrelerle temsil ediliyorsa durum daha da kötü olabilir. Bu, ana dezavantajlardan biridir: geliştiricinin kendisi dışında, özellikle proje çok modüllüyse ve her modülün açıklaması 100 satırdan fazla veya birden fazla monitör ekranıysa, bu dijital cihazı pek kimse anlayamaz. Dolayısıyla, başka bir geliştirici, FPGA'lar için halihazırda geliştirilmiş bir dijital cihazı yeni bir geliştirme veya projeye dahil etmek isterse, yine bu dijital cihazı geliştirmek için zaman harcaması gerekir.

FPGA'lar için tasarımın tarihçesi

Şu anda, FPGA pazarı en dinamik olarak gelişen pazarlardan biridir. FPGA'lar teknolojinin birçok dalında kullanılmaktadır. Şu anda, tüm donanım geliştiricilerini tatmin eden sistem düzeyinde cihazın işlevsel modelinden FPGA konfigürasyonunu elde etmek için açık bir metodoloji yoktur. Bu sorunu çözmek için en popüler yaklaşım, IP çekirdek teknolojisinin (Fikri Mülkiyet Çekirdekleri) kullanılmasıdır. IP çekirdekleri, daha karmaşık bir sistem oluşturmak için bunları kendi projenize kolayca entegre etmenize olanak tanıyan hazır bileşenlerdir. Bu yaklaşımın önemli bir dezavantajı vardır - IP çekirdeklerinin temel temele bağlanması. Her IP çekirdeği, belirli bir üreticinin belirli bir dizi mikro devresi için optimize edilmiştir; bu, önceden oluşturulmuş cihazları bir eleman tabanından diğerine aktarma yeteneğini önemli ölçüde bozar. Ticari CAD mimarilerinin kapalı yapısı, kayıt aktarım düzeyinde (RTL) bunlara dayalı cihaz modelleri elde etmek için sistem düzeyinde kendi işlevsel cihaz modellerinizi eklemenizi imkansız hale getirir. Dijital modülün geliştirilmesi, üreticinin CAD sisteminde yerleşik olan tetikleyiciler, kod çözücüler, sayaçlar, toplayıcılar, vb. gibi temel devre elemanları kitaplığı kullanılarak bir devre düzenleyicide çizilen bir dijital devre şeklinde gerçekleştirilir.

Sistem düzeyinde işlevsel bir modelden kayıt aktarım düzeyinde bir cihaz modeline geçişe izin veren bir diğer popüler yaklaşım, sistem düzeyinde donanım tanımlama dillerinin (sistem düzeyinde tasarım dilleri, SLDL'ler) kullanılmasıdır. Bu tür diller arasında SystemC, Handel-C, VHDL, Verilog, System Verilog bulunur. Ana avantaj, cihazın uygulanacağı donanım temelinden bağımsız olmasıdır.

Bu nedenle, bir yandan, IP çekirdek teknolojisini kullanırken, donanım geliştiricisi yüksek kaliteli bir çözüm alır, ancak cihazın uygulandığı donanım temeline sıkı sıkıya bağlıdır. Öte yandan, sistem düzeyinde donanım açıklama dilleri kullanıldığında, cihaz uygulaması donanımdan bağımsızdır. Yukarıdakilerden, şu anda, tasarım sürecini hızlandırmak için üreticinin (Xilinx, Altera, Actel, vb.) ve üçüncü taraf geliştiricilerin donanım tanımlama dilinde ve IP çekirdeklerinde dijital modüllerin ortaklaşa kullanılmasının uygun olduğu anlaşılmaktadır. Üçüncü taraf dijital modülleri kullanırken, bazen beraberindeki belgelerin bilgi içeriği eksikliği olabilir.

FPGA için geliştirilen dijital modül hakkında bilgi verilmesi

Sistem düzeyinde cihazın işlevsel modeline göre FPGA konfigürasyonunu elde etme metodolojisine bağlı olarak geliştirici, FPGA'lar için aşağıdaki dijital modül türlerini ayırt edebilir:

  • Yazılım - donanım tanımlama dilinde (VHDL, Verilog) bir açıklama şeklinde tüketiciye iletilen veya / ve mantık devrelerinin otomatik sentezi için programlarda daha fazla kullanım için Şematik Düzenleyicide geliştirilen ve işlevsel olarak optimize edilmiş gelişmiş bir dijital modül parametreler.
  • bellenim - IP-core olarak adlandırılan, üçüncü taraf bir geliştirici tarafından geliştirilen, tüketiciye FPGA üreticisinin mantık öğesi kitaplığı temelinde bir mantık devresi (net listesi) şeklinde aktarılan ve işlevsel için optimize edilmiş bir dijital modül ve elektriksel parametreler.

Kişisel deneyime dayalı dokümantasyon geliştirme aşamasında, GOST 15.101, GOST 15.201, GOST 2.102, GOST 2.114'e uygun olarak gerçekleştirilen olağan tasarım dokümantasyonu ve teknik şartnamelere ek olarak, tüm türler için dokümantasyon hazırlamak gerekir. FPGA üzerinde dijital cihazların tasarım aşamalarında oluşturulan modellerin (sistem, mantıksal, şematik)

Başka bir deyişle, FPGA için bir dijital cihaz için tasarım belgeleri seti, ürün yazılımı dosyasına, programlama talimatlarına ve CD / DVD'ye kaydedilen projeye ek olarak, beraberindeki belgeleri de içermelidir.

Tablo. Ekteki belgelerin bölümlerinin listesi

Bölüm başlığı görüş
Yazılım bellenim
Genel bilgi
Amaç ve Kapsam Ö r
Özellikler Ö Ö
Sıfırlama sinyallerinin açıklaması Ö Ö
Senkronizasyon sinyallerinin açıklaması Ö Ö
Arayüzlerin açıklaması Ö r
Zamanlama çizelgeleri r Ö
Kontrol kayıtlarının açıklaması Ö Ö
Yapısal (fonksiyonel) diyagram r r
Programlama kılavuzu Ö Ö
FPGA modeli veya ailesi,
şirket üreticisi
r Ö
Dijital modülün tanıtımı
FPGA'da mantık tasarımı için
RTL modeli Ö Numara
mantıksal model Numara Ö
Tasarım kısıtlamaları Ö Ö

Burada, FPGA'lar için bir dijital modül projesi için eşlik eden belgelere dahil edilmesi gereken bölümlerin (tablo) bir listesi bulunmaktadır. Her bölüm için, belge setine bir bölüm ekleme ihtiyacının işaretleri gösterilmektedir:

  • "О" - zorunlu olarak sağlanan bir bölüm;
  • "R" - teslimat için önerilen bölüm.

Birlikte verilen belgeleri aktarmak için önerilen dosya biçimleri - MS Word, PDF (en iyi biçim), HTML. Donanım açıklama dilinde (VHDL, Verilog) veya / ve Şematik Düzenleyicide geliştirilen açıklama dosyaları, geliştirme için CAD yazılımının gerektirdiği şekilde sağlanır. Bir istisna, Şematik Düzenleyicide geliştirilen dijital şema dosyalarının bir grafik formatında (JPEG, BMP) ek olarak sağlanması olabilir.

Genel bilgi

Bu bölüm, geliştirilen dijital modül hakkında genel bilgileri bir açıklama şeklinde açıklar:

  • fonksiyonel diyagram ve onu oluşturan bloklar / parçalar;
  • sıfırlama sinyalleri, senkronizasyon;
  • kullanılan arayüzler;
  • kontrol kayıtları;
  • zamanlama çizelgesi;
  • programlama.

Amaç ve Kapsam

Dijital modülün amacı ve kapsamı belirlenir.

Özellikler

Performans, belirli bir FPGA kristali için güç tüketimi, dolu kapı sayısı ve kullanılan FPGA kristali türü gibi ana teknik özelliklerinin bir açıklaması verilmiştir. Ayrıca sayısal CAD modülünün geliştirilmesinde kullanılan FPGA üreticisi ve modelleme ve doğrulama için kullanılan yazılımlar belirtilmiştir. Kullanılan tüm programlar için sürüm ve yüklü güncellemeler belirtilir. Dijital modülün harici girişler / çıkışlar ile "kara kutu" şeklinde grafiksel bir gösterimi verilir ve amaçlarının kısa bir açıklaması verilir.

Sıfırlama sinyallerinin açıklaması

Sıfırlama sinyallerinin ayrıntıları verilmiştir:

  • Harici ve dahili sıfırlama sinyallerinin listesi.
  • Reset sinyallerinin zamanlama parametreleri ve zamanlama diyagramları.
  • Varsa, dahili sıfırlama sinyalleri üretmek için devreler dijital modüle dahildir.
  • Diğer sinyallerle ilişki (özellikle senkronizasyon sinyalleriyle).

Senkronizasyon sinyallerinin açıklaması

Senkronizasyon sinyallerinin ayrıntıları verilmiştir:

  • harici senkronizasyon sinyallerinin tanımı;
  • senkronizasyon sinyallerinin zamanlama parametreleri;
  • dahili senkronizasyon sinyallerinin ve bunların üretim şemalarının tanımı;
  • farklı kaynaklardan gelen senkronizasyon sinyalleri arasındaki zamanlama ilişkileri;

Arayüzlerin açıklaması

Geliştirilen dijital modülün bir parçası olan, tercihen sistemin diğer düğümleri ile bir çip üzerinde etkileşimi organize etmek için birleştirilmiş tüm arayüzlerin kullanım özellikleri verilmiştir. Ek olarak, standart arayüzün tam açıklamasına bir İnternet bağlantısı sağlanır veya arayüzün kendisinin açıklaması sağlanır. Şu anda AMBA, PLB, Wishbone veriyolu arayüzleri dijital modüller için birleşik arayüzler olarak kabul edilmektedir.

Zamanlama çizelgeleri

Dijital modülün arayüzleri ve diğer giriş / çıkışları aracılığıyla veri alışverişini düzenlemek için gerekli bilgiler sağlanır: zamanlama şemalarının grafik sunumu, veri aktarım protokollerinin tanımı, dijital modüle sağlanan harici sinyaller için gereksinimler (süre, frekans, vb.) ve diğer bilgiler...

Kontrol kayıtlarının açıklaması

Dijital modülün tüm kontrol kayıtlarının bir açıklaması sağlanır. Bir kontrol kaydının tipik bir tanımı, kaydın adını, dahili adres alanındaki kaydın adresini, sıfırlama sinyalinin kaldırılmasından sonraki başlangıç ​​değerini, erişim türünü (okuma / yazma) ve dahili kaydın bir tanımını içerir. alanlar.

Yapısal (fonksiyonel) diyagram

Dijital modülün ana dahili düğümlerinin / bloklarının bağlantılarının iç yapısının bir görüntüsü ve kısa metin açıklamaları gösterilir. Ek olarak, dijital modülün ana dahili bloklarının bir açıklaması verilmiştir. Bu belgenin amacı, tüketiciye dijital modülün ilkelerini anlaması için gerekli bilgileri sağlamaktır.

Tanımlanan blokların sayısı ve açıklamanın kapsamı, dijital modülün geliştiricisi tarafından belirlenir. Tercihen, açıklanan modüllerin minimum sayısı, dijital modülün yapısal (fonksiyonel) devresinin eleman sayısına karşılık gelir.

İç ünitenin tipik bir açıklaması şunları içerir:

  • bloğun amacı;
  • yapısal (fonksiyonel) blok şeması (gerekirse);
  • çalışma modları ve algoritmaları;
  • işin zamanlama diyagramları;
  • blok yönetimi organizasyonu;
  • diğer bloklarla iletişim organizasyonu;
  • diğer bilgiler.

Programlama kılavuzu

FPGA'daki dijital modülün CAD üreticisini, yazılım geliştirme ve hata ayıklama için gerekli araçları, yazılım kitaplıklarını kullanarak programlama süreci hakkında gerekli tüm bilgileri sağlar.

FPGA modeli veya ailesi, üretici

Bir dijital modülün Firmware'i için FPGA'nın üreticisi, FPGA'ların modeli veya ailesi ve hız özellikleri belirtilir. Yazılım dijital modülü için, kullanılan kaynakların miktarı, uygulanan FPGA gereksinimleri hakkında bilgi sağlanır.

Mantıksal tasarım için bir dijital modülün temsili

Makale, VHDL'de "yabancı" bir proje kullanmanın zorluklarını - adlandırma için uygun kılavuzların ve program yazma kurallarının eksikliğini tartıştı. Ayrıca, adlandırma için genel yönergeler, program yazmak için iyi biçim kuralları ve sentezleme için yönergeler sağladı. Gelecekte geliştirme veya modernizasyona kendi başınıza devam etmeyi planlıyorsanız, FPGA'da dijital modülün RTL modelini geliştirmeye başlamadan önce, bu sorular geliştirici ile mümkün olduğunca ayrıntılı olarak tartışılmalıdır. Bu özellikle FPGA'daki yazılım dijital modülünün türü için geçerlidir. Makalenin aynı kısmı, FPGA üzerinde geliştirilen dijital modülün tüm projesi için genel gereksinimleri açıklamaktadır. Bir FPGA üzerinde sayısal bir modülün geliştirilmesi için teknik bir ödev hazırlarken dikkat etmeniz gereken hususlar ve özellikle bu, iş sonuçlarının aktarımı ile ilgilidir.

RTL modeli

Verilog dilinin veya VHDL'nin sentezlenmiş bir alt kümesinde açıklanan ve / ve Şematik Düzenleyicide geliştirilen bir dijital modül, mantıksal FPGA sentezi aşamasında kullanılmak üzere tasarlanmıştır. Bir FPGA üreticisinden CAD'de bir dijital modülün birleştirilmiş projesi olarak Yazılıma teslim edilir. Dijital Bellenim için, RTL modeli ayrı bir anlaşma ile sağlanır.

RTL model dosyalarına ek olarak aşağıdakiler aktarılır:

  • Modeli kullanma talimatları.
  • Bellek tipi, boyutu, bellek bloklarının sayısı, bellek bloğunun hiyerarşik adı dahil olmak üzere modele dahil olan bellek bloklarının açıklaması.
  • Oluşturulmaları için programları kullanarak hazır çekirdekler oluşturma sürecinin açıklaması (örneğin, Xilinx ISE için CoreGenerator). Açıklamaların olmaması durumunda, teknoloji ve üretici bağımlılıkları nedeniyle yeniden tasarım ve uygulama için sınırlamalar olabilir.
  • Üreticiden bir mikroişlemci kullanılması durumunda (örneğin, Altera - Nios işlemciden; Xilinx - Microblaze'den, PowerPC mikroişlemcilerinden), işlemci çekirdeğini ve çevre birimlerini yapılandırma sürecinin bir açıklaması gereklidir.
  • Verilog dilinde ve / ve VHDL'de veya / ve System Verilog'da yazılmış bir dijital modülün doğrulanması ve simülasyonu için bir dizi test (Test Bench dosyaları).
  • Diğer ek bilgiler.

mantıksal model

Model, FPGA üreticisinin kitaplığı temelinde Verilog veya VHDL kullanılarak açıklanan ve dijital modülün Firmware'i için sağlanan ağların bir listesidir.

Mantıksal modelin dosyalarına ek olarak aşağıdakiler aktarılır:

  • Bu modeli kullanma talimatları.
  • Verilog dilinde ve / ve VHDL'de veya / ve System Verilog'da yazılmış bir dijital modülün doğrulanması ve simülasyonu için bir dizi test (Test Bench dosyaları).
  • Dijital bir modülün modellenmesi ve doğrulanması için bir dizi testle çalışma yönergeleri.
  • Diğer ek bilgiler.

Tasarım kısıtlamaları

Tasarım kısıtlamaları, mantıksal sistem-on-chip modeline dahil edildiğinde bir dijital modüle uygulanan bir dizi kısıtlamayı açıklayan bir dosya biçiminde sağlanır. Bu set, saat kısıtlamalarını, zamanlama kısıtlamalarını, bir dijital modülün diğer modüllerle nasıl etkileşime girdiğine ilişkin kısıtlamaları ve bir dijital modülün çalışma koşullarını içerir. Tercih edilen format, Özet Tasarım Kısıtlamaları (SDC) veya FPGA üreticisinin CAD formatıdır.

Senkronizasyon sinyalleri için örnek bir sınırlama listesi:

  • zaman diyagramı (Saat dalga formu);
  • saat frekansı kararsızlığı (Jitter);
  • saat frekansının fazını değiştirmek;
  • geçiş süreleri (Geçiş süreleri);
  • Oluşturulan saat dalga biçimleri
  • diğer ek bilgiler.

Yazılım ve Bellenim dijital modülleri için zamanlama sinyalleri için bir dizi sınırlama zorunludur.

Yaklaşık bir zaman kısıtlaması listesi:

  • Girişlerde varış süreleri;
  • çıkışlarda sinyallerin görünme süresi (Çıkışlarda gerekli süreler);
  • çok döngülü yollar;
  • yanlış yollar;
  • veri sinyali geçiş sürelerinin süresi;
  • diğer ek bilgiler.

Çözüm

FPGA'lar için geliştirilen dijital modüller için eşlik eden belgelerin verilen bileşimi, tüketici ve geliştirici arasındaki anlaşma ile sağlanır. Çoğu zaman geliştirici, VHDL, Verilog, System Verilog'da açıklanan ve / veya bir şematik düzenleyicide geliştirilen basit bir dijital modül sağlar. Ek belgelerle ilgili olarak, geliştiricinin yanıtı genellikle şudur: “Dijital modül çalışıyor, bu yüzden alın ve kullanın. Bir devreyi donanım dilinde tanımlamanın karmaşık bir tarafı yoktur: bunu kendiniz anlayacaksınız. "

Yazarın görüşüne göre, her şeyi anlayabilirsiniz, hepsi arzuya ve harcanan zamana bağlıdır ve halihazırda geliştirilmiş bir dijital modül için “yabancı” bir proje bulmaya çalışmak için harcanan zaman, donanımı tanımlama deneyimi ile doğru orantılıdır. VHDL, Verilog ve bilgi dijital ve mikroişlemci devrelerinde. Başlangıçta geliştiriciyle birlikte verilen belgelerin bileşimi konusunda hemfikirseniz, bu önlenebilir, ardından dijital modülün projenizde kullanımı kolaylaşır ve uygulaması daha hızlı gerçekleşir.

Özetle, yazar, bir FPGA üzerinde dijital bir cihaz geliştirme görevini formüle ederken, makalede verilen tavsiyelere uymanız gerektiğini, o zaman daha önce geliştirilmiş bir dijital cihazı yeniden kullanırken veya yükseltirken herhangi bir sorun olmayacağını belirtmek ister.

Edebiyat

  1. Denisov A. FPGA'lar için VHDL'de dijital cihazlar tasarlamak için birkaç ipucu // Bileşenler ve teknolojiler. 2009. Sayı 12.
  2. GOST 2.102-68 ESKD. Tasarım belgelerinin türleri ve eksiksizliği.
  3. GOST 2.114-95 ESKD. Teknik koşullar.
  4. GOST 15.101-98. Ürün geliştirme ve üretime geçme sistemi. Bilimsel araştırma çalışması yapma sırası.
  5. GOST R 15.201-20-00. Ürün geliştirme ve üretime geçme sistemi. Endüstriyel ve teknik amaçlı ürünler. Üretim için ürünlerin geliştirilmesi ve piyasaya sürülmesi prosedürü.