Բովանդակություն:
- Քայլ 1: VGA վերահսկիչի ինտերֆեյս
- Քայլ 2: VGA վերահսկիչի ինտեգրում VGA էկրանով
- Քայլ 3. Շրջանակի բուֆերի ձևավորում
- Քայլ 4: Նշումներ
- Քայլ 5: Կից ֆայլեր
Video: VHDL- ի և Verilog- ի պարզ VGA վերահսկիչի ձևավորում. 5 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Այս ուսանելի ծրագրում մենք պատրաստվում ենք նախագծել մի պարզ VGA վերահսկիչ RTL- ում: VGA Controller- ը թվային միացում է, որը նախատեսված է VGA էկրաններ վարելու համար: Այն կարդում է Frame Buffer- ից (VGA Memory), որը ներկայացնում է ցուցադրվող շրջանակը և առաջացնում է անհրաժեշտ տվյալներ և համաժամեցման ազդանշաններ ցուցադրման նպատակով:
Եթե դուք փնտրում եք Verilog/System verilog կոդ. Այցելեք իմ բլոգը VGA Controller և Video System Verilog- ում
Քայլ 1: VGA վերահսկիչի ինտերֆեյս
Ստորև բերված են VGA վերահսկիչի հիմնական ինտերֆեյսի ազդանշանները
- Pixel ժամացույց կամ VGA ժամացույց
- HSYNC և VSYNC ազդանշաններ
Ընտրված VGA էկրանին դուք պետք է նախ հաշվարկեք Pixel Clock- ի հաճախականությունը, որն անհրաժեշտ է այն վարելու համար: Դա կախված է 3 պարամետրից ՝ Ընդհանուր հորիզոնական պիքսելներ, Ընդհանուր ուղղահայաց պիքսելներ, Էկրանի թարմացման արագություն:
Սովորաբար, F = THP * TVP * Թարմացման արագություն
Գտեք տարբեր VGA էկրանների համար անհրաժեշտ պիքսելային ժամացույցի վերաբերյալ փաստաթղթերը ՝ կցված RAR- ում:
HSYNC և VSYNC ազդանշանները ստեղծվում են Pixel ժամացույցից: HSYNC և VSYNC ազդանշանների ժամանակը կախված է մի շարք պարամետրերից ՝ Հորիզոնական և Ուղղահայաց Առջևի Խորշ, Հորիզոնական և Ուղղահայաց Եզրասեղան, Հորիզոնական և Ուղղահայաց ixուցադրման Պիքսելներ, Հորիզոնական և Ուղղահայաց Համաժամացման Իմպուլսի Լայնություններ և Բևեռականություններ:
Այս պարամետրերը ստանդարտացված են ընտրված VGA էկրանին: Գտեք այս փաստաթղթերը կից RAR- ում:
Այս պարամետրերը կարգավորելի պարամետրեր են մեր VGA Controller IP- ում:
Քայլ 2: VGA վերահսկիչի ինտեգրում VGA էկրանով
Նկարը ցույց է տալիս, թե ինչպես կարելի է VGA Controller- ը միացնել VGA էկրանին: Համակարգը լրացնելու համար ձեզ հարկավոր է ևս երկու բաղադրիչ.
- Շրջանակի բուֆեր. Հիշողություն, որը պահում է ցուցադրվող շրջանակը:
- Տեսանյութ DAC: DAC, որը փոխակերպում է RGB թվային տվյալները և VGA էկրանը մղում է RGB անալոգային ազդանշաններով `համապատասխան լարման մակարդակի վրա:
Ամենապարզ և հանրաճանաչ վիդեո DAC- ներից է ADV7125- ը: Այն 8-բիթանոց DAC է, որը RGB թվային բառերը փոխակերպում է 0-0,7 Վ անալոգային ազդանշանների և վարում VGA էկրանը:
Քայլ 3. Շրջանակի բուֆերի ձևավորում
Հիշողությունն է, որ «պահում» է ցուցադրվող պատկերը: Այն սովորաբար RAM է կամ երբեմն ROM: Մենք կքննարկենք, թե ինչպես կարելի է ձևավորել շրջանակի բուֆեր `պատկեր ներկայացնելու համար: Շրջանակի բուֆերն այս թվային տվյալները փոխանցում է Video DAC- ին VGA Controller- ի հրամանով:
Նախ պետք է որոշենք պիքսելային խորության անհրաժեշտությունը: Այն որոշում է պատկերի որակը, պիքսելի գույների բազմազանությունը: 8-բիթանոց DAC- ի համար մենք պետք է ներկայացնենք պիքսելի հիմնական գույնի բաղադրիչները ՝ R, G և B յուրաքանչյուրը 8 բիթով: Դա նշանակում է, որ պիքսելը 24-բիթանոց է:
Յուրաքանչյուր պիքսել պահվում է հարակից եղանակով Frame Buffer հիշողության վայրերում:
Ենթադրենք, որ ցուցադրվող պատկերը 800x600 պիքսել է:
Հետևաբար, Frame Buffer- ի համար անհրաժեշտ է 800x600 = 480000 x 24 բիթ հիշողություն
Հիշողության ընդհանուր չափը 800x600x24 = 1400 կԲ մոտավորապես:
Սև և սպիտակ պատկերի դեպքում ՝ 800x600x1 = 60 կԲ մոտավորապես:
Արգելափակեք RAM- երը, հավանաբար, օգտագործվում են Xilinx FPGA- ներում Frame Buffer- ը ներկայացնելու համար:
Քայլ 4: Նշումներ
- VGA Controller- ի վրա լրացուցիչ ազդանշաններ են անհրաժեշտ ՝ կախված ընտրված DAC- ից: Ես օգտագործել եմ ADV7125- ը:
- VGA էկրան վարելուց առաջ ավելացրեք ցիկլի ուշացումներ VSYNC- ի և HSYNC- ի վրա մատնահետքերի միջոցով: Դա պայմանավորված է DAC- ի և Հիշողության ուշացման պատճառով: Պիքսելային ազդանշանները պետք է համաժամեցվեն HSYNC- ի և VSYNC- ի հետ: Իմ դեպքում դա 2 ցիկլի ուշացում էր:
- Եթե տվյալ չափի շրջանակի բուֆերը չի կարող նախագծվել FPGA- ի վրա ՝ արգելափակման խոյերի չափի սահմանափակման պատճառով, օգտագործեք ավելի փոքր հիշողություն ՝ պատկերը ներկայացնելու համար և պարզապես խմբագրեք ծածկագիրը ՝ հասանելի հիշողության սահմանի հասցեով պտտվելու համար, այլ ոչ թե ամբողջական շրջանակի սահմանի: Սա կրկնօրինակելու է նույն պատկերը անընդհատ ամբողջ էկրանի երկայնքով: Մեկ այլ մեթոդ է պիքսելների մասշտաբավորումը, որի դեպքում յուրաքանչյուր պիքսել կրկնօրինակվում է ՝ ամբողջ պատկերը ամբողջ էկրանին ցուցադրելու համար ՝ ավելի փոքր թույլատրությամբ: Դա կարող է կատարվել ՝ ծածկագրում հասցեի ավելացման տրամաբանությունը շտկելով:
- IP- ն ամբողջովին շարժական է բոլոր FPGA- ներով և ժամկետը հաստատված է մինչև 100 ՄՀց հաճախականությամբ Virtex-4 FPGA- ում:
Քայլ 5: Կից ֆայլեր
RAR- ը պարունակում է.
- VGA վերահսկիչի ծածկագիր
- VGA ստանդարտների PDF ֆայլեր:
Խորհուրդ ենք տալիս:
VHDL- ում պարզ քառակողմ ասոցիատիվ քեշի վերահսկիչի նախագծում. 4 քայլ
VHDL- ում պարզ քառակողմ ասոցիատիվ քեշի վերահսկիչի ձևավորում. Այս անգամ մենք մի քայլ առաջ ենք գնում: Մենք նախագծելու ենք մի պարզ քառակողմ ասոցիատիվ քեշի վերահսկիչ: Առավելություն? Ավելի քիչ բաց թողնված տոկոսադրույք, բայց կատարման գնով
VHDL ծրագրավորվող ընդհատումների վերահսկիչի նախագծում. 4 քայլ
VHDL- ում ծրագրավորվող ընդհատումների վերահսկիչի ձևավորում. Շնորհակալ եմ տղաներին, որ այցելեցիք իմ բլոգը և ինձ դրդեցիք կիսվել իմ գիտելիքներով ձեզ հետ: Այս անգամ, ես կներկայացնեմ մեկ այլ հետաքրքիր մոդուլի դիզայն, որը մենք տեսնում ենք բոլոր SOC- ներում `Interrupt C
VHDL- ում պարզ քեշի վերահսկիչի ձևավորում. 4 քայլ
VHDL- ում պարզ քեշի վերահսկիչի ձևավորում. Ես գրում եմ սա ուսանելի, քանի որ մի փոքր դժվար գտա որոշ տեղեկանք VHDL կոդ ստանալ `քեշի վերահսկիչ սովորելու և սկսելու համար: Այսպիսով, ես ինքս զրոյից նախագծեցի քեշի վերահսկիչ և այն հաջողությամբ փորձարկեցի FPGA- ի վրա: Ես ունեմ պ
VHDL- ում I2C մագիստրոսի ձևավորում. 5 քայլ
VHDL- ում I2C մագիստրոսի ձևավորում. Այս հրահանգում քննարկվում է VHDL- ում պարզ I2C վարպետի նախագծումը: ՆՇՈՄ. Կտտացրեք յուրաքանչյուր պատկերի վրա ՝ ամբողջական պատկերը տեսնելու համար
VHDL- ում SPI վարպետի ձևավորում. 6 քայլ
VHDL- ում SPI վարպետի ձևավորում. Այս ուսանելի ծրագրում մենք պատրաստվում ենք զրոյից SPI Bus Master նախագծել VHDL- ում