www.mikrocontroller.net

Forum: FPGA, VHDL & Co. counter < ((n/d) + ((n%d > 0) 1 : 0)) in VHDL


Autor: Cheebi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo liebe VHDL-Experten,

kann man folgende Selektion in C-Syntax elegant in VHDL beschreiben? (n 
und d sind dabei Konstanten)

  if ( counter < ((n/d) + ((n % d > 0) ? 1 : 0)) ) 

Es soll also der Rest einer Division auf 1 oder 0 projeziert werden. Man 
könnte das glaube ich lösen, falls es eine Funktion gibt, die das 
Ergebnis einer Division immer aufrundet.

Habt ihr eine Idee?

Viele Grüße

Cheebi

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich verstehe das Problem nicht ganz. Es gibt auch in VHDL einen mod 
Operator...
http://www.velocityreviews.com/forums/t374473-vhdl...

Autor: Bernhard R. (barnyhh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In C geht es m.E. folgendermaßen einfach, elegant und verständlich:
if (counter < ((n + d - 1) / d)) ...

Bernhard

Autor: Cheebi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Bernhard,

vielen Dank! Die -1 war das entscheidende :D

Danke!

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> (n % d > 0)
Eine kleine Frage noch: sind n und d immer positiv?
Dann würde ja eine Abfrage auf /=0 auch ausreichen...

Autor: Cheebi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Lothar:

Ja sind immer positiv. Aber wie meinst du die Abfrage?

Autor: Cheebi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Lothar:
Achso, ja das stimmt, es würde genügen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.