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