Hallo zusammen Ich versuche folgende Konversion durchzuführen:
1 | |
Leider scheitert diese in der Simulation mit folgender Meldung:
1 | |
2 | |
3 | |
4 | |
Warum darf ich das Ergebnis der Konvertierung nicht "Maskieren" mittels (15 downto 8) ?
|
Anzeige
|
Integer to STD_LOGIC_VECTOR (nur obere Bits)Hallo zusammen Ich versuche folgende Konversion durchzuführen:
Leider scheitert diese in der Simulation mit folgender Meldung:
Warum darf ich das Ergebnis der Konvertierung nicht "Maskieren" mittels (15 downto 8) ?
Gast
#6212327
Bitte mal vollständige Zuweisung! Holger K. schrieb: > Warum darf ich das Ergebnis der Konvertierung nicht "Maskieren" mittels > (15 downto 8) ? Mal davon ausgegangen, dass der Rest wahrscheinlich schon passen wird, dann darfst du das schon, nur brauchst du eben tatsächlich ein Zwischenergebnis:
> Warum darf ich das Ergebnis der Konvertierung nicht "Maskieren" mittels > (15 downto 8) ? Weil die "Typdefinition" von to_unsinged eben völlig anders aussieht, als die Typdefinition eines Vektors. Siehe dort die ersten paar Zeilen und die Id D.3: https://www.csee.umbc.edu/portal/help/VHDL/packages/numeric_std.vhd
Gast
#6212651
Trotzdem ist das jedes mal nervig für so etwas Triviales eine Variable oder ein Signal definieren zu müssen. Das führt dann dazu, das ich in so einem Fall oft abwäge was jetzt am hässlichsten aussieht: - Hilfssignal bzw -Variable - gar nicht erst Integer nehmen und gleich bei Unsigned bleiben - mit Integer weiter arbeiten, in dem Fall also:
Was aber auch wieder nur klappt wenn das Ergebnis nicht an einen Port ran muss, weil die Konvertierung bei der Portzuweisungen auch wieder nicht zulässig ist. Wenn da jemand eine ein-Anweisungs-Lösung finden würde wäre es echt eine Erleichterung. Ich versteh's nicht. Ja, man kann keinen Slice aus einer Typkonvertierung bilden:
Geht nicht. na und? Man kann einen Slice aus einem unsigned rausschneiden:
Und das geht völlig ohne Verrenkungen, man muss nur eine Klammer ein bißchen verschieben.
Gast
#6213605
Wahnsinn, das ich noch nie darauf gekommen bin das so rum zu probieren. (der Threadersteller und Lothar wohl auch nicht) Probiere ich bei Gelegenheit mal in Simulator und Synthese aus, ob das so "baut". Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|