Ignore:
Timestamp:
Feb 24, 2011, 2:58:17 PM (9 years ago)
Author:
neise
Message:
 
File:
1 edited

Legend:

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

    r10172 r10176  
    33-- Created:
    44--          by - dneise.UNKNOWN (E5B-LABOR6)
    5 --          at - 14:08:52 23.02.2011
     5--          at - 15:55:13 24.02.2011
    66--
    77-- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10)
     
    7272-- Created:
    7373--          by - dneise.UNKNOWN (E5B-LABOR6)
    74 --          at - 14:08:53 23.02.2011
     74--          at - 15:55:14 24.02.2011
    7575--
    7676-- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10)
     
    9797
    9898   -- Internal signal declarations
    99    SIGNAL CLK_25                 : std_logic;
    100    SIGNAL DCM_PS_status          : std_logic_vector(7 DOWNTO 0)                 := (OTHERS => '0');
     99   SIGNAL CLK_25                  : std_logic;
     100   SIGNAL DCM_PS_status           : std_logic_vector(7 DOWNTO 0)                 := (OTHERS => '0');
    101101   --
    102102
     
    104104-- during EVT header wrinting, this field is left out ... and only written into event header,
    105105-- when the DRS chip were read out already.
    106    SIGNAL FTM_RS485_ready        : std_logic;
    107    SIGNAL SRCLK1                 : std_logic                                    := '0';
    108    SIGNAL adc_data_array_int     : adc_data_array_type;
    109    SIGNAL adc_otr                : std_logic_vector(3 DOWNTO 0);
    110    SIGNAL addr_out               : std_logic_vector(RAMADDRWIDTH64b-1 DOWNTO 0);
    111    SIGNAL c_trigger_enable       : std_logic                                    := '0';
    112    SIGNAL c_trigger_mult         : std_logic_vector(15 DOWNTO 0);
    113    SIGNAL config_addr            : std_logic_vector(7 DOWNTO 0);
    114    SIGNAL config_busy            : std_logic;
    115    SIGNAL config_data            : std_logic_vector(15 DOWNTO 0);
    116    SIGNAL config_data_valid      : std_logic;
    117    SIGNAL config_rd_en           : std_logic;
    118    SIGNAL config_ready           : std_logic;
    119    SIGNAL config_ready_cm        : std_logic;
    120    SIGNAL config_ready_spi       : std_logic;
     106   SIGNAL FTM_RS485_ready         : std_logic;
     107   SIGNAL SRCLK1                  : std_logic                                    := '0';
     108   SIGNAL adc_data_array_int      : adc_data_array_type;
     109   SIGNAL adc_otr                 : std_logic_vector(3 DOWNTO 0);
     110   SIGNAL addr_out                : std_logic_vector(RAMADDRWIDTH64b-1 DOWNTO 0);
     111   SIGNAL c_trigger_enable        : std_logic                                    := '0';
     112   SIGNAL c_trigger_mult          : std_logic_vector(15 DOWNTO 0);
     113   SIGNAL config_addr             : std_logic_vector(7 DOWNTO 0);
     114   SIGNAL config_busy             : std_logic;
     115   SIGNAL config_data             : std_logic_vector(15 DOWNTO 0);
     116   SIGNAL config_data_valid       : std_logic;
     117   SIGNAL config_rd_en            : std_logic;
     118   SIGNAL config_ready            : std_logic;
     119   SIGNAL config_ready_cm         : std_logic;
     120   SIGNAL config_ready_spi        : std_logic;
    121121   -- --
    122    SIGNAL config_rw_ack          : std_logic                                    := '0';
     122   SIGNAL config_rw_ack           : std_logic                                    := '0';
    123123   -- --
    124    SIGNAL config_rw_ready        : std_logic                                    := '0';
    125    SIGNAL config_start           : std_logic                                    := '0';
    126    SIGNAL config_start_cm        : std_logic;
    127    SIGNAL config_start_spi       : std_logic                                    := '0';
    128    SIGNAL config_started         : std_logic;
    129    SIGNAL config_started_cu      : std_logic                                    := '0';
    130    SIGNAL config_started_mm      : std_logic;
    131    SIGNAL config_started_spi     : std_logic                                    := '0';
    132    SIGNAL config_wr_en           : std_logic;
    133    SIGNAL crc                    : std_logic_vector(7 DOWNTO 0);
    134    SIGNAL dac_array              : dac_array_type;
    135    SIGNAL data_out               : std_logic_vector(63 DOWNTO 0);
    136    SIGNAL denable_inhibit        : std_logic                                    := '0';                -- default domino wave off
    137    SIGNAL denable_prim           : std_logic                                    := '0';                -- default domino wave off
    138    SIGNAL din1                   : std_logic                                    := '0';                -- default domino wave off
    139    SIGNAL dna                    : STD_LOGIC_VECTOR(63 DOWNTO 0)                := (others => '0');
    140    SIGNAL dout                   : std_logic;
    141    SIGNAL dout1                  : std_logic;
    142    SIGNAL drs_clk_en             : std_logic                                    := '0';
    143    SIGNAL drs_read_s_cell        : std_logic                                    := '0';
    144    SIGNAL drs_read_s_cell_ready  : std_logic;
     124   SIGNAL config_rw_ready         : std_logic                                    := '0';
     125   SIGNAL config_start            : std_logic                                    := '0';
     126   SIGNAL config_start_cm         : std_logic;
     127   SIGNAL config_start_spi        : std_logic                                    := '0';
     128   SIGNAL config_started          : std_logic;
     129   SIGNAL config_started_cu       : std_logic                                    := '0';
     130   SIGNAL config_started_mm       : std_logic;
     131   SIGNAL config_started_spi      : std_logic                                    := '0';
     132   SIGNAL config_wr_en            : std_logic;
     133   SIGNAL crc                     : std_logic_vector(7 DOWNTO 0);
     134   SIGNAL dac_array               : dac_array_type;
     135   SIGNAL data_generator_run_mode : std_logic                                    := '0';                -- default triggers are NOT accepted
     136   SIGNAL data_out                : std_logic_vector(63 DOWNTO 0);
     137   SIGNAL denable_inhibit         : std_logic                                    := '0';                -- default domino wave off
     138   SIGNAL denable_prim            : std_logic                                    := '0';                -- default domino wave off
     139   SIGNAL din1                    : std_logic                                    := '0';                -- default domino wave off
     140   SIGNAL dna                     : STD_LOGIC_VECTOR(63 DOWNTO 0)                := (others => '0');
     141   SIGNAL dout                    : std_logic;
     142   SIGNAL dout1                   : std_logic;
     143   SIGNAL drs_clk_en              : std_logic                                    := '0';
     144   SIGNAL drs_read_s_cell         : std_logic                                    := '0';
     145   SIGNAL drs_read_s_cell_ready   : std_logic;
    145146   -- --
    146147--      drs_dwrite : out std_logic := '1';
    147    SIGNAL drs_readout_ready      : std_logic                                    := '0';
    148    SIGNAL drs_readout_ready_ack  : std_logic;
    149    SIGNAL drs_readout_started    : std_logic;
    150    SIGNAL drs_s_cell_array       : drs_s_cell_array_type;
    151    SIGNAL drs_srin_data          : std_logic_vector(7 DOWNTO 0)                 := (others => '0');
    152    SIGNAL dwrite                 : std_logic                                    := '1';
    153    SIGNAL dwrite_enable          : std_logic                                    := '1';
    154    SIGNAL enable_i               : std_logic;
    155    SIGNAL new_config             : std_logic                                    := '0';
    156    SIGNAL package_length         : std_logic_vector(15 DOWNTO 0);
    157    SIGNAL ps_direction           : std_logic                                    := '1';                -- default phase shift upwards
    158    SIGNAL ps_do_phase_shift      : std_logic                                    := '0';                --pulse this to phase shift once
    159    SIGNAL ps_reset               : std_logic                                    := '0';                -- pulse this to reset the variable phase shift
    160    SIGNAL ram_addr               : std_logic_vector(RAMADDRWIDTH64b+1 DOWNTO 0);
    161    SIGNAL ram_data               : std_logic_vector(15 DOWNTO 0);
    162    SIGNAL ram_start_addr         : std_logic_vector(RAMADDRWIDTH64b-1 DOWNTO 0);
    163    SIGNAL ram_write_ea           : std_logic;
    164    SIGNAL ram_write_ready        : std_logic                                    := '0';
     148   SIGNAL drs_readout_ready       : std_logic                                    := '0';
     149   SIGNAL drs_readout_ready_ack   : std_logic;
     150   SIGNAL drs_readout_started     : std_logic;
     151   SIGNAL drs_s_cell_array        : drs_s_cell_array_type;
     152   SIGNAL drs_srin_data           : std_logic_vector(7 DOWNTO 0)                 := (others => '0');
     153   SIGNAL dwrite                  : std_logic                                    := '1';
     154   SIGNAL dwrite_enable           : std_logic                                    := '1';
     155   SIGNAL enable_i                : std_logic;
     156   SIGNAL new_config              : std_logic                                    := '0';
     157   SIGNAL package_length          : std_logic_vector(15 DOWNTO 0);
     158   SIGNAL ps_direction            : std_logic                                    := '1';                -- default phase shift upwards
     159   SIGNAL ps_do_phase_shift       : std_logic                                    := '0';                --pulse this to phase shift once
     160   SIGNAL ps_reset                : std_logic                                    := '0';                -- pulse this to reset the variable phase shift
     161   SIGNAL ram_addr                : std_logic_vector(RAMADDRWIDTH64b+1 DOWNTO 0);
     162   SIGNAL ram_data                : std_logic_vector(15 DOWNTO 0);
     163   SIGNAL ram_start_addr          : std_logic_vector(RAMADDRWIDTH64b-1 DOWNTO 0);
     164   SIGNAL ram_write_ea            : std_logic;
     165   SIGNAL ram_write_ready         : std_logic                                    := '0';
    165166   -- --
    166    SIGNAL ram_write_ready_ack    : std_logic                                    := '0';
    167    SIGNAL ready                  : STD_LOGIC                                    := '0';
    168    SIGNAL reset_synch_i          : std_logic;
    169    SIGNAL roi_array              : roi_array_type;
    170    SIGNAL roi_max                : roi_max_type;
    171    SIGNAL rs465_data             : std_logic_vector(55 DOWNTO 0);                                      --7 byte
    172    SIGNAL s_trigger              : std_logic;
    173    SIGNAL s_trigger_0            : std_logic;
    174    SIGNAL sclk1                  : std_logic;
    175    SIGNAL sclk_enable            : std_logic;
    176    SIGNAL sensor_array           : sensor_array_type;
    177    SIGNAL sensor_ready           : std_logic;
    178    SIGNAL socks_connected        : std_logic;
    179    SIGNAL socks_waiting          : std_logic;
    180    SIGNAL srclk_enable           : std_logic                                    := '0';
    181    SIGNAL srin_write_ack         : std_logic                                    := '0';
    182    SIGNAL srin_write_ready       : std_logic                                    := '0';
    183    SIGNAL start_srin_write_8b    : std_logic;
    184    SIGNAL time                   : std_logic_vector(31 DOWNTO 0);
    185    SIGNAL trigger1               : std_logic;
    186    SIGNAL trigger_enable         : std_logic;
    187    SIGNAL trigger_id             : std_logic_vector(31 DOWNTO 0);
    188    SIGNAL trigger_out            : std_logic;
    189    SIGNAL trigger_type1          : std_logic_vector(7 DOWNTO 0);
    190    SIGNAL trigger_type2          : std_logic_vector(7 DOWNTO 0);
    191    SIGNAL wiz_ack                : std_logic;
    192    SIGNAL wiz_busy               : std_logic;
    193    SIGNAL wiz_number_of_channels : std_logic_vector(3 DOWNTO 0)                 := (others => '0');
    194    SIGNAL wiz_ram_start_addr     : std_logic_vector(RAMADDRWIDTH64b+1 DOWNTO 0) := (others => '0');
    195    SIGNAL wiz_write_ea           : std_logic                                    := '0';
    196    SIGNAL wiz_write_end          : std_logic                                    := '0';
    197    SIGNAL wiz_write_header       : std_logic                                    := '0';
    198    SIGNAL wiz_write_length       : std_logic_vector(16 DOWNTO 0)                := (others => '0');
    199    SIGNAL write_ea               : std_logic_vector(0 DOWNTO 0)                 := "0";
     167   SIGNAL ram_write_ready_ack     : std_logic                                    := '0';
     168   SIGNAL ready                   : STD_LOGIC                                    := '0';
     169   SIGNAL reset_synch_i           : std_logic;
     170   SIGNAL roi_array               : roi_array_type;
     171   SIGNAL roi_max                 : roi_max_type;
     172   SIGNAL rs465_data              : std_logic_vector(55 DOWNTO 0);                                      --7 byte
     173   SIGNAL s_trigger               : std_logic;
     174   SIGNAL s_trigger_0             : std_logic;
     175   SIGNAL sclk1                   : std_logic;
     176   SIGNAL sclk_enable             : std_logic;
     177   SIGNAL sensor_array            : sensor_array_type;
     178   SIGNAL sensor_ready            : std_logic;
     179   SIGNAL socks_connected         : std_logic;
     180   SIGNAL socks_waiting           : std_logic;
     181   SIGNAL srclk_enable            : std_logic                                    := '0';
     182   SIGNAL srin_write_ack          : std_logic                                    := '0';
     183   SIGNAL srin_write_ready        : std_logic                                    := '0';
     184   SIGNAL start_srin_write_8b     : std_logic;
     185   SIGNAL time                    : std_logic_vector(31 DOWNTO 0);
     186   SIGNAL trigger1                : std_logic;
     187   SIGNAL trigger_enable          : std_logic;
     188   SIGNAL trigger_id              : std_logic_vector(31 DOWNTO 0);
     189   SIGNAL trigger_out             : std_logic;
     190   SIGNAL trigger_type1           : std_logic_vector(7 DOWNTO 0);
     191   SIGNAL trigger_type2           : std_logic_vector(7 DOWNTO 0);
     192   SIGNAL wiz_ack                 : std_logic;
     193   SIGNAL wiz_busy                : std_logic;
     194   SIGNAL wiz_number_of_channels  : std_logic_vector(3 DOWNTO 0)                 := (others => '0');
     195   SIGNAL wiz_ram_start_addr      : std_logic_vector(RAMADDRWIDTH64b+1 DOWNTO 0) := (others => '0');
     196   SIGNAL wiz_write_ea            : std_logic                                    := '0';
     197   SIGNAL wiz_write_end           : std_logic                                    := '0';
     198   SIGNAL wiz_write_header        : std_logic                                    := '0';
     199   SIGNAL wiz_write_length        : std_logic_vector(16 DOWNTO 0)                := (others => '0');
     200   SIGNAL write_ea                : std_logic_vector(0 DOWNTO 0)                 := "0";
    200201
    201202   -- Implicit buffer signal declarations
     
    296297   );
    297298   PORT (
    298       --      led            : OUT    std_logic_vector (7 DOWNTO 0) := (OTHERS => '0');
    299       clk                   : IN     std_logic ;
    300       data_out              : OUT    std_logic_vector (63 DOWNTO 0);
    301       addr_out              : OUT    std_logic_vector (RAM_ADDR_WIDTH-1 DOWNTO 0);
    302       write_ea              : OUT    std_logic_vector (0 DOWNTO 0) := "0";
    303       ram_start_addr        : IN     std_logic_vector (RAM_ADDR_WIDTH-1 DOWNTO 0);
    304       ram_write_ea          : IN     std_logic ;
    305       ram_write_ready       : OUT    std_logic                     := '0';
    306       -- --
    307       ram_write_ready_ack   : IN     std_logic ;
    308       -- --
    309       config_start_mm       : OUT    std_logic                     := '0';
    310       -- --
    311       config_start_cm       : OUT    std_logic                     := '0';
    312       -- --
    313       config_start_spi      : OUT    std_logic                     := '0';
    314       config_ready_mm       : IN     std_logic ;
    315       config_ready_cm       : IN     std_logic ;
    316       config_ready_spi      : IN     std_logic ;
    317       config_started_mm     : IN     std_logic ;
    318       config_started_cm     : IN     std_logic ;
    319       config_started_spi    : IN     std_logic ;
    320       roi_array             : IN     roi_array_type ;
    321       roi_max               : IN     roi_max_type ;
    322       sensor_array          : IN     sensor_array_type ;
    323       sensor_ready          : IN     std_logic ;
    324       dac_array             : IN     dac_array_type ;
     299      clk                        : IN     std_logic ;                                     -- CLK_25.
     300      data_out                   : OUT    std_logic_vector (63 DOWNTO 0);
     301      addr_out                   : OUT    std_logic_vector (RAM_ADDR_WIDTH-1 DOWNTO 0);
     302      dataRAM_write_ea_o         : OUT    std_logic_vector (0 DOWNTO 0) := "0";
     303      ram_start_addr             : IN     std_logic_vector (RAM_ADDR_WIDTH-1 DOWNTO 0);
     304      ram_write_ea               : IN     std_logic ;
     305      ram_write_ready            : OUT    std_logic                     := '0';
     306      ram_write_ready_ack        : IN     std_logic ;
     307      config_start_mm            : OUT    std_logic                     := '0';
     308      config_start_cm            : OUT    std_logic                     := '0';
     309      config_start_spi           : OUT    std_logic                     := '0';
     310      config_ready_mm            : IN     std_logic ;
     311      config_ready_cm            : IN     std_logic ;
     312      config_ready_spi           : IN     std_logic ;
     313      config_started_mm          : IN     std_logic ;
     314      config_started_cm          : IN     std_logic ;
     315      config_started_spi         : IN     std_logic ;
     316      roi_array                  : IN     roi_array_type ;
     317      roi_max                    : IN     roi_max_type ;
     318      sensor_array               : IN     sensor_array_type ;
     319      sensor_ready               : IN     std_logic ;
     320      dac_array                  : IN     dac_array_type ;
     321      mode                       : IN     std_logic                     := '0';           -- 0: config mode | 1: run mode
     322      idling                     : OUT    std_logic ;
    325323      -- EVT HEADER - part 1
    326       package_length        : IN     std_logic_vector (15 DOWNTO 0);
    327       pll_lock              : IN     std_logic_vector ( 3 DOWNTO 0);
    328       --
    329      
     324      package_length             : IN     std_logic_vector (15 DOWNTO 0);
     325      pll_lock                   : IN     std_logic_vector ( 3 DOWNTO 0);
    330326      -- EVT HEADER - part 2  --> FTM trigger informaton, comes in late ...
    331327      -- during EVT header wrinting, this field is left out ... and only written into event header,
    332328      -- when the DRS chip were read out already.
    333       FTM_RS485_ready       : IN     std_logic ;
    334       FTM_trigger_info      : IN     std_logic_vector (55 DOWNTO 0);                 --7 byte
    335       --
    336      
     329      FTM_RS485_ready            : IN     std_logic ;
     330      FTM_trigger_info           : IN     std_logic_vector (55 DOWNTO 0);                 --7 byte
    337331      -- EVT HEADER - part 3
    338       fad_event_counter     : IN     std_logic_vector (31 DOWNTO 0);
    339       refclk_counter        : IN     std_logic_vector (11 DOWNTO 0);
    340       refclk_too_high       : IN     std_logic ;
    341       refclk_too_low        : IN     std_logic ;
    342       --
    343      
     332      fad_event_counter          : IN     std_logic_vector (31 DOWNTO 0);
     333      refclk_counter             : IN     std_logic_vector (11 DOWNTO 0);
     334      refclk_too_high            : IN     std_logic ;
     335      refclk_too_low             : IN     std_logic ;
    344336      -- EVT HEADER - part 4
    345       board_id              : IN     std_logic_vector (3 DOWNTO 0);
    346       crate_id              : IN     std_logic_vector (1 DOWNTO 0);
    347       DCM_PS_status         : IN     std_logic_vector (7 DOWNTO 0);
    348       TRG_GEN_div           : IN     std_logic_vector (15 DOWNTO 0);
    349       --
    350      
     337      board_id                   : IN     std_logic_vector (3 DOWNTO 0);
     338      crate_id                   : IN     std_logic_vector (1 DOWNTO 0);
     339      DCM_PS_status              : IN     std_logic_vector (7 DOWNTO 0);
     340      TRG_GEN_div                : IN     std_logic_vector (15 DOWNTO 0);
    351341      -- EVT HEADER - part 5
    352       dna                   : IN     std_logic_vector (63 DOWNTO 0);
    353       --
    354      
     342      dna                        : IN     std_logic_vector (63 DOWNTO 0);
    355343      -- EVT HEADER - part 6
    356       timer_value           : IN     std_logic_vector (31 DOWNTO 0);                 -- time in units of 100us
    357       --
    358       trigger               : IN     std_logic ;
    359       --      s_trigger      : in std_logic;
    360       new_config            : IN     std_logic ;
    361       config_started        : OUT    std_logic                     := '0';
    362       adc_data_array        : IN     adc_data_array_type ;
    363       adc_oeb               : OUT    std_logic                     := '1';
    364       adc_clk_en            : OUT    std_logic                     := '0';
    365       adc_otr               : IN     std_logic_vector (3 DOWNTO 0);
    366       drs_channel_id        : OUT    std_logic_vector (3 DOWNTO 0) := (others => '0');
    367       -- --
    368       --      drs_dwrite : out std_logic := '1';
    369       drs_readout_ready     : OUT    std_logic                     := '0';
    370       drs_readout_ready_ack : IN     std_logic ;
    371       -- --
    372       drs_clk_en            : OUT    std_logic                     := '0';
    373       -- --
    374       drs_read_s_cell       : OUT    std_logic                     := '0';
    375       drs_srin_write_8b     : OUT    std_logic                     := '0';
    376       drs_srin_write_ack    : IN     std_logic ;
    377       drs_srin_data         : OUT    std_logic_vector (7 DOWNTO 0) := (others => '0');
    378       drs_srin_write_ready  : IN     std_logic ;
    379       drs_read_s_cell_ready : IN     std_logic ;
    380       drs_s_cell_array      : IN     drs_s_cell_array_type ;
    381       drs_readout_started   : OUT    std_logic                     := '0'
     344      timer_value                : IN     std_logic_vector (31 DOWNTO 0);                 -- time in units of 100us
     345      trigger                    : IN     std_logic ;
     346      start_config_chain         : IN     std_logic ;                                     -- here W5300_MODUL can start the whole config chain
     347      config_chain_done          : OUT    std_logic ;
     348      adc_data_array             : IN     adc_data_array_type ;
     349      adc_output_enable_inverted : OUT    std_logic                     := '1';
     350      adc_clk_en                 : OUT    std_logic                     := '0';
     351      adc_otr                    : IN     std_logic_vector (3 DOWNTO 0);
     352      drs_channel_id             : OUT    std_logic_vector (3 DOWNTO 0) := (others => '0');
     353      --drs_dwrite : out std_logic := '1';
     354      drs_readout_ready          : OUT    std_logic                     := '0';
     355      drs_readout_ready_ack      : IN     std_logic ;
     356      drs_clk_en                 : OUT    std_logic                     := '0';
     357      start_read_drs_stop_cell   : OUT    std_logic                     := '0';
     358      drs_srin_write_8b          : OUT    std_logic                     := '0';
     359      drs_srin_write_ack         : IN     std_logic ;
     360      drs_srin_data              : OUT    std_logic_vector (7 DOWNTO 0) := (others => '0');
     361      drs_srin_write_ready       : IN     std_logic ;
     362      drs_read_s_cell_ready      : IN     std_logic ;
     363      drs_s_cell_array           : IN     drs_s_cell_array_type ;
     364      drs_readout_started        : OUT    std_logic                     := '0'
    382365   );
    383366   END COMPONENT;
     
    452435      wiz_busy               : IN     std_logic ;
    453436      wiz_ack                : IN     std_logic ;
     437      buffer_ram_empty       : OUT    std_logic ;
    454438      ram_start_addr         : OUT    std_logic_vector (RAM_ADDR_WIDTH_64B-1 DOWNTO 0) := (others => '0')
    455439   );
     
    507491   );
    508492   PORT (
    509       clk               : IN     std_logic ;
    510       wiz_reset         : OUT    std_logic                      := '1';
    511       addr              : OUT    std_logic_vector (9 DOWNTO 0);
    512       data              : INOUT  std_logic_vector (15 DOWNTO 0);
    513       cs                : OUT    std_logic                      := '1';
    514       wr                : OUT    std_logic                      := '1';
    515       led               : OUT    std_logic_vector (7 DOWNTO 0)  := (OTHERS => '0');
    516       rd                : OUT    std_logic                      := '1';
    517       int               : IN     std_logic ;
    518       write_length      : IN     std_logic_vector (16 DOWNTO 0);
    519       ram_start_addr    : IN     std_logic_vector (RAM_ADDR_WIDTH-1 DOWNTO 0);
    520       ram_data          : IN     std_logic_vector (15 DOWNTO 0);
    521       ram_addr          : OUT    std_logic_vector (RAM_ADDR_WIDTH-1 DOWNTO 0);
    522       data_valid        : IN     std_logic ;
    523       data_valid_ack    : OUT    std_logic                      := '0';
    524       busy              : OUT    std_logic                      := '1';
    525       write_header_flag : IN     std_logic ;
    526       write_end_flag    : IN     std_logic ;
    527       fifo_channels     : IN     std_logic_vector (3 DOWNTO 0);
     493      clk                     : IN     std_logic ;
     494      wiz_reset               : OUT    std_logic                      := '1';
     495      addr                    : OUT    std_logic_vector (9 DOWNTO 0);
     496      data                    : INOUT  std_logic_vector (15 DOWNTO 0);
     497      cs                      : OUT    std_logic                      := '1';
     498      wr                      : OUT    std_logic                      := '1';
     499      led                     : OUT    std_logic_vector (7 DOWNTO 0)  := (OTHERS => '0');
     500      rd                      : OUT    std_logic                      := '1';
     501      int                     : IN     std_logic ;
     502      write_length            : IN     std_logic_vector (16 DOWNTO 0);
     503      ram_start_addr          : IN     std_logic_vector (RAM_ADDR_WIDTH-1 DOWNTO 0);
     504      ram_data                : IN     std_logic_vector (15 DOWNTO 0);
     505      ram_addr                : OUT    std_logic_vector (RAM_ADDR_WIDTH-1 DOWNTO 0);
     506      data_valid              : IN     std_logic ;
     507      data_valid_ack          : OUT    std_logic                      := '0';
     508      busy                    : OUT    std_logic                      := '1';
     509      write_header_flag       : IN     std_logic ;
     510      write_end_flag          : IN     std_logic ;
     511      fifo_channels           : IN     std_logic_vector (3 DOWNTO 0);
    528512      -- softtrigger:
    529       s_trigger         : OUT    std_logic                      := '0';
    530       c_trigger_enable  : OUT    std_logic                      := '0';
    531       c_trigger_mult    : OUT    std_logic_vector (15 DOWNTO 0) := conv_std_logic_vector(100 ,16); --subject TO changes
     513      s_trigger               : OUT    std_logic                      := '0';
     514      c_trigger_enable        : OUT    std_logic                      := '0';
     515      c_trigger_mult          : OUT    std_logic_vector (15 DOWNTO 0) := conv_std_logic_vector(100 ,16); --subject TO changes
    532516      -- FAD configuration signals:
    533517      ------------------------------------------------------------------------------
    534518      -- start entire configuration chain
    535       new_config        : OUT    std_logic                      := '0';
    536       config_started    : IN     std_logic ;
     519      new_config              : OUT    std_logic                      := '0';
     520      config_chain_done       : IN     std_logic ;
    537521      -- read/write configRAM
    538       config_addr       : OUT    std_logic_vector (7 DOWNTO 0);
    539       config_data       : INOUT  std_logic_vector (15 DOWNTO 0) := (others => 'Z');
    540       config_wr_en      : OUT    std_logic                      := '0';
    541       config_rd_en      : OUT    std_logic                      := '0';
    542       config_rw_ack     : IN     std_logic ;
    543       config_rw_ready   : IN     std_logic ;
    544       config_busy       : IN     std_logic ;
     522      config_addr             : OUT    std_logic_vector (7 DOWNTO 0);
     523      config_data             : INOUT  std_logic_vector (15 DOWNTO 0) := (others => 'Z');
     524      config_wr_en            : OUT    std_logic                      := '0';
     525      config_rd_en            : OUT    std_logic                      := '0';
     526      config_rw_ack           : IN     std_logic ;
     527      config_rw_ready         : IN     std_logic ;
     528      config_busy             : IN     std_logic ;
    545529      ------------------------------------------------------------------------------
    546530     
    547531      -- MAC/IP calculation signals:
    548532      ------------------------------------------------------------------------------
    549       MAC_jumper        : IN     std_logic_vector (1 DOWNTO 0);
    550       BoardID           : IN     std_logic_vector (3 DOWNTO 0);
    551       CrateID           : IN     std_logic_vector (1 DOWNTO 0);
     533      MAC_jumper              : IN     std_logic_vector (1 DOWNTO 0);
     534      BoardID                 : IN     std_logic_vector (3 DOWNTO 0);
     535      CrateID                 : IN     std_logic_vector (1 DOWNTO 0);
    552536      ------------------------------------------------------------------------------
    553537     
    554538      -- user controllable enable signals
    555539      ------------------------------------------------------------------------------
    556       trigger_enable    : OUT    std_logic                      := '0';                            -- default triggers are NOT accepted
    557       denable           : OUT    std_logic                      := '0';                            -- default domino wave off
    558       dwrite_enable     : OUT    std_logic                      := '0';                            -- default DWRITE low.
    559       sclk_enable       : OUT    std_logic                      := '1';                            -- default DWRITE HIGH.
    560       srclk_enable      : OUT    std_logic                      := '1';                            -- default SRCLK on.
     540      trigger_enable          : OUT    std_logic                      := '0';                            -- default triggers are NOT accepted
     541      data_generator_run_mode : OUT    std_logic                      := '0';                            -- default triggers are NOT accepted
     542      denable                 : OUT    std_logic                      := '0';                            -- default domino wave off
     543      dwrite_enable           : OUT    std_logic                      := '0';                            -- default DWRITE low.
     544      sclk_enable             : OUT    std_logic                      := '1';                            -- default DWRITE HIGH.
     545      srclk_enable            : OUT    std_logic                      := '1';                            -- default SRCLK on.
    561546      ------------------------------------------------------------------------------
    562547     
     
    564549      -- these signals control the behavior of the digital clock manager (DCM)
    565550      ------------------------------------------------------------------------------
    566       ps_direction      : OUT    std_logic                      := '1';                            -- default phase shift upwards
    567       ps_do_phase_shift : OUT    std_logic                      := '0';                            --pulse this TO phase shift once
    568       ps_reset          : OUT    std_logic                      := '0';                            -- pulse this TO reset the variable phase shift
     551      ps_direction            : OUT    std_logic                      := '1';                            -- default phase shift upwards
     552      ps_do_phase_shift       : OUT    std_logic                      := '0';                            --pulse this TO phase shift once
     553      ps_reset                : OUT    std_logic                      := '0';                            -- pulse this TO reset the variable phase shift
    569554      ------------------------------------------------------------------------------
    570555     
     
    572557      -- one of the three LEDs is used for com-status info
    573558      ------------------------------------------------------------------------------
    574       socks_waiting     : OUT    std_logic ;
    575       socks_connected   : OUT    std_logic
     559      socks_waiting           : OUT    std_logic ;
     560      socks_connected         : OUT    std_logic
    576561      ------------------------------------------------------------------------------
    577562   );
     
    722707      )
    723708      PORT MAP (
    724          clk                   => CLK_25,
    725          data_out              => data_out,
    726          addr_out              => addr_out,
    727          write_ea              => write_ea,
    728          ram_start_addr        => ram_start_addr,
    729          ram_write_ea          => ram_write_ea,
    730          ram_write_ready       => ram_write_ready,
    731          ram_write_ready_ack   => ram_write_ready_ack,
    732          config_start_mm       => config_start,
    733          config_start_cm       => config_start_cm,
    734          config_start_spi      => config_start_spi,
    735          config_ready_mm       => config_ready,
    736          config_ready_cm       => config_ready_cm,
    737          config_ready_spi      => config_ready_spi,
    738          config_started_mm     => config_started_mm,
    739          config_started_cm     => config_started_cu,
    740          config_started_spi    => config_started_spi,
    741          roi_array             => roi_array,
    742          roi_max               => roi_max,
    743          sensor_array          => sensor_array,
    744          sensor_ready          => sensor_ready,
    745          dac_array             => dac_array,
    746          package_length        => package_length,
    747          pll_lock              => plllock_in,
    748          FTM_RS485_ready       => FTM_RS485_ready,
    749          FTM_trigger_info      => rs465_data,
    750          fad_event_counter     => trigger_id,
    751          refclk_counter        => counter_result_internal,
    752          refclk_too_high       => alarm_refclk_too_high_internal,
    753          refclk_too_low        => alarm_refclk_too_low_internal,
    754          board_id              => board_id,
    755          crate_id              => crate_id,
    756          DCM_PS_status         => DCM_PS_status,
    757          TRG_GEN_div           => c_trigger_mult,
    758          dna                   => dna,
    759          timer_value           => time,
    760          trigger               => trigger_out,
    761          new_config            => new_config,
    762          config_started        => config_started,
    763          adc_data_array        => adc_data_array_int,
    764          adc_oeb               => adc_oeb,
    765          adc_clk_en            => adc_clk_en,
    766          adc_otr               => adc_otr,
    767          drs_channel_id        => drs_channel_id,
    768          drs_readout_ready     => drs_readout_ready,
    769          drs_readout_ready_ack => drs_readout_ready_ack,
    770          drs_clk_en            => drs_clk_en,
    771          drs_read_s_cell       => drs_read_s_cell,
    772          drs_srin_write_8b     => start_srin_write_8b,
    773          drs_srin_write_ack    => srin_write_ack,
    774          drs_srin_data         => drs_srin_data,
    775          drs_srin_write_ready  => srin_write_ready,
    776          drs_read_s_cell_ready => drs_read_s_cell_ready,
    777          drs_s_cell_array      => drs_s_cell_array,
    778          drs_readout_started   => drs_readout_started
     709         clk                        => CLK_25,
     710         data_out                   => data_out,
     711         addr_out                   => addr_out,
     712         dataRAM_write_ea_o         => write_ea,
     713         ram_start_addr             => ram_start_addr,
     714         ram_write_ea               => ram_write_ea,
     715         ram_write_ready            => ram_write_ready,
     716         ram_write_ready_ack        => ram_write_ready_ack,
     717         config_start_mm            => config_start,
     718         config_start_cm            => config_start_cm,
     719         config_start_spi           => config_start_spi,
     720         config_ready_mm            => config_ready,
     721         config_ready_cm            => config_ready_cm,
     722         config_ready_spi           => config_ready_spi,
     723         config_started_mm          => config_started_mm,
     724         config_started_cm          => config_started_cu,
     725         config_started_spi         => config_started_spi,
     726         roi_array                  => roi_array,
     727         roi_max                    => roi_max,
     728         sensor_array               => sensor_array,
     729         sensor_ready               => sensor_ready,
     730         dac_array                  => dac_array,
     731         mode                       => OPEN,
     732         idling                     => OPEN,
     733         package_length             => package_length,
     734         pll_lock                   => plllock_in,
     735         FTM_RS485_ready            => FTM_RS485_ready,
     736         FTM_trigger_info           => rs465_data,
     737         fad_event_counter          => trigger_id,
     738         refclk_counter             => counter_result_internal,
     739         refclk_too_high            => alarm_refclk_too_high_internal,
     740         refclk_too_low             => alarm_refclk_too_low_internal,
     741         board_id                   => board_id,
     742         crate_id                   => crate_id,
     743         DCM_PS_status              => DCM_PS_status,
     744         TRG_GEN_div                => c_trigger_mult,
     745         dna                        => dna,
     746         timer_value                => time,
     747         trigger                    => trigger_out,
     748         start_config_chain         => new_config,
     749         config_chain_done          => config_started,
     750         adc_data_array             => adc_data_array_int,
     751         adc_output_enable_inverted => adc_oeb,
     752         adc_clk_en                 => adc_clk_en,
     753         adc_otr                    => adc_otr,
     754         drs_channel_id             => drs_channel_id,
     755         drs_readout_ready          => drs_readout_ready,
     756         drs_readout_ready_ack      => drs_readout_ready_ack,
     757         drs_clk_en                 => drs_clk_en,
     758         start_read_drs_stop_cell   => drs_read_s_cell,
     759         drs_srin_write_8b          => start_srin_write_8b,
     760         drs_srin_write_ack         => srin_write_ack,
     761         drs_srin_data              => drs_srin_data,
     762         drs_srin_write_ready       => srin_write_ready,
     763         drs_read_s_cell_ready      => drs_read_s_cell_ready,
     764         drs_s_cell_array           => drs_s_cell_array,
     765         drs_readout_started        => drs_readout_started
    779766      );
    780767   U_0 : dna_gen
     
    843830         wiz_busy               => wiz_busy,
    844831         wiz_ack                => wiz_ack,
     832         buffer_ram_empty       => OPEN,
    845833         ram_start_addr         => ram_start_addr
    846834      );
     
    888876         drs_readout_ready_ack => drs_readout_ready_ack
    889877      );
    890    I_main_ethernet : w5300_modul
     878   w5300_modul_instance : w5300_modul
    891879      GENERIC MAP (
    892880         RAM_ADDR_WIDTH => RAMADDRWIDTH64b+2
    893881      )
    894882      PORT MAP (
    895          clk               => CLK_50_internal,
    896          wiz_reset         => wiz_reset,
    897          addr              => wiz_addr,
    898          data              => wiz_data,
    899          cs                => wiz_cs,
    900          wr                => wiz_wr,
    901          led               => led,
    902          rd                => wiz_rd,
    903          int               => wiz_int,
    904          write_length      => wiz_write_length,
    905          ram_start_addr    => wiz_ram_start_addr,
    906          ram_data          => ram_data,
    907          ram_addr          => ram_addr,
    908          data_valid        => wiz_write_ea,
    909          data_valid_ack    => wiz_ack,
    910          busy              => wiz_busy,
    911          write_header_flag => wiz_write_header,
    912          write_end_flag    => wiz_write_end,
    913          fifo_channels     => wiz_number_of_channels,
    914          s_trigger         => s_trigger_0,
    915          c_trigger_enable  => c_trigger_enable,
    916          c_trigger_mult    => c_trigger_mult,
    917          new_config        => new_config,
    918          config_started    => config_started,
    919          config_addr       => config_addr,
    920          config_data       => config_data,
    921          config_wr_en      => config_wr_en,
    922          config_rd_en      => config_rd_en,
    923          config_rw_ack     => config_rw_ack,
    924          config_rw_ready   => config_rw_ready,
    925          config_busy       => config_busy,
    926          MAC_jumper        => D_T_in,
    927          BoardID           => board_id,
    928          CrateID           => crate_id,
    929          trigger_enable    => trigger_enable,
    930          denable           => denable_prim,
    931          dwrite_enable     => dwrite_enable,
    932          sclk_enable       => sclk_enable,
    933          srclk_enable      => srclk_enable,
    934          ps_direction      => ps_direction,
    935          ps_do_phase_shift => ps_do_phase_shift,
    936          ps_reset          => ps_reset,
    937          socks_waiting     => socks_waiting,
    938          socks_connected   => socks_connected
     883         clk                     => CLK_50_internal,
     884         wiz_reset               => wiz_reset,
     885         addr                    => wiz_addr,
     886         data                    => wiz_data,
     887         cs                      => wiz_cs,
     888         wr                      => wiz_wr,
     889         led                     => led,
     890         rd                      => wiz_rd,
     891         int                     => wiz_int,
     892         write_length            => wiz_write_length,
     893         ram_start_addr          => wiz_ram_start_addr,
     894         ram_data                => ram_data,
     895         ram_addr                => ram_addr,
     896         data_valid              => wiz_write_ea,
     897         data_valid_ack          => wiz_ack,
     898         busy                    => wiz_busy,
     899         write_header_flag       => wiz_write_header,
     900         write_end_flag          => wiz_write_end,
     901         fifo_channels           => wiz_number_of_channels,
     902         s_trigger               => s_trigger_0,
     903         c_trigger_enable        => c_trigger_enable,
     904         c_trigger_mult          => c_trigger_mult,
     905         new_config              => new_config,
     906         config_chain_done       => config_started,
     907         config_addr             => config_addr,
     908         config_data             => config_data,
     909         config_wr_en            => config_wr_en,
     910         config_rd_en            => config_rd_en,
     911         config_rw_ack           => config_rw_ack,
     912         config_rw_ready         => config_rw_ready,
     913         config_busy             => config_busy,
     914         MAC_jumper              => D_T_in,
     915         BoardID                 => board_id,
     916         CrateID                 => crate_id,
     917         trigger_enable          => trigger_enable,
     918         data_generator_run_mode => data_generator_run_mode,
     919         denable                 => denable_prim,
     920         dwrite_enable           => dwrite_enable,
     921         sclk_enable             => sclk_enable,
     922         srclk_enable            => srclk_enable,
     923         ps_direction            => ps_direction,
     924         ps_do_phase_shift       => ps_do_phase_shift,
     925         ps_reset                => ps_reset,
     926         socks_waiting           => socks_waiting,
     927         socks_connected         => socks_connected
    939928      );
    940929
Note: See TracChangeset for help on using the changeset viewer.