Forum: FPGA, VHDL & Co. Assertions mit Divisionsbedingung


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Incanus (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo liebe Community,

ich habe folgende Frage:
Ich habe einen Quellcode, der "nur" unter der Bedingung arbeitet, das 
Input_Länge/Output_Länge = natürliche Zahl.
Die beiden Längen sind als Generics definiert.
Ich würde jetzt gerne einen Error werfen lassen, also praktisch eine 
assertion machen, wenn diese Bedingung verletzt wird.
Ist das irgendwie sinnvoll möglich ? Wie müsste das aussehen ?

Viele Grüße & Danke im vorraus

von Fritz (Gast)


Bewertung
0 lesenswert
nicht lesenswert
"Generics" sagt mir nichts.  Ich würde die Fehlerbehandlung auch so 
machen, dass nicht einfach alles abgebrochen wird, aber wenn es denn 
sein muss:

assert((Input_Länge/Output_Länge)*Output_Länge == Input_Länge);

(unter der Annahme, dass Input_Länge und Output_Länge Ganzzahl-Typen 
haben)

von Hilfsgatter (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Das geht auch mit dem "mod"-Operator. Wenn der Quotient eine natürliche 
Zahl ist, dann ist der Rest gleich Null.
Soweit es mich betrifft, scheint mir das "offensichtlicher" als die 
Division mit anschliessender Multiplikation.

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]
  • [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.