Dezimalzahl mit Kommastellen in ISIM darstellen

Gast #2847611
Lesenswert?
• ▲
▼
Ich habe den output eines Moduls, der mir das 32768fache eines 
Ergenisses darstellt, welches zwischen -10000 und +10000 rangiert. 
Insgesamt sind es 30bit

Den Vorkommawert kann ich durch WK <= ouput (30 downto 15) erhalten und 
er wird auch korrekt angezeigt. Wie füge ich die Nachkommastellen 14 to 
0 so hinzu, dass ich Kommastellen sehe?

Es würde mir reichen, wenn ich sie in einem zweiten Vektor hätte. Muss 
ich das manuell machen, also z.B. in der Testbench *1000/32768, und mir 
das Komma denken, oder gibt es eine Möglichkeit, einen Real zu erzeugen, 
der die Werte als Kommazahl darstellt.

Real = "converto_real" (vector) / 32768 oder so
Gast #2848537
Lesenswert?
• ▲
▼
Schon klar.

ok, es funktioniert, allerding nur für die reduzierte Auflösung. Wenn 
ich einen grossen Vekttor einspeise, kommen komische Werte raus.

Ich benutzte übrigens real(to_integer(*signed*(v))) /

Ich habe mir nun so geholfen, dass ich den Vektor kürze und auf einige 
Stellen verzichte. Dem Prinzip nach kommt aber das richtige raus.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [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 einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.