"Elektronika soati" yangi va tahliliy portali.

topshirish / Zaxist

Golovna

65 nanometr 300-350 million evro turadigan Zelenograd zavodi "Angstrem-T" uchun mavjud.

Korxona allaqachon Zovnesheconombank (VEB) ga ishlab chiqarish texnologiyasini modernizatsiya qilish bo'yicha maxsus kredit olish uchun ariza topshirgan, u Vidomosti'ga zavod direktori Leonid Reymanga xat yuborganini ma'lum qilgan.

Angstrem-T 90 nm topologiyaga ega mikrosxemalarni ishlab chiqarish liniyasini ishga tushirishga tayyorlanmoqda.

Siz suzgan va 2017 yil o'rtalarida tug'ilgan WEB kreditini to'lang.

Pekin Uoll-stritni qulab tushdi

Amerikaning asosiy indekslari Nyu-Rokning birinchi kunlarini rekord darajadagi pasayish bilan nishonladi va milliarder Jorj Soros allaqachon dunyo 2008 yilgi inqirozning takrorlanishini kutayotganini bashorat qilgan edi.

60 dollarga baholangan birinchi rus jonli protsessor Baikal-T1 ommaviy ishlab chiqarishga chiqarilmoqda.

Baikal Electronics kompaniyasi 2016 yil boshida Rossiyaning Baikal-T1 protsessorini sanoatga chiqarishni kutmoqda, uning narxi 60 dollar atrofida.

Qurilmani ichish ehtimoli bor, chunki u kuch yaratadi, bozor ishtirokchilariga o'xshaydi.

MTS va Ericsson bir vaqtning o'zida Rossiyadan 5G ni ochadi va joriy qiladi

FPLIC (Programmed Logic Integrated Circuit) - bu maxsus dasturlash tavsifi bilan raqamli qurilmalarni boshqarish uchun mo'ljallangan integral sxema. Aks holda, FPGA 74HCxx chipida bir nechta elementlarni sig'dira oladigan chip bo'lib tuyuladi. Mantiqiy elementlar nimalardan iborat, ular orasidagi bog‘lanishlar va diagrammada qanday bog‘lanishlar bor?

tashqi yorug'lik, FPGA dasturlash bosqichida paydo bo'ladi.

Eslatma:

Men bilishimcha, bugungi kunda rus tilida FPGA va FPGA (Field-Programmable Gate Array, Programmed by Koristuvach Valve Matrix) atamalari bir-birining o'rnida ishlatiladi, shuning uchun ular menga matnni berdilar. Shu bilan birga, muqobil nuqtai nazarning mavjudligi haqida bilish muhimdir, ya'ni FPGA (FPGA) - FPGA (PLD, Programmable Logic Device) navlaridan biri. FPGA haqida asosiy ma'lumotlar FPGA-larni dasturlash uchun Hardware Description Language (HDL) dan foydalaning.

Ular orasida eng mashhurlari Verilog (bu dialekt yoki SystemVerilog), shuningdek VHDL. Filmlar ko'p jihatdan o'xshash, ammo har xil sintaksis va ba'zi tafsilotlarga ega. Verilog uskunaning shunday tavsifi bo'lgani uchun VHDL Paskalga o'xshaydi.

FPGA ko'pincha ilovalarda to'xtab qoladi, bu erda siz hisoblash jarayonini sezilarli darajada tezlashtirishni va ularni darhol amalga oshirishni xohlaysiz.

Masalan, FPGAlar osiloskoplar, spektr analizatorlari, mantiqiy analizatorlar, signal generatorlari, Software Defined Radio va boshqa monitorlar kabi signallarni qayta ishlash dasturlarida keng qo'llaniladi.

Zokrema, LimeSDR Altera Cyclone IV bilan jihozlangan va Rigol DS1054Z osiloskopi Xilinx Spartan-6, shuningdek, Actel kompaniyasidan ProASIC 3 bilan jihozlangan.

O'zimni qanday his qilayotganim haqida aytishim mumkin bo'lgan yana bir narsa - bu informatika, tilni aniqlash va bioinformatika.

Va FPGA-larda ishlaydigan veb-serverlar va DBMSni rivojlantirishga qaratilgan boshqa loyihalar. Ammo, bilishimcha, bu hali ham juda eksperimental.

Xilinx chi Altera? Ko'rinib turibdiki, eng yaxshi Linux bu sizning bilimdon Linux gurusidir. Mening tanish FPGA guru, ayniqsa Dmitriy Oleksyuk, Digilent kompaniyasining Arty Artix-7 jamoasida ishlay boshlaganimdan xursand bo'ldim.

