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

Eine eigene Frage? Dieser Thread ist über 16 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.