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