library ieee use ieee std_logic_1164 all package phase_record_pkg is t

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
library ieee;
use ieee.std_logic_1164.all;
package phase_record_pkg is
type ctp_cnt_ovf is array (0 to 1) of std_logic_vector(7 downto 0);
type ram10x6 is array (0 to 9) of integer range 0 to 63;
type phases is record
quarter : std_logic_vector(1 downto 0);
coefficient : integer range 0 to 9;
doubled : std_logic;
--counter : integer range 0 to 63;
end record;
type tree_ph is array(0 to 2) of phases;
constant mem_sin_law : ram10x6 := (0, 11, 22, 31, 40, 48, 55, 59, 62, 63);
constant A_phase_init : phases := (quarter => "00", coefficient => 0, doubled => '1');
constant B_phase_init : phases := (quarter => "01", coefficient => 6, doubled => '1');
constant C_phase_init : phases := (quarter => "10", coefficient => 6, doubled => '0');
constant dir_forward : tree_ph := (0 => A_phase_init, 1 => B_phase_init, 2 => C_phase_init);
constant dir_reverse : tree_ph := (0 => C_phase_init, 1 => B_phase_init, 2 => A_phase_init);
end package phase_record_pkg;