bit in vectore umwandeln

Gast #1522350
Lesenswert?
• ▲
▼
hallo
ich habe einen component mit einem 5 bit vectore ausgang ( 4 downto 0)
und einen mux mit 2 eingänge jeweils (3 downto 0)
das heisst ich kann 4 bit von dem component mit einem eingang von dem 
mux verbinden
aber wie soll ich der fünfte mit einem 4 bit vector verbinden ?
ich habe ein signal deklariert so 000&fûnfte bit
aber bei portmap es kommt immer die meldung die sind nicht gleichwertig
ich bitte um hilfe
oder wie kann machen dass ich das die 3 bit von dem vectore immer auf 
nul festlegen
ich hoffe sie wissen was ich will danke
Gast #1522599
Lesenswert?
• ▲
▼
nein ich will 4 bit mux weil ich das für bcd decoder brauche
um diese 5 bit in hexa zahlen darstellen kann in 2 
siebensegmenteanzeigen
und das alles mit vhdl
zusammenfassung 5 bit vector in 2 hexazahlen einmal (0000 BIS 
1111)anzeige 1
                                           und ( 0000 bis 0001)anzeige2
Gast #1522732
Lesenswert?
• ▲
▼
zuerst danke miller
ich will binär in hexa umwandeln

zb 11111 ist 1F hexa
01010 ist 1A hexa
mit deinem decoder kann ich ZB 11111 umwandeln ;die 1111 in enem F 
umwandeln Und 1 bleibt
01010 ,1010 in A und 0 bleibt
mux brauche ich nicht um zu  decodieren aber die 2 anzeigen koennen 
nicht gleichtzeitig angeschaltet werden (beide miteinandere verbunden) 
aber hintereinandere , wenn man  die umschlatung schnell mache 60 hz man 
glaubt das die 2 anzeigen sind beide ständig an .vielleicht kennen sie 
das mit einer dcf uhr
vielleicht habe die frage kompliziert gemacht
wenn einer der ausgange von meinem component zb heisst A ich will daraus 
ein vector (000A) eingang fuer den mux das ist alles
Moderator (Firma: Titel) Persönliche Seite #1522766
Lesenswert?
• ▲
▼
> ich will binär in hexa umwandeln
Binär ist nur eine andere Schreibweise für Hex (und umgekehrt).

Dann ist der Ansatz
>>> 000&fûnfte bit
schon richtig:
1
signal ausgang : std_logic_vector( 4 downto 0);
2
signal hex : std_logic_vector( 4 downto 0);
3
signal digit : std_logic;
4
:
5
   hex <= ausgang(3 downto 0) when digit ='0' else  "000"&ausgang(4);
Gast #1522886
Lesenswert?
• ▲
▼
danke miller

kann ich auch so machen

einen component programmieren in dem der eingang ist der hexa zahl
eingang :in std_logic_vector( 4 downto 0)-- hexazahl
ausgang1: out std_logic_vector (3 downto 0)
ausgang2 out std_logic_vectore( 3 downto 0)

signal out1:std_logic_vectore ( 3 downto 0) --- mit eingang(3Downto 
0)verbunden
signal out2 :std_logic -- mit eingang (4) verbunden
.
.

augang1 <= out1(3 downto 0)
augang2 <= 000& out2

nachher sind ausgang1 und ausgang2 meine mux eingänge

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren