![Egyszerű VGA vezérlő tervezése VHDL és Verilog formátumban: 5 lépés Egyszerű VGA vezérlő tervezése VHDL és Verilog formátumban: 5 lépés](https://i.howwhatproduce.com/images/002/image-4965-32-j.webp)
Tartalomjegyzék:
2025 Szerző: John Day | [email protected]. Utoljára módosítva: 2025-01-23 14:47
![Egyszerű VGA vezérlő tervezése VHDL és Verilog formátumban Egyszerű VGA vezérlő tervezése VHDL és Verilog formátumban](https://i.howwhatproduce.com/images/002/image-4965-33-j.webp)
Ebben az utasításban egy egyszerű VGA vezérlőt tervezünk RTL -ben. A VGA Controller egy digitális áramkör, amelyet VGA kijelzők meghajtására terveztek. A keretpufferből (VGA Memory) olvas, amely a megjelenítendő keretet képviseli, és a megjelenítéshez szükséges adatokat és szinkronjeleket állít elő.
Ha Verilog/System verilog kódot keres: Látogassa meg a blogomat VGA Controller and Video System in Verilog
1. lépés: A VGA vezérlő interfésze
Az alábbiakban bemutatjuk a VGA vezérlő fő interfészjeleit
- Pixel vagy VGA óra
- HSYNC és VSYNC jelek
A kiválasztott VGA kijelzőhöz először ki kell számítani a meghajtáshoz szükséges Pixel Clock frekvenciát. 3 paramétertől függ: Összes vízszintes képpont, Összes függőleges képpont, Képernyő frissítési gyakorisága.
Általában F = THP * TVP * Frissítési gyakoriság
A mellékelt RAR -ban keresse meg a különböző VGA -kijelzőkhöz szükséges képpontok óra dokumentációját.
A HSYNC és a VSYNC jeleket a Pixel óra generálja. A HSYNC és VSYNC jelek időzítése a paraméterek számától függ: Vízszintes és Függőleges Frontporch, Vízszintes és Függőleges Hátsó, Vízszintes és Függőleges Képpontok, Vízszintes és Függőleges Szinkronimpulzus szélességek és polaritások.
Ezek a paraméterek egy kiválasztott VGA kijelzőn vannak szabványosítva. Ezeket a dokumentumokat a mellékelt RAR -ban találja.
Ezek a paraméterek konfigurálható paraméterek a VGA Controller IP -n.
2. lépés: A VGA vezérlő integrálása VGA kijelzővel
![VGA vezérlő integrálása VGA kijelzővel VGA vezérlő integrálása VGA kijelzővel](https://i.howwhatproduce.com/images/002/image-4965-34-j.webp)
Az ábra bemutatja, hogyan integrálható a VGA -vezérlő VGA -kijelzővel. A rendszer befejezéséhez további két komponensre van szüksége:
- Keretpuffer: A megjelenítendő keretet tároló memória.
- Video DAC: DAC, amely átalakítja az RGB digitális adatokat, és a VGA kijelzőt RGB analóg jelekkel hajtja meg a megfelelő feszültségszinten.
Az egyik legegyszerűbb és legnépszerűbb Video DAC az ADV7125. Ez egy 8 bites DAC, amely az RGB digitális szavakat 0-0,7 V analóg jelekké alakítja, és meghajtja a VGA kijelzőt.
3. lépés: A keretpuffer tervezése
A memória az, amely „tárolja” a megjelenítendő képet. Ez általában RAM vagy néha ROM. Megbeszéljük, hogyan tervezhetünk keretpuffert egy kép megjelenítéséhez. A keretpuffer ezt a digitális információt továbbítja a Video DAC -nak a VGA vezérlő parancsára.
Először meg kell határoznunk a szükséges pixelmélységet. Ez határozza meg a kép minőségét, a színek változatosságát, amelyet egy képpont képviselhet. Egy 8 bites DAC esetében egy pixel elsődleges színkomponenseit kell ábrázolnunk: R, G és B egyenként 8 bitben. Ez azt jelenti, hogy egy pixel 24 bites.
Minden pixel összefüggő módon kerül tárolásra a Frame Buffer memóriahelyeken.
Tegyük fel, hogy a megjelenítendő kép mérete 800x600 képpont.
Ezért szükséges a keretpuffer 800x600 = 480000 x 24 bit memória
A memória teljes mérete 800x600x24 = 1400 kB kb.
Fekete -fehér kép esetén 800x600x1 = 60 kB kb.
A blokk -RAM -ok esetleg keretpuffert képviselnek a Xilinx FPGA -kban.
4. lépés: Megjegyzések
- A választott DAC -tól függően további jelekre van szükség a VGA -vezérlőn. ADV7125 -öt használtam.
- Add hozzá a cikluskésleltetéseket a VSYNC és HSYNC papucsokon keresztül, mielőtt elindítanád a VGA kijelzőt. Ennek oka a DAC és a memória késleltetése. A pixeljeleket szinkronizálni kell a HSYNC és a VSYNC -vel. Az én esetemben ez 2 ciklus késleltetés volt.
- Ha az adott méretű keretpuffer nem tervezhető FPGA -n a blokk ram méretének korlátozása miatt, használjon kisebb memóriát a kép megjelenítéséhez, és egyszerűen szerkessze a kódot, hogy a teljes kép határa helyett a rendelkezésre álló memória határán lévő cím fölé görgessen. Ez újra és újra megismétli ugyanazt a képet a teljes képernyőn. Egy másik módszer a képpont -skálázás, amelyben minden pixelt lemásolnak, hogy a teljes képet teljes képernyőn, kisebb felbontásban jelenítsék meg. Ezt úgy lehet megtenni, ha a kódban a címnövelési logikát módosítjuk.
- Az IP teljesen hordozható minden FPGA-n, és az időzítés 100 MHz-ig ellenőrizhető Virtex-4 FPGA-n.
5. lépés: Csatolt fájlok
A RAR a következőket tartalmazza:
- VGA vezérlő kódja
- PDF fájlok a VGA szabványokból.
Ajánlott:
Egyszerű négyirányú készlet asszociatív gyorsítótár-vezérlő tervezése VHDL-ben: 4 lépés
![Egyszerű négyirányú készlet asszociatív gyorsítótár-vezérlő tervezése VHDL-ben: 4 lépés Egyszerű négyirányú készlet asszociatív gyorsítótár-vezérlő tervezése VHDL-ben: 4 lépés](https://i.howwhatproduce.com/images/011/image-32050-j.webp)
Egy egyszerű négyirányú készlet asszociatív gyorsítótár-vezérlő tervezése VHDL-ben: Korábbi utasításomban láttuk, hogyan kell megtervezni egy egyszerű közvetlen leképezett gyorsítótár-vezérlőt. Ezúttal egy lépéssel előre lépünk. Egy egyszerű négyirányú asszociatív gyorsítótár-vezérlőt tervezünk. Előny? Kevesebb kihagyási arány, de perfo árán
Programozható megszakításvezérlő tervezése VHDL -ben: 4 lépés
![Programozható megszakításvezérlő tervezése VHDL -ben: 4 lépés Programozható megszakításvezérlő tervezése VHDL -ben: 4 lépés](https://i.howwhatproduce.com/images/012/image-33359-j.webp)
Programozható megszakításvezérlő tervezése VHDL -ben: le vagyok nyűgözve az ilyen jellegű válaszoktól, amelyeket ebben a blogban kapok. Köszönöm srácok, hogy meglátogatták a blogomat, és motiváltak, hogy megosszam veletek tudásomat. Ezúttal egy másik érdekes modul tervét mutatom be, amelyet minden SOC -ban látunk - Interrupt C
Egyszerű gyorsítótár -vezérlő tervezése VHDL -ben: 4 lépés
![Egyszerű gyorsítótár -vezérlő tervezése VHDL -ben: 4 lépés Egyszerű gyorsítótár -vezérlő tervezése VHDL -ben: 4 lépés](https://i.howwhatproduce.com/images/001/image-1021-59-j.webp)
Egyszerű gyorsítótár -vezérlő tervezése VHDL -ben: Azért írom ezt az utasítást, mert kissé nehezen szereztem be valamilyen referencia -VHDL -kódot a gyorsítótár -vezérlő tervezéséhez. Tehát magam terveztem egy gyorsítótár -vezérlőt a semmiből, és sikeresen teszteltem az FPGA -n. Nekem p
Az I2C Master tervezése VHDL -ben: 5 lépés
![Az I2C Master tervezése VHDL -ben: 5 lépés Az I2C Master tervezése VHDL -ben: 5 lépés](https://i.howwhatproduce.com/images/002/image-4092-42-j.webp)
Az I2C Master tervezése VHDL -ben: Ebben az utasításban egy egyszerű I2C mester tervezése VHDL -ben kerül tárgyalásra. MEGJEGYZÉS: kattintson a képekre a teljes kép megtekintéséhez
JPEG formátumban mentett szerkesztett rajzok: 6 lépés
![JPEG formátumban mentett szerkesztett rajzok: 6 lépés JPEG formátumban mentett szerkesztett rajzok: 6 lépés](https://i.howwhatproduce.com/images/006/image-15259-34-j.webp)
Szerkesztett rajzok mentve JPEG formátumban: Van egy régi, olcsó CAD programom, amely szép dolgokat végez, de nem tud olyan formátumban menteni, amelyet betölthetek az utasításokkal. Ez az utasítás elmagyarázza, hogyan lehet bármely rajzprogramból rajzokat JPEG formátumba konvertálni. A fotón te