Prototípuskészítés Verilog nyelven
description
Transcript of Prototípuskészítés Verilog nyelven
Prototípuskészítés Verilog nyelven
Screen Saver
Készítette:Mészáros
Péter
Feladat• Egyfajta képernyőkímélő
elkészítése, ahol egy kép pattog a képernyő élei között 45◦-os szögben
• Alapértelmezésben, mikor elindítjuk a programot, meg egy gomb lenyomására (RESET) a kép a „bal felső” sarokba kerül C1 = 80 (oszlopok), R1 = 140 (sorok) koordinátára, a terület 640 x 480 méretű
• Gombnyomásra indul, addig a fenti koordinátán áll
Bounce modul• A C1-et növeljük ∆C1-el, az R1-et
pedig csökkentjük ∆R1-ela ∆ értékeket 1-nek választjuk, így nem lesz darabos a mozgás
• Ezzel a kép jobbra felfelé fog mozdulni
• Meg kell adni egy felső határt, hogy meddig mozoghat a kép (R1 max és C1 max)▫ Ha R1 = 0 akkor éri el a képernyő
alját, ha pedig 320 (480-160) akkor a tetejét
▫ Ha C1 = 0 akkor ér hozzá bal oldalt a képernyő széléhez, ha pedig 400 (640-240) akkor jobb oldalt
• Mikor a kép eléri a képernyő szélét akkor a ∆ értékek az ellentettjükre változnak, így a kép irányt vált
• C1 és R1 értékeket az órajel minden felmenő élére frissítjük, ez határozza meg a mozgás sebességét, tehát ha 190Hz-es órajelünk van az azt jelenti, hogy amíg a képernyő tetejéről az aljára leér a kép (R1 = 0 » R1 = 320), addig 320/190 = 1.7s telik el
Block ROM•Egy Block ROM -ot használunk hogy tároljuk a
képet•Ehhez szükségünk van egy Matlab függvényre,
mivel a Nexys-2 panel csak 8 bites VGA színeket támogat, ezzel létre tudunk hozni egy .coe fájlt, amit majd meg kell adni a ROM készítésekor
• IMG2coe8.m fájl (www.lbebooks.com) generál a képből (bármilyen szabványos kép formátumból jpg, bmp, gif, tif) egy 8-bites képet (felső 3 bit piros, felső 3 bit zöld és felső 2 bit kék)
Block ROM
Block ROM•Project – New Source
Block ROM
Block ROM
Block ROM
Block ROM• A kész project felépítése:
Köszönöm a figyelmet!