Forum: FPGA, VHDL & Co. Testbench für MUX4x1


von Stefan (Gast)


Lesenswert?

Hallo zusammen,
ich bin gerade dabei mich mit VHDL zu beschäftigen. Ich habe mir dafür 
den Xilinx ISE 13.2 WebPack runtergeladen und wollte mal ein ganz 
einfaches Modell darin erstellen und anschließend mit einer Testbench 
simulieren. Bei der Testbench bekomme ich jedoch vom HDLcompiler zwei 
Syntaxfehler angezeigt, die ich einfach nicht finde...wer kann mir 
helfen?

Das Modell und die TB stammen aus dem Reichard & Schwarz
1
library IEEE;
2
use IEEE.STD_LOGIC_1164.ALL;
3
4
entity MUX4x1 is
5
    Port ( S : in  STD_LOGIC_VECTOR (1 downto 0);
6
           E : in  STD_LOGIC_VECTOR (3 downto 0);
7
           Y : out  STD_LOGIC);
8
end MUX4x1;
9
10
architecture Behavioral of MUX4x1 is
11
12
begin
13
14
  with S select
15
    Y <= E(0) when "00",
16
         E(1) when "01",
17
         E(2) when "10",
18
         E(3) when "11";
19
20
end Behavioral;

und hier die TB:
1
LIBRARY ieee;
2
USE ieee.std_logic_1164.ALL;
3
 
4
ENTITY TB_MUX4x1 IS
5
END TB_MUX4x1;
6
 
7
ARCHITECTURE behavior OF TB_MUX4x1 IS 
8
9
  signal S1 : in  STD_LOGIC_VECTOR(1 downto 0); -- Hier soll ein Fehler sein
10
  signal E1 : in  STD_LOGIC_VECTOR(3 downto 0);
11
  signal Y1 : out  STD_LOGIC;
12
 
13
  component MUX4x1
14
    port ( S : in  STD_LOGIC_VECTOR(1 downto 0);
15
           E : in  STD_LOGIC_VECTOR(3 downto 0);
16
           Y : out  STD_LOGIC);
17
  end component;
18
19
  for all: MUX4x1 use entity work.MUX4x1(Behavioral);
20
  
21
BEGIN
22
23
  E1 <= "1010", "0101" after 400 ns;
24
  S1 <= "00", "01" after 100 ns, "10" after 200 ns, "11" after 300 ns,
25
        "00" after 400 ns, "01" after 500 ns, "10" after 600 ns, "11" after 700 ns;
26
27
  C1: MUX4x1 port map(S1, E1, Y1); -- Und hier soll der zweite Fehler sein
28
29
END behavior;

Die Fehlermeldungen lauten

ERROR:HDLCompiler:806 - 
"C:/Users/Stefan/Documents/Xilinx_proj/reference_designs/VHDLcode/TB_MUX 
4x1.vhd"  Line 36: Syntax error near "in".

und

ERROR:HDLCompiler:806 - 
"C:/Users/Stefan/Documents/Xilinx_proj/reference_designs/VHDLcode/TB_MUX 
4x1.vhd"  Line 54: Syntax error near ")".

Also ich seh da keine Syntaxfehler...was mach ich denn falsch?

Vielen Dank und viele Grüße,
Stefan

von Ottmar (Gast)


Lesenswert?

Nur Ports haben eine Richtung. Signale nicht.
Einfach das "in" und "out" von der Signaldeklaration entfernen.

von Stefan (Gast)


Lesenswert?

Hallo Ottmar :-)
vielen Dank! das war des Rätsels Lösung, jetzt funktionierts :-) freu

Viele Grüße und Danke!
Stefan

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.