Parallel/Seriel Wandler, mit Convertierung von BIT_VERTOR zu STD_LOGIC

Gast #2987181
Lesenswert?

Ich habe einen Bit-Vector sig_datareg_in(15 downto 0), in dem Daten 
abgelegt sind, diese möchte ich seriell (Leitung ser_io) raus schieben 
mit MSB-Firs.
ser_io ist folgendermaßen in der Entity definiert:

ser_io : inout STD_LOGIC;
1
if rising_edge(CLK) then  
2

3
when state_readdata =>
4

5
ser_io <= sig_datareg_in(15);    
6
sig_datareg_in(15 downto 1) <= sig_datareg_in(14 downto 0);      
7
sig_bit_cnt_int   <= sig_bit_cnt_int + '1';
8
        
9
if sig_bit_cnt_int  >= 15 then          
10
  sig_bit_cnt_int <= (others => '0');   -- reset counter
11
end if;
12

13
end if;

Leider bekomme ich folgende Fehlermeldung:
Cannot resolve indexed name (type std.STANDARD.BIT) as type 
ieee.std_logic_1164.STD_LOGIC.

Wie konvertiere ich richtig einen BIT_VECTOR zu STD_LOGIC um?

Vielen Dank
Gast #2987921
Lesenswert?

sig_bit_cnt_int  : inout  STD_LOGIC_VECTOR(7 downto 0)

Damit ist aber alles in Ordnung. Der Counter macht mir keine Probleme.

Eingebunden habe ich folgende Bibliotheken:
1
library IEEE;
2
use IEEE.STD_LOGIC_1164.ALL;
3
use IEEE.STD_LOGIC_ARITH.ALL;
4
use IEEE.NUMERIC_STD.ALL;
5
use IEEE.STD_LOGIC_UNSIGNED.ALL;
Moderator (Firma: Titel) Persönliche Seite #2987956
Lesenswert?

idas schrieb:
> Eingebunden habe ich folgende Bibliotheken: ...
Ja, warum bindest du nicht noch viel mehr ein?
Einfach alles, was du finden kannst?

War aber zum Glück alles schon mal da. Und schon ein paar mal die 
Fehlerursache...
Beitrag "Fehlermeldung mit unsigned"
Beitrag "Zweierkomplement zu unsigned vector Problem"
Beitrag "VHDL Syntaxproblem: type incompatible"
Beitrag "Re: Ganze Zahl in Ziffern zerlegen"
Usw. usf...

Siehe auch den Beitrag "IEEE.STD_LOGIC_ARITH.ALL obsolete"

> sig_bit_cnt_int  : inout  STD_LOGIC_VECTOR(7 downto 0)
Warum ist ein (vermutlich) interner Counter als inout Port definiert?
Schreibfaulheit?

idas schrieb:
>> Wie konvertiere ich richtig einen BIT_VECTOR zu STD_LOGIC um?
Gib doch einfach mal bei Google
Convertierung von BIT_VERTOR zu STD_LOGIC
(gern auch inklusive deiner beiden Schreibfehler im Thread-Titel) ein:
https://www.google.de/search?q=Convertierung+von+BIT_VERTOR+zu+STD_LOGIC
Und dann sieh die ersten paar Links an:
http://www.pldworld.com/_hdl/2/_ref/acc-eda/language_overview/using_standard_logic/standard_logic_type_conversions.htm
Gast #2988560
Lesenswert?

Ok, Danke für die Anregungen. Sorry, ich bin halt kein VHDL Geek. Habe 
vor langer Zeit was gemacht, seit dem gar nichts mehr. Ich habe es ein 
wenig anders gelöst, sig_datareg_in als STD_LOGIC_VECTOR deklariert, hat 
die Konvertierung überflüssig gemacht.


sig_bit_cnt_int soll eigentlich ein internes Signal sein, ich habe es 
aus der Entity aus Zweckszwecken herausgeführt als inout. Buffer würde 
da natürlich auch reichen. Aber darum ging es mir nicht.

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