Ignore:
Timestamp:
04/13/11 15:02:49 (14 years ago)
Author:
weitzel
Message:
FTM trigger manager from MCSE added; DCM arrangement changed; changes in FTM ethernet module
File:
1 edited

Legend:

Unmodified
Added
Removed
  • firmware/FTM/ethernet/ethernet_modul_beha.vhd

    r10256 r10366  
    22--
    33-- Created:
    4 --          by - kai.UNKNOWN (E5PCXX)
    5 --          at - 11:52:19 03.03.2011
     4--          by - kai.users (tpkw.local.priv)
     5--          at - 10:39:41 04/13/11
    66--
    77-- Generated by Mentor Graphics' HDL Designer(TM) 2009.1 (Build 12)
    88--
    9 
    109LIBRARY ieee;
    1110USE ieee.std_logic_1164.all;
     
    1615USE ftm_definitions.ftm_constants.all;
    1716
     17
    1818ENTITY ethernet_modul IS
    19   PORT(
    20     wiz_reset              : OUT    std_logic                      := '1';
    21     wiz_addr               : OUT    std_logic_vector (9 DOWNTO 0);
    22     wiz_data               : INOUT  std_logic_vector (15 DOWNTO 0);
    23     wiz_cs                 : OUT    std_logic                      := '1';
    24     wiz_wr                 : OUT    std_logic                      := '1';
    25     wiz_rd                 : OUT    std_logic                      := '1';
    26     wiz_int                : IN     std_logic;
    27     clk                    : IN     std_logic;
    28     sd_ready               : OUT    std_logic;
    29     sd_busy                : OUT    std_logic;
    30     led                    : OUT    std_logic_vector (7 DOWNTO 0);
    31     sd_read_ftu            : IN     std_logic;
    32     sd_started_ftu         : OUT    std_logic                      := '0';
    33     cc_R0                  : OUT    std_logic_vector (31 DOWNTO 0);
    34     cc_R1                  : OUT    std_logic_vector (31 DOWNTO 0);
    35     cc_R11                 : OUT    std_logic_vector (31 DOWNTO 0);
    36     cc_R13                 : OUT    std_logic_vector (31 DOWNTO 0);
    37     cc_R14                 : OUT    std_logic_vector (31 DOWNTO 0);
    38     cc_R15                 : OUT    std_logic_vector (31 DOWNTO 0);
    39     cc_R8                  : OUT    std_logic_vector (31 DOWNTO 0);
    40     cc_R9                  : OUT    std_logic_vector (31 DOWNTO 0);
    41     coin_n_c               : OUT    std_logic_vector (15 DOWNTO 0);
    42     coin_n_p               : OUT    std_logic_vector (15 DOWNTO 0);
    43     dead_time              : OUT    std_logic_vector (15 DOWNTO 0);
    44     -- data from config ram
    45     general_settings       : OUT    std_logic_vector (15 DOWNTO 0);
    46     lp1_amplitude          : OUT    std_logic_vector (15 DOWNTO 0);
    47     lp1_delay              : OUT    std_logic_vector (15 DOWNTO 0);
    48     lp2_amplitude          : OUT    std_logic_vector (15 DOWNTO 0);
    49     lp2_delay              : OUT    std_logic_vector (15 DOWNTO 0);
    50     lp_pt_freq             : OUT    std_logic_vector (15 DOWNTO 0);
    51     lp_pt_ratio            : OUT    std_logic_vector (15 DOWNTO 0);
    52     timemarker_delay       : OUT    std_logic_vector (15 DOWNTO 0);
    53     trigger_delay          : OUT    std_logic_vector (15 DOWNTO 0);
    54     sd_addr_ftu            : IN     std_logic_vector (11 DOWNTO 0);
    55     sd_data_out_ftu        : OUT    std_logic_vector (15 DOWNTO 0) := (others => '0');
    56     ftu_active_cr0         : OUT    std_logic_vector (15 DOWNTO 0);
    57     ftu_active_cr1         : OUT    std_logic_vector (15 DOWNTO 0);
    58     ftu_active_cr2         : OUT    std_logic_vector (15 DOWNTO 0);
    59     ftu_active_cr3         : OUT    std_logic_vector (15 DOWNTO 0);
    60     new_config             : OUT    std_logic                      := '0';
    61     config_started         : IN     std_logic;
    62     config_start_eth       : IN     std_logic;
    63     config_started_eth     : OUT    std_logic                      := '0';
    64     config_ready_eth       : OUT    std_logic                      := '0';
    65     config_started_ack     : OUT    std_logic                      := '0';
    66     fl_busy                : OUT    std_logic;
    67     fl_ready               : OUT    std_logic;
    68     fl_write_ftu           : IN     std_logic;
    69     fl_started_ftu         : OUT    std_logic                      := '0';
    70     fl_addr_ftu            : IN     std_logic_vector (11 DOWNTO 0);
    71     fl_data_in_ftu         : IN     std_logic_vector (15 DOWNTO 0) := (others => '0');
    72     --
    73     ping_ftu_start         : OUT    std_logic                      := '0';
    74     ping_ftu_started       : IN     std_logic;
    75     ping_ftu_ready         : IN     std_logic;
    76     dd_write_ftu           : IN     std_logic;
    77     dd_started_ftu         : OUT    std_logic                      := '0';
    78     dd_data_in_ftu         : IN     std_logic_vector (15 DOWNTO 0);
    79     dd_addr_ftu            : IN     std_logic_vector (11 DOWNTO 0);
    80     dd_busy                : OUT    std_logic;
    81     dd_ready               : OUT    std_logic;
    82     coin_win_c             : OUT    std_logic_vector (15 DOWNTO 0) := (others => '0');
    83     coin_win_p             : OUT    std_logic_vector (15 DOWNTO 0) := (others => '0');
    84     dd_block_ready_ftu     : IN     std_logic;
    85     dd_block_start_ack_ftu : OUT    std_logic                      := '0';
    86     dd_block_start_ftu     : IN     std_logic;
    87     dd_send                : IN     std_logic;
    88     dd_send_ack            : OUT    std_logic                      := '1';
    89     dd_send_ready          : OUT    std_logic                      := '1'
    90   );
     19   PORT(
     20      wiz_reset              : OUT    std_logic                      := '1';
     21      wiz_addr               : OUT    std_logic_vector (9 DOWNTO 0);
     22      wiz_data               : INOUT  std_logic_vector (15 DOWNTO 0);
     23      wiz_cs                 : OUT    std_logic                      := '1';
     24      wiz_wr                 : OUT    std_logic                      := '1';
     25      wiz_rd                 : OUT    std_logic                      := '1';
     26      wiz_int                : IN     std_logic;
     27      clk                    : IN     std_logic;
     28      sd_ready               : OUT    std_logic;
     29      sd_busy                : OUT    std_logic;
     30      led                    : OUT    std_logic_vector (7 DOWNTO 0);
     31      sd_read_ftu            : IN     std_logic;
     32      sd_started_ftu         : OUT    std_logic                      := '0';
     33      cc_R0                  : OUT    std_logic_vector (31 DOWNTO 0);
     34      cc_R1                  : OUT    std_logic_vector (31 DOWNTO 0);
     35      cc_R11                 : OUT    std_logic_vector (31 DOWNTO 0);
     36      cc_R13                 : OUT    std_logic_vector (31 DOWNTO 0);
     37      cc_R14                 : OUT    std_logic_vector (31 DOWNTO 0);
     38      cc_R15                 : OUT    std_logic_vector (31 DOWNTO 0);
     39      cc_R8                  : OUT    std_logic_vector (31 DOWNTO 0);
     40      cc_R9                  : OUT    std_logic_vector (31 DOWNTO 0);
     41      coin_n_c               : OUT    std_logic_vector (15 DOWNTO 0);
     42      coin_n_p               : OUT    std_logic_vector (15 DOWNTO 0);
     43      dead_time              : OUT    std_logic_vector (15 DOWNTO 0);
     44      -- data from config ram
     45      general_settings       : OUT    std_logic_vector (15 DOWNTO 0);
     46      lp1_amplitude          : OUT    std_logic_vector (15 DOWNTO 0);
     47      lp1_delay              : OUT    std_logic_vector (15 DOWNTO 0);
     48      lp2_amplitude          : OUT    std_logic_vector (15 DOWNTO 0);
     49      lp2_delay              : OUT    std_logic_vector (15 DOWNTO 0);
     50      lp_pt_freq             : OUT    std_logic_vector (15 DOWNTO 0);
     51      lp_pt_ratio            : OUT    std_logic_vector (15 DOWNTO 0);
     52      timemarker_delay       : OUT    std_logic_vector (15 DOWNTO 0);
     53      trigger_delay          : OUT    std_logic_vector (15 DOWNTO 0);
     54      sd_addr_ftu            : IN     std_logic_vector (11 DOWNTO 0);
     55      sd_data_out_ftu        : OUT    std_logic_vector (15 DOWNTO 0) := (others => '0');
     56      ftu_active_cr0         : OUT    std_logic_vector (15 DOWNTO 0);
     57      ftu_active_cr1         : OUT    std_logic_vector (15 DOWNTO 0);
     58      ftu_active_cr2         : OUT    std_logic_vector (15 DOWNTO 0);
     59      ftu_active_cr3         : OUT    std_logic_vector (15 DOWNTO 0);
     60      new_config             : OUT    std_logic                      := '0';
     61      config_started         : IN     std_logic;
     62      config_start_eth       : IN     std_logic;
     63      config_started_eth     : OUT    std_logic                      := '0';
     64      config_ready_eth       : OUT    std_logic                      := '0';
     65      config_started_ack     : OUT    std_logic                      := '0';
     66      fl_busy                : OUT    std_logic;
     67      fl_ready               : OUT    std_logic;
     68      fl_write_ftu           : IN     std_logic;
     69      fl_started_ftu         : OUT    std_logic                      := '0';
     70      fl_addr_ftu            : IN     std_logic_vector (11 DOWNTO 0);
     71      fl_data_in_ftu         : IN     std_logic_vector (15 DOWNTO 0) := (others => '0');
     72      ping_ftu_start         : OUT    std_logic                      := '0';
     73      ping_ftu_started       : IN     std_logic;
     74      ping_ftu_ready         : IN     std_logic;
     75      dd_write_ftu           : IN     std_logic;
     76      dd_started_ftu         : OUT    std_logic                      := '0';
     77      dd_data_in_ftu         : IN     std_logic_vector (15 DOWNTO 0);
     78      dd_addr_ftu            : IN     std_logic_vector (11 DOWNTO 0);
     79      dd_busy                : OUT    std_logic;
     80      dd_ready               : OUT    std_logic;
     81      coin_win_c             : OUT    std_logic_vector (15 DOWNTO 0) := (others => '0');
     82      coin_win_p             : OUT    std_logic_vector (15 DOWNTO 0) := (others => '0');
     83      dd_block_ready_ftu     : IN     std_logic;
     84      dd_block_start_ack_ftu : OUT    std_logic                      := '0';
     85      dd_block_start_ftu     : IN     std_logic;
     86      dd_send                : IN     std_logic;
     87      dd_send_ack            : OUT    std_logic                      := '1';
     88      dd_send_ready          : OUT    std_logic                      := '1';
     89      ftu_error_calls        : IN     std_logic_vector (15 DOWNTO 0);
     90      ftu_error_data         : IN     std_logic_vector (223 DOWNTO 0);                    -- (28 * 8) - 1
     91      ftu_error_send         : IN     std_logic;
     92      ftu_error_send_ack     : OUT    std_logic                      := '1';
     93      ftu_error_send_ready   : OUT    std_logic                      := '1';
     94      prescaling_FTU01       : OUT    std_logic_vector (15 DOWNTO 0) := (others => '0');
     95      trigger_counter        : IN     std_logic_vector (31 DOWNTO 0) := (others => '0');
     96      trigger_counter_read   : OUT    std_logic                      := '0';
     97      trigger_counter_valid  : IN     std_logic
     98   );
     99
    91100END ethernet_modul ;
    92101
     
    241250      coin_win_p        : OUT    std_logic_vector (15 DOWNTO 0) := (others => '0');
    242251      coin_win_c        : OUT    std_logic_vector (15 DOWNTO 0) := (others => '0');
     252      prescaling_FTU01  : OUT    std_logic_vector (15 DOWNTO 0) := (others => '0');
    243253      ftu_active_cr0    : OUT    std_logic_vector (15 DOWNTO 0) := (others => '0');
    244254      ftu_active_cr1    : OUT    std_logic_vector (15 DOWNTO 0) := (others => '0');
     
    328338      get_header_started       : OUT    std_logic                      := '0';
    329339      get_header_ready         : OUT    std_logic                      := '0';
     340      trigger_counter_read     : OUT    std_logic                      := '0';
     341      trigger_counter_valid    : IN     std_logic ;
     342      trigger_counter          : IN     std_logic_vector (31 DOWNTO 0) := (others => '0');
    330343      header_board_id          : OUT    std_logic_vector (63 DOWNTO 0) := (others => '0');
    331344      header_firmware_id       : OUT    std_logic_vector (15 DOWNTO 0) := (others => '0');
     
    386399      fl_busy                  : IN     std_logic ;
    387400      --
     401      ftu_error_send           : IN     std_logic ;
     402      ftu_error_send_ack       : OUT    std_logic                      := '1';
     403      ftu_error_send_ready     : OUT    std_logic                      := '1';
     404      ftu_error_calls          : IN     std_logic_vector (15 DOWNTO 0);
     405      ftu_error_data           : IN     std_logic_vector (223 DOWNTO 0);                 -- (28 * 8) - 1
     406      --
    388407      get_header               : OUT    std_logic                      := '0';
    389408      get_header_started       : IN     std_logic ;
     
    395414   );
    396415   END COMPONENT;
    397 
    398    -- Optional embedded configurations
    399    -- pragma synthesis_off
    400    -- FOR ALL : CRAM_4096_16b USE ENTITY FACT_FTM_lib.CRAM_4096_16b;
    401    -- FOR ALL : DRAM_4096_16b USE ENTITY FACT_FTM_lib.DRAM_4096_16b;
    402    -- FOR ALL : FRAM_4096_16b USE ENTITY FACT_FTM_lib.FRAM_4096_16b;
    403    -- FOR ALL : cram_control USE ENTITY FACT_FTM_lib.cram_control;
    404    -- FOR ALL : dd_write_general_modul USE ENTITY FACT_FTM_lib.dd_write_general_modul;
    405    -- FOR ALL : dram_control USE ENTITY FACT_FTM_lib.dram_control;
    406    -- FOR ALL : eth_config_modul USE ENTITY FACT_FTM_lib.eth_config_modul;
    407    -- FOR ALL : fram_control USE ENTITY FACT_FTM_lib.fram_control;
    408    -- FOR ALL : header_modul USE ENTITY FACT_FTM_lib.header_modul;
    409    -- FOR ALL : w5300_modul USE ENTITY FACT_FTM_lib.w5300_modul;
    410    -- pragma synthesis_on
    411416
    412417BEGIN
     
    492497         coin_win_p        => coin_win_p,
    493498         coin_win_c        => coin_win_c,
     499         prescaling_FTU01  => prescaling_FTU01,
    494500         ftu_active_cr0    => ftu_active_cr0,
    495501         ftu_active_cr1    => ftu_active_cr1,
     
    574580         get_header_started       => get_header_started,
    575581         get_header_ready         => get_header_ready,
     582         trigger_counter_read     => trigger_counter_read,
     583         trigger_counter_valid    => trigger_counter_valid,
     584         trigger_counter          => trigger_counter,
    576585         header_board_id          => header_board_id,
    577586         header_firmware_id       => header_firmware_id,
     
    626635         fl_ready                 => fl_ready_internal,
    627636         fl_busy                  => fl_busy_internal,
     637         ftu_error_send           => ftu_error_send,
     638         ftu_error_send_ack       => ftu_error_send_ack,
     639         ftu_error_send_ready     => ftu_error_send_ready,
     640         ftu_error_calls          => ftu_error_calls,
     641         ftu_error_data           => ftu_error_data,
    628642         get_header               => get_header,
    629643         get_header_started       => get_header_started,
Note: See TracChangeset for help on using the changeset viewer.