Ignore:
Timestamp:
01/27/11 08:32:16 (13 years ago)
Author:
neise
Message:
synchronous trigger handling added
continous soft trigger generation.
---> control frequency via 'send 0x21??'
each step increases trigger delay by 12.5ms
0x2100 = 40Hz
0x21FF = 0.3Hz
File:
1 edited

Legend:

Unmodified
Added
Removed
  • firmware/FAD/FACT_FAD_20MHz_VAR_PS/FACT_FAD_lib/hdl/fad_board_struct.vhd

    r10081 r10121  
    33-- Created:
    44--          by - dneise.UNKNOWN (E5B-LABOR6)
    5 --          at - 17:46:34 05.01.2011
     5--          at - 16:46:19 26.01.2011
    66--
    77-- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10)
     
    1313ENTITY FAD_Board IS
    1414   PORT(
    15       A0_D       : IN     std_logic_vector (11 DOWNTO 0);
    16       A1_D       : IN     std_logic_vector (11 DOWNTO 0);
    17       A2_D       : IN     std_logic_vector (11 DOWNTO 0);
    18       A3_D       : IN     std_logic_vector (11 DOWNTO 0);
    19       A_OTR      : IN     std_logic_vector (3 DOWNTO 0);
    20       D0_SROUT   : IN     std_logic;
    21       D1_SROUT   : IN     std_logic;
    22       D2_SROUT   : IN     std_logic;
    23       D3_SROUT   : IN     std_logic;
    24       D_PLLLCK   : IN     std_logic_vector (3 DOWNTO 0);
    25       RS485_C_DI : IN     std_logic;
    26       RS485_E_DI : IN     std_logic;
    27       RS485_E_DO : IN     std_logic;
    28       TRG        : IN     STD_LOGIC;
    29       W_INT      : IN     std_logic;
    30       X_50M      : IN     STD_LOGIC;
    31       A0_T       : OUT    std_logic_vector (7 DOWNTO 0) := (others => '0');
    32       A1_T       : OUT    std_logic_vector (7 DOWNTO 0) := (OTHERS => '0');
    33       AMBER_LED  : OUT    std_logic;
    34       A_CLK      : OUT    std_logic_vector (3 DOWNTO 0);
    35       D0_SRCLK   : OUT    STD_LOGIC;
    36       D1_SRCLK   : OUT    STD_LOGIC;
    37       D2_SRCLK   : OUT    STD_LOGIC;
    38       D3_SRCLK   : OUT    STD_LOGIC;
    39       DAC_CS     : OUT    std_logic;
    40       DENABLE    : OUT    std_logic                     := '0';
    41       DWRITE     : OUT    std_logic                     := '0';
    42       D_A        : OUT    std_logic_vector (3 DOWNTO 0) := (others => '0');
    43       D_T        : OUT    std_logic_vector (7 DOWNTO 0) := (OTHERS => '0');
    44       D_T2       : OUT    std_logic_vector (3 DOWNTO 0) := (others => '0');
    45       EE_CS      : OUT    std_logic;
    46       GREEN_LED  : OUT    std_logic;
    47       MOSI       : OUT    std_logic                     := '0';
    48       OE_ADC     : OUT    STD_LOGIC;
    49       RED_LED    : OUT    std_logic;
    50       RS485_C_DE : OUT    std_logic;
    51       RS485_C_DO : OUT    std_logic;
    52       RS485_C_RE : OUT    std_logic;
    53       RS485_E_DE : OUT    std_logic;
    54       RS485_E_RE : OUT    std_logic;
    55       RSRLOAD    : OUT    std_logic                     := '0';
    56       SRIN       : OUT    std_logic                     := '0';
    57       S_CLK      : OUT    std_logic;
    58       T0_CS      : OUT    std_logic;
    59       T1_CS      : OUT    std_logic;
    60       T2_CS      : OUT    std_logic;
    61       T3_CS      : OUT    std_logic;
    62       TRG_V      : OUT    std_logic;
    63       W_A        : OUT    std_logic_vector (9 DOWNTO 0);
    64       W_CS       : OUT    std_logic                     := '1';
    65       W_RD       : OUT    std_logic                     := '1';
    66       W_RES      : OUT    std_logic                     := '1';
    67       W_WR       : OUT    std_logic                     := '1';
    68       MISO       : INOUT  std_logic;
    69       W_D        : INOUT  std_logic_vector (15 DOWNTO 0)
     15      A0_D        : IN     std_logic_vector (11 DOWNTO 0);
     16      A1_D        : IN     std_logic_vector (11 DOWNTO 0);
     17      A2_D        : IN     std_logic_vector (11 DOWNTO 0);
     18      A3_D        : IN     std_logic_vector (11 DOWNTO 0);
     19      A_OTR       : IN     std_logic_vector (3 DOWNTO 0);
     20      D0_SROUT    : IN     std_logic;
     21      D1_SROUT    : IN     std_logic;
     22      D2_SROUT    : IN     std_logic;
     23      D3_SROUT    : IN     std_logic;
     24      D_PLLLCK    : IN     std_logic_vector (3 DOWNTO 0);
     25      POSITION_ID : IN     std_logic_vector ( 5 DOWNTO 0 );
     26      REFCLK      : IN     std_logic;
     27      RS485_C_DI  : IN     std_logic;
     28      RS485_E_DI  : IN     std_logic;
     29      RS485_E_DO  : IN     std_logic;
     30      TRG         : IN     STD_LOGIC;
     31      W_INT       : IN     std_logic;
     32      X_50M       : IN     STD_LOGIC;
     33      A0_T        : OUT    std_logic_vector (7 DOWNTO 0) := (others => '0');
     34      A1_T        : OUT    std_logic_vector (7 DOWNTO 0) := (OTHERS => '0');
     35      AMBER_LED   : OUT    std_logic;
     36      A_CLK       : OUT    std_logic_vector (3 DOWNTO 0);
     37      D0_SRCLK    : OUT    STD_LOGIC;
     38      D1_SRCLK    : OUT    STD_LOGIC;
     39      D2_SRCLK    : OUT    STD_LOGIC;
     40      D3_SRCLK    : OUT    STD_LOGIC;
     41      DAC_CS      : OUT    std_logic;
     42      DENABLE     : OUT    std_logic                     := '0';
     43      DWRITE      : OUT    std_logic                     := '0';
     44      D_A         : OUT    std_logic_vector (3 DOWNTO 0) := (others => '0');
     45      D_T         : OUT    std_logic_vector (7 DOWNTO 0) := (OTHERS => '0');
     46      D_T2        : OUT    std_logic_vector (3 DOWNTO 0) := (others => '0');
     47      EE_CS       : OUT    std_logic;
     48      GREEN_LED   : OUT    std_logic;
     49      MOSI        : OUT    std_logic                     := '0';
     50      OE_ADC      : OUT    STD_LOGIC;
     51      RED_LED     : OUT    std_logic;
     52      RS485_C_DE  : OUT    std_logic;
     53      RS485_C_DO  : OUT    std_logic;
     54      RS485_C_RE  : OUT    std_logic;
     55      RS485_E_DE  : OUT    std_logic;
     56      RS485_E_RE  : OUT    std_logic;
     57      RSRLOAD     : OUT    std_logic                     := '0';
     58      SRIN        : OUT    std_logic                     := '0';
     59      S_CLK       : OUT    std_logic;
     60      T0_CS       : OUT    std_logic;
     61      T1_CS       : OUT    std_logic;
     62      T2_CS       : OUT    std_logic;
     63      T3_CS       : OUT    std_logic;
     64      TRG_V       : OUT    std_logic;
     65      W_A         : OUT    std_logic_vector (9 DOWNTO 0);
     66      W_CS        : OUT    std_logic                     := '1';
     67      W_RD        : OUT    std_logic                     := '1';
     68      W_RES       : OUT    std_logic                     := '1';
     69      W_WR        : OUT    std_logic                     := '1';
     70      MISO        : INOUT  std_logic;
     71      W_D         : INOUT  std_logic_vector (15 DOWNTO 0)
    7072   );
    7173
     
    7981-- Created:
    8082--          by - dneise.UNKNOWN (E5B-LABOR6)
    81 --          at - 17:46:35 05.01.2011
     83--          at - 16:46:20 26.01.2011
    8284--
    8385-- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10)
     
    109111   SIGNAL PSCLK_OUT       : std_logic;
    110112   SIGNAL PSDONE_extraOUT : std_logic;
    111    SIGNAL PSEN_OUT        : std_logic;
    112113   SIGNAL PSINCDEC_OUT    : std_logic;
    113114   SIGNAL PS_DIR_IN       : std_logic;
    114    SIGNAL PS_DO_IN        : std_logic;
    115115   SIGNAL SRCLK           : std_logic                    := '0';
    116116   SIGNAL adc_clk_en      : std_logic                    := '0';
     
    135135   );
    136136   PORT (
    137       CLK             : IN     std_logic ;
    138       SROUT_in_0      : IN     std_logic ;
    139       SROUT_in_1      : IN     std_logic ;
    140       SROUT_in_2      : IN     std_logic ;
    141       SROUT_in_3      : IN     std_logic ;
    142       adc_data_array  : IN     adc_data_array_type ;
    143       adc_otr_array   : IN     std_logic_vector (3 DOWNTO 0);
    144       board_id        : IN     std_logic_vector (3 DOWNTO 0);
    145       crate_id        : IN     std_logic_vector (1 DOWNTO 0);
    146       trigger         : IN     std_logic ;
    147       wiz_int         : IN     std_logic ;
    148       CLK25_OUT       : OUT    std_logic ;
    149       CLK25_PSOUT     : OUT    std_logic ;
    150       CLK50_OUT       : OUT    std_logic ;
    151       CLK_25_PS       : OUT    std_logic ;
    152       CLK_50          : OUT    std_logic ;
    153       DCM_locked      : OUT    std_logic ;
    154       LOCKED_extraOUT : OUT    std_logic ;
    155       PSCLK_OUT       : OUT    std_logic ;
    156       PSDONE_extraOUT : OUT    std_logic ;
    157       PSEN_OUT        : OUT    std_logic ;
    158       PSINCDEC_OUT    : OUT    std_logic ;
    159       PS_DIR_IN       : OUT    std_logic ;
    160       PS_DO_IN        : OUT    std_logic ;
    161       RSRLOAD         : OUT    std_logic                     := '0';
    162       SRCLK           : OUT    std_logic                     := '0';
    163       SRIN_out        : OUT    std_logic                     := '0';
    164       adc_clk_en      : OUT    std_logic                     := '0';
    165       adc_oeb         : OUT    std_logic                     := '1';
    166       amber           : OUT    std_logic ;
    167       dac_cs          : OUT    std_logic ;
    168       denable         : OUT    std_logic                     := '0';           -- default domino wave off
    169       drs_channel_id  : OUT    std_logic_vector (3 DOWNTO 0) := (others => '0');
    170       drs_dwrite      : OUT    std_logic                     := '1';
    171       green           : OUT    std_logic ;
    172       led             : OUT    std_logic_vector (7 DOWNTO 0) := (OTHERS => '0');
    173       mosi            : OUT    std_logic                     := '0';
    174       offset          : OUT    std_logic_vector (7 DOWNTO 0) := (OTHERS => '0');
    175       ready           : OUT    std_logic                     := '0';
    176       red             : OUT    std_logic ;
    177       sclk            : OUT    std_logic ;
    178       sensor_cs       : OUT    std_logic_vector (3 DOWNTO 0);
     137      CLK                    : IN     std_logic ;
     138      SROUT_in_0             : IN     std_logic ;
     139      SROUT_in_1             : IN     std_logic ;
     140      SROUT_in_2             : IN     std_logic ;
     141      SROUT_in_3             : IN     std_logic ;
     142      adc_data_array         : IN     adc_data_array_type ;
     143      adc_otr_array          : IN     std_logic_vector (3 DOWNTO 0);
     144      board_id               : IN     std_logic_vector (3 DOWNTO 0);
     145      crate_id               : IN     std_logic_vector (1 DOWNTO 0);
     146      trigger                : IN     std_logic ;
     147      wiz_int                : IN     std_logic ;
     148      CLK25_OUT              : OUT    std_logic ;
     149      CLK25_PSOUT            : OUT    std_logic ;
     150      CLK50_OUT              : OUT    std_logic ;
     151      CLK_25_PS              : OUT    std_logic ;
     152      CLK_50                 : OUT    std_logic ;
     153      DCM_locked             : OUT    std_logic ;
     154      LOCKED_extraOUT        : OUT    std_logic ;
     155      PSCLK_OUT              : OUT    std_logic ;
     156      PSDONE_extraOUT        : OUT    std_logic ;
     157      PSINCDEC_OUT           : OUT    std_logic ;
     158      PS_DIR_IN              : OUT    std_logic ;
     159      RSRLOAD                : OUT    std_logic                     := '0';
     160      SRCLK                  : OUT    std_logic                     := '0';
     161      SRIN_out               : OUT    std_logic                     := '0';
     162      adc_clk_en             : OUT    std_logic                     := '0';
     163      adc_oeb                : OUT    std_logic                     := '1';
     164      additional_flasher_out : OUT    std_logic ;
     165      amber                  : OUT    std_logic ;
     166      dac_cs                 : OUT    std_logic ;
     167      denable                : OUT    std_logic                     := '0';           -- default domino wave off
     168      drs_channel_id         : OUT    std_logic_vector (3 DOWNTO 0) := (others => '0');
     169      drs_dwrite             : OUT    std_logic                     := '1';
     170      green                  : OUT    std_logic ;
     171      led                    : OUT    std_logic_vector (7 DOWNTO 0) := (OTHERS => '0');
     172      mosi                   : OUT    std_logic                     := '0';
     173      offset                 : OUT    std_logic_vector (7 DOWNTO 0) := (OTHERS => '0');
     174      ready                  : OUT    std_logic                     := '0';
     175      red                    : OUT    std_logic ;
     176      sclk                   : OUT    std_logic ;
     177      sensor_cs              : OUT    std_logic_vector (3 DOWNTO 0);
    179178      -- status:
    180       shifting        : OUT    std_logic                     := '0';
    181       wiz_addr        : OUT    std_logic_vector (9 DOWNTO 0);
    182       wiz_cs          : OUT    std_logic                     := '1';
    183       wiz_rd          : OUT    std_logic                     := '1';
    184       wiz_reset       : OUT    std_logic                     := '1';
    185       wiz_wr          : OUT    std_logic                     := '1';
    186       sio             : INOUT  std_logic ;
    187       wiz_data        : INOUT  std_logic_vector (15 DOWNTO 0)
     179      shifting               : OUT    std_logic                     := '0';
     180      wiz_addr               : OUT    std_logic_vector (9 DOWNTO 0);
     181      wiz_cs                 : OUT    std_logic                     := '1';
     182      wiz_rd                 : OUT    std_logic                     := '1';
     183      wiz_reset              : OUT    std_logic                     := '1';
     184      wiz_wr                 : OUT    std_logic                     := '1';
     185      sio                    : INOUT  std_logic ;
     186      wiz_data               : INOUT  std_logic_vector (15 DOWNTO 0)
    188187   );
    189188   END COMPONENT;
     
    232231   -- HDL Embedded Text Block 6 MISC
    233232   -- MISC 6     
    234    TRG_V <= '0';
     233   
    235234   RS485_C_RE <= '0';
    236235   RS485_C_DE <= '0';   
    237236   RS485_C_DO <= RS485_C_DI;
    238237   
    239    RS485_E_RE <= '0';     
    240    RS485_E_DE <= '0';
    241    --RS485_E_DO <= RS485_E_DI;
     238   
    242239   
    243240   -- DENABLE <= '0'; -- domino wave stopped
     
    246243   
    247244   EE_CS <= '1';
    248 
    249    -- HDL Embedded Text Block 7 eb1
    250    D_T2 <= D_PLLLCK;
    251245
    252246   -- HDL Embedded Text Block 8 eb2
     
    256250   -- HDL Embedded Text Block 9 eb3
    257251   -- eb3 9                         
    258    A0_T(0) <= ready;
    259    A0_T(1) <= shifting;
    260    A0_T(2) <= CLK25_PSOUT;
    261    A0_T(3) <= PS_DIR_IN;
    262    A0_T(4) <= PS_DO_IN;
    263    A0_T(5) <= PSINCDEC_OUT;
    264    A0_T(6) <= PSEN_OUT;
    265    A0_T(7) <= DCM_locked;
     252   --A0_T(0) <= ready;
     253   --A0_T(1) <= shifting;
     254   --A0_T(2) <= CLK25_PSOUT;
     255   --A0_T(3) <= PS_DIR_IN;
     256   --A0_T(4) <= PS_DO_IN;
     257   --A0_T(5) <= PSINCDEC_OUT;
     258   
     259   
    266260   
    267261   A1_T(0) <= SRIN_internal;
     
    274268   A1_T(6) <= drs_channel_id(2);
    275269   A1_T(7) <= drs_channel_id(3);
     270   
     271   A0_T(5 downto 0) <= POSITION_ID;
     272   A0_T(6) <= REFCLK;
     273   A0_T(7) <= RS485_E_DI;
     274   RS485_E_RE <= '0';
     275   RS485_E_DE <= '0';
     276   
     277   D_T2 <= D_PLLLCK;
    276278
    277279
     
    288290      )
    289291      PORT MAP (
    290          CLK             => X_50M,
    291          SROUT_in_0      => D0_SROUT,
    292          SROUT_in_1      => D1_SROUT,
    293          SROUT_in_2      => D2_SROUT,
    294          SROUT_in_3      => D3_SROUT,
    295          adc_data_array  => adc_data_array,
    296          adc_otr_array   => A_OTR,
    297          board_id        => board_id,
    298          crate_id        => crate_id,
    299          trigger         => TRG,
    300          wiz_int         => W_INT,
    301          CLK25_OUT       => CLK25_OUT,
    302          CLK25_PSOUT     => CLK25_PSOUT,
    303          CLK50_OUT       => CLK50_OUT,
    304          CLK_25_PS       => CLK_25_PS1,
    305          CLK_50          => CLK_50,
    306          DCM_locked      => DCM_locked,
    307          LOCKED_extraOUT => LOCKED_extraOUT,
    308          PSCLK_OUT       => PSCLK_OUT,
    309          PSDONE_extraOUT => PSDONE_extraOUT,
    310          PSEN_OUT        => PSEN_OUT,
    311          PSINCDEC_OUT    => PSINCDEC_OUT,
    312          PS_DIR_IN       => PS_DIR_IN,
    313          PS_DO_IN        => PS_DO_IN,
    314          RSRLOAD         => RSRLOAD,
    315          SRCLK           => SRCLK,
    316          SRIN_out        => SRIN_internal,
    317          adc_clk_en      => adc_clk_en,
    318          adc_oeb         => OE_ADC,
    319          amber           => AMBER_LED,
    320          dac_cs          => dummy,
    321          denable         => DENABLE,
    322          drs_channel_id  => drs_channel_id,
    323          drs_dwrite      => DWRITE,
    324          green           => RED_LED,
    325          led             => D_T,
    326          mosi            => MOSI,
    327          offset          => OPEN,
    328          ready           => ready,
    329          red             => GREEN_LED,
    330          sclk            => S_CLK,
    331          sensor_cs       => sensor_cs,
    332          shifting        => shifting,
    333          wiz_addr        => W_A,
    334          wiz_cs          => W_CS,
    335          wiz_rd          => W_RD,
    336          wiz_reset       => W_RES,
    337          wiz_wr          => W_WR,
    338          sio             => MISO,
    339          wiz_data        => W_D
     292         CLK                    => X_50M,
     293         SROUT_in_0             => D0_SROUT,
     294         SROUT_in_1             => D1_SROUT,
     295         SROUT_in_2             => D2_SROUT,
     296         SROUT_in_3             => D3_SROUT,
     297         adc_data_array         => adc_data_array,
     298         adc_otr_array          => A_OTR,
     299         board_id               => board_id,
     300         crate_id               => crate_id,
     301         trigger                => TRG,
     302         wiz_int                => W_INT,
     303         CLK25_OUT              => CLK25_OUT,
     304         CLK25_PSOUT            => CLK25_PSOUT,
     305         CLK50_OUT              => CLK50_OUT,
     306         CLK_25_PS              => CLK_25_PS1,
     307         CLK_50                 => CLK_50,
     308         DCM_locked             => DCM_locked,
     309         LOCKED_extraOUT        => LOCKED_extraOUT,
     310         PSCLK_OUT              => PSCLK_OUT,
     311         PSDONE_extraOUT        => PSDONE_extraOUT,
     312         PSINCDEC_OUT           => PSINCDEC_OUT,
     313         PS_DIR_IN              => PS_DIR_IN,
     314         RSRLOAD                => RSRLOAD,
     315         SRCLK                  => SRCLK,
     316         SRIN_out               => SRIN_internal,
     317         adc_clk_en             => adc_clk_en,
     318         adc_oeb                => OE_ADC,
     319         additional_flasher_out => TRG_V,
     320         amber                  => AMBER_LED,
     321         dac_cs                 => dummy,
     322         denable                => DENABLE,
     323         drs_channel_id         => drs_channel_id,
     324         drs_dwrite             => DWRITE,
     325         green                  => RED_LED,
     326         led                    => D_T,
     327         mosi                   => MOSI,
     328         offset                 => OPEN,
     329         ready                  => ready,
     330         red                    => GREEN_LED,
     331         sclk                   => S_CLK,
     332         sensor_cs              => sensor_cs,
     333         shifting               => shifting,
     334         wiz_addr               => W_A,
     335         wiz_cs                 => W_CS,
     336         wiz_rd                 => W_RD,
     337         wiz_reset              => W_RES,
     338         wiz_wr                 => W_WR,
     339         sio                    => MISO,
     340         wiz_data               => W_D
    340341      );
    341342
Note: See TracChangeset for help on using the changeset viewer.