O‘zbеkiston rеspublikasi oliy ta’lim, fan va innovatsiyalar vazirligi islom karimov nomidagi toshkеnt davlat tеxnika univеrsitеti


Download 7.67 Mb.
bet11/22
Sana13.09.2023
Hajmi7.67 Mb.
#1676662
1   ...   7   8   9   10   11   12   13   14   ...   22
Bog'liq
OПРО

Rivojlanish muhiti
Altera -ning Quartus deb nomlangan GUI-ni tez ko'rib chiqaylik . Aniqrog'i, uning bepul so'nggi versiyasi (yuqorida aytib o'tilgan cheklovlardan tashqari) - Quartus Boshlang'ich Lite . Bu deyarli har qanday ishlab chiqaruvchining FPGA-da yaratilgan havaskor va yarim professional loyihalarning 99% uchun etarli.

O'rnatishda siz ishlashni rejalashtirgan mikrosxemaning to'g'ri turini, sizga yaqinroq bo'lgan dasturlash tilini va mavjud apparat dasturchisini tanlash muhimdir. Siz , masalan , qo'shimcha vositalarni o'rnatishingiz mumkin disk raskadrovka va emulyatorlar, lekin ularsiz, ayniqsa, dastlabki bosqichda qilishingiz mumkin.




Mikrosxema turi to'g'ridan-to'g'ri chipga yozilgan, bizning holatlarimizda bu MAX II seriyasidan "EPM240T100", bu bortda 240 ta mantiqiy massivlar mavjudligini ko'rsatadi. Bu ma'lumot olish uchun va hatto juda ishlaydigan dizaynlar uchun ham etarli.
"JTAG" tipidagi "USB Blaster " deb nomlangan dasturchi ko'pincha kiritilgan.

Bularning barchasi dasturchi sozlamalarida shunday ko'rinadi.

Verilog ” tilini tanlaylik , u nisbatan yangi, shuning uchun u nisbatan sodda va biroz hujjatlashtirilgan. U haqida juda ko'p adabiyotlar, shu jumladan rus tilida nashr etilgan, masalan, V.V.ning yangi boshlanuvchilar uchun yaxshi va tushunarli kitobi bor. Solovyov " Verilog raqamli uskunalarni loyihalash tilining asoslari ", biz avval o'qishni tavsiya qilamiz.



Shunday qilib, doska tayyor, dasturiy ta'minot o'rnatildi va sozlandi, keling, FPGA-da eng oddiy misolni yaratamiz va ishga tushiramiz, "Salom " Dunyo !" raqamli uskunalar uchun - miltillovchi LED.
Ishga misol
Keling, vazifani biroz murakkablashtiraylik, antifazada ishlaydigan ikkita miltillovchi LEDni yarataylik. Biz bunga tayanmaymiz va parallel va mustaqil ishlashiga ishonch hosil qilish uchun uning yonida kamida bitta elementning yana bir elementar sxemasini "chizamiz".

Quartus ostida Verilogda tuzilmalarni yozishni o'rgatish vazifasi yo'q , buning uchun millionga yaqin bunday maqolalar kerak bo'ladi. Biz ushbu FPGA dizayn tizimining asosiy tushunchalari va vositalarini ozgina tushuntiramiz .

"
Oxir oqibat, aloqa arxitekturasi bo'lgan dastur "modullar" deb ataladigan narsalardan iborat. Modul kirish va chiqishlarga bog'langan bo'lib, mikrosxemaning ishlashi paytida modul ichida biror narsa sodir bo'ladi. Tuzilmalarning bir qismi statik, ya'ni vaqt o'tishi bilan o'zgarmas mantiqiy sxema. Boshqa qismi moslashuvchan, dinamik bo'lib, xotira katakchalariga o'zgartirishlar kiritishga imkon beradi ("registrlar" - o'zgaruvchilarning analoglari), shuningdek, vaziyat va sharoitlarga, qayd etilgan registrlarning holatiga qarab ulanishlar tuzilishidagi biror narsani o'zgartirishga imkon beradi. ko'proq.

