Ich lerne, ein FPGA zu verwenden (Papilio Development Board, das ein xilinx spartan3e hat, mit vhdl).
Ich muss einen eingehenden Impuls durch eine (fest codierte) Zahl teilen.
Ich kann 3 Optionen sehen - ungefähr als Pseudocode (am Beispiel von 10 Zählungen):
- Initialisierung auf 0, bei Erhöhung der Eingangsanstiegsflanke um 1, vergleiche mit 10; Wenn sie gleich sind, setzen Sie sie auf 0 zurück und lösen Sie den Ausgangsimpuls aus
- Initialisieren Sie auf 10, wenn die Eingangsflanke um 1 abnimmt, vergleichen Sie sie mit 0; Wenn sie gleich sind, setzen Sie sie auf 10 zurück und lösen Sie den Ausgangsimpuls aus
- Initialisieren Sie auf 9, aber stellen Sie sicher, dass mindestens 1 führendes "0" -Bit vorhanden ist, das mein Ausgangsbit ist. Bei steigender Eingangsflanke um 1 verringern. Bei steigender Flanke des Ausgangsbits zurücksetzen.
Das Tastverhältnis ist unwichtig.
Ist einer davon besser als die anderen? Gibt es eine noch bessere Methode, an die ich nicht gedacht habe?
Gibt es eine "Standard" -Methode, die dem Compiler die besten Optimierungsmöglichkeiten bietet?