Mundarija:

FPGA siklon IV DueProLogic - tugma va LED: 5 qadam
FPGA siklon IV DueProLogic - tugma va LED: 5 qadam

Video: FPGA siklon IV DueProLogic - tugma va LED: 5 qadam

Video: FPGA siklon IV DueProLogic - tugma va LED: 5 qadam
Video: DE0-Nano — Краткое руководство по началу работы с Altera Cyclone IV FPGA | Шаг за шагом 2024, Noyabr
Anonim
FPGA siklon IV DueProLogic - tugma va LED
FPGA siklon IV DueProLogic - tugma va LED

Ushbu qo'llanmada biz tashqi LED sxemasini boshqarish uchun FPGA -dan foydalanamiz. Biz quyidagi vazifalarni bajaramiz

(A) LEDni boshqarish uchun FPGA Cyclone IV DuePrologic tugmalaridan foydalaning.

(B) Fleshli LED vaqti -vaqti bilan yonadi va o'chadi

Video demo

Laboratoriya menyusi:

1 -qadam: Elektron sxemani yarating

2 -qadam: Pin Planner -ni tekshiring va Verilog kodini tahrir qiling

Pin Planner -ni tekshiring va Verilog kodini tahrir qiling
Pin Planner -ni tekshiring va Verilog kodini tahrir qiling

3 -qadam: Verilog kodini tahrirlang

Verilog kodini tahrirlash
Verilog kodini tahrirlash

FPGA DueProLogic -ni sotib olganingizda, sizga DVD kerak. "Projects_HDL" ni ochganingizdan so'ng, asl kod faylini ko'rishingiz kerak

Belgilangan kodni qo'shing. U kirish -chiqish portlarini ro'yxatga oladi va portlarga raqamlar tayinlaydi.

chiqish sim [7: 0] XIO_1, // XIO-D2-D9

chiqish sim [5: 0] XIO_2, // XIO-D10-D12

chiqish sim [5: 0] XIO_3, // XIO-D22-D29

kirish sim [5: 0] XIO_4, // XIO-D30-D37

kirish sim [5: 0] XIO_5, // XIO-D38-D45

chiqish sim [4: 0] XIO_6_OUT, // XIO-D46-D53

kirish simlari [31: 5] XIO_6, // XIO-D46-D53

chiqish simlari [2: 0] XIO_7, // XIO - D69, D70, D71, D74, D75, D76

kirish sim UBA, // tugmachali tugmachalarni bosing

kirish sim UBB // Push tugmachalari

tayinlash XIO_1 [3] = start_stop_cntrl;

tayinlash XIO_2 [1] = start_blinky; // LED chirog'i yonadi va o'chadi

tayinlash XIO_2 [2] = 1'b1; // chiqish HIGH

tayinlash XIO_2 [3] = ~ UBA; // A tugmasini bosing

tayinlash XIO_2 [4] = UBB; // B tugmachasini bosing

tayinlash c_enable = XIO_5 [2];

LEDExt = XIO_5 [5] ni belgilang;

Keyin kechikish taymerini o'rnatishimiz kerak. Taymer kodini sharhlang va yangi taymer funktsiyasini yozing

//-----------------------------------------------

// LED milt -milt boshlanishi

//-----------------------------------------------

/*

har doim @(pozitsiya CLK_66 yoki RSTni bekor qilish)

boshlash

agar (! RST)

start_blinky <= 1'b0;

boshqa

boshlash

agar (control_register [7: 4]> 0)

start_blinky <= 1'b1;

boshqa

start_blinky <= 1'b0;

oxiri

oxiri

*/

reg [31: 0] oldingi;

boshlang'ich boshlanishi

ex <= 32'b0;

start_blinky <= 1'b0;

oxiri

har doim @(rasm CLK_66)

boshlash

ex <= ex + 1'b1;

agar (masalan> 100000000) // yonish/o'chish ~ 1,6 soniya, soat 66 MGts

boshlash

start_blinky <=! start_blinky;

ex <= 32'b0;

oxiri

oxiri

//-----------------------------------------------

// LED kechiktiruvchi taymer hisoblagichi

//-----------------------------------------------

/*

har doim @(pozitsiya CLK_66 yoki RSTni bekor qilish)

boshlash

agar (! RST)

led_delay_counter <= TIMER_LOW_LIMIT;

boshqa

boshlash

agar (davlat [SELECT_MODE])

led_delay_counter <= timer_value;

boshqa bo'lsa ([WAIT_FOR_TIMER] holati)

led_delay_counter <= led_delay_counter - 1'd1;

oxiri

oxiri*/

4 -qadam: Verilog kodini tuzing

Verilog kodini tuzing
Verilog kodini tuzing
Verilog kodini tuzing
Verilog kodini tuzing

Quartus -da "Kompilyatsiyani boshlash" tugmasini bosing, xato xabari yaratilmasligi kerak.

Agar siz bir nechta pin haqida xato xabari olsangiz. Topshiriqlarga o'ting -> Qurilma -> Qurilma va pin parametrlari -> Ikki maqsadli pinlar -> mos keladigan pin qiymatini "Oddiy kirish -chiqish sifatida ishlatish" ga o'zgartiring.

Kompilyatsiyadan so'ng siz to'g'ridan -to'g'ri pof chiqish faylini olishingiz kerak. Agar sizning dasturiy ta'minotingiz yangilanmagan bo'lsa, siz faqat sof faylni olishingiz mumkin. Bu sodir bo'lganda, Quartus -dagi "Fayl" -ni bosing -"dasturiy fayllarni aylantirish". Qizil qutilar bilan belgilangan sozlamalarni o'zgartiring.

5 -qadam: Keling, sinab ko'raylik

Axir, u ishlashi kerak !!! Sariq LED har doim yonadi. Qizil LED yonadi. B tugmachasini bosganingizda ko'k LED o'chadi. Agar siz A tugmasini bosgan bo'lsangiz, yashil LED yonadi

Tavsiya: