Hallo, ich habe gerade eine kleine uebung gemacht und hier das problem dass dich der VHDL-Code nicht kompilieren laesst mit GHDL, was amche ich da falsch? Weil es so wenige Zeilen sind Kopiere ich ihn mal direkt hier rein, ich hoffe das ist so in Ordnung. logik.vhd, funktioniert:
1 | entity logik is |
2 | port( E : in bit_vector (2 downto 0); |
3 | Y : out bit_vector (1 downto 0)); |
4 | end logik; |
5 | |
6 | architecture behaviour of logik is |
7 | begin
|
8 | Y(0) <= (E(0) and E(1)) or E(2); |
9 | Y(0) <= (E(0) or E(1)) and E(2); |
10 | end behaviour; |
dies ist die testbench, hier bricht er am ende ab:
1 | entity logik_tb is |
2 | end logik_tb; |
3 | |
4 | architecture test of logik_tb is |
5 | signal E1 : in bit_vector (2 downto 0); |
6 | signal Y1 : out bit_vector (1 downto 0); |
7 | |
8 | component logik |
9 | port( E : in bit_vector (2 downto 0); |
10 | Y : out bit_vector (1 downto 0)); |
11 | end component; |
12 | for all: logik use entity work.logik(behaviour); |
13 | |
14 | begin
|
15 | E1 <= "000", "001" after 10 ns, "010" after 20 ns, "011" after 30 ns, "100" after 40 ns, "101" after 50 ns, "110" after 60 ns, "111" after 70 ns; |
16 | C1: logik port map(E1, Y1); |
17 | end test; |
und der fehler ist:
1 | xxx:~$ ghdl -a logik.vhd |
2 | xxx:~$ ghdl -a logik_tb.vhd |
3 | logik_tb.vhd:5:18: type mark expected in a subtype indication |
4 | /usr/lib/ghdl/bin/ghdl: compilation error |
waere sehr schoen wenn mir irgendjemand sagen koennte warum das nicht klappt, an der logik.vhd scheint es nicht zu liegen. leider reichen meien kenntnisse auch nicht wirklich um selber herauszufinden woran das liegen koennte. Beide dateien liegen im gleichen Ordner. danke arne