Forum: FPGA, VHDL & Co. Problem mit Wishbone Builder "and/or"


von Michael F. (mifi)


Lesenswert?

Hallo zusammen,

ich kann mit dem Wishbone Builder zwar ein Wishbone Intercon erstellen,
aber es gibt hier Probleme beim "übersetzen".

Hier ein Teil des VHDL Codes:
1
   signal wbs1_dat_i : in  std_logic_vector(15 downto 0);
2
   signal wbs2_dat_i : in  std_logic_vector(15 downto 0);
3
4
   signal wbs1_ss : std_logic;
5
   signal wbs2_ss : std_logic;
6
7
   signal readdata : std_logic_vector(15 downto 0);
8
9
   readdata <= (wbs1_dat_i and wbs1_ss) or (wbs2_dat_i and wbs2_ss);

Ich benutze Quartus II 11.1sp2 und bekomme folgende Fehlermeldung:

Error (10476): VHDL error at wb_intercon.vhd(147): type of identifier 
"wbs1_ss" does not agree with its usage as "std_logic_vector" type

Die gleiche Fehlermeldung auch noch mal für wbs2_ss. Eigentlich sollte
hier ein Multiplexer aufgebaut werden. Beim Wishbone Builder hat man
die Möglichkeit zwischen "and/or" und "mux" zu wählen.

Würde der Code mit readdata evt. bei Xilinx oder anderen funktionieren?

Ich habe jetzt einen Multiplexer wie folgt umgesetzt:
1
   readdata <= wbs1_dat_i when (wbs1_ss = '1') else
2
               wbs2_dat_i when (wbs2_ss = '1') else (others => '0');

Damit funktioniert es natürlich.

Viele Grüße,
Michael

: Bearbeitet durch User
von Christoph Z. (christophz)


Lesenswert?

Der 'and' Operator in VHDL-93 kann nur mit gleichen Datentypen links und 
rechts vom Operator umgehen.

Der Zitierte Source Code ist gültig in VHDL-2008.

Michael Fischer schrieb:
> Würde der Code mit readdata evt. bei Xilinx oder anderen funktionieren?

Definitiv nicht, Xilinx hat keine VHDL-2008 unterstützung und 
interessiert sich auch nicht dafür, dass die Kunden das wollen. Leider.

Bei Lattice lässt sich damit arbeiten aber man kann gewisse Funktionen 
der IDE nicht mehr nutzen.

Bei Altera oder Microsemi bin ich nicht auf dem Laufenden.

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
Noch kein Account? Hier anmelden.