I've been trying to display something with a vga. I wanted a signal 640
x 480 @ 60 Hz.
So what I have so far in my code: Implemented the clk signal, the red,
blue, green, hsync and vsync. Using a Clocking Wizard I made the
25.175MHz needed from 100MHz(nexys 3 board) then the hcounter and
vcounter but this is where I get lost, when I have to asign the 1's to
all RGB signals I kinda don't know where I need to use it to make it
work.
Also the timing I got it from here
http://tinyvga.com/vga-timing/640x480@60Hz
.ucf
sketchy wrote:> The result of this is nothing displayed at the screen.
What does the simulation show?
Do you have a scope to measure the signals?
> Using a Clocking Wizard I made the 25.175MHz needed from 100MHz(nexys 3> board)
And does it work correctly? Do you get the desired 25MHz? If you don't
have a scope just count to 12500000 and toggle a LED. It should flash
each second...
BTW: it would be slightly easier to only generate a 25MHz clock enable
out of the 100MHz. The VGA will cope up with that slight deviation...
Why that:
1
useIEEE.NUMERIC_STD.ALL;
2
useIEEE.STD_LOGIC_UNSIGNED.ALL;
With this you may have some kind of strange errror messages due to
double definitions of data types. Use the numeric_st alone. And use
integer for counters!
Lothar Miller wrote:> What does the simulation show?> Do you have a scope to measure the signals?
No I don't have it.
Lothar Miller wrote:> BTW: it would be slightly easier to only generate a 25MHz clock enable> out of the 100MHz. The VGA will cope up with that slight deviation...
How I'm supposed to do this?
Lothar Miller wrote:> Why that:use IEEE.NUMERIC_STD.ALL;> use IEEE.STD_LOGIC_UNSIGNED.ALL;> With this you may have some kind of strange errror messages due to> double definitions of data types. Use the numeric_st alone. And use> integer for counters!
To be able to do numeric operations on STD_LOGIC_VECTOR signals.
I don't have much reference, just my nexys 3 manual to follow, I'm
trying to figuring it out how to make it on my own but it would be nice
you could provide me some reference links. I'm very new with VHDL.
sketchy wrote:> To be able to do numeric operations on STD_LOGIC_VECTOR signals.
Don't do calculations with unconstrained std_logic_vectors! Never!!
You don't know, what number a bit pattern in a std_logic_vector
represents! For example: what number is this "1001" here? Is it 9 or is
it -7? Both of them are right. Its just a different interpretation of
that bit pattern.
So use the numeric_std and the integer data type for counters. Or at
least the unsigned data type...
> I'm very new with VHDL.
Did you do the flashing light and the cahsing light already? Do you
simulate your designs? If "No" for either case, then do it!
Try Google translator, its German:
http://www.lothar-miller.de/s9y/archives/80-Hello-World!.htmlhttp://www.lothar-miller.de/s9y/archives/61-Lauflicht.htmlhttp://www.lothar-miller.de/s9y/archives/81-Xilinx-ISE-Step-by-Step.htmlsketchy wrote:>> generate a 25MHz clock enable out of the 100MHz.> How I'm supposed to do this?
See the Hello-World code above. Theres a clock divider generating a
clock enable inside.
Der Ausländer möchte kein Lauflicht, der möchte das sein VGA-Gebilde ein
Bild anzeigt was er gebastelt hat.
Immer diese Lauflichter...das bringt doch nichts, ist nur
Zeitverschwendung mit so einem Zeugs weiterzuhelfen, das kannst du da
einstampfen.
Gruss
Peter, es gibt hier zwei Möglichkeiten:
- Man kann eine fertige Lösung geben.
- Man kann dem Fragenden Hilfen geben, dass er das Problem selber lösen
kann.
Vielleicht sollte man den Fragenden fragen was er will. Hier wird
meistens so geantwortet, dass der Fragende auch etwas lernt. Will man
eine Hardwarebeschreibungssprache lernen, dann geht das eben bei ganz
einfachen Dingen los wie der blinkenden LED und dem Lauflicht.
Auch wenn du jetzt zwar ein Bild ausgeben kannst, hast du trotzdem noch
kein VHDL gelernt und wirst andere sogar leichtere Aufgaben nicht ohne
Hilfe lösen können.
Ich habe auch zu Beginn mit Vektoren gerechnet, aber das war ein
Holzweg. Das hat mir damals auch Lothar gesagt.
-gb- wrote:> Vielleicht sollte man den Fragenden fragen was er will.
Und vor Allem auf ENGLISCH.
@peter: Dies hier ist nicht umsonst die englische Abteilung des Forums!!
Wenn du kein Englisch kannst, oder es nicht verwenden willst, dann lass
hier die Finger raus. Ich werde in Zukunft jeden dieser ignoranten Posts
hier löschen.
@all:
peter is one of the little obtrusive mannerless guys here. I told him to
do any futher conversation in English. Otherwise I will delete those
ignorant posts.
peter wrote:> process (clk50_in)> begin> if rising_edge(clk50_in) then> clk25 <= not clk25;> end if;> end process;
This ist NO WAY to generate a CLOCK. Read the warnings and infos of the
synthesis tool!
Clocks are generated either by a clock manager, or the easier way: by
clock enables. The easiest design on a FPGA has exactly 1 clock. And the
rest is done by clock enables...
peter wrote:> Der Ausländer möchte kein Lauflicht, der möchte das sein VGA-Gebilde ein> Bild anzeigt was er gebastelt hat.
Peter, I can read and understand English very well. And I see, what
sketchy WANTS, but also I must tell him some words about the "better
way". You throw a piece of code to him without the faintest hint, what
this snippet does (I know it very well, you got it to 90% from me!
Remember?). And then you did not even correct the problem with the clock
generation...
A question of your own?
This thread is over 12 years old.
Ask it in a thread of its own – more people read along there, and it gets answered more often and sooner.