Unda sinovdan o'tkazilayotgan FPGA - Xilinx-dan Artix-7. Digilentning o'zi Rossiyaga etkazib berishni taklif qilmaydi, AliExpress-da mavjud bo'lgan qurilmalardan tashqari, garchi maxsus chegirmaga ega bo'lsa ham (rasmiy narx - 99 dollar). Siz eBay-da ham sotishingiz mumkin.

Bu to'lash juda qiyin, ammo bu juda ko'p etarli tiyinlarga arziydiganidan kam emas.

Vivado xalat markazini Xilinx veb-saytida sotib olish mumkin.

Ro'yxatdan o'tishdan va o'zingiz uchun hisobot shaklini to'ldirishdan oldin ruhiy jihatdan tayyor bo'ling.

Biz Vivado HLx 2017.2 nomi ostida arxivlarni to'playapmiz: Barcha OS o'rnatuvchisi Single-File Download.

Ba'zi Vivado Lab Solutions bilan adashmang, lekin ular sizga kerak bo'lgan narsa emas.
Arxivlar 20 GB dan ortiq bo'lishi kerak, shuning uchun biz terpenlarni zaxiralaymiz.
Biz arxivlarni ochamiz va o'rnatuvchini ishga tushiramiz.
Vivado HL System Edition-ni o'rnating.
To'liq versiya 47 GB diskda mavjud.
Men, ayniqsa, dasturiy ta'minotni ishlab chiqish to'plamini tekshirdim va hajmini 12 GB ga o'zgartirgan 7 seriyali qurilmalarni qo'llab-quvvatlashni olib tashladim.

Bir oz oldinga sakrab, men bunday konfiguratsiya to'liq etarli edi, demoqchiman.

Vivado-ni ishga tushirishdan oldin siz Arty Artix-7 uchun yangi qo'llab-quvvatlashni qo'shishingiz kerak, chunki qutidan tashqari siz ushbu kengash haqida hech narsa bilmaysiz.

Bu shunday:

cd ~/ opt/ xilinx/ Vivado/ 2017.2 / data/ boards/ board_files

wget https:// github.com/ Digilent/ vivado-boards/ archive/ master.zip

master.zip faylini oching mv vivado-boards-master/new/board_files/*./ rm -r vivado-boards-master

`vaqt shkalasi 1ns/1ps

modul salom(
kirish mantig'i CLK100MHZ,
kirish mantig'i [3:0] sw,
chiqish mantig'i [3:0] led
) ;

har doim @ (posedge CLK100MHZ)
boshlanishi
agar (sw[0] == 0)
boshlanishi
LED<= 4"b0001 ;
oxiri
boshqa
boshlanishi
LED<= 4"b0000 ;
oxiri
oxiri

endmodul

Agar hamma narsa to'g'ri ajratilgan bo'lsa, Vivado-ning ushbu bosqichida siz shunday ko'rinasiz (bosish mumkin, PNG, 71 KB):

Dasturni kompilyatsiya qilish ikki bosqichda - sintez va amalga oshirishda amalga oshiriladi.

Sintez bosqichida dastur mantiqiy eshiklar va boshqa elementlardan mavhum tilga tarjima qilinadi.

Amalga oshirish bosqichida ma'lum bir lansetni ma'lum bir burmaga qanday tikish haqida qarorlar qabul qilinadi.

Biz sintezni Flow → Run Synthesis deb aytish yoki oddiygina F11 tugmasini bosish orqali boshlashimiz mumkin.

Yuqori o'ng burchakda siz jarayon davom etayotganligi haqida ko'rsatma ko'rasiz.

Kompyuteringizga va dasturlarning murakkabligiga qarab, bir soatgacha vaqt ketishi mumkin.

Mening noutbukimda dasturning induksiyalangan vizualizatsiyasi sintezi 10 soniyada o‘n soniyada yakunlandi. Agar siz hozir Oqim → Sintezlangan dizaynni ochish desangiz, ish stolida shunday chiroyli rasm yaratishingiz mumkin:

Bizning platformamizni porlash vaqti keldi.

Biz Flow → Run Implementation, keyin Flow → Generate Bitstream deymiz.

Biz platani kompyuterga USB orqali ulaymiz, Vivado Flow → Open Hardware Manager → Open target → Auto Connect → Dastur qurilmasini aytadi.

Bit fayliga yo'lni kiritishingiz kerak.
Menda shunday bor:
./first-project.runs/impl_1/hello.bit

Ushbu tuzatishlar va qarorlar Arch Wiki-da allaqachon tasvirlangan.

Xususan, men mavjud faylni Vivado_HLS katalogidan ko'chirib oldim:
cp ~/opt/xilinx/Vivado_HLS/2017.2/lnx64/tools/gdb_v7_2/libncurses.so.5\

~/opt/xilinx/Vivado/2017.2/lib/lnx64.o/libncurses.so.5

... shundan keyin hamma narsa so'raldi.

`vaqt shkalasi 1ns/1ps

Bundan buyon simulyatsiya tugmasi nazorat ostida.
Hello.sv ni qanday yaratganimizga o'xshab, biz Simulyatsiya manbalari guruhidan yangi hello_sim.sv faylini yaratmoqdamiz.
Biz faylga haqoratli kodni yozamiz:
hello_sim moduli ();

mantiq clck_t;

mantiq [3:0] sw_t;
mantiq [3:0] led_t;<= 0 ;
Salom salom_t(clck_t, sw_t, led_t);<= 4"b0000 ; # 1 ; clck_t <= 1 ; # 1 ; clck_t <= 0 ; # 1 ;
boshlang'ich

clck_t<= 4"b0001 ; # 1 ; clck_t <= 1 ; # 1 ; clck_t <= 0 ; # 1 ;
sw_t
oxiri

endmodul

assert(led_t === 4"b0001);

Sw_t

assert (led_t === 4"b0000);

Chiqish daraxtida siz faylni o'ng tugmasini bosib, Source Node Properties-ni tanlashingiz mumkin.

Ishlatilgan bo'limida Sintez va Amalga oshirish katakchalarini olib tashlang.

  • Biz hech qanday qaynona-qaynota bizning insondan uzoq bo'lgan FPGA-ni payqashini xohlamaymizmi?

Endi biz Flow → Run Simulation → Run Behavioral Simulation deymiz.

Natija shunday ko'rinadi:

Ko'rishingiz mumkinki, agar sw nolga teng bo'lsa, led birga teng va keyin yana. Bunday holda, barcha o'zgarishlar soat signalining chekkasi bilan belgilanadi.

Dastur to'g'ri ishlayotganga o'xshaydi.

    Xo'sh, hech narsa tasdiqlarga tushmadi, bu biroz cho'zilgan.

    Visnovok

    Ta'riflangan loyiha bilan arxivni sotib olish mumkin.

  1. Qo'shimcha ma'lumot uchun men tavsiya qilaman:

Agar biz sizga ko'tarilish haqida batafsil ma'lumot bersak, biz hurmatga sazovor bo'lamiz xotirada saqlangan (manzil yoki joy) orqasida emas, balki ushbu belgi orqasidagi ma'lumotlarni qidirishni amalga oshiradi.

Eng so'nggi versiyada xotirada saqlangan barcha so'zlar darhol belgilar turiga qarab tekshiriladi, masalan, kirish so'zi (teg manzili) bilan ko'rsatilgan qo'shiq maydonlaridan (teglar - inglizcha so'z tegidan) qochish uchun.

Belgini ifodalovchi so'zlar paydo bo'ladi.

Ma'lumotlar soni sizni qoniqtiradigan ma'lumotlar turining intizomi, shuningdek, yangi ma'lumotlarni yozib olish intizomi boshqacha bo'lishi mumkin.

Joriy EOMda assotsiativ xotiraning turg'unligining asosiy sohasi ma'lumotlarni keshlashdir.

Yodda saqlanadigan assotsiativ qurilmalarda ma'lumotni qidirish teri xotira qutisiga yozilgan assotsiativ belgi yordamida amalga oshiriladi.

Niqob registrida so'z yoziladi, bu sizga barcha yoki bir nechta toifalar uchun assotsiativ belgilarni yozish imkonini beradi;

Ma'lumotni qidirish teri hududining assotsiativ belgisini tekislash orqali barcha sohalarda parallel ravishda amalga oshiriladi.Qidiruv natijasi qidiruv ongini qondiradigan so'zlarning mavjudligini, faqat bitta so'zning mavjudligini, bunday assotsiatsiyaga ega bo'lishi mumkin bo'lgan ko'plab so'zlarning mavjudligini ko'rsatadigan signallarni tebranadigan maxsus kombinatsiya sxemasi orqali hosil bo'ladi. belgisi kabi. Ogohlantirish signallarini ishlab chiqarish va qayta ishlashdan so'ng, boshqaruv sxemasi kerakli ma'lumotlarni o'qiydi. (FACM, Fully Associated Cache Memory), o'rtadagi teri ma'lumotlarni saqlaydi va "teg" maydoni ma'lumotlarning yakuniy jismoniy manzili bo'lib, uning nusxasi yozib olinadi.

Har qanday almashinuv paytida so'ralgan ma'lumotlarning jismoniy manzili barcha o'rtadagilarning "teg" maydonlari bilan mos keladi va ular qochib ketganda, istalgan o'rtada Hit signali o'rnatiladi.

Hit = 1 signalida o'qilgan va baholanganda ma'lumotlar ma'lumotlar shinasida ko'rinadi, chunki aylanib o'tish yo'q (Hit = 0), keyin asosiy xotiradan o'qilganda ma'lumotlar va manzil kesh xotirasiga joylashtiriladi. yoki oh uzoq vaqt oldin Vikorist.

Manzil bilan bir vaqtda ma'lumotlarni yozishda uning kesh xotirasida joylashganligiga ishonch hosil qiling (U Hit = 1 bo'lganda aniqlanadi va Hit = 0 bo'lganda amal qiladi).

Ma'lumotlarni asosiy xotiraga nusxalash, agar xotira zaxirasi bo'lmasa, maxsus kontroller nazorati ostida yakunlanadi.

FACM tipidagi xotira juda yig'iladigan qurilma bo'lib, faqat kichik quvvatlar, ayniqsa, maxsus aksessuarlar uchun ishlatiladi.

Shu bilan birga, kesh-xotiraning bunday turi eng katta funktsional moslashuvchanlikni va ziddiyatsiz manzilni ta'minlaydi, shuning uchun har qanday ma'lumot har qanday kesh xotirasi do'konida saqlanishi mumkin.

Ma'ruzadan:

Eslash uchun assotsiativ qurilmalar

Prinsipial ahamiyati shundaki, ulardan ma'lumotni tanlash tizimi ma'lumotlarning yagona manziliga emas, balki, mohiyatiga ko'ra, qisman ma'lumotlarga asoslanadi, Nimani hazillashyapsiz?

Ma'lumot

Teg - bu juda ko'p ma'lumotni o'z ichiga olgan sezilarli belgi.

Assotsiativ ish haqi sxemasi soddalashtirildi:

Saqlash zonasi ma'lumot va teglarni saqlaydigan raqamlangan joylarga ega bo'lgan manzil omboridir.

Assotsiativ xotirani yangilash uchun registr qidirilayotgan tegning belgisi bilan to'ldiriladi.

Sxema quvvat manbaini tenglashtiradi.

Escape registrida escape o'rnatiladi, bu teg xotiradan qochish imkonini beradi. maydonda dasturlashtiriladigan darvoza massivi (dasturlashtirilgan darvoza massivi, FPGA) degan ma'noni anglatadi.

Umuman olganda, ular FPLICs - dasturlashtirilgan mantiqiy integral mikrosxemalar deb ataladi.

Qo'shimcha FPGA yordamida siz ming yashil rubl uchun stol va dasturiy ta'minotni o'rnatish uchun arzon to'lov bilan uyda o'tirgan holda raqamli mikrosxemalarni loyihalashingiz mumkin.

Bundan tashqari, bepul variantlar mavjud.

Hurmatni qaytarish uchun: dasturni emas, o'zingizni loyihalashtiring, chunki chiqishda biz jismoniy raqamli sxemani olib tashlaymiz, chunki oddiy algoritm foydalanish uchun dastur emas, balki apparat darajasida yaratilgan.

Shu tarzda ishlang.

Doskada o'rnatilgan FPGA chiplariga ulanish kabi interfeyslar to'plami, masalan, ma'lumotlar markazi uchun salqin taxta yoki boshlash uchun asosiy plata tayyor.

Biz FPGA-ni sozlamagunimizcha, interfeyslardan ma'lumotlarni qayta ishlash uchun mikrosxemalarning o'rtasida oddiy mantiq yo'q va shuning uchun hech narsa ishlamaydi.

FPGA robot printsipi

FPGA chipi bir xil integral ASIC chipi bo'lib, u triggerlar, registrlar, multipleksorlar va birlamchi sxemalar uchun boshqa mantiqiy elementlarni tashkil etuvchi tranzistorlardan iborat.

Shubhasiz, bu tranzistorlarni ulash tartibini o'zgartirish mumkin emas.

Shuningdek, arxitektura mikrosxemasi shu qadar aqlli dizaynga egaki, signallarni kattaroq bloklar o'rtasida almashtirishni o'zgartirish mumkin: ular CLB - dasturlashtiriladigan mantiqiy bloklar deb ataladi.

CLB kabi mantiqiy funktsiyani ham o'zgartirishingiz mumkin.

Bunga butun mikrosxemaning Statik RAM konfiguratsiya xotirasining o'rtasi bilan kirib borishi tufayli erishiladi.

Ushbu xotira signalni almashtirish kalitini yoki CLB amalga oshiradigan mantiqiy funktsiyaning haqiqat jadvalining bir qismini boshqaradi.

Xotiraning konfiguratsiyasi Statik RAM texnologiyasiga asoslanganligi sababli, birinchi navbatda, FPGA ishlash muddati yoqilganda, mikrosxemani sozlash kerak, aks holda mikrosxemani deyarli cheksiz ko'p marta qayta sozlash mumkin c.

Konfiguratsiya xotirasi bo'lmagan mikrosxemalarning 2D tuzilishi soddalashtirildi

CLB bloklari kommutatsiya matritsasida joylashgan, ya'ni CLB bloklarining kirish va chiqishlari ulangan.

Kommutatsiya matritsasi sxemasi

Supero'tkazuvchilar teri ko'prigida ularning asosiy konfiguratsion xotirasiga vaqti-vaqti bilan ulangan oltita kalit mavjud.

Teri qiymatlari LUT chiqish multipleksorining kirishiga beriladi va mantiqiy funktsiyaning kirish argumentlari boshqa funktsiya qiymatini tanlash uchun ishlatiladi.

CLB eng muhim FPGA apparat resursidir.

Joriy FPGA kristallaridagi CLBlar soni o'zgarishi mumkin va kristallning turi va sig'imiga bog'liq.

Xilinx taxminan to'rt mingdan uch milliongacha bo'lgan CLB soniga ega kristallarni olib yuradi.

CLB bilan bir qatorda, FPGA hali ham muhim apparat resurslariga ega emas.

Misol uchun, apparat bloklari to'planishlardan yoki DSP bloklaridan ko'paytiriladi.

Ulardan bir vaqtning o'zida 18 bitli sonlarni ko'paytirish va qo'shish amallarini bajarishingiz mumkin.

Yuqori darajali kristallarda DSP bloklari soni 6000 dan oshishi mumkin.

Yana bir manba ichki xotira bloklari (Blok RAM, BRAM).

Biroq, mening fikrimcha, PLIS tiqilib qolganga o'xshaydi.


Moslashuvchan FPGA strukturasi algoritmni o'zgartirish imkoniyati bilan yuqori tezlikda va parallel ma'lumotlarni qayta ishlash uchun apparat sxemalarini amalga oshirish imkonini beradi.

Uskuna platformalarini yangilash

Keling, CPU, GPU, FPGA va ASIC printsipial jihatdan qanday farq qilishini o'ylab ko'raylik.

CPU universal bo'lib, unda siz har qanday algoritmni, hatto eng murakkabini ham ishga tushirishingiz va dasturlash va ishlab chiqish yadrolarining ko'pligi tufayli uni eng oson tarzda ishlatishingiz mumkin.

Bunday holda, protsessor ko'rsatmalarining universalligi va izchilligi tufayli mahsuldorlik pasayadi va sxemalarning energiya sarfi oshadi.

Ma'lum bo'lishicha, protsessorning asosiy arifmetik ishlashi o'qilgan ko'rsatmalar, registrlar va kesh o'rtasidagi ma'lumotlarning harakatlanishi va tananing boshqa funktsiyalari bilan bog'liq ko'plab qo'shimcha operatsiyalarni o'z ichiga oladi.

Boshqa tomonda ASIC.

Ushbu platformada kerakli algoritm tranzistorlarning to'g'ridan-to'g'ri ulanishi yordamida amalga oshiriladi, barcha operatsiyalar faqat ko'rsatilgan algoritm bilan bog'liq va uni o'zgartirish imkoniyati yo'q.

FPGA yakuniy chiqishni ko'rish imkonini beradi: paket baytlari yonma-yon interfeys orqali chipga endigina tusha boshladi va uning sarlavhasi allaqachon tahlil qilinmoqda.

Bu erda protsessorlarning qo'shilishi o'zaro bog'langan trafikni qayta ishlash tezligini sezilarli darajada oshirishi mumkin.

Routerlar tavsiya etilgan ASIC chipidan foydalanishlari aniq, bu eng samarali bo'ladi, lekin nima uchun paketlarni qayta ishlash qoidalari o'zgarishi kerak?

Yuqori mahsuldorlik bilan birgalikda kerakli moslashuvchanlikka erishish FPGA yordamini talab qiladi.

Shunday qilib, FPGAlar ma'lumotlarni qayta ishlashning yuqori mahsuldorligi, qisqa javob vaqti va kam energiya sarfi talab qilinadigan joylarda qo'llaniladi.

Bulutdagi FPGA

Kambag'al FPGA hisob-kitoblarida, sekin trafikni tezlashtiradigan va ma'lumotlar massivlariga kirishni oshiradigan silliq oqimga ehtiyoj bor.

Bu yerda siz birjalarda yuqori chastotali savdo qilish uchun FPGA modulini qo'shishingiz mumkin.

Serverda PCI Express bilan FPGA platalari va Intel (Altera) yoki Xilinx optik chekka interfeysi mavjud.

FPGA-larga kriptografik algoritmlar, DNK ketma-ketligini moslashtirish va molekulyar dinamika fanlari katta ta'sir ko'rsatadi.

Ushbu kontseptsiyani avtotransport vositalarining harakatini tahlil qilish uchun videokamera yordamida davlat raqamini aniqlash funktsiyasi bilan eng oson tushunish mumkin.

Siz Ethernet orqali videoni uzatish va oqimni masofaviy serverda qayta ishlash qobiliyatiga ega kamerani olishingiz mumkin.

Kameralar sonining ko'payishi bilan chekkada bosim kuchayadi, bu tizimning ishdan chiqishiga olib kelishi mumkin.

To'g'ridan-to'g'ri videokamera korpusiga o'rnatilgan sensorda davlat raqamlarini tanib olish va avtomobil raqamlarini matn formatiga o'tkazish osonroq.

Shu maqsadda siz batareya bilan ishlash uchun kam energiya sarflaydigan juda arzon FPGA-larni olishingiz mumkin.

Bunday holda, siz FPGA mantig'ini o'zgartirish qobiliyatini yo'qotasiz, masalan, davlat raqamlari standartini o'zgartirganda.

Robototexnika va dronlar o'rtasida, bu sohada ikkita fikrni - yuqori mahsuldorlik va kam energiya iste'molini farqlash ayniqsa muhimdir.

FPGA platformasi eng mos keladi va masalan, dronlar uchun dala kontrollerlarini yaratish uchun ishlatilishi mumkin.

RTL tillariga nisbatan ushbu yondashuvning asosiy afzalligi algoritmni tez ishlab chiqish va ayniqsa sinovdan o'tkazishdir: C++ tilidagi kod kompyuterda ishga tushirilishi va tekshirilishi mumkin va algoritmni RTL bilan teng ravishda sinab ko'rish ancha tezroq bo'ladi.

Siz, albatta, yordam uchun pul to'lashingiz kerak bo'ladi - sxema unchalik yaxshi ishlamasligi va ko'proq apparat resurslarini egallashi mumkin.

Ko'pincha biz bu narxni to'lashga tayyormiz: agar tarjimon to'g'ri vikorizatsiya qilingan bo'lsa, samaradorlik katta ta'sir ko'rsatmaydi va hozirgi FPGAlar etarli resurslarga ega.

Dunyoda bozorga chiqish vaqtining muhim ko'rsatkichi bilan bu haqiqatga o'xshaydi.


Ko'pincha bitta dizaynda dizaynning barcha uchta uslubini birlashtirish kerak.

Aytaylik, biz robotga o'rnatishimiz va video oqimidagi ob'ektlarni - masalan, yo'l belgilarini tanib olish imkonini beradigan qurilmani ishlab chiqishimiz kerak.

Keling, video sensor chipini olib, uni to'g'ridan-to'g'ri FPGA ga ulaymiz.

Yaxshiroq ishlash uchun siz HDMI monitoridan, shuningdek, FPGA-ga ulanishlardan foydalanishingiz mumkin.

Kameradan olingan kadrlar interfeys orqasidagi FPGA-ga uzatiladi, u sensorning chiqishi orqali uzatiladi (USB bu erda muhim emas), qayta ishlanadi va monitorda ko'rsatiladi.

Kadrlarni qayta ishlash uchun sizga FPGA chipi yonidagi boshqa platada o'rnatilgan tashqi DDR xotirasida joylashgan freymbufer kerak bo'ladi.

Siz faqat RTL kodida taqdim etilgan sxemani olasiz va uni virtual stendga joylashtirasiz, u erda siz kontaktlarning zanglashiga olib kirishiga raqamli signallar ketma-ketligini etkazib berasiz, chiqish diagrammalarini chiqish signallari vaqtiga qarab ro'yxatdan o'tkazasiz va olinganlarni solishtirasiz. natijalar.

Siz foydalarni bilasiz va RTL yozishga o'ting.

Keyin, mantiqiy ravishda, tasdiqlash kodi dastur sintezatorining kirishiga yuboriladi.

Von sxemaning matn tavsifini ma'lum bir FPGA chipi uchun mavjud bo'lgan kutubxonadagi raqamli elementlarning bog'langan ro'yxatiga aylantiradi.

Ushbu ro'yxatda LUTlar, triggerlar va ular orasidagi ulanishlar kabi elementlar bo'ladi.

Ushbu bosqichda elementlar hali aniq apparat resurslari bilan bog'lanmagan.

Buni amalga oshirish uchun siz FPGA mikrosxemalarining qaysi jismoniy kirish-chiqish kontaktlari kontaktlarning zanglashiga olib, mantiqiy kirish va chiqishlariga ulanganligini ko'rsatuvchi cheklashlarni sxemaga qo'llashingiz kerak.

Siz simulyatsiya bosqichiga qaytishingiz va oddiy vaziyatni modellashingiz mumkin, ammo bu ishlayotgan teshikda to'g'ridan-to'g'ri ishlaydigan uzatish mexanizmining ekstremal turiga ta'sir qilmaydi.

Siz qaysi signallarni soatga kiritishni xohlayotganingizni belgilashingiz mumkin va ishlov berish markazi mantiqiy analizatorning qo'shimcha sxemasini yaratadi, u konfiguratsiya qilingan sxema yonidagi kristalda joylashgan bo'lib, siz ulanishingiz kerak bo'lgan signallarga ulanadi va ularning qiymatlarini soatiga tejaydi.

Kerakli signallarni saqlash soat diagrammalari kompyuterda ko'rsatilishi va tahlil qilinishi mumkin.

VIKORISTANNYA PLIS AT SUCHASNIX USMLARDA

Tupikov Pavlo Andriyovich

OmDTU ART kafedrasi 5-kurs talabasi, Rossiya Federatsiyasi, Omsk

Bugungi kunda dasturlashtirilgan mantiqiy integral mikrosxemalar (FPGA) turli xil zamonaviy qurilmalarda tobora keng tarqalgan bo'lib, bu FPGA-larning raqamli mikrosxemalarga nisbatan turli qiymatlarga ega ekanligi bilan bog'liq.

Ushbu yutuqlarni ta'kidlash mumkin:

· Virusning soat xususiyatlari yaxshilanadi.

· Mahsulot narxi o'zgaradi.

· Virobusning o'lchamlari o'zgarib bormoqda.

· Virusning ishonchliligi oshadi (diskret mikrosxemalar soni o'zgaradi)

· Vibratorning moslashuvchanligi yaxshilanmoqda (kelajakda PLIS qayta dasturlanishi mumkin)

FPGA arxitekturasi katlanadigan tuzilishga ega (1-rasm).

Malyunok 1. FPGA ning ichki tuzilishi

Little 1 dan ko'rinib turibdiki, FPGA ning asosiy qismi mantiqiy bloklarni dasturlash va ichki ulanishlarni dasturlashdan iborat.

FPGA ni dasturlash (proshivka) jarayoni qurilmaning kirish va chiqishlari o'rtasida kerakli ulanishlarni shakllantirishni o'z ichiga oladi.

Bugungi kunga kelib, virtual PLUSda dunyoda ikkita yorug'lik yetakchisi bor.

Bular Amerikaning Xilinx va Altera kompaniyalari.


Skin kompaniyasi FPGA bilan robotlar uchun SAPRni targ'ib qilmoqda. Xilinx kompaniyasi Xilinx Software Development Kit (SDK) ni taqdim etadi. і Altera Max+Plus II va Quartus II, shuningdek, ModelSim modellashtirish tizimini taklif etadi.

Mikrodastur dasturini yaratish uchun robot uskunasining tavsifi uchun quyidagi tillarni tekshiring, bugungi kun uchun eng keng tarqalganlari quyidagilar:


Shakl 3. Zagalniy to'lov turi Mini - DiLab

Ushbu dastur qo'shimcha pba va pbb tugmalari uchun "vognik" ning ko'tarilgan oqimini tanlash bilan, shuningdek, qo'shimcha transmitterlarni tez qayta mikrifikatsiya qilish uchun LED0-led7 LEDlarni izchil qayta mikroifikatsiya qilishni amalga oshiradi. sw1.

//Dastur matni

modul loyiha ( chiqish LED, kiritish clk_25 MGts, kiritish pba kiritish pbb

kiritish sw);

// Loyihaga ichki ulanishlarni belgilash

sim s1;

sim s2;

sim s3;

// Loyihaga ulangan boshqa fayllar (kichik dasturlar) ustiga bosing

Tr tr_1 (.out(s2), .set(pba), .res(pbb));

Hisoblagich hisoblagichi_1 (.q(s1), .clk(clk_25mhz), .up(s2));

Mx mx_1 (.a(s3), .in(s1), .load(sw));

DC3_8 DC3_8_1 (.out(led), .in(s3));

endmodul// dasturni yakunlash

Subprogram tr

modul tr (chiqish, o'rnatish, res);

// Dasturlarni yaratish

chiqish// Kirish/chiqishlarni tayinlash reg

kiritish tashqariga chiqish;

kiritish to'plam;

res;

//Initializatsiya

boshlang'ich

boshlanishi<= 1"d0;

Chiqib ketdi

// Asosiy dastur kodi @(har doim inkor qilish har doim o'rnating yoki

boshlang'ich

res) agar

boshlanishi<= 1"d1;

(~(to'siq))

boshlanishi<= 1"d0;

boshqa endmodul //

Dasturning oxiri

modul Pastki dastur hisoblagichi

chiqish// Kirish/chiqishlarni tayinlash hisoblagich (con, q, clk, yuqoriga);

chiqish// Cob dasturi

kiritish con;

Chiqib ketdi

// Asosiy dastur kodi @(q = con; yuqoriga, clk;

boshlang'ich

res) poza

res) clk)

(clk)<= con - 1"d1;

(~(to'siq))

(clk)<= con + 1"d1;

endmodul(yuqoriga)

Con

modul//Dasturni tugatish mx kichik dasturi (multiplekser) mx( kiritish chiqish reg kiritish a,

Chiqib ketdi

// Asosiy dastur kodi @*

boshlang'ich

ichida, yuk);

hol

(yuk)

2"b00: a = in;

2"b01: a = in;

2"b10: a = in;

endmodul // endmodul //

2"b11: a = in;

modul oxirgi harf

dc3_8 kichik dasturi (multiplekser)

mx kichik dasturi (multiplekser) reg

dc3_8 (chiqish, kirish);// Cob dasturi

Chiqib ketdi

// Asosiy dastur kodi @*

boshlang'ich

ichida,// Kirish/chiqishlarni tayinlash

kirish simi

ichida;

(in)

3"d0: tashqariga = 8"b11111110;

3"d1: tashqariga = 8"b11111101;

3"d2: tashqariga = 8"b11111011;

3"d3: tashqariga = 8"b11110111;

3"d4: tashqariga = 8"b11101111;

2"b10: a = in;

endmodul // endmodul //

3"d5: tashqariga = 8"b11011111;

3"d6: tashqariga = 8"b10111111;


3"d7: tashqariga = 8"b01111111;

Dastur CAD Quartus II yordamida amalga oshirildi.

Dasturni kompilyatsiya qilgandan so'ng, kompilyator dasturning tahlili va sintaksisi tufayli dasturga hech qanday tuzatish va hurmat ko'rsatmaydi (4-rasm).


Malyunok 4. Iltimos, loyihaga e'tibor bering Kompilyator tomonidan yaratilgan hurmat, Quartus II uchun litsenziyalar soni (o'rganish uchun dasturning bepul versiyasi mavjud edi) va loyihani modellashtirish uchun zarur bo'lgan fayllar soni haqida gapiring. Ushbu loyihaning tuzilishi rasmda ko'rsatilgan.

5.

Shakl 5. Loyihani amalga oshirish (

RTL tuzilishi)

Yak rasmda ko'rsatilgan.

1. Grushevitskiy R.I.

Dastur mantiqiy chiplarida tizimlarni loyihalash/R.I.

Grushevitskiy, A.X.

Asus Zenfone smartfonining mikrodasturi yoki miltillovchi Asus zenfone 2 kostyum proshivkasi