Forum: FPGA, VHDL & Co. Fehlermeldung


von Johannes H. (Gast)


Lesenswert?

Hallo Leute :)

ich versuche gerade anhand einer iterativen Instanziierung mehrere 
VHDL-Komponenten zusammenzufügen jedoch bekomme ich eine Fehlermeldung 
die ich leider nicht lösen kann. Es handelt sich hierbei um einen 4 Bit 
Johnson Zähler.
1
library IEEE;
2
use IEEE.std_logic_1164.all;
3
4
entity johnson_cnt is 
5
  generic(W : positive := 4);    -- Anzahl der D - FF
6
  port (Reset   : in  std_logic;
7
      Clk    : in  std_logic;
8
      q_o    : out  std_logic_vector(W - 1 downto 0));
9
end entity johnson_cnt;
10
11
architecture struc of johnson_cnt is 
12
signal intern : std_logic_vector(W - 1 downto 0);
13
signal ser_i  : std_logic;
14
15
 component dff 
16
  port(Clk  : in  std_logic;
17
     Reset  : in  std_logic;
18
     d_i  : in  std_logic;
19
     q_o  : out  std_logic);
20
 end component dff;
21
 
22
begin 
23
24
  i_johnson_cnt : dff        -- erster FF
25
  port map
26
    (Clk   => Clk,
27
     Reset  => Reset,
28
     d_i  => ser_i,
29
     q_o  => intern(0));
30
  
31
  i_johnson_cnt1 : dff      -- mittlerer FF
32
  for i in 1 to W - 2 generate 
33
    port map 
34
      (Clk   => Clk,
35
       Reset  => Reset,
36
       d_i  => intern(i - 1),
37
       q_o  => intern(i));
38
  end generate;
39
    
40
  i_johnson_cnt2 : dff      -- letzter FF
41
    port map
42
      (Clk  => Clk,
43
       Reset  => Reset,
44
       d_i  => intern(W - 2),
45
       q_o  => intern(W - 1));
46
      
47
  ser_i <= not(intern(W - 1)); 
48
  
49
end architecture struc;


Die Fehlermeldung erscheint bei der for-Schleife und lautet:
johnson_cnt_struc_.vhdl(28): near "for": expecting <= or :=;

Ich vermute, dass es ein dummer Fehler ist, jedoch kann ich es leider 
nicht lösen und hoffe, Ihr könntet mir da helfen.

Lg

von Georg A. (georga)


Lesenswert?

Es muss 'label: for ... generate dff port map(..); end generate label' 
heissen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Sonst gäbe es ja W-2 Komponenten, die alle i_johnson_cnt1 heißen.

: Bearbeitet durch Moderator
von Johannes H. (Gast)


Lesenswert?

Vielen, vielen Dank :) Seit wirklich eine super Truppe :)

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.