Fehler: object "tap_table" is used but not declared

Gast #1000338
Hier der Code für ein rückgekoppeltes Schieberegister. Ich habe noch 
einen Fehler drin. Angeblich habe ich das Objekt "tab_table" nicht 
deklariert. Das habe ich doch getan und zwar mit
1
type tab_table is array(1 to 36, 1 to 4) of integer range -1 to 36;

Vielleicht findet ihr den Fehler. Komme auf jeden Fall nicht weiter. 
Hier der komplette Code:
1
-- Dateiname : random.vhd
2
-- Beschreibung: Rückgekoppeltes Schieberegister variabler Länge (n=1...36). Der
3
-- Default-Wert ist n = 8. Die für die Rückkopplung benutzten Zweige werden in einer
4
-- Tabelle definiert. Das Element "-1" bedeutet keine Rückkopplung.
5

6
library ieee;
7
use ieee.std_logic_1164.all;
8

9
entity random is
10
  generic(n : integer range 1 to 36 := 8);
11
  port(clk, reset : in std_logic;
12
     q : out std_logic_vector(n-1 downto 0));
13
end entity random;
14

15
architecture verhalten of random is
16
  type tab_table is array(1 to 36, 1 to 4) of integer range -1 to 36;
17
  constant taps : tap_table := (
18
                  ( 0,  -1, -1, -1),  -- 1
19
                  ( 1,   0, -1, -1),  -- 2
20
                  ( 1,  -1, -1, -1),  -- 3
21
                  ( 1,   0, -1, -1),  -- 4
22
                  ( 2,   0, -1, -1),  -- 5
23
                  ( 1,  -1, -1, -1),  -- 6
24
                  ( 1,   0, -1, -1),  -- 7
25
                  ( 6,   5,  1,  0),  -- 8
26
                  ( 4,   0, -1, -1),  -- 9
27
                  ( 3,   0, -1, -1),  --10
28
                  ( 2,   0, -1, -1),  --11
29
                  ( 7,   4,  3,  0),  --12
30
                  ( 4,   3,  1,  0),  --13
31
                  (12,  11,  1,  0),  --14
32
                  ( 1,   0, -1, -1),  --15
33
                  ( 5,   3,  2,  0),  --16
34
                  ( 3,   0, -1, -1),  --17
35
                  ( 7,   0, -1, -1),  --18
36
                  ( 6,   5,  1,  0),  --19
37
                  ( 3,   0, -1, -1),  --20
38
                  ( 2,   0, -1, -1),  --21
39
                  ( 1,   0, -1, -1),  --22
40
                  ( 5,   0, -1, -1),  --23
41
                  ( 4,   3,  1,  0),  --24
42
                  ( 3,   0, -1, -1),  --25
43
                  ( 8,   7,  1,  0),  --26
44
                  ( 8,   7,  1,  0),  --27
45
                  ( 3,   0, -1, -1),  --28
46
                  ( 2,   0, -1, -1),  --29
47
                  (16,  15,  1,  0),  --30
48
                  ( 3,   0, -1, -1),  --31
49
                  (28,  27,  1,  0),  --32
50
                  (13,   0, -1, -1),  --33
51
                  (15,  14,  1,  0),  --34
52
                  ( 2,   0, -1, -1),  --35
53
                  (11,   0, -1, -1)); --36
54
  begin
55
    p0: process(clk, reset) is
56
      variable reg : std_logic_vector(n-1 downto 0);
57
      variable feedback : std_logic;
58
      begin
59
        if reset = '1' then -- asynchrones Reset
60
          reg := (others => '1');
61
        elsif rising_edge(clk) then
62
          feedback := reg(taps(n, 1));  -- Modellzuweisung
63
          for i in 2 to 4 loop
64
            if taps(n, i) >= 0 then
65
              feedback := feedback xor reg(taps(n, i));
66
            end if;
67
          end loop;
68
          reg := feedback & reg(n-1 downto 1); -- Rechtsschieben
69
        end if;
70
        q <= reg;
71
    end process p0;
72
end architecture verhalten;

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.