vector array in der vhdl entity

Gast #1297773
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.
1
entity matrix4mal6 is
2
port
3
(
4
  input_left :  IN vector6;
5
  input_right : IN vector4;
6
  output_left : OUT vector4;
7
);
8
end neuron4_matrix46;
9

10
architecture n4m46_a of matrix4mal6  is
11

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

16
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?
Gast #1297834
Lesenswert?
• ▲
▼
Pack die Typen in ein Package und benutze das vor der entity-Definition.

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

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

8
library IEEE;
9
use IEEE.std_logic_1164.all;
10
library work;
11
use work.x_pkg.all;
12

13
entity m is
14
        port (
15
                clk: in std_logic;
16
                mm: in matrix
17
        );
18
end m;
19

20
architecture v1 of m is
21
begin
22
end v1;

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren