Ignore:
Timestamp:
07/16/10 16:25:44 (15 years ago)
Author:
dneise
Message:
DRS addresses may not be set via
sa 44 0 .. 31
Location:
FPGA/FAD/stable/FACT_FAD/FACT_FAD_lib/hdl
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • FPGA/FAD/stable/FACT_FAD/FACT_FAD_lib/hdl/control_manager_beha.vhd

    r246 r252  
    3636      ram_write_en      : OUT    std_logic_vector (0 DOWNTO 0);
    3737      dac_array         : OUT    dac_array_type;
    38       roi_array         : OUT    roi_array_type
     38      roi_array         : OUT    roi_array_type;
     39      drs_address       : OUT    std_logic_vector (3 DOWNTO 0);
     40      drs_address_mode  : OUT    std_logic
    3941   );
    4042
     
    5355  signal int_dac_array : dac_array_type := DEFAULT_DAC;
    5456  signal int_roi_array : roi_array_type := DEFAULT_ROI;
     57  signal int_drs_address: std_logic_vector (3 DOWNTO 0) := DEFAULT_DRSADDR;
     58  signal int_drs_address_mode: std_logic := DEFAULT_DRSADDR_MODE;
    5559
    5660BEGIN
     
    6670       
    6771        when CTRL_INIT =>
     72          -- WRITES DEFAULT VALUES IN config ram
    6873          addr_cntr <= addr_cntr + 1;
    6974          ram_addr <= conv_std_logic_vector(addr_cntr, ADDR_WIDTH);
     
    7681          elsif (addr_cntr < NO_OF_ROI + NO_OF_DAC) then
    7782            ram_data_in <= conv_std_logic_vector(int_dac_array(addr_cntr - NO_OF_ROI), 16);
     83          elsif (addr_cntr < NO_OF_ROI + NO_OF_DAC + 1) then
     84            ram_data_in <=  "0000" & "0000"
     85                            & "000" & conv_std_logic_vector(int_drs_address_mode, 1)
     86                            & int_drs_address;
    7887          else
    7988            ram_write_en <= "0";
     
    8291     
    8392        when CTRL_IDLE =>
     93          --
    8494          addr_cntr <= 0;
    8595          ram_write_en <= "0";
     
    119129            dac_array(addr_cntr - NO_OF_ROI) <= conv_integer(ram_data_out);
    120130            ctrl_state <= CTRL_LOAD_ADDR;
    121           else
     131          elsif (addr_cntr < NO_OF_ROI + NO_OF_DAC + 1) then
     132             drs_address <= ram_data_out(3 downto 0);
     133             drs_address_mode <= ram_data_out(4);
     134             ctrl_state <= CTRL_LOAD_ADDR;
     135          else
    122136            addr_cntr <= 0;
    123137            config_started <= '0';
  • FPGA/FAD/stable/FACT_FAD/FACT_FAD_lib/hdl/control_unit_struct.vhd

    r246 r252  
    22--
    33-- Created:
    4 --          by - Benjamin Krumm.UNKNOWN (EEPC8)
    5 --          at - 12:04:03 23.06.2010
     4--          by - dneise.UNKNOWN (TU-CC4900F8C7D2)
     5--          at - 14:46:37 12.07.2010
    66--
    77-- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10)
     
    2525      config_started    : OUT    std_logic  := '0';
    2626      dac_array         : OUT    dac_array_type;
     27      drs_address       : OUT    std_logic_vector (3 DOWNTO 0);
     28      drs_address_mode  : OUT    std_logic;
    2729      roi_array         : OUT    roi_array_type;
    2830      config_data       : INOUT  std_logic_vector (15 DOWNTO 0)
     
    3739--
    3840-- Created:
    39 --          by - Benjamin Krumm.UNKNOWN (EEPC8)
    40 --          at - 12:04:03 23.06.2010
     41--          by - dneise.UNKNOWN (TU-CC4900F8C7D2)
     42--          at - 14:46:37 12.07.2010
    4143--
    4244-- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10)
     
    9395      ram_write_en      : OUT    std_logic_vector (0 DOWNTO 0);
    9496      dac_array         : OUT    dac_array_type ;
    95       roi_array         : OUT    roi_array_type
     97      roi_array         : OUT    roi_array_type ;
     98      drs_address       : OUT    std_logic_vector (3 DOWNTO 0);
     99      drs_address_mode  : OUT    std_logic
    96100   );
    97101   END COMPONENT;
     
    137141         ram_write_en      => ram_wren,
    138142         dac_array         => dac_array,
    139          roi_array         => roi_array
     143         roi_array         => roi_array,
     144         drs_address       => drs_address,
     145         drs_address_mode  => drs_address_mode
    140146      );
    141147
  • FPGA/FAD/stable/FACT_FAD/FACT_FAD_lib/hdl/fad_board.ucf

    r246 r252  
    1010
    1111#Test Trigger input on 'Testpoint near W5300'
    12 #NET W_T<3> LOC  = R19 | IOSTANDARD=LVCMOS33;           #ok
    13 NET TEST_TRG LOC  = R19 | IOSTANDARD=LVCMOS33 | PULLUP;
     12#NET _TW<3> LOC  = R19 | IOSTANDARD=LVCMOS33;           #ok
     13NET TEST_TRG LOC  = R19 | IOSTANDARD=LVCMOS33;
    1414
    1515
     
    229229NET A1_T<2> LOC  = AC12 | IOSTANDARD=LVCMOS33;          #ok
    230230NET A1_T<3> LOC  = AC14 | IOSTANDARD=LVCMOS33;          #ok
    231 #NET A1_T<4> LOC  = AC15 | IOSTANDARD=LVCMOS33;         #ok
     231NET A1_T<4> LOC  = AC15 | IOSTANDARD=LVCMOS33;          #ok
    232232#NET A1_T<5> LOC  = AB16 | IOSTANDARD=LVCMOS33;                 #ok
    233233#NET A1_T<6> LOC  = AC16 | IOSTANDARD=LVCMOS33;         #ok
  • FPGA/FAD/stable/FACT_FAD/FACT_FAD_lib/hdl/fad_board_struct.vhd

    r246 r252  
    22--
    33-- Created:
    4 --          by - dneise.UNKNOWN (TU-CC4900F8C7D2)
    5 --          at - 12:42:19 02.07.2010
     4--          by - dneise.UNKNOWN (E5B-LABOR6)
     5--          at - 15:25:14 14.07.2010
    66--
    77-- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10)
     
    2727      W_INT      : IN     std_logic;
    2828      X_50M      : IN     STD_LOGIC;
    29       A1_T       : OUT    std_logic_vector (3 DOWNTO 0);
     29      A1_T       : OUT    std_logic_vector (7 DOWNTO 0)   := (OTHERS => '0');
    3030      A_CLK      : OUT    std_logic_vector (3 DOWNTO 0);
    3131      D0_SRCLK   : OUT    STD_LOGIC;
     
    7272--
    7373-- Created:
    74 --          by - dneise.UNKNOWN (TU-CC4900F8C7D2)
    75 --          at - 12:42:20 02.07.2010
     74--          by - dneise.UNKNOWN (E5B-LABOR6)
     75--          at - 15:25:14 14.07.2010
    7676--
    7777-- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10)
     
    9595   SIGNAL CLK_25_PS      : std_logic;
    9696   SIGNAL CLK_50         : std_logic;
    97    SIGNAL SRCLK          : std_logic := '0';
     97   SIGNAL SRCLK          : std_logic                    := '0';
    9898   SIGNAL TRG_OR         : std_logic;
    9999   SIGNAL adc_data_array : adc_data_array_type;
    100100   SIGNAL board_id       : std_logic_vector(3 DOWNTO 0);
    101101   SIGNAL crate_id       : std_logic_vector(1 DOWNTO 0);
     102   SIGNAL drs_channel_id : std_logic_vector(3 DOWNTO 0) := (others => '0');
    102103   SIGNAL dummy          : std_logic;
    103    SIGNAL not_TEST_TRG   : STD_LOGIC;
    104104   SIGNAL sensor_cs      : std_logic_vector(3 DOWNTO 0);
    105    SIGNAL trigger_out    : STD_LOGIC := '0';
    106 
    107    -- Implicit buffer signal declarations
    108    SIGNAL RSRLOAD_internal : std_logic;
    109105
    110106
     
    148144   );
    149145   END COMPONENT;
    150    COMPONENT debouncer
    151    GENERIC (
    152       WIDTH : INTEGER := 17
    153    );
    154    PORT (
    155       clk         : IN     STD_LOGIC ;
    156       --           rst : in  STD_LOGIC;
    157       trigger_in  : IN     STD_LOGIC ;
    158       trigger_out : OUT    STD_LOGIC  := '0'
    159    );
    160    END COMPONENT;
    161146
    162147   -- Optional embedded configurations
    163148   -- pragma synthesis_off
    164149   FOR ALL : FAD_main USE ENTITY FACT_FAD_lib.FAD_main;
    165    FOR ALL : debouncer USE ENTITY FACT_FAD_lib.debouncer;
    166150   -- pragma synthesis_on
    167151
     
    228212   -- HDL Embedded Text Block 8 eb2
    229213   -- eb2 8                                       
    230    A1_T(0) <= dummy;
    231    A1_T(1) <= RSRLOAD_internal;
    232    A1_T(2) <= D0_SROUT;
    233    A1_T(3) <= D1_SROUT;
     214   A1_T(3 downto 0) <= drs_channel_id;
     215   D_A <= drs_channel_id;
     216   A1_T(4)  <= TRG_OR;
    234217
    235218
     
    237220   DAC_CS <= dummy;
    238221
    239    -- ModuleWare code(v1.9) for instance 'I1' of 'inv'
    240    not_TEST_TRG <= NOT(TEST_TRG);
    241 
    242222   -- ModuleWare code(v1.9) for instance 'I2' of 'or'
    243    TRG_OR <= TRG OR trigger_out;
     223   TRG_OR <= TRG OR TEST_TRG;
    244224
    245225   -- Instance port mappings.
     
    262242         CLK_25_PS      => CLK_25_PS,
    263243         CLK_50         => CLK_50,
    264          RSRLOAD        => RSRLOAD_internal,
     244         RSRLOAD        => RSRLOAD,
    265245         SRCLK          => SRCLK,
    266246         adc_oeb        => OE_ADC,
    267247         dac_cs         => dummy,
    268248         denable        => DENABLE,
    269          drs_channel_id => D_A,
     249         drs_channel_id => drs_channel_id,
    270250         drs_dwrite     => DWRITE,
    271251         led            => D_T,
     
    281261         wiz_data       => W_D
    282262      );
    283    I_debouncer : debouncer
    284       GENERIC MAP (
    285          WIDTH => 17
    286       )
    287       PORT MAP (
    288          clk         => CLK_50,
    289          trigger_in  => not_TEST_TRG,
    290          trigger_out => trigger_out
    291       );
    292 
    293    -- Implicit buffered output assignments
    294    RSRLOAD <= RSRLOAD_internal;
    295263
    296264END struct;
  • FPGA/FAD/stable/FACT_FAD/FACT_FAD_lib/hdl/fad_definitions.vhd

    r246 r252  
    104104  constant DEFAULT_DAC : dac_array_type := (20972, 34079, 20526, 0, 28836, 28836, 28836, 28836);
    105105  --constant DEFAULT_DAC : dac_array_type := (others => 0);
     106 
     107  constant DEFAULT_DRSADDR : std_logic_vector (3 downto 0):= "0000";
     108  constant DEFAULT_DRSADDR_MODE : std_logic := '0';
     109
     110 
    106111
    107112-- Commands
  • FPGA/FAD/stable/FACT_FAD/FACT_FAD_lib/hdl/fad_definitions.vhd.bak

    r246 r252  
    5151        constant W5300_SUBR : std_logic_vector (9 downto 0) := W5300_BASE_ADR + X"14";
    5252        constant W5300_SIPR : std_logic_vector (9 downto 0) := W5300_BASE_ADR + X"18";
     53        constant W5300_RTR : std_logic_vector (9 downto 0) := W5300_BASE_ADR + X"1C";
     54        constant W5300_RCR : std_logic_vector (9 downto 0) := W5300_BASE_ADR + X"1E";
    5355        constant W5300_TMS01R : std_logic_vector (9 downto 0) := W5300_BASE_ADR + X"20";
    5456        constant W5300_TMS23R : std_logic_vector (9 downto 0) := W5300_BASE_ADR + X"22";
     
    8082
    8183  constant LOG2_OF_RAM_SIZE_64B : integer := 15;
    82   constant RAM_SIZE_64B : integer := 2**LOG2_OF_RAM_SIZE_64B;
     84  --constant RAM_SIZE_64B : integer := 2**LOG2_OF_RAM_SIZE_64B;
     85  constant RAM_SIZE_64B : integer := 24576;
    8386  constant RAM_SIZE_16B : integer := RAM_SIZE_64B * 4;
    8487
     
    101104  constant DEFAULT_DAC : dac_array_type := (20972, 34079, 20526, 0, 28836, 28836, 28836, 28836);
    102105  --constant DEFAULT_DAC : dac_array_type := (others => 0);
     106 
     107  constant DEFAULT_DRSADDR : std_logic_vector (3 downto 0):= X"0";
     108  constant DEFAULT_DRSADDR_MODE : std_logic := '0';
     109
     110 
    103111
    104112-- Commands
  • FPGA/FAD/stable/FACT_FAD/FACT_FAD_lib/hdl/fad_main_struct.vhd

    r246 r252  
    33-- Created:
    44--          by - dneise.UNKNOWN (TU-CC4900F8C7D2)
    5 --          at - 12:42:19 02.07.2010
     5--          at - 14:46:38 12.07.2010
    66--
    77-- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10)
     
    6060-- Created:
    6161--          by - dneise.UNKNOWN (TU-CC4900F8C7D2)
    62 --          at - 12:42:19 02.07.2010
     62--          at - 14:46:38 12.07.2010
    6363--
    6464-- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10)
     
    106106   SIGNAL dac_array              : dac_array_type;
    107107   SIGNAL data_out               : std_logic_vector(63 DOWNTO 0);
     108   SIGNAL drs_address            : std_logic_vector(3 DOWNTO 0)                 := (others => '0');
     109   SIGNAL drs_address_mode       : std_logic;
     110   SIGNAL drs_channel_internal   : std_logic_vector(3 DOWNTO 0)                 := (others => '0');
    108111   SIGNAL drs_clk_en             : std_logic                                    := '0';
    109112   SIGNAL drs_read_s_cell        : std_logic                                    := '0';
     
    170173      config_started    : OUT    std_logic  := '0';
    171174      dac_array         : OUT    dac_array_type ;
     175      drs_address       : OUT    std_logic_vector (3 DOWNTO 0);
     176      drs_address_mode  : OUT    std_logic ;
    172177      roi_array         : OUT    roi_array_type ;
    173178      config_data       : INOUT  std_logic_vector (15 DOWNTO 0)
     
    351356   drs_dwrite <= dwrite AND dwrite_enable;
    352357
     358   -- ModuleWare code(v1.9) for instance 'U_0' of 'mux'
     359   u_0combo_proc: PROCESS(drs_channel_internal, drs_address,
     360                          drs_address_mode)
     361   BEGIN
     362      CASE drs_address_mode IS
     363      WHEN '0' => drs_channel_id <= drs_channel_internal;
     364      WHEN '1' => drs_channel_id <= drs_address;
     365      WHEN OTHERS => drs_channel_id <= (OTHERS => 'X');
     366      END CASE;
     367   END PROCESS u_0combo_proc;
     368
    353369   -- Instance port mappings.
    354370   I_main_adc_buffer : adc_buffer
     
    379395         config_started    => config_started_cu,
    380396         dac_array         => dac_array,
     397         drs_address       => drs_address,
     398         drs_address_mode  => drs_address_mode,
    381399         roi_array         => roi_array,
    382400         config_data       => config_data
     
    429447         adc_oeb               => adc_oeb,
    430448         adc_otr               => adc_otr,
    431          drs_channel_id        => drs_channel_id,
     449         drs_channel_id        => drs_channel_internal,
    432450         drs_dwrite            => dwrite,
    433451         drs_clk_en            => drs_clk_en,
Note: See TracChangeset for help on using the changeset viewer.