Ignore:
Timestamp:
05/27/11 17:28:59 (13 years ago)
Author:
weitzel
Message:
FTM: new light pulser interface, new timing constraint in .ucf file 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • firmware/FTM/FTM_top.vhd

    r10779 r10879  
    212212    -- LVDS output at the FPGA followed by LVDS to NIM conversion stage
    213213    -------------------------------------------------------------------------------
    214     -- RES_p      : out STD_LOGIC;   --  RES+   Reset
    215     -- RES_n      : out STD_LOGIC;   -- RES-  IO-Bank 0
     214    RES_p      : out STD_LOGIC;   -- RES+  Reset
     215    RES_n      : out STD_LOGIC;   -- RES-  IO-Bank 0
    216216
    217217    TRG_p      : out STD_LOGIC;   -- TRG+  Trigger
     
    230230    -- to connector J13
    231231    -- for light pulsar in the mirror dish
    232     -- Cal_0_p    : out STD_LOGIC; 
    233     -- Cal_0_n    : out STD_LOGIC;
    234     -- Cal_1_p    : out STD_LOGIC;
    235     -- Cal_1_n    : out STD_LOGIC;
    236     -- Cal_2_p    : out STD_LOGIC;
    237     -- Cal_2_n    : out STD_LOGIC;
    238     -- Cal_3_p    : out STD_LOGIC;
    239     -- Cal_3_n    : out STD_LOGIC;
     232    Cal_0_p    : out STD_LOGIC; 
     233    Cal_0_n    : out STD_LOGIC;
     234    Cal_1_p    : out STD_LOGIC;
     235    Cal_1_n    : out STD_LOGIC;
     236    Cal_2_p    : out STD_LOGIC;
     237    Cal_2_n    : out STD_LOGIC;
     238    Cal_3_p    : out STD_LOGIC;
     239    Cal_3_n    : out STD_LOGIC;
    240240
    241241    -- to connector J12
    242242    -- for light pulsar inside shutter
    243     -- Cal_4_p    : out STD_LOGIC;
    244     -- Cal_4_n    : out STD_LOGIC;
    245     -- Cal_5_p    : out STD_LOGIC;
    246     -- Cal_5_n    : out STD_LOGIC;
    247     -- Cal_6_p    : out STD_LOGIC;
    248     -- Cal_6_n    : out STD_LOGIC;
    249     -- Cal_7_p    : out STD_LOGIC;
    250     -- Cal_7_n    : out STD_LOGIC 
     243    Cal_4_p    : out STD_LOGIC;
     244    Cal_4_n    : out STD_LOGIC;
     245    Cal_5_p    : out STD_LOGIC;
     246    Cal_5_n    : out STD_LOGIC;
     247    Cal_6_p    : out STD_LOGIC;
     248    Cal_6_n    : out STD_LOGIC;
     249    Cal_7_p    : out STD_LOGIC;
     250    Cal_7_n    : out STD_LOGIC; 
    251251
    252252
     
    347347  signal trigger_counter_valid_sig  : std_logic;
    348348 
    349   signal config_start_cc_sig   : std_logic := '0';
     349  signal config_start_cc_sig   : std_logic;  -- initialized in central control
    350350  signal config_started_cc_sig : std_logic := '0';
    351351  signal config_ready_cc_sig   : std_logic := '0';
    352352
     353  signal config_start_lp_sig   : std_logic;  -- initialized in central control
     354  signal config_started_lp_sig : std_logic;  -- initialized in light pulser interface
     355  signal config_ready_lp_sig   : std_logic;  -- initialized in light pulser interface
     356 
    353357  signal config_trigger_sig : std_logic;
    354358  signal config_trigger_done_sig : std_logic;
     
    412416  signal crate_res3_sig : std_logic;  -- initialized in FTM_central_control
    413417
     418  signal LP1_pulse_sig : std_logic := '0';
     419  signal LP2_pulse_sig : std_logic := '0';
     420 
    414421--  component FTM_clk_gen
    415422--    port(
     
    557564      config_started_cc    : in  std_logic;
    558565      config_ready_cc      : in  std_logic;
     566      config_start_lp      : out std_logic := '0';
     567      config_started_lp    : in  std_logic;
     568      config_ready_lp      : in  std_logic;
    559569      config_trigger       : out std_logic;
    560570      config_trigger_done  : in  std_logic;
     
    785795  end component;
    786796
     797  component Lightpulser_interface_Basic is
     798    port(
     799      clk_50    : IN  STD_LOGIC;
     800      --clk_250   : IN  STD_LOGIC;
     801      Cal_0_p   : out STD_LOGIC := '0';
     802      Cal_0_n   : out STD_LOGIC := '1';
     803      Cal_1_p   : out STD_LOGIC := '0';
     804      Cal_1_n   : out STD_LOGIC := '1';
     805      Cal_2_p   : out STD_LOGIC := '0';
     806      Cal_2_n   : out STD_LOGIC := '1';
     807      Cal_3_p   : out STD_LOGIC := '0';
     808      Cal_3_n   : out STD_LOGIC := '1';
     809      Cal_4_p    : out STD_LOGIC := '0';
     810      Cal_4_n    : out STD_LOGIC := '1';
     811      Cal_5_p    : out STD_LOGIC := '0';
     812      Cal_5_n    : out STD_LOGIC := '1';
     813      Cal_6_p    : out STD_LOGIC := '0';
     814      Cal_6_n    : out STD_LOGIC := '1';
     815      Cal_7_p    : out STD_LOGIC := '0';
     816      Cal_7_n    : out STD_LOGIC := '1'; 
     817      LP1_ampl       : in std_logic_vector (15 downto 0);
     818      LP2_ampl       : in std_logic_vector (15 downto 0);
     819      --LP1_delay      : in std_logic_vector (15 downto 0);
     820      --LP2_delay      : in std_logic_vector (15 downto 0);
     821      LP1_pulse      : in std_logic;
     822      LP2_pulse      : in std_logic;
     823      start_config   : in std_logic;
     824      config_started : out std_logic := '0';
     825      config_done    : out std_logic := '0'
     826    );
     827  end component;
    787828 
    788829begin
     
    832873    );
    833874 
    834    --differential output buffer for trigger signal
    835    OBUFDS_LVDS_33_TRG : OBUFDS_LVDS_33
    836      port map(
    837        O  => TRG_p,
    838        OB => TRG_n,
    839        I  => trigger_signal_sig
    840      );
    841 
    842    --differential output buffer for trigger signal
    843    OBUFDS_LVDS_33_TIM : OBUFDS_LVDS_33
    844      port map(
    845        O  => TIM_Run_p,
    846        OB => TIM_Run_n,
    847        I  => TIM_signal_sig
    848      );
    849    
     875  --differential output buffer for trigger signal
     876  OBUFDS_LVDS_33_TRG : OBUFDS_LVDS_33
     877    port map(
     878      O  => TRG_p,
     879      OB => TRG_n,
     880      I  => trigger_signal_sig
     881    );
     882
     883  --differential output buffer for TIM signal
     884  OBUFDS_LVDS_33_TIM : OBUFDS_LVDS_33
     885    port map(
     886      O  => TIM_Run_p,
     887      OB => TIM_Run_n,
     888      I  => TIM_signal_sig
     889    );
     890
     891  --differential output buffer for fast reset signal
     892  OBUFDS_LVDS_33_RES : OBUFDS_LVDS_33
     893    port map(
     894      O  => RES_p,
     895      OB => RES_n,
     896      I  => '0'
     897    );
     898 
    850899   Inst_trigger_manager : trigger_manager
    851900     port map(
     
    895944      trigger_active      => trigger_active_sig,  --phys triggers are enabled/active
    896945      config_done         => config_trigger_done_sig,
    897       LP1_pulse           => open,  --send start signal to light pulser 1
    898       LP2_pulse           => open,  --send start signal to light pulser 2
     946      LP1_pulse           => LP1_pulse_sig,  --send start signal to light pulser 1
     947      LP2_pulse           => LP2_pulse_sig,  --send start signal to light pulser 2
    899948      --trigger and time marker output signals to FADs
    900949      trigger_signal      => trigger_signal_sig,
     
    9581007      config_started_cc    => config_started_cc_sig,
    9591008      config_ready_cc      => config_ready_cc_sig,
     1009      config_start_lp      => config_start_lp_sig,
     1010      config_started_lp    => config_started_lp_sig,
     1011      config_ready_lp      => config_ready_lp_sig,
    9601012      config_trigger       => config_trigger_sig,
    9611013      config_trigger_done  => config_trigger_done_sig,
     
    11991251      counter_reading     => on_time_counter_sig
    12001252    );
     1253
     1254  Inst_Lightpulser_interface_Basic : Lightpulser_interface_Basic
     1255    port map (
     1256      clk_50         => clk_50M_sig,
     1257      --clk_250        => clk_250M_sig,
     1258      Cal_0_p        => Cal_0_p,
     1259      Cal_0_n        => Cal_0_n,
     1260      Cal_1_p        => Cal_1_p,
     1261      Cal_1_n        => Cal_1_n,
     1262      Cal_2_p        => Cal_2_p,
     1263      Cal_2_n        => Cal_2_n,
     1264      Cal_3_p        => Cal_3_p,
     1265      Cal_3_n        => Cal_3_n,
     1266      Cal_4_p        => Cal_4_p,
     1267      Cal_4_n        => Cal_4_n,
     1268      Cal_5_p        => Cal_5_p,
     1269      Cal_5_n        => Cal_5_n,
     1270      Cal_6_p        => Cal_6_p,
     1271      Cal_6_n        => Cal_6_n,
     1272      Cal_7_p        => Cal_7_p,
     1273      Cal_7_n        => Cal_7_n,
     1274      LP1_ampl       => lp1_amplitude_sig,
     1275      LP2_ampl       => lp2_amplitude_sig,
     1276      --LP1_delay      => lp1_delay_sig,
     1277      --LP2_delay      => lp2_delay_sig,
     1278      LP1_pulse      => LP1_pulse_sig,
     1279      LP2_pulse      => LP2_pulse_sig,
     1280      start_config   => config_start_lp_sig,
     1281      config_started => config_started_lp_sig,
     1282      config_done    => config_ready_lp_sig
     1283    );
    12011284 
    12021285  LED_red <= led_sig(3 downto 0);
Note: See TracChangeset for help on using the changeset viewer.