Frage: If-Abfrage mit Argument vom Typ "Time"

Gast #2274131
Lesenswert?

Hallo Leute, ich habe ein Problem..

ich versuche aktuell innerhalb nicht-synthetisierbarem Code eine 
If-Abfrage zu implementieren, in welcher etwas wie:

"if now >= ramp_delay then"

vorkommen soll. "ramp_delay" ist natürlich vom typ "time", soll aber 
durch Deklarierung innerhab der Port Entity flexibel sein..

das klappt leider nicht, der Prozess läuft nur bis zu dieser Abfrage.
Im Falle dessen, dass der Delaywert "constant" ist klappts, das bringt 
mich aber leider nicht weiter da Constants aus der generic (natürlich) 
nicht modifizierbar sind..

Hilfe :(
Gast #2274238
Lesenswert?

Naja, was soll man dazu sagen? Erst stellst du eine Frage, kurze Zeit 
später beantwortest du sie dir selbst. Und Deine "Erklärung" ist so 
dürftig, dass kein Arsch weiss, was eigentlich das Problem war und 
geschweige wie Du es gelöst hast.

Toll!
Gast #2274263
Lesenswert?

ist ja gut, entschuldigt..
1
entity problem is
2
port(delay_i : real := 65);
3
end problem
4

5
architecture bla of problem is
6

7
signal delay_t : time;
8

9
delay_t <= delay_i * 1 sec after 1us;
10

11
process(sensitivity list)
12
begin
13
 if now >= delay_t then
14
   blablablabla
15
 end if;
16
end process

das fette ist das problem.. der kommt nicht darüber weil delay_t nen 
signal ist und keine Konstante..

ich lasse alternativ in einem process einen timer durch ne wait 
anweisung hochlaufen und wenn der grenzwert delay_i erreicht wurde gibts 
n OK.. das nehm ich dann statt dem *now >= delay_t*

war gerade bisschen gereizt, sorry nochmal
Gast #2274420
Lesenswert?

Christian schrieb:
> delay_t <= delay_i * 1 sec ...... 1 us wäre die richtige zeiteinheit
> gewesen, jetzt gehts auch mit dem ersten gedankenganz facepalm

ok, danke für die Auflösung. Hab mir auch schon gedacht, dass das ja 
eigentlich funktionieren müsste. Aber das sec hab ich auch übersehen ;-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren