Hi,
habe gerade das Problem, dass ich eine Konstante als natural übergebe,
die ich in einen std_logic_vector übergeben möchte.
Dessen Breite soll von natural abhängen und kenne ich nicht.
Wie löst man so was?
1 | library IEEE;
|
2 | use IEEE.STD_LOGIC_1164.ALL;
|
3 | use IEEE.numeric_std.all;
|
4 | -- use IEEE.STD_LOGIC_ARITH.ALL;
|
5 | -- use IEEE.STD_LOGIC_UNSIGNED.ALL;
|
6 |
|
7 |
|
8 | entity Table is
|
9 | generic ( C_TABLE_SIZE : natural := 200);
|
10 | port (
|
11 | rst : in std_logic;
|
12 | clk : in std_logic;
|
13 | number : in natural range 0 to C_TABLE_SIZE
|
14 | );
|
15 | end Table;
|
16 |
|
17 | architecture Behavioral of Table is
|
18 |
|
19 | signal test : std_logic_vector(XXXXXX downto 0);
|
20 |
|
21 | begin
|
22 |
|
23 | -- search is done parallel.
|
24 | main_proc: process (rst, clk)
|
25 | begin
|
26 | if (rst = '1') then
|
27 | elsif (clk'event and clk='1') then
|
28 | test <= conv_std_logic_vector(number, XXXXXXX);
|
29 | end if;
|
30 | end process;
|
31 | end Behavioral;
|
Danke im voraus,
Matthias