Ignore:
Timestamp:
03/24/11 14:42:34 (14 years ago)
Author:
weitzel
Message:
new version of FTM ethernet module; first version of clock conditioner
File:
1 edited

Legend:

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

    r10227 r10256  
    33-- Created:
    44--          by - kai.UNKNOWN (E5PCXX)
    5 --          at - 11:17:45 25.02.2011
     5--          at - 11:52:19 03.03.2011
    66--
    77-- Generated by Mentor Graphics' HDL Designer(TM) 2009.1 (Build 12)
    88--
     9
    910LIBRARY ieee;
    1011USE ieee.std_logic_1164.all;
     
    1617
    1718ENTITY ethernet_modul IS
    18    PORT(
    19       wiz_reset          : OUT    std_logic                      := '1';
    20       wiz_addr           : OUT    std_logic_vector (9 DOWNTO 0);
    21       wiz_data           : INOUT  std_logic_vector (15 DOWNTO 0);
    22       wiz_cs             : OUT    std_logic                      := '1';
    23       wiz_wr             : OUT    std_logic                      := '1';
    24       wiz_rd             : OUT    std_logic                      := '1';
    25       wiz_int            : IN     std_logic;
    26       clk                : IN     std_logic;
    27       sd_ready           : OUT    std_logic;
    28       sd_busy            : OUT    std_logic;
    29       led                : OUT    std_logic_vector (7 DOWNTO 0);
    30       sd_read_ftu        : IN     std_logic;
    31       sd_started_ftu     : OUT    std_logic                      := '0';
    32       cc_R0              : OUT    std_logic_vector (31 DOWNTO 0);
    33       cc_R1              : OUT    std_logic_vector (31 DOWNTO 0);
    34       cc_R11             : OUT    std_logic_vector (31 DOWNTO 0);
    35       cc_R13             : OUT    std_logic_vector (31 DOWNTO 0);
    36       cc_R14             : OUT    std_logic_vector (31 DOWNTO 0);
    37       cc_R15             : OUT    std_logic_vector (31 DOWNTO 0);
    38       cc_R8              : OUT    std_logic_vector (31 DOWNTO 0);
    39       cc_R9              : OUT    std_logic_vector (31 DOWNTO 0);
    40       coin_n_c           : OUT    std_logic_vector (15 DOWNTO 0);
    41       coin_n_p           : OUT    std_logic_vector (15 DOWNTO 0);
    42       dead_time          : OUT    std_logic_vector (15 DOWNTO 0);
    43       -- data from config ram
    44       general_settings   : OUT    std_logic_vector (15 DOWNTO 0);
    45       lp1_amplitude      : OUT    std_logic_vector (15 DOWNTO 0);
    46       lp1_delay          : OUT    std_logic_vector (15 DOWNTO 0);
    47       lp2_amplitude      : OUT    std_logic_vector (15 DOWNTO 0);
    48       lp2_delay          : OUT    std_logic_vector (15 DOWNTO 0);
    49       lp_pt_freq         : OUT    std_logic_vector (15 DOWNTO 0);
    50       lp_pt_ratio        : OUT    std_logic_vector (15 DOWNTO 0);
    51       timemarker_delay   : OUT    std_logic_vector (15 DOWNTO 0);
    52       trigger_delay      : OUT    std_logic_vector (15 DOWNTO 0);
    53       sd_addr_ftu        : IN     std_logic_vector (11 DOWNTO 0);
    54       sd_data_out_ftu    : OUT    std_logic_vector (15 DOWNTO 0) := (others => '0');
    55       ftu_active_cr0     : OUT    std_logic_vector (15 DOWNTO 0);
    56       ftu_active_cr1     : OUT    std_logic_vector (15 DOWNTO 0);
    57       ftu_active_cr2     : OUT    std_logic_vector (15 DOWNTO 0);
    58       ftu_active_cr3     : OUT    std_logic_vector (15 DOWNTO 0);
    59       new_config         : OUT    std_logic                      := '0';
    60       config_started     : IN     std_logic;
    61       config_start_eth   : IN     std_logic;
    62       config_started_eth : OUT    std_logic                      := '0';
    63       config_ready_eth   : OUT    std_logic                      := '0';
    64       config_started_ack : OUT    std_logic                      := '0';
    65       fl_busy            : OUT    std_logic;
    66       fl_ready           : OUT    std_logic;
    67       fl_write_ftu       : IN     std_logic;
    68       fl_started_ftu     : OUT    std_logic                      := '0';
    69       fl_addr_ftu        : IN     std_logic_vector (11 DOWNTO 0);
    70       fl_data_in_ftu     : IN     std_logic_vector (15 DOWNTO 0) := (others => '0');
    71       --
    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    );
    84 
    85 -- Declarations
    86 
     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  );
    8791END ethernet_modul ;
    8892
    89 --
    90 -- VHDL Architecture FACT_FTM_lib.ethernet_modul.beha
    91 --
    92 -- Created:
    93 --          by - kai.UNKNOWN (E5PCXX)
    94 --          at - 11:17:46 25.02.2011
    95 --
    96 -- Generated by Mentor Graphics' HDL Designer(TM) 2009.1 (Build 12)
    97 --
    98 --
    99 --
    100 --LIBRARY IEEE;
    101 --USE IEEE.STD_LOGIC_1164.all;
    102 --USE IEEE.STD_LOGIC_ARITH.all;
    103 --USE IEEE.STD_LOGIC_UNSIGNED.all;
    104 --LIBRARY FACT_FTM_lib;
    105 --USE FACT_FTM_lib.ftm_array_types.all;
    106 --USE FACT_FTM_lib.ftm_constants.all;
    107 
    108 --LIBRARY FACT_FTM_lib;
    109 
    11093ARCHITECTURE beha OF ethernet_modul IS
    11194
     
    11396
    11497   -- Internal signal declarations
    115    SIGNAL busy                   : std_logic                     := '1';
    116    SIGNAL cram_data_out          : std_logic_vector(15 DOWNTO 0);
    117    SIGNAL cram_data_in           : std_logic_vector(15 DOWNTO 0);
    118    SIGNAL cram_we                : std_logic_vector(0 DOWNTO 0)  := "0";
    119    SIGNAL sd_write               : std_logic                     := '0';
    120    SIGNAL sd_read                : std_logic;
    121    SIGNAL led1                   : std_logic_vector(7 DOWNTO 0)  := (others => '0');
    122    SIGNAL sd_started             : std_logic;
    123    SIGNAL sd_addr                : std_logic_vector(11 DOWNTO 0);
    124    SIGNAL cram_addr_out          : std_logic_vector(11 DOWNTO 0);
    125    SIGNAL cram_addr_in           : std_logic_vector(11 DOWNTO 0);
    126    SIGNAL sd_data_in             : std_logic_vector(15 DOWNTO 0) := (others => '0');
    127    SIGNAL sd_data_out            : std_logic_vector(15 DOWNTO 0);
    128    SIGNAL config_ready_cc        : std_logic                     := '0';
    129    SIGNAL config_started_cc      : std_logic                     := '0';
    130    SIGNAL config_start_cc        : std_logic;
    131    SIGNAL fl_started             : std_logic;
    132    SIGNAL fl_read                : std_logic                     := '0';
     98   SIGNAL busy                     : std_logic                     := '1';
     99   SIGNAL cram_data_out            : std_logic_vector(15 DOWNTO 0);
     100   SIGNAL cram_data_in             : std_logic_vector(15 DOWNTO 0);
     101   SIGNAL cram_we                  : std_logic_vector(0 DOWNTO 0)  := "0";
     102   SIGNAL sd_write                 : std_logic                     := '0';
     103   SIGNAL sd_read                  : std_logic;
     104   SIGNAL led1                     : std_logic_vector(7 DOWNTO 0)  := (others => '0');
     105   SIGNAL sd_started               : std_logic;
     106   SIGNAL sd_addr                  : std_logic_vector(11 DOWNTO 0);
     107   SIGNAL cram_addr_out            : std_logic_vector(11 DOWNTO 0);
     108   SIGNAL cram_addr_in             : std_logic_vector(11 DOWNTO 0);
     109   SIGNAL sd_data_in               : std_logic_vector(15 DOWNTO 0) := (others => '0');
     110   SIGNAL sd_data_out              : std_logic_vector(15 DOWNTO 0);
     111   SIGNAL config_ready_cc          : std_logic                     := '0';
     112   SIGNAL config_started_cc        : std_logic                     := '0';
     113   SIGNAL config_start_cc          : std_logic;
     114   SIGNAL fl_started               : std_logic;
     115   SIGNAL fl_read                  : std_logic                     := '0';
    133116   --
    134    SIGNAL fl_addr                : std_logic_vector(11 DOWNTO 0);
    135    SIGNAL fl_data_out            : std_logic_vector(15 DOWNTO 0);
    136    SIGNAL fram_addr_out          : std_logic_vector(11 DOWNTO 0);
    137    SIGNAL doutb                  : std_logic_VECTOR(15 DOWNTO 0);
    138    SIGNAL fram_we                : std_logic_vector(0 DOWNTO 0)  := "0";
    139    SIGNAL fram_addr_in           : std_logic_vector(11 DOWNTO 0);
    140    SIGNAL fram_data_in           : std_logic_vector(15 DOWNTO 0);
    141    SIGNAL led2                   : std_logic_vector(7 DOWNTO 0)  := X"00";
    142    SIGNAL dram_addr_out          : std_logic_vector(11 DOWNTO 0);
    143    SIGNAL doutb1                 : std_logic_VECTOR(15 DOWNTO 0);
    144    SIGNAL dram_we                : std_logic_vector(0 DOWNTO 0)  := "0";
    145    SIGNAL dram_addr_in           : std_logic_vector(11 DOWNTO 0);
    146    SIGNAL dram_data_in           : std_logic_vector(15 DOWNTO 0);
    147    SIGNAL dd_read                : std_logic;
    148    SIGNAL dd_started             : std_logic                     := '0';
    149    SIGNAL dd_data_out            : std_logic_vector(15 DOWNTO 0) := (others => '0');
    150    SIGNAL dd_addr                : std_logic_vector(11 DOWNTO 0);
    151    SIGNAL dd_block_ready         : std_logic                     := '0';
     117   SIGNAL fl_addr                  : std_logic_vector(11 DOWNTO 0);
     118   SIGNAL fl_data_out              : std_logic_vector(15 DOWNTO 0);
     119   SIGNAL fram_addr_out            : std_logic_vector(11 DOWNTO 0);
     120   SIGNAL doutb                    : std_logic_VECTOR(15 DOWNTO 0);
     121   SIGNAL fram_we                  : std_logic_vector(0 DOWNTO 0)  := "0";
     122   SIGNAL fram_addr_in             : std_logic_vector(11 DOWNTO 0);
     123   SIGNAL fram_data_in             : std_logic_vector(15 DOWNTO 0);
     124   SIGNAL dram_addr_out            : std_logic_vector(11 DOWNTO 0);
     125   SIGNAL doutb1                   : std_logic_VECTOR(15 DOWNTO 0);
     126   SIGNAL dram_we                  : std_logic_vector(0 DOWNTO 0)  := "0";
     127   SIGNAL dram_addr_in             : std_logic_vector(11 DOWNTO 0);
     128   SIGNAL dram_data_in             : std_logic_vector(15 DOWNTO 0);
     129   SIGNAL dd_read                  : std_logic;
     130   SIGNAL dd_started               : std_logic                     := '0';
     131   SIGNAL dd_data_out              : std_logic_vector(15 DOWNTO 0) := (others => '0');
     132   SIGNAL dd_addr                  : std_logic_vector(11 DOWNTO 0);
     133   SIGNAL dd_block_ready           : std_logic                     := '0';
    152134   --
    153    SIGNAL dd_block_start         : std_logic                     := '0';
    154    SIGNAL dd_block_start_ack     : std_logic;
    155    SIGNAL dd_block_ready_ftu     : std_logic;
    156    SIGNAL dd_block_start_ack_ftu : std_logic                     := '0';
    157    SIGNAL dd_block_start_ftu     : std_logic;
     135   SIGNAL dd_block_start           : std_logic                     := '0';
     136   SIGNAL dd_block_start_ack       : std_logic;
     137   SIGNAL dd_write_general         : std_logic                     := '0';
     138   SIGNAL dd_write_general_ready   : std_logic;
     139   SIGNAL dd_write_general_started : std_logic;
     140   SIGNAL dd_write                 : std_logic                     := '0';
     141   SIGNAL dd_started_general       : std_logic                     := '0';
     142   SIGNAL dd_addr1                 : std_logic_vector(11 DOWNTO 0) := (others => '0');
     143   SIGNAL dd_data                  : std_logic_vector(15 DOWNTO 0) := (others => '0');
     144   SIGNAL get_header               : std_logic;
     145   SIGNAL get_header_started       : std_logic                     := '0';
     146   SIGNAL get_header_ready         : std_logic                     := '0';
     147   SIGNAL led2                     : std_logic_vector(7 DOWNTO 0);
     148   SIGNAL header_board_id          : std_logic_vector(63 DOWNTO 0);
     149   SIGNAL header_firmware_id       : std_logic_vector(15 DOWNTO 0);
     150   SIGNAL header_timestamp_counter : std_logic_vector(47 DOWNTO 0);
     151   SIGNAL header_trigger_counter   : std_logic_vector(31 DOWNTO 0);
    158152
    159153   -- Implicit buffer signal declarations
     
    204198      clk               : IN     std_logic ;
    205199      led               : OUT    std_logic_vector (7 DOWNTO 0)  := X"00";
    206       cram_data_in      : OUT    std_logic_vector (15 DOWNTO 0);
     200      cram_data_in      : OUT    std_logic_vector (15 DOWNTO 0) := (others => '0');
    207201      cram_data_out     : IN     std_logic_vector (15 DOWNTO 0);
    208       cram_addr_in      : OUT    std_logic_vector (11 DOWNTO 0);
    209       cram_addr_out     : OUT    std_logic_vector (11 DOWNTO 0);
     202      cram_addr_in      : OUT    std_logic_vector (11 DOWNTO 0) := (others => '0');
     203      cram_addr_out     : OUT    std_logic_vector (11 DOWNTO 0) := (others => '0');
    210204      cram_we           : OUT    std_logic_vector (0 DOWNTO 0)  := "0";
    211205      sd_write          : IN     std_logic ;
     
    253247   );
    254248   END COMPONENT;
     249   COMPONENT dd_write_general_modul
     250   PORT (
     251      clk                      : IN     std_logic ;
     252      dd_write_general         : IN     std_logic ;
     253      dd_write_general_started : OUT    std_logic                      := '0';
     254      dd_write_general_ready   : OUT    std_logic                      := '0';
     255      dd_busy                  : IN     std_logic ;
     256      dd_write                 : OUT    std_logic                      := '0';
     257      dd_started               : IN     std_logic ;
     258      dd_ready                 : IN     std_logic ;
     259      dd_addr                  : OUT    std_logic_vector (11 DOWNTO 0) := (others => '0');
     260      dd_data                  : OUT    std_logic_vector (15 DOWNTO 0) := (others => '0')
     261   );
     262   END COMPONENT;
    255263   COMPONENT dram_control
    256264   PORT (
    257265      clk                    : IN     std_logic ;
    258       dram_data_in           : OUT    std_logic_vector (15 DOWNTO 0);
     266      dram_data_in           : OUT    std_logic_vector (15 DOWNTO 0) := (others => '0');
    259267      dram_data_out          : IN     std_logic_vector (15 DOWNTO 0);
    260       dram_addr_in           : OUT    std_logic_vector (11 DOWNTO 0);
    261       dram_addr_out          : OUT    std_logic_vector (11 DOWNTO 0);
     268      dram_addr_in           : OUT    std_logic_vector (11 DOWNTO 0) := (others => '0');
     269      dram_addr_out          : OUT    std_logic_vector (11 DOWNTO 0) := (others => '0');
    262270      dram_we                : OUT    std_logic_vector (0 DOWNTO 0)  := "0";
    263271      dd_block_start         : IN     std_logic ;
     
    269277      dd_read                : IN     std_logic ;
    270278      dd_write_ftu           : IN     std_logic ;
     279      dd_write_general       : IN     std_logic ;
    271280      dd_busy                : OUT    std_logic                      := '1';
    272281      dd_started             : OUT    std_logic                      := '0';
    273282      dd_started_ftu         : OUT    std_logic                      := '0';
     283      dd_started_general     : OUT    std_logic                      := '0';
    274284      dd_ready               : OUT    std_logic                      := '0';
    275285      dd_data_out            : OUT    std_logic_vector (15 DOWNTO 0) := (others => '0');
    276286      dd_data_in_ftu         : IN     std_logic_vector (15 DOWNTO 0);
     287      dd_data_in_general     : IN     std_logic_vector (15 DOWNTO 0);
    277288      dd_addr                : IN     std_logic_vector (11 DOWNTO 0);
    278       dd_addr_ftu            : IN     std_logic_vector (11 DOWNTO 0)
     289      dd_addr_ftu            : IN     std_logic_vector (11 DOWNTO 0);
     290      dd_addr_general        : IN     std_logic_vector (11 DOWNTO 0)
    279291   );
    280292   END COMPONENT;
     
    293305   PORT (
    294306      clk            : IN     std_logic ;
    295       fram_data_in   : OUT    std_logic_vector (15 DOWNTO 0);
     307      fram_data_in   : OUT    std_logic_vector (15 DOWNTO 0) := (others => '0');
    296308      fram_data_out  : IN     std_logic_vector (15 DOWNTO 0);
    297       fram_addr_in   : OUT    std_logic_vector (11 DOWNTO 0);
    298       fram_addr_out  : OUT    std_logic_vector (11 DOWNTO 0);
     309      fram_addr_in   : OUT    std_logic_vector (11 DOWNTO 0) := (others => '0');
     310      fram_addr_out  : OUT    std_logic_vector (11 DOWNTO 0) := (others => '0');
    299311      fram_we        : OUT    std_logic_vector (0 DOWNTO 0)  := "0";
    300312      fl_read        : IN     std_logic ;
     
    310322   );
    311323   END COMPONENT;
     324   COMPONENT header_modul
     325   PORT (
     326      clk                      : IN     std_logic ;
     327      get_header               : IN     std_logic ;
     328      get_header_started       : OUT    std_logic                      := '0';
     329      get_header_ready         : OUT    std_logic                      := '0';
     330      header_board_id          : OUT    std_logic_vector (63 DOWNTO 0) := (others => '0');
     331      header_firmware_id       : OUT    std_logic_vector (15 DOWNTO 0) := (others => '0');
     332      header_trigger_counter   : OUT    std_logic_vector (31 DOWNTO 0) := (others => '0');
     333      header_timestamp_counter : OUT    std_logic_vector (47 DOWNTO 0) := (others => '0')
     334   );
     335   END COMPONENT;
    312336   COMPONENT w5300_modul
    313337   PORT (
    314       clk                : IN     std_logic ;
    315       wiz_reset          : OUT    std_logic                      := '1';
    316       addr               : OUT    std_logic_vector (9 DOWNTO 0);
    317       data               : INOUT  std_logic_vector (15 DOWNTO 0);
    318       cs                 : OUT    std_logic                      := '1';
    319       wr                 : OUT    std_logic                      := '1';
    320       led                : OUT    std_logic_vector (7 DOWNTO 0)  := (others => '0');
    321       rd                 : OUT    std_logic                      := '1';
    322       int                : IN     std_logic ;
    323       busy               : OUT    std_logic                      := '1';
    324       new_config         : OUT    std_logic                      := '0';
    325       config_started     : IN     std_logic ;
    326       config_started_ack : OUT    std_logic                      := '0';
     338      clk                      : IN     std_logic ;
     339      wiz_reset                : OUT    std_logic                      := '1';
     340      addr                     : OUT    std_logic_vector (9 DOWNTO 0);
     341      data                     : INOUT  std_logic_vector (15 DOWNTO 0);
     342      cs                       : OUT    std_logic                      := '1';
     343      wr                       : OUT    std_logic                      := '1';
     344      led                      : OUT    std_logic_vector (7 DOWNTO 0)  := (others => '0');
     345      rd                       : OUT    std_logic                      := '1';
     346      int                      : IN     std_logic ;
     347      busy                     : OUT    std_logic                      := '1';
     348      new_config               : OUT    std_logic                      := '0';
     349      config_started           : IN     std_logic ;
     350      config_started_ack       : OUT    std_logic                      := '0';
    327351      --
    328       ping_ftu_start     : OUT    std_logic                      := '0';
    329       ping_ftu_started   : IN     std_logic ;
    330       ping_ftu_ready     : IN     std_logic ;
     352      ping_ftu_start           : OUT    std_logic                      := '0';
     353      ping_ftu_started         : IN     std_logic ;
     354      ping_ftu_ready           : IN     std_logic ;
    331355      --
    332       sd_addr            : OUT    std_logic_vector (11 DOWNTO 0);
    333       sd_data_out        : OUT    std_logic_vector (15 DOWNTO 0) := (others => '0');
    334       sd_data_in         : IN     std_logic_vector (15 DOWNTO 0);
    335       sd_write           : OUT    std_logic                      := '0';
    336       sd_read            : OUT    std_logic                      := '0';
    337       sd_started         : IN     std_logic ;
    338       sd_ready           : IN     std_logic ;
    339       sd_busy            : IN     std_logic ;
     356      sd_addr                  : OUT    std_logic_vector (11 DOWNTO 0);
     357      sd_data_out              : OUT    std_logic_vector (15 DOWNTO 0) := (others => '0');
     358      sd_data_in               : IN     std_logic_vector (15 DOWNTO 0);
     359      sd_write                 : OUT    std_logic                      := '0';
     360      sd_read                  : OUT    std_logic                      := '0';
     361      sd_started               : IN     std_logic ;
     362      sd_ready                 : IN     std_logic ;
     363      sd_busy                  : IN     std_logic ;
    340364      --
    341       dd_block_start     : OUT    std_logic                      := '0';
    342       dd_block_start_ack : IN     std_logic ;
    343       dd_block_ready     : OUT    std_logic                      := '0';
    344       dd_addr            : OUT    std_logic_vector (11 DOWNTO 0);
    345       dd_data_in         : IN     std_logic_vector (15 DOWNTO 0);
    346       dd_read            : OUT    std_logic                      := '0';
    347       dd_started         : IN     std_logic ;
    348       dd_ready           : IN     std_logic ;
    349       dd_busy            : IN     std_logic ;
     365      dd_block_start           : OUT    std_logic                      := '0';
     366      dd_block_start_ack       : IN     std_logic ;
     367      dd_block_ready           : OUT    std_logic                      := '1';
     368      dd_send                  : IN     std_logic ;
     369      dd_send_ack              : OUT    std_logic                      := '1';
     370      dd_send_ready            : OUT    std_logic                      := '1';
     371      dd_addr                  : OUT    std_logic_vector (11 DOWNTO 0);
     372      dd_data_in               : IN     std_logic_vector (15 DOWNTO 0);
     373      dd_read                  : OUT    std_logic                      := '0';
     374      dd_started               : IN     std_logic ;
     375      dd_ready                 : IN     std_logic ;
     376      dd_busy                  : IN     std_logic ;
     377      dd_write_general         : OUT    std_logic                      := '0';
     378      dd_write_general_started : IN     std_logic ;
     379      dd_write_general_ready   : IN     std_logic ;
    350380      --
    351       fl_addr            : OUT    std_logic_vector (11 DOWNTO 0);
    352       fl_data_in         : IN     std_logic_vector (15 DOWNTO 0);
    353       fl_read            : OUT    std_logic                      := '0';
    354       fl_started         : IN     std_logic ;
    355       fl_ready           : IN     std_logic ;
    356       fl_busy            : IN     std_logic
     381      fl_addr                  : OUT    std_logic_vector (11 DOWNTO 0);
     382      fl_data_in               : IN     std_logic_vector (15 DOWNTO 0);
     383      fl_read                  : OUT    std_logic                      := '0';
     384      fl_started               : IN     std_logic ;
     385      fl_ready                 : IN     std_logic ;
     386      fl_busy                  : IN     std_logic ;
     387      --
     388      get_header               : OUT    std_logic                      := '0';
     389      get_header_started       : IN     std_logic ;
     390      get_header_ready         : IN     std_logic ;
     391      header_board_id          : IN     std_logic_vector (63 DOWNTO 0);
     392      header_firmware_id       : IN     std_logic_vector (15 DOWNTO 0);
     393      header_trigger_counter   : IN     std_logic_vector (31 DOWNTO 0);
     394      header_timestamp_counter : IN     std_logic_vector (47 DOWNTO 0)
    357395   );
    358396   END COMPONENT;
     
    364402   -- FOR ALL : FRAM_4096_16b USE ENTITY FACT_FTM_lib.FRAM_4096_16b;
    365403   -- 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;
    366405   -- FOR ALL : dram_control USE ENTITY FACT_FTM_lib.dram_control;
    367406   -- FOR ALL : eth_config_modul USE ENTITY FACT_FTM_lib.eth_config_modul;
    368407   -- FOR ALL : fram_control USE ENTITY FACT_FTM_lib.fram_control;
     408   -- FOR ALL : header_modul USE ENTITY FACT_FTM_lib.header_modul;
    369409   -- FOR ALL : w5300_modul USE ENTITY FACT_FTM_lib.w5300_modul;
    370410   -- pragma synthesis_on
    371 
    372411
    373412BEGIN
     
    458497         ftu_active_cr3    => ftu_active_cr3
    459498      );
     499   U_9 : dd_write_general_modul
     500      PORT MAP (
     501         clk                      => clk,
     502         dd_write_general         => dd_write_general,
     503         dd_write_general_started => dd_write_general_started,
     504         dd_write_general_ready   => dd_write_general_ready,
     505         dd_busy                  => dd_busy_internal,
     506         dd_write                 => dd_write,
     507         dd_started               => dd_started_general,
     508         dd_ready                 => dd_ready_internal,
     509         dd_addr                  => dd_addr1,
     510         dd_data                  => dd_data
     511      );
    460512   U_8 : dram_control
    461513      PORT MAP (
     
    474526         dd_read                => dd_read,
    475527         dd_write_ftu           => dd_write_ftu,
     528         dd_write_general       => dd_write,
    476529         dd_busy                => dd_busy_internal,
    477530         dd_started             => dd_started,
    478531         dd_started_ftu         => dd_started_ftu,
     532         dd_started_general     => dd_started_general,
    479533         dd_ready               => dd_ready_internal,
    480534         dd_data_out            => dd_data_out,
    481535         dd_data_in_ftu         => dd_data_in_ftu,
     536         dd_data_in_general     => dd_data,
    482537         dd_addr                => dd_addr,
    483          dd_addr_ftu            => dd_addr_ftu
     538         dd_addr_ftu            => dd_addr_ftu,
     539         dd_addr_general        => dd_addr1
    484540      );
    485541   U_4 : eth_config_modul
     
    512568         fl_addr_ftu    => fl_addr_ftu
    513569      );
     570   U_10 : header_modul
     571      PORT MAP (
     572         clk                      => clk,
     573         get_header               => get_header,
     574         get_header_started       => get_header_started,
     575         get_header_ready         => get_header_ready,
     576         header_board_id          => header_board_id,
     577         header_firmware_id       => header_firmware_id,
     578         header_trigger_counter   => header_trigger_counter,
     579         header_timestamp_counter => header_timestamp_counter
     580      );
    514581   U_0 : w5300_modul
    515582      PORT MAP (
    516          clk                => clk,
    517          wiz_reset          => wiz_reset,
    518          addr               => wiz_addr,
    519          data               => wiz_data,
    520          cs                 => wiz_cs,
    521          wr                 => wiz_wr,
    522          led                => led1,
    523          rd                 => wiz_rd,
    524          int                => wiz_int,
    525          busy               => busy,
    526          new_config         => new_config,
    527          config_started     => config_started,
    528          config_started_ack => config_started_ack,
    529          ping_ftu_start     => ping_ftu_start,
    530          ping_ftu_started   => ping_ftu_started,
    531          ping_ftu_ready     => ping_ftu_ready,
    532          sd_addr            => sd_addr,
    533          sd_data_out        => sd_data_in,
    534          sd_data_in         => sd_data_out,
    535          sd_write           => sd_write,
    536          sd_read            => sd_read,
    537          sd_started         => sd_started,
    538          sd_ready           => sd_ready_internal,
    539          sd_busy            => sd_busy_internal,
    540          dd_block_start     => dd_block_start,
    541          dd_block_start_ack => dd_block_start_ack,
    542          dd_block_ready     => dd_block_ready,
    543          dd_addr            => dd_addr,
    544          dd_data_in         => dd_data_out,
    545          dd_read            => dd_read,
    546          dd_started         => dd_started,
    547          dd_ready           => dd_ready_internal,
    548          dd_busy            => dd_busy_internal,
    549          fl_addr            => fl_addr,
    550          fl_data_in         => fl_data_out,
    551          fl_read            => fl_read,
    552          fl_started         => fl_started,
    553          fl_ready           => fl_ready_internal,
    554          fl_busy            => fl_busy_internal
     583         clk                      => clk,
     584         wiz_reset                => wiz_reset,
     585         addr                     => wiz_addr,
     586         data                     => wiz_data,
     587         cs                       => wiz_cs,
     588         wr                       => wiz_wr,
     589         led                      => led1,
     590         rd                       => wiz_rd,
     591         int                      => wiz_int,
     592         busy                     => busy,
     593         new_config               => new_config,
     594         config_started           => config_started,
     595         config_started_ack       => config_started_ack,
     596         ping_ftu_start           => ping_ftu_start,
     597         ping_ftu_started         => ping_ftu_started,
     598         ping_ftu_ready           => ping_ftu_ready,
     599         sd_addr                  => sd_addr,
     600         sd_data_out              => sd_data_in,
     601         sd_data_in               => sd_data_out,
     602         sd_write                 => sd_write,
     603         sd_read                  => sd_read,
     604         sd_started               => sd_started,
     605         sd_ready                 => sd_ready_internal,
     606         sd_busy                  => sd_busy_internal,
     607         dd_block_start           => dd_block_start,
     608         dd_block_start_ack       => dd_block_start_ack,
     609         dd_block_ready           => dd_block_ready,
     610         dd_send                  => dd_send,
     611         dd_send_ack              => dd_send_ack,
     612         dd_send_ready            => dd_send_ready,
     613         dd_addr                  => dd_addr,
     614         dd_data_in               => dd_data_out,
     615         dd_read                  => dd_read,
     616         dd_started               => dd_started,
     617         dd_ready                 => dd_ready_internal,
     618         dd_busy                  => dd_busy_internal,
     619         dd_write_general         => dd_write_general,
     620         dd_write_general_started => dd_write_general_started,
     621         dd_write_general_ready   => dd_write_general_ready,
     622         fl_addr                  => fl_addr,
     623         fl_data_in               => fl_data_out,
     624         fl_read                  => fl_read,
     625         fl_started               => fl_started,
     626         fl_ready                 => fl_ready_internal,
     627         fl_busy                  => fl_busy_internal,
     628         get_header               => get_header,
     629         get_header_started       => get_header_started,
     630         get_header_ready         => get_header_ready,
     631         header_board_id          => header_board_id,
     632         header_firmware_id       => header_firmware_id,
     633         header_trigger_counter   => header_trigger_counter,
     634         header_timestamp_counter => header_timestamp_counter
    555635      );
    556636
Note: See TracChangeset for help on using the changeset viewer.