VHDL-Forum - Anfänger

Zeiten in VHDL

Zeiten in VHDL

Hallo,
ich bin gerad dabei vhdl zu lernen. Ein LED- Lauflicht habe ich schon hinbekommen. Jetzt möchte ich mich an ein Display wagen. Dazu habe ich mir mal das Datasheet dazu besorgt. Da steht bei der INIT-Routine für 8-Bit- Ansteuerung fosc=270KHz. Und dann der Verlauf der INIT-Routine mit wait Zeiten von z.B 37us und 1.52ms. Mir ist klar das ist wait for nicht nehmen kann, da es sich nicht in Hardware umsetzet lässt. Ich habe mir dann so was in der art gedacht:

Ein clock mit den aus dem Datasheet entnommenen 270KHz:

NET "clk" LOC = E12 | IOSTANDARD = LVTTL | PERIOD = 270 khz;


Und dann so einen counter:

...
constant delay_37 : integer := ???; -- 37us
constant delay_152 : integer := ???; -- 1.52ms
...
signal count : integer range 0 to delay_152;
if rising_edge(clk) then
if count = delay_37 then
...
else
count = count+1;
end if;
....


Mein Problem ist eigendlich nur wie weit muss ich bei den delay_ Zählen? Kann mir das vllt jemand anhand einer kleinen Beispiel Rechnung oder so erklähren?

Jetzt schon einmal vielen Dank an alle Leser & Helfer


Gruß
pizza

Re: Zeiten in VHDL

270kHz -> Zeit pro Periode 1/270k = 3.7us

37us / 3.7us = 10 -> integer Wert delay_37
152us / 3.7us = 41.08 -> 42 integer Wert delay_152

Gruß

Re: Zeiten in VHDL

Zitat: witteks
270kHz -> Zeit pro Periode 1/270k = 3.7us

37us / 3.7us = 10 -> integer Wert delay_37
152us / 3.7us = 41.08 -> 42 integer Wert delay_152

GrußHi,
vielen Dank. Ist ja eigendlich gar nicht so schwer. Ich muss mich nur an das "andere" Denken gewöhnen. Ich hab vorher ziemlich lange C++ programmiert.

Gruß
pizza

Re: Zeiten in VHDL

Hi,
eine Frage hätte ich da noch. Wie kann ich Clocks umrechen? Wie verhält sich das auf die 270Khz? Und in wie weit ist ein Clock abhängig von der Frequenz?

Vielen Dank
pizza