Bizda ikkita modul mavjud, bitta asosiy (quvvat yoqilganda u mikrosxema tomonidan avtomatik ravishda ishga tushadi) va ikkinchi qo'shimcha, birinchisidan chaqiriladi, lekin hech qanday tizimli ravishda bog'lanmagan. Birinchi modul "moslashuvchan" bo'lib, u plataga o'rnatilgan kristall osilatorning davrlarini hisoblaydi va ushbu tsikllarning kerakli soni sodir bo'lganda chiqishlarni o'zgartiradi. Bu abadiy davom etadi va bizga cheksiz miltillovchi ikkita LEDni beradi. Ikkinchi modul "YO'Q" mantiqiy elementi orqali ulangan kirish va chiqishdir, ya'ni chiqish signali kirishga qarama-qarshi bo'ladi. Bu butun loyiha.

Matn shaklida "dastur" juda ixcham va quyidagicha ko'rinadi:

modul miltillash ( ao , led , ledin , clk , ai ); // avtomatik ravishda ishga tushadigan asosiy modul, kirish va chiqish qavs ichida


kiritish clk ; // kirish, biz uni kvarsdan soat signaliga dasturiy ravishda bog'laymiz
chiqish led ; // birinchi LEDga chiqish
chiqish ledin ; // ikkinchi (teskari) LEDga chiqish
kiritish ai ; // ikkinchi modulni kiritish
chiqish ao ; // ikkinchi modulning chiqishi
reg [26:0] longcnt ; // soatlar soni 27 bit, bu o'zgaruvchining maksimal hajmi uchun etarli
reg led;
reg ledin ;
inv my_inv ( ao , ai ); // yugurish ikkinchi modul
parametr kechikish_maks = 50000000; // hisoblagichning maksimal qiymati - 50 million tsikl, bu 50 MGts kvarts bilan 1 soniyaga to'g'ri keladi
har doim @( poza clk ) // clk oyog'ida old tomondan soatli sikl
boshlanishi
if ( longcnt == delay_ max ) // agar hisoblagich maksimal qiymatiga yetgan bo'lsa
boshlanishi
longct <= 0; // hisoblagichni qayta ishga tushiring
led <= ~ led ; // signalni o'zgartiring
ledin <= led ;
oxiri
else // aks holda biz oxirgi sozlamaga muvofiq LEDlarda monoton rasmni ko'rsatamiz
boshlanishi
led <= led;
ledin <= ~led;
longct <= longct + 1; // hisoblagichni bittaga oshiring
oxiri
oxiri
endmodul
modul inv ( aout , ain ); // parallel sxema faqat chiqishni o'zgartiradi
kiritish ain ;
chiqish tashqariga ;
tayinlash aout =~ ain ; // chiqishni "NOT" elementi orqali kirishga bog'lang
endmodul

modul deklaratsiyasidan boshlanib , endmodule bilan tugaydigan ikkita modulni ko'ramiz . Birinchisi maqsadiga ko'ra miltillash , ikkinchisi inv deb ataladi . Dastur ishlaydigan kirishlar, chiqishlar va registrlar modullarning birinchi qatorlarida e'lon qilinadi. Buning ortidan yoki signalning inversiyasi bilan hisoblash davrlarining tsiklik qismi yoki eng oddiy invertor sxemasi keladi.



