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