1 | library IEEE;
|
2 | use IEEE.std_logic_1164.all;
|
3 | use IEEE.numeric_std.all;
|
4 | use work.test_pack.all;
|
5 |
|
6 | entity sram_controller_e is
|
7 | port(
|
8 | clk_i : in std_ulogic;
|
9 | reset_n_i : in std_ulogic;
|
10 | fsm_start_addr_i : in std_ulogic_vector(18 downto 0);
|
11 | fsm_we_i : in std_ulogic;
|
12 | fsm_re_i : in std_ulogic;
|
13 | state_out : out fsm_t; --- Ausgang
|
14 | srctr_idle_o : out std_ulogic;
|
15 | srctr_we_reg_n_o : out std_ulogic;
|
16 | srctr_ce_reg_n_o : out std_ulogic;
|
17 | srctr_oe_reg_n_o : out std_ulogic;
|
18 | srctr_lb_reg_n_o : out std_ulogic;
|
19 | srctr_ub_reg_n_o : out std_ulogic;
|
20 | mem_data_b : inout std_logic_vector(15 downto 0));
|
21 | end sram_controller_e;
|
22 |
|
23 | architecture sram_controller_a of sram_controller_e is
|
24 |
|
25 | signal state : fsm_t;
|
26 | signal addr_next : std_ulogic_vector(18 downto 0);
|
27 | signal addr_inc : std_ulogic_vector(18 downto 0);
|
28 | signal addr_reg : std_ulogic_vector(18 downto 0);
|
29 |
|
30 | begin
|
31 | state_out <= state; -- state ausgeben
|
32 | .
|
33 | .
|
34 | .
|
35 | end sram_controller_a;
|
36 |
|
37 | :
|
38 | :
|
39 | :
|
40 |
|
41 | library IEEE;
|
42 | use IEEE.std_logic_1164.all;
|
43 | use IEEE.numeric_std.all;
|
44 | use work.test_pack.all;
|
45 |
|
46 | entity sram_controller_data_e is
|
47 | port(
|
48 | clk_i : in std_ulogic;
|
49 | reset_n_i : in std_ulogic;
|
50 | audio_data_i : in std_ulogic_vector(23 downto 0);
|
51 | srctr_data_o : out std_ulogic_vector(23 downto 0);
|
52 | fsm_we_i : in std_ulogic;
|
53 | state_in : in fsm_t; --- Eingang
|
54 | srctr_end_addr_plus1_o : out std_ulogic_vector(18 downto 0);
|
55 | srctr_addr_reg_o : out std_ulogic_vector(18 downto 0);
|
56 | mem_data_b : inout std_logic_vector(15 downto 0));
|
57 | end sram_controller_data_e;
|
58 |
|
59 | architecture sram_controller_data_a of sram_controller_data_e is
|
60 | .
|
61 | .
|
62 | .
|
63 | begin
|
64 | .
|
65 | .
|
66 | .
|
67 | end sram_controller_data_a;
|
68 |
|
69 |
|
70 | :
|
71 | :
|
72 | :
|
73 |
|
74 | library IEEE;
|
75 | use IEEE.std_logic_1164.all;
|
76 | use IEEE.numeric_std.all;
|
77 | use work.test_pack.all;
|
78 |
|
79 | entity top_e is
|
80 | :
|
81 | :
|
82 | end top_e;
|
83 |
|
84 | architecture ... is
|
85 | :
|
86 | component sram_controller_data_e is -- Komponente deklarieren
|
87 | port(...
|
88 | end component;
|
89 |
|
90 | component sram_controller_e is -- Komponente deklarieren
|
91 | port(...
|
92 | end component;
|
93 |
|
94 | signal state : fsm_t -- Verbindungssignal
|
95 | :
|
96 |
|
97 | begin
|
98 | -- hier erfolgt die eigentliche Verbindung mit dem Signal state
|
99 | sram_controller : sram_controller_e
|
100 | PORT MAP ( ..., state_out => state , ...);
|
101 |
|
102 | sram_controller_data : sram_controller_data_e
|
103 | PORT MAP ( ..., state_in => state , ...);
|
104 | :
|
105 | :
|