Hallo zusammen - Ich habe eine Frage bzgl. signed und unsigned. Ich verwende folgende libraries: ieee.std_logic_1164.all; ieee.std_logic_arith.all; ieee.std_logic_unsigned.all; ist es da erlaub, wenn ich folgendes statement benutze? parama <= signed(a) * unsigned(b); Grund dafür: a ist ein signed parameter, b ein unsigned. Das Ergebnis ist auch signed. Grüße, Gabriel
Warum nicht? Wenn param breit genug ist....zumindest erzeugts keinen Fehler. Was spricht dagegen, das mal zu simulieren?
klar funktionierts in der simulation. weiss aber nicht ob man beide ausdrücke gleichzeitig in solch einem statement verwenden soll/darf, und was das synthese tool draus macht.
> und was das synthese tool draus macht.
Du könntest dir mal die RTL-Schematics ansehen :-o
Aus dem Unsigned wird ein Signed gemacht und ein
Signed-Multiplizierer instantiiert. Für 2 Stück 7-Bit Eingangsvektoren
sieht das so aus:
1 | Macro Statistics |
2 | # Multipliers : 1 |
3 | 9x8-bit multiplier : 1 |
BTW: Mit numeric_std wäre die Frage nicht aufgekommen, denn hier mußt du das explizit machen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.