Բովանդակություն:
- Քայլ 1: Նյութեր
- Քայլ 2: Մուտքի և ելքի կարգավորում
- Քայլ 3: Mամացույցների պատրաստում
- Քայլ 4: Հաշվել մինչև տասը
- Քայլ 5: Թվերի ցուցադրում
- Քայլ 6: Ինչպես ցուցադրել վայրկյանաչափը
- Քայլ 7: Այս ամենը միասին բերելը
- Քայլ 8: Սահմանափակումներ
- Քայլ 9: Փորձարկում
Video: Հիմնական վայրկյանաչափ ՝ օգտագործելով VHDL և Basys3 տախտակ ՝ 9 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Բարի գալուստ ուսանելի, թե ինչպես կառուցել վայրկյանաչափ ՝ օգտագործելով հիմնական VHDL և Basys 3 տախտակները: Մենք ուրախ ենք կիսվել մեր նախագծով ձեզ հետ: Սա վերջնական նախագիծ էր CPE 133 (Թվային ձևավորում) Cal Poly- ում, SLO 2016 -ի աշնանը: Մեր կառուցած նախագիծը մի պարզ վայրկյանաչափ է, որը սկսվում, վերակայվում և դադարում է ժամանակը: Այն տանում է երեք կոճակ ՝ Basys3 տախտակի վրա, որպես մուտքագրումներ, և ժամանակը ցուցադրվում է տախտակի քառանիշ յոթ հատվածից բաղկացած էկրանին: Անցած ժամանակը ցուցադրվում է վայրկյանների ընթացքում ՝ հարյուր վայրկյան ձևաչափով: Այն օգտագործում է տախտակի համակարգչային ժամացույցը որպես մուտքագրում ՝ անցած ժամանակը հետևելու համար և ժամանակը դուրս է բերում յոթ հատվածից բաղկացած ցուցադրման չորս թվանշաններին:
Քայլ 1: Նյութեր
Այս նախագծի համար ձեզ անհրաժեշտ նյութերը.
- 1 համակարգիչ Vivado Design Suite WebPack- ով տեղադրված է Xilinx- ից (նախընտրում է 2016.2 տարբերակը)
- 1 Digilent Basys3 Xilinx Artix-7 FPGA տախտակ
- 1 USB պորտի մալուխ
Քայլ 2: Մուտքի և ելքի կարգավորում
Վերը նկարը ցույց է տալիս հիմնական վայրկյանաչափի մոդուլի վերին մակարդակի բլոկ -դիագրամը: Վայրկյանաչափը ընդունում է «CLK» (ժամացույց), «S1» (մեկնարկի կոճակ), «S2» (դադար դադարեցնելու) և «RST» (վերականգնում) մուտքերը և ունի 4-բիթանոց «անոդներ», 7-բիթանոց ելք: ելք «հատված» և մեկ բիթանոց ելք «DP» (տասնորդական միավոր): Երբ «S1» մուտքագրումը բարձր է, վայրկյանաչափը սկսում է հաշվել ժամանակը: Երբ «S2» - ը ցածր է, վայրկյանաչափը դադար է տալիս ժամանակը: Երբ «RST» - ը բարձր է, վայրկյանաչափը կանգ է առնում և վերականգնում ժամանակը: Շղթայի մեջ կան չորս ենթամոդուլներ `ժամացույցի բաժանարար, թվանշան, յոթ հատվածի ցուցադրման շարժիչ և յոթ հատվածի ցուցադրման կոդավորիչ: Վայրկյանաչափի հիմնական մոդուլը կապում է բոլոր ենթամոդուլները միասին և մուտքերին և ելքերին:
Քայլ 3: Mամացույցների պատրաստում
Clockամացույցի բաժանարար մոդուլը ընդունում է համակարգի ժամացույցը և օգտագործում է բաժանարար մուտքագրում `ստեղծելու ցանկացած ժամաչափ, որը չի գերազանցում համակարգի ժամացույցին: Theամացույցի վայրկյանաչափը օգտագործում է ժամացույցի երկու տարբեր մոդուլ, մեկը `500 Հց ժամացույց, իսկ մյուսը` 100 Հց ժամացույց: Clockամացույցի բաժանարարի սխեմատիկ պատկերը ներկայացված է վերևի նկարում: Clockամացույցի բաժանարարը ընդունում է մեկ բիթանոց «CLK» մուտքը, իսկ 32-բիթանոց «բաժանարար» և մեկ բիթանոց ելքը ՝ «CLKOUT»: «CLK» - ը համակարգի ժամացույցն է, իսկ «CLKOUT» - ը `ստացված ժամացույցը: Մոդուլը ներառում է նաև NOT դարպաս, որը միացնում է «CLKTOG» ազդանշանը, երբ հաշվարկը հասնում է բաժանարարի արժեքին:
Քայլ 4: Հաշվել մինչև տասը
Թվանշիչը հաշվարկում է յուրաքանչյուր թվանշանը 0-ից 10-ը և ստեղծում է մեկ այլ ժամացույց հաջորդ թվանշանի համար, որը կշեղվի տատանումից հետո, երբ թիվը հասնում է 10-ի: Մոդուլն ընդունում է 3 «բ», «RST» և «CLK» միաբիթանոց մուտքեր: »և հանգեցնում է մեկ բիթանոց« N »և 4-բիթանոց« D »ելքի: Մուտքագրվող «S» - ը մուտքի մեջ միացված է: Sամացույցը միանում է, երբ «S» - ն բարձր է, և անջատվում է, երբ «S» - ը ցածր է: «RST» - ը վերականգնման մուտքագրումն է, այնպես որ ժամացույցը վերակայվում է, երբ «RST» - ը բարձր է: «CLK» - նիշերի հաշվիչի ժամացույցի մուտքն է: «N» - ժամացույցի ելքն է, որը դառնում է հաջորդ թվանշանի մուտքային ժամացույցը: «D» ելքը ներկայացնում է այն թվանշանի երկուական արժեքը, որին գտնվում է հաշվիչը:
Քայլ 5: Թվերի ցուցադրում
Յոթ հատվածի ցուցադրման կոդավորիչը կոդավորելու է յոթ հատվածի ցուցադրման վարորդի մոդուլից ստացված երկուական թիվը և այն վերածելու է բիթերի հոսքի, որոնք մեկնաբանվելու են որպես «1» կամ «0» արժեքներ ցուցադրման յուրաքանչյուր հատվածի համար: Երկուական համարը մոդուլն ընդունում է որպես 4-բիթանոց մուտքային «թվանշան» և հանգեցնում է 7-բիթանոց ելքային «հատվածների»: Մոդուլը բաղկացած է մեկ դեպքի գործընթացի բլոկից, որը յուրաքանչյուր 7-բիթանոց հոսք է նշանակում յուրաքանչյուր հնարավոր մուտքի արժեքից `0-ից մինչև 9-ը: Յոթ-բիթ հոսքերից յուրաքանչյուր բիթ ներկայացնում է էկրանին թվանշանների յոթ հատվածներից մեկը: Հոսքի հատվածների կարգը «abcdefg» է ՝ «0» –ով, որոնք ներկայացնում են տվյալ թվի համար լուսավորվող հատվածները:
Քայլ 6: Ինչպես ցուցադրել վայրկյանաչափը
Յոթ հատվածի ցուցադրման վարորդի մոդուլում կան չորս 4-բիթանոց մուտքեր «D0», «D1», «D2» և «D3», որոնցից յուրաքանչյուրը ներկայացնում է ցուցադրվող չորս թվանշանները: «CLK» մուտքագրումը համակարգի ժամացույցի մուտքն է: Single-bit output "DP" ներկայացնում է տասնորդական կետը յոթ հատվածի ցուցադրման վրա: 4-բիթանոց «Անոդներ» ելքը որոշում է, թե յոթ հատվածի էկրանին որ թվանշանն է ցուցադրվում, իսկ 4-բիթանոց ելքային «ջերմաստիճանը» ՝ կախված «SEL» 2-բիթանոց կառավարման կարգավիճակից: Մոդուլն օգտագործում է 4 մուլտիպլեքսեր `« SEL »կառավարման մուտքի և երեք ելքերի համար. «Անոդներ», «ջերմաստիճան» և «DP»:
Քայլ 7: Այս ամենը միասին բերելը
Սկսելու և դադարեցնելու կոճակները ստեղծելու համար օգտագործվում է «եթե» գործընթացի բլոկը, որն ավարտվում է 500 Հց ժամացույցով: Հետո միացրեք բոլոր ենթամոդուլները միասին վայրկյանաչափի հիմնական մոդուլում `հայտարարելով յուրաքանչյուր առանձին ենթամոդուլի բաղադրիչները և օգտագործելով տարբեր ազդանշաններ: Թվային ենթամոդուլները ընդունում են նախորդ թվանշանային ենթամոդի ժամացույցի ելքը, իսկ առաջինը ՝ 100 Հց ժամացույցի: Թվային ենթամոդուլների «D» ելքերը այնուհետև դառնում են յոթ հատվածի ցուցադրման վարորդի մոդուլի «D» մուտքերը: Եվ վերջապես, յոթ հատվածի ցուցադրման վարորդի մոդուլի «տեմպ» ելքը դառնում է յոթ հատված կոդավորող մոդուլի «տեմպ» մուտք:
Քայլ 8: Սահմանափակումներ
Օգտագործեք 3 կոճակ (W19, T17 և U18) «RST», «S1» և «S2» մուտքերի համար: W19- ը վերակայման կոճակն է, T17- ը ՝ մեկնարկի կոճակը (S1), իսկ U18- ը ՝ դադարի կոճակը (S2): Clockամացույցի մուտքի սահմանափակում է պահանջվում նաև W5 նավահանգստի միջոցով: Նաև հիշեք, որ ժամացույցի սահմանափակումին ավելացրեք այս տողը.
create_clock -add -name sys_clk_pin -period 10.00 -ալիքի ձև {0 5} [get_ports {CLK}]
Նաև անոդներն ու հատվածները միացրեք տախտակին, որպեսզի վայրկյանաչափը ցուցադրվի յոթ հատվածի ցուցադրման վրա, ինչպես երևում է սահմանափակումների ֆայլում:
Քայլ 9: Փորձարկում
Համոզվեք, որ ձեր սարքն աշխատում է ՝ խաղալով երեք կոճակների հետ ՝ դրանք սեղմելով և պահելով ամեն հնարավոր հերթականությամբ ՝ ձեր կոդի հետ կապված հնարավոր խնդիրները գտնելու համար:
Խորհուրդ ենք տալիս:
Ինչպես կատարել հիմնական կայք ՝ օգտագործելով նոթատետր: 4 քայլ
Ինչպե՞ս ստեղծել հիմնական վեբ կայք ՝ օգտագործելով նոթատետր: Որևէ մեկին հետաքրքրե՞լ է, թե ինչպես կարող եմ վեբ կայք կազմել հիմնական գրելու ծրագրից: կայք ՝ օգտագործելով միայն նոթատետր
Arduino վայրկյանաչափ ՝ օգտագործելով I2C LCD: 5 քայլ
Arduino վայրկյանաչափ ՝ օգտագործելով I2C LCD. Այս նախագծում ես ձեզ կսովորեցնեմ օգտագործել LCD էկրան և Arduino- ն որպես ինտերակտիվ վայրկյանաչափ: Երբ ձեր նախագիծը կավարտվի տրամադրված ծածկագրով, այն պետք է նման լինի վերը նշված լուսանկարին: Գնացեք հաջորդ քայլին ՝ իմանալու, թե որտեղից սկսել
Ինչպես կատարել թվային վայրկյանաչափ ՝ օգտագործելով 555: 3 քայլ
Ինչպես կատարել թվային վայրկյանաչափ 555 -ի միջոցով. Ես պատրաստել եմ մի պարզ վայրկյանաչափ ՝ օգտագործելով 7 յոթ հատվածի LED էկրան, որոնցից առաջինը դուք ցուցադրել եք վայրկյանների 10 -րդ մասը երկրորդը և երրորդը ՝ 10 պանդոկային վայրկյանների բազմակի համար: Ես 555 ժամաչափ օգտագործեցի անկայուն ռեժիմում: որը 1 վայրկյանում ազդանշան է տալիս
VHDL Մեկ րոպե վայրկյանաչափ ՝ 5 քայլ
VHDL One Minute Stopwatch: Սա ձեռնարկ է, թե ինչպես կարելի է կառուցել մեկ րոպե վայրկյանաչափ ՝ օգտագործելով VHDL և Basys 3 տախտակ: Նման սարքը իդեալական է այն խաղերի համար, որտեղ յուրաքանչյուր խաղացող ունի առավելագույնը մեկ րոպե իր քայլը կատարելու համար: Վայրկյանաչափը ճշգրիտ կերպով ցուցադրում է վայրկյաններ և միլիվայրկյաններ
VHDL վայրկյանաչափ. 8 քայլ (նկարներով)
VHDL վայրկյանաչափ. Սա ձեռնարկ է, թե ինչպես պատրաստել վայրկյանաչափ ՝ օգտագործելով VHDL և FPGA տպատախտակները, ինչպես Basys3 Atrix-7 տախտակը: Վայրկյանաչափը կարող է հաշվել 00.00 վայրկյանից մինչև 99.99 վայրկյան: Այն օգտագործում է երկու կոճակ ՝ մեկը մեկնարկի/կանգառի կոճակի համար, իսկ մյուսը ՝