source: firmware/FAD/FACT_FAD_20MHz_VAR_PS/FACT_FAD_lib/hdl/control_unit_struct.vhd @ 10172

Last change on this file since 10172 was 10172, checked in by neise, 9 years ago
still unstable
File size: 5.0 KB
Line 
1-- VHDL Entity FACT_FAD_lib.control_unit.symbol
2--
3-- Created:
4--          by - dneise.UNKNOWN (E5B-LABOR6)
5--          at - 14:02:35 23.02.2011
6--
7-- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10)
8--
9LIBRARY ieee;
10USE ieee.std_logic_1164.ALL;
11USE ieee.std_logic_arith.ALL;
12LIBRARY FACT_FAD_LIB;
13USE FACT_FAD_LIB.fad_definitions.ALL;
14
15ENTITY control_unit IS
16   PORT( 
17      clk               : IN     STD_LOGIC;
18      config_addr       : IN     std_logic_vector (7 DOWNTO 0);
19      config_rd_en      : IN     std_logic;
20      config_start      : IN     std_logic;
21      config_wr_en      : IN     std_logic;
22      config_busy       : OUT    std_logic;
23      config_data_valid : OUT    std_logic;
24      config_ready      : OUT    std_logic;
25      -- --
26      config_rw_ack     : OUT    std_logic  := '0';
27      -- --
28      config_rw_ready   : OUT    std_logic  := '0';
29      config_started    : OUT    std_logic  := '0';
30      dac_array         : OUT    dac_array_type;
31      roi_array         : OUT    roi_array_type;
32      config_data       : INOUT  std_logic_vector (15 DOWNTO 0)
33   );
34
35-- Declarations
36
37END control_unit ;
38
39--
40-- VHDL Architecture FACT_FAD_lib.control_unit.struct
41--
42-- Created:
43--          by - dneise.UNKNOWN (E5B-LABOR6)
44--          at - 14:02:35 23.02.2011
45--
46-- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10)
47--
48LIBRARY ieee;
49USE ieee.std_logic_1164.ALL;
50USE ieee.std_logic_arith.ALL;
51LIBRARY FACT_FAD_LIB;
52USE FACT_FAD_LIB.fad_definitions.ALL;
53
54LIBRARY FACT_FAD_lib;
55
56ARCHITECTURE struct OF control_unit IS
57
58   -- Architecture declarations
59
60   -- Internal signal declarations
61   SIGNAL ram_addr     : std_logic_VECTOR(7 DOWNTO 0);
62   SIGNAL ram_data_in  : std_logic_VECTOR(15 DOWNTO 0);
63   SIGNAL ram_data_out : std_logic_VECTOR(15 DOWNTO 0);
64   SIGNAL ram_wren     : std_logic_VECTOR(0 DOWNTO 0);
65
66
67   -- Component Declarations
68   COMPONENT controlRAM_16bit_x256
69   PORT (
70      clka  : IN     std_logic ;
71      dina  : IN     std_logic_VECTOR (15 DOWNTO 0);
72      addra : IN     std_logic_VECTOR (7 DOWNTO 0);
73      wea   : IN     std_logic_VECTOR (0 DOWNTO 0);
74      douta : OUT    std_logic_VECTOR (15 DOWNTO 0)
75   );
76   END COMPONENT;
77   COMPONENT control_manager
78   GENERIC (
79      NO_OF_ROI  : integer := 36;
80      NO_OF_DAC  : integer := 8;
81      ADDR_WIDTH : integer := 8
82   );
83   PORT (
84      clk               : IN     std_logic ;
85      ram_data_out      : IN     std_logic_vector (15 DOWNTO 0);
86      config_ready      : OUT    std_logic                      := '0';
87      config_started    : OUT    std_logic                      := '0';
88      config_start      : IN     std_logic ;
89      config_data       : INOUT  std_logic_vector (15 DOWNTO 0) := (others => 'Z');
90      config_addr       : IN     std_logic_vector (ADDR_WIDTH - 1 DOWNTO 0);
91      config_wr_en      : IN     std_logic ;
92      config_rd_en      : IN     std_logic ;
93      config_data_valid : OUT    std_logic                      := '0';
94      config_busy       : OUT    std_logic                      := '0';
95      -- --
96      config_rw_ack     : OUT    std_logic                      := '0';
97      -- --
98      config_rw_ready   : OUT    std_logic                      := '0';
99      -- --
100      ram_addr          : OUT    std_logic_vector (ADDR_WIDTH - 1 DOWNTO 0);
101      ram_data_in       : OUT    std_logic_vector (15 DOWNTO 0);
102      ram_write_en      : OUT    std_logic_vector (0 DOWNTO 0);
103      dac_array         : OUT    dac_array_type ;
104      roi_array         : OUT    roi_array_type
105   );
106   END COMPONENT;
107
108   -- Optional embedded configurations
109   -- pragma synthesis_off
110   FOR ALL : controlRAM_16bit_x256 USE ENTITY FACT_FAD_lib.controlRAM_16bit_x256;
111   FOR ALL : control_manager USE ENTITY FACT_FAD_lib.control_manager;
112   -- pragma synthesis_on
113
114
115BEGIN
116
117   -- Instance port mappings.
118   I_control_ram : controlRAM_16bit_x256
119      PORT MAP (
120         clka  => clk,
121         dina  => ram_data_in,
122         addra => ram_addr,
123         wea   => ram_wren,
124         douta => ram_data_out
125      );
126   I_control_manager : control_manager
127      GENERIC MAP (
128         NO_OF_ROI  => 36,
129         NO_OF_DAC  => 8,
130         ADDR_WIDTH => 8
131      )
132      PORT MAP (
133         clk               => clk,
134         ram_data_out      => ram_data_out,
135         config_ready      => config_ready,
136         config_started    => config_started,
137         config_start      => config_start,
138         config_data       => config_data,
139         config_addr       => config_addr,
140         config_wr_en      => config_wr_en,
141         config_rd_en      => config_rd_en,
142         config_data_valid => config_data_valid,
143         config_busy       => config_busy,
144         config_rw_ack     => config_rw_ack,
145         config_rw_ready   => config_rw_ready,
146         ram_addr          => ram_addr,
147         ram_data_in       => ram_data_in,
148         ram_write_en      => ram_wren,
149         dac_array         => dac_array,
150         roi_array         => roi_array
151      );
152
153END struct;
Note: See TracBrowser for help on using the repository browser.