Probleme bei einer Vektorausgabe

OP #1208706
Lesenswert?
• ▲
▼
Hi,

ich versuche einen einfachen Vektor getanktet Zeile für Zeile 
auszugeben.
Aber egal wie ich es mache, der Kompiler beschwert sich ständig über :
Multiple non-tristate drivers for net Teil2()
Unresolved tristate drivers for net Teil2(499)
bzw. manchmal die gleiche Fehlermeldung für die Variable Adresszeiger
Was mach ich falsch?
1
signal Teil2         :std_logic_vector (499 downto 0);
2
signal Adresszeiger  :integer;
3

4
test: process (Strobeclock,variable)
5
begin
6

7
if (variable='0') then
8
Adresszeiger <= 0;
9
elsif (Strobeclock'event and Strobeclock = '1' ) then
10
Adresszeiger<= Adresszeiger +1;
11
end if;
12

13
TXD <= Teil2(Adresszeiger); 
14

15
end process;
Moderator (Firma: Titel) Persönliche Seite #1208720
Lesenswert?
• ▲
▼
>  Vektor getanktet Zeile für Zeile auszugeben.
Muß das heißen: Bit für Bit?
Welchen Typ hat TXD?
variable ist ein Schlüsselwort.
Einen Mux mit 500 Eingangselementen zu bauen ist schon etwas gewagt... 
:-/

Mir scheint, du machst Etwas etwas umständlich.
Man hantiert üblicherweise nicht mit 500 Bit breiten Vektoren...

BTW:
Warum nimmst du nicht (wie der Rest der Welt) ein Schieberegister?
1
signal Teil2         :std_logic_vector (499 downto 0);
2
signal sr            :std_logic_vector (499 downto 0);
3

4
test: process (Strobeclock,variable)
5
begin
6

7
if (losgehts='1') then
8
   sr <= Teil2;
9
elsif (Strobeclock'event and Strobeclock = '1' ) then
10
   sr <= '0' & sr[499 downto 1];
11
end if;
12

13
TXD <= sr[0]; 
14

15
end process;

Strobeclock ist ein bedeutungsvoller Name. Wieviele Takte hast du in 
deinem Desing? Wenn du mit FPGAs zu tun hast, ist der Idealfall: 1 Takt. 
Und nur als Experte und/oder in Extremfällen solltest du davon abrücken.
OP #1208773
Lesenswert?
• ▲
▼
Danke erstmal für die schnelle Antwort.
Ja, ich will die Daten Bit für Bit ausgeben.

Es handelt sich um ein bestehendes funktionierendes Programm das mehrere 
mit mehreren Takten geschrieben ist und das ich jetzt erweitern will.
Ich hab einen knapp 3000 Bit langen Bitstream, den ich einlesen, 
speichern und anschließend wieder ausgeben will.
Die Strobeclock gibt die Bittaktung.
TxD ist ein std_logic Ausgang.
Eine Art Schieberegister ist es ja was ich bauen will. Hab nur übersehen 
das es sowas ja bereits fertig gibt. Ich probier mein Glück mal.
Danke nochmal

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