mikrocontroller.net

Forum: FPGA, VHDL & Co. Fehler: object "tap_table" is used but not declared


Autor: Nexus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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
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:
-- Dateiname : random.vhd
-- Beschreibung: Rückgekoppeltes Schieberegister variabler Länge (n=1...36). Der
-- Default-Wert ist n = 8. Die für die Rückkopplung benutzten Zweige werden in einer
-- Tabelle definiert. Das Element "-1" bedeutet keine Rückkopplung.

library ieee;
use ieee.std_logic_1164.all;

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

architecture verhalten of random is
  type tab_table is array(1 to 36, 1 to 4) of integer range -1 to 36;
  constant taps : tap_table := (
                  ( 0,  -1, -1, -1),  -- 1
                  ( 1,   0, -1, -1),  -- 2
                  ( 1,  -1, -1, -1),  -- 3
                  ( 1,   0, -1, -1),  -- 4
                  ( 2,   0, -1, -1),  -- 5
                  ( 1,  -1, -1, -1),  -- 6
                  ( 1,   0, -1, -1),  -- 7
                  ( 6,   5,  1,  0),  -- 8
                  ( 4,   0, -1, -1),  -- 9
                  ( 3,   0, -1, -1),  --10
                  ( 2,   0, -1, -1),  --11
                  ( 7,   4,  3,  0),  --12
                  ( 4,   3,  1,  0),  --13
                  (12,  11,  1,  0),  --14
                  ( 1,   0, -1, -1),  --15
                  ( 5,   3,  2,  0),  --16
                  ( 3,   0, -1, -1),  --17
                  ( 7,   0, -1, -1),  --18
                  ( 6,   5,  1,  0),  --19
                  ( 3,   0, -1, -1),  --20
                  ( 2,   0, -1, -1),  --21
                  ( 1,   0, -1, -1),  --22
                  ( 5,   0, -1, -1),  --23
                  ( 4,   3,  1,  0),  --24
                  ( 3,   0, -1, -1),  --25
                  ( 8,   7,  1,  0),  --26
                  ( 8,   7,  1,  0),  --27
                  ( 3,   0, -1, -1),  --28
                  ( 2,   0, -1, -1),  --29
                  (16,  15,  1,  0),  --30
                  ( 3,   0, -1, -1),  --31
                  (28,  27,  1,  0),  --32
                  (13,   0, -1, -1),  --33
                  (15,  14,  1,  0),  --34
                  ( 2,   0, -1, -1),  --35
                  (11,   0, -1, -1)); --36
  begin
    p0: process(clk, reset) is
      variable reg : std_logic_vector(n-1 downto 0);
      variable feedback : std_logic;
      begin
        if reset = '1' then -- asynchrones Reset
          reg := (others => '1');
        elsif rising_edge(clk) then
          feedback := reg(taps(n, 1));  -- Modellzuweisung
          for i in 2 to 4 loop
            if taps(n, i) >= 0 then
              feedback := feedback xor reg(taps(n, i));
            end if;
          end loop;
          reg := feedback & reg(n-1 downto 1); -- Rechtsschieben
        end if;
        q <= reg;
    end process p0;
end architecture verhalten; 

Autor: SeriousSam (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
einmal heissts tab_table, ein ander mal tap_table...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.