Artikel-ID: 000075172 Inhaltstyp: Fehlerbehebung Letzte Überprüfung: 11.09.2012

Gibt es Probleme in der Quartus II Software, wenn die Protokoll- und Bodenfunktionen im math_real VHDL-Paket verwendet werden?

Umgebung

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Beschreibung

Ja, es besteht ein Problem, wenn das math_real VHDL-Paket in der Quartus® II Software für Log- und Bodenfunktionen zusammen verwendet wird. Unter bestimmten Umständen kann ein Rundungsfehler zur Berechnung falscher Bodenwerte führen.

Wenn Sie beispielsweise die math_real-Paketfunktion zur Berechnung von log2(8.0) verwenden, sollte die korrekte Antwort 3.0 sein, aber der tatsächliche berechnete Wert in der Quartus II Software beträgt 2,9999999999996. Wenn dieses Ergebnis dann gediehen ist, beträgt das Ergebnis 2,0 anstelle von 3.0.

Beispiel

floor(log2(real(8))) = 2.0

Um dieses Problem in der Quartus II Software zu beheben, verwenden Sie eine der folgenden Optionen

  • Wenn die Bodenfunktion für die Protokollierung von Berechnungen angewendet wird, fügen Sie einen Fehlerrand hinzu
    • Beispiel: floor(0.000001 log2(real(8))) = 3.0
  • Verwenden Sie die Integer-Konvertierungsfunktion anstelle der Bodenfunktion.
    • Beispiel: integer (log2(real(8))) = 3.0

Dieses Problem wird voraussichtlich in einer zukünftigen Version der Quartus II Software behoben werden.

Zugehörige Produkte

Dieser Artikel bezieht sich auf 1 Produkte

Intel® programmierbare Geräte

Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.