------------------------------------------------------------------------------- -- Title : Package: Uniquifier Signal Types -- Project : Prototype implementation of the GTU of the Alice TRD Experiment ------------------------------------------------------------------------------- -- File : track_types.vhd -- Author : Jan de Cuveland -- Company : -- Last update: 2003/06/16 -- Platform : ------------------------------------------------------------------------------- -- This is a prototype implementation of the Global Tracking Unit (GTU) -- of the Alice TRD detector. ------------------------------------------------------------------------------- -- Description: ------------------------------------------------------------------------------- -- Revisions : -- Date Version Author Description -- 2003/06/16 1.0 cuveland Created ------------------------------------------------------------------------------- library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use work.gtu_types.all; ------------------------------------------------------------------------------- package track_types is -- constants and signal types for tracks constant zhalf_width : integer := zpos_width - 1; constant track_with_idx_width : integer := idx_width + approx_ypos_width + 6 * addr_width + 6; constant track_with_zpos_width : integer := zpos_width + approx_ypos_width + 6 * addr_width + 6; constant track_with_zhalf_width : integer := zhalf_width + approx_ypos_width + 6 * addr_width + 6; constant track_width : integer := 6 * addr_width + 6; subtype track_with_idx_t is std_logic_vector (track_with_idx_width-1 downto 0); subtype track_with_zpos_t is std_logic_vector (track_with_zpos_width-1 downto 0); subtype track_with_zhalf_t is std_logic_vector (track_with_zhalf_width-1 downto 0); subtype track_t is std_logic_vector (track_width-1 downto 0); constant matchvec_low : integer := 0; constant matchvec_high : integer := matchvec_low + 6 - 1; constant addr0_low : integer := matchvec_high + 1; constant addr0_high : integer := addr0_low + addr_width - 1; constant y_low : integer := addr0_high + 5 * addr_width + 1; constant y_high : integer := y_low + approx_ypos_width - 1; constant idx_low : integer := y_high + 1; constant idx_high : integer := idx_low + idx_width - 1; constant zpos_low : integer := y_high + 1; constant zpos_high : integer := idx_low + zpos_width - 1; constant zhalf_low : integer := y_high + 1; constant zhalf_high : integer := idx_low + zhalf_width - 1; end track_types;