Präprozessor in VHDL?

#2132995
Lesenswert?

Hallo,
ich habe ein kleines Problem mit VHDL. Der Code soll auf zwei 
verschiedenen Boards mit unterschiedlichen Takten laufen. Da ich eine 
Menge zeitkritischer Sachen mache, die mit Timern realisiert werden muss 
ich bei jedem Boardwechsel alle Zeiten austauschen.
Gibt es eine Möglichkeit dies zu automatisieren, dass die Timerwerte 
dynamisch bei der Syntetisierung erzeugt werden? So wie ich bei einem uC 
ein F_CPU habe.
Gast #2133041
Lesenswert?

Kannst du anhand der Hardwareunterschiede feststellen auf welchem Board 
du dich befindest?

z.B. hast du 2 Eingänge, die je nach Boardvariante fest auf High oder 
Low liegen. Das könntest du einmalig einlesen und deinen Zählwert 
entsprechend laden.
Moderator (Firma: Titel) Persönliche Seite #2133088
Lesenswert?

Fabian S. schrieb:
> Nein, aber ich möchte an nur einer Stelle F_CPU verändern anstatt an 20
> Stellen die Timer Werte neu ausrechnen zu müssen.
Nimm ein Generic.

Fabian S. schrieb:
> Gibt es eine Möglichkeit dies zu automatisieren, dass die Timerwerte
> dynamisch bei der Syntetisierung erzeugt werden?
Bei der Synthese werden die Timerwerte statisch betrachtet.

Ich bin mir übrigens nicht ganz sicher, ob du weißt, was in diesem 
Zusammenhang hier statisch und dynamisch bedeutet...
Statisch bedeutet: zum Übersetzungszeitpunkt.
Dynamisch bedeutet: mit einem Schalter zur Laufzeit umschaltbar.
Moderator (Firma: Titel) Persönliche Seite #2133103
Lesenswert?

Fabian S. schrieb:
> Ja aber dann kann ich sagen: REGISTER=1000/F_CPU;
> Wie mache ich das in VHDL?
Sieh dir mal die SIO an:
http://www.lothar-miller.de/s9y/categories/42-RS232
Da wird auch einfach der Zählerendwert aus der Baudrate und der 
Taktfrequenz berechnet. Für eine andere Baudrate änderst du nur den 
entsprechenden Generic...

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