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