www.mikrocontroller.net

Forum: FPGA, VHDL & Co. vector array in der vhdl entity


Autor: Ralfi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich brauche einen (später skalierbaren) Vektor als input in der entity. 
Ich bekomme aber die Definition nicht hin. Auch bei den Signalen geht es 
nicht.
entity matrix4mal6 is
port
(
  input_left :  IN vector6;
  input_right : IN vector4;
  output_left : OUT vector4;
);
end neuron4_matrix46;

architecture n4m46_a of matrix4mal6  is

type matrix is array (0 to 3, 0 to 5) of std_logic_vector(7 downto 0);
type vector6 is array (0 to 5) of std_logic_vector(7 downto 0);
type vector4 is array (0 to 3) of std_logic_vector(7 downto 0);

SIGNAL input_n, input_s : vector6;

So, wie es jetzt ist, klappt es aber perfekt für die internen Signale 
input_n und input_s. So brauche ich es auch in der entity.

Wie macht man das?

Autor: Georg A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Pack die Typen in ein Package und benutze das vor der entity-Definition.

Das hier schluckt ghdl problemlos:
library IEEE;
use IEEE.std_logic_1164.all;

package x_pkg is
        type matrix is array (0 to 3, 0 to 5) of std_logic_vector(7 downto 0);
end x_pkg;

library IEEE;
use IEEE.std_logic_1164.all;
library work;
use work.x_pkg.all;

entity m is
        port (
                clk: in std_logic;
                mm: in matrix
        );
end m;

architecture v1 of m is
begin
end v1;

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, ich probiere es!

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.