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 :(
@Harry nö @rest hab jetzt einfach n timer hochzählen lassen und das "ok Signal" als Argument in der If genommen.. passt! Schönen Resttag noch
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!
Christian schrieb: > @Harry > nö Tja, wer keine Hilfe will, der kann sich so benehmen, wie du. Alle anderen müssen mehr Informationen liefern, damit man ihnen helfen kann. Schönen Resttag noch.
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
vergesst es.. ich bin blöd :) delay_t <= delay_i * 1 sec ...... 1 us wäre die richtige zeiteinheit gewesen, jetzt gehts auch mit dem ersten gedankenganz facepalm
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 ;-)
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.