Endi modullarning mavhum kirish va chiqishlarini mikrosxemaning haqiqiy pinlariga bog'lash qoladi. Bu Pin yorlig'ida amalga oshiriladi . Planner ”, bu erda tanlangan mikrosxemalar yuzlab oyoqlari bilan butun shon-shuhratda tasvirlangan. Bizning holatimizda soat generatori 64- pinga qattiq ulangan , biz uni variantlarsiz ulaymiz clk kiritish , qolganlari esa band bo'lganlardan tashqari deyarli har qanday oyoqlarga ulanishi mumkin. Diagrammada qaerda mumkin va qaerda bo'lmasligi aniq ko'rsatilgan. Bizning loyihamizda biz 94, 95, 96, 99 va 100 pinlaridan foydalanamiz . Natijada, biz shunga o'xshash narsani olamiz.
Biz bu erda g'urur bilan "sintez" deb ataladigan kompilyatsiyani boshlaymiz va bir necha soniya mulohazadan so'ng biz natijaga erishamiz. Agar hamma narsa to'g'ri bo'lsa, u holda loyiha chipga yuklanishi mumkin.

Biz "sxemani matn shaklida yozdik", bu umuman to'g'ri, ammo Quartus sxemalarni darhol grafik shaklda chizish qobiliyatiga ega, bu kichik "statik" sxemalar uchun qulay, ammo murakkab va "dinamik" uchun unchalik emas. Ammo barcha holatlarda qulay bo'lgan narsa bu biz qilgan ishimizni vizual baholash uchun matnli dasturni grafik dasturga aylantirish qobiliyatidir. Keling, "RTL Viewer " vositasini ishga tushiramiz va bizda nima borligini ko'rib chiqamiz.



Hammasi to'g'ri ko'rinadi, tepada bitta kirish va bitta chiqishga ega inverter, quyida bitta kirish, ikkita chiqish va ular orasida kichik bir mantiq to'plamiga ega " blinker " mavjud. Aslida, mikrosxemadagi struktura jismoniy jihatdan shunday ko'rinadi. Biz "

Dasturchi " vositasi yordamida eksperimental FPGA-ni yoqib yuboramiz , biz hamma narsa yaxshi bo'lganiga ishonch hosil qilamiz.

pinlariga yoki aniqroq bo'lishi uchun osiloskopga ulash orqali biz antifazadagi to'g'ri signallarning rasmini kuzatishimiz mumkin.

Moviy - 99, sariq - 100. Signalni o'zgartirish davri mo'ljallanganidek, aynan 1 soniya. Rasm yangilash jarayonida olingan, shuning uchun rasm bir joyda biroz buzilgan.

İnverterga kelsak, 99-oyoqni 95-ga (inverter kiritish) ulab, 96-oyoqda biz 100-oyoq bilan bir xil rasmni olamiz, bu to'g'ri, chunki teskari signal ikki marta teskari bo'lib, avvalgidek bo'ladi.

Aniqlik uchun signallar birlashtirilmasligi uchun biz ularning nol darajasini biroz yoydik.

Shunday qilib, biz Altera FPGA -ni bitta chipdagi ikkita mustaqil sxema bo'yicha ham o'z fikrimizni amalga oshirishga majbur qildik, bu mikrokontroller uchun aql bovar qilmaydigan vazifadir.


Xulosa
FPGA elektron qurilmalarni yaratish uchun juda muhim va qiziqarli texnik yechimdir. Mantiqiy jihatdan kontrollerlardan tubdan farq qiladigan FPGA o'zining inkor etib bo'lmaydigan afzalliklariga ega: minimal quvvat sarfi bilan eng yuqori tezlik va haqiqiy ko'p tarmoqli . Qaysi vazifa uchun FPGA-ni kontrollerdan afzal ko'rishga arziydi, savol oddiy va noaniq emas, har ikkala bazada ko'plab qurilmalar yaratilishi mumkin, asosiysi bu uskunaning narxini va sarflangan kuchni oqlaydi. FPGA chip dizaynini o'rganishga chuqurroq kirish kerakmi yoki yo'qmi, buni o'zingiz hal qilasiz, lekin oddiy bir fikrni esdan chiqarmaslik kerak: bilim ortiqcha emas, u albatta qayerdadir va qachondir foydali bo'ladi.

Download 7.67 Mb.

Do'stlaringiz bilan baham:
1   ...   7   8   9   10   11   12   13   14   ...   22




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling