Ich versuche gerade einen einfachen 640*400 VGA Controller in VHDL für einen XC95xx zu programmieren, aber ich komme mit den Pixelzählern/Sync Signalen nicht weiter: Wie schreibe ich folgende Operationen: Pixelzähler < 50: Ausgang=0 Pixelzähler >=50, <690: Ausgang=RAMInhalt Pixelzähler >=690, <700: Ausgang=0 Pixelzähler >=700: Ausgang=0, HSync=1 Wie kann ich also die kleiner, größer Operatoren in VHDL einbinden ?
Pixelzähler muss natürlich Integer oder Natural Format sein ansonsten hilft auch bei so einer einfachen Problemstellung jedes VHDL Buch U1 : process (Pixelzähler) is begin if (Pixelzähler < 50) then Ausgang <= '0'; else if (Pixelzähler >= 50) and Pixelzäler < 690) then Ausgang <= RamInhalt ; --Hier deine Restlichen Bedingungen Bla Bla Bla end if; end process U1;
Ausgang <= (others => '0') when (pixelzähler < 50) else RAMInhalt when (pixelzähler >=50) and (pixelzähler <690) else ...usw. das '0' in der others anweisung muss natürlich mit dem datentyp RAMInhalt übereinstimmen. das ganze geschieht natürlich asynchron sonst mit einem prozess lösen. in einem process kannst du dann aber die obige anweisung nicht gebrauchen dann eben vga: process(CLK) begin if reset = '1' then --hier reset else clk'event and clk = '1' then if pixelzähler < 50 then --hier singanl zuweisung end if end process vga; in etwa so gruss tobias
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.