Changeset 10900 for firmware


Ignore:
Timestamp:
06/01/11 16:52:22 (13 years ago)
Author:
neise
Message:
it compiles but doenst work....
Location:
firmware/FAD/FACT_FAD_20MHz_VAR_PS/FACT_FAD_lib/hdl
Files:
2 added
7 edited

Legend:

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

    r10225 r10900  
    22--
    33-- Created:
    4 --          by - daqct3.UNKNOWN (IHP110)
    5 --          at - 17:35:41 03.03.2011
     4--          by - dneise.UNKNOWN (E5B-LABOR6)
     5--          at - 13:20:47 01.06.2011
    66--
    7 -- Generated by Mentor Graphics' HDL Designer(TM) 2009.1 (Build 12)
     7-- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10)
    88--
    99LIBRARY ieee;
     
    3333--
    3434-- Created:
    35 --          by - daqct3.UNKNOWN (IHP110)
    36 --          at - 17:35:41 03.03.2011
     35--          by - dneise.UNKNOWN (E5B-LABOR6)
     36--          at - 13:20:48 01.06.2011
    3737--
    38 -- Generated by Mentor Graphics' HDL Designer(TM) 2009.1 (Build 12)
     38-- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10)
    3939--
    4040LIBRARY ieee;
  • firmware/FAD/FACT_FAD_20MHz_VAR_PS/FACT_FAD_lib/hdl/fad_board_struct.vhd

    r10883 r10900  
    22--
    33-- Created:
    4 --          by - daqct3.UNKNOWN (IHP110)
    5 --          at - 11:58:57 27.05.2011
    6 --
    7 -- Generated by Mentor Graphics' HDL Designer(TM) 2009.1 (Build 12)
     4--          by - dneise.UNKNOWN (E5B-LABOR6)
     5--          at - 15:10:43 01.06.2011
     6--
     7-- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10)
    88--
    99LIBRARY ieee;
     
    7474--
    7575-- Created:
    76 --          by - daqct3.UNKNOWN (IHP110)
    77 --          at - 11:58:58 27.05.2011
    78 --
    79 -- Generated by Mentor Graphics' HDL Designer(TM) 2009.1 (Build 12)
     76--          by - dneise.UNKNOWN (E5B-LABOR6)
     77--          at - 15:10:44 01.06.2011
     78--
     79-- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10)
    8080--
    8181LIBRARY ieee;
  • firmware/FAD/FACT_FAD_20MHz_VAR_PS/FACT_FAD_lib/hdl/fad_definitions.vhd

    r10892 r10900  
    193193
    194194-- for W5300 modul2
    195 constant W5300_RAM_ADDR_WIDTH : integer := 14;
     195constant W5300_RAM_ADDR_WIDTH : integer := 17;
    196196
    197197-- not needed
  • firmware/FAD/FACT_FAD_20MHz_VAR_PS/FACT_FAD_lib/hdl/fad_main_struct.vhd

    r10883 r10900  
    22--
    33-- Created:
    4 --          by - daqct3.UNKNOWN (IHP110)
    5 --          at - 11:58:56 27.05.2011
     4--          by - dneise.UNKNOWN (E5B-LABOR6)
     5--          at - 13:22:03 01.06.2011
    66--
    7 -- Generated by Mentor Graphics' HDL Designer(TM) 2009.1 (Build 12)
     7-- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10)
    88--
    99LIBRARY ieee;
     
    8282--
    8383-- Created:
    84 --          by - daqct3.UNKNOWN (IHP110)
    85 --          at - 11:58:57 27.05.2011
     84--          by - dneise.UNKNOWN (E5B-LABOR6)
     85--          at - 13:22:04 01.06.2011
    8686--
    87 -- Generated by Mentor Graphics' HDL Designer(TM) 2009.1 (Build 12)
     87-- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10)
    8888--
    8989library ieee;
  • firmware/FAD/FACT_FAD_20MHz_VAR_PS/FACT_FAD_lib/hdl/spi_interface_struct.vhd

    r10744 r10900  
    22--
    33-- Created:
    4 --          by - daqct3.UNKNOWN (IHP110)
    5 --          at - 08:31:16 18.05.2011
     4--          by - dneise.UNKNOWN (E5B-LABOR6)
     5--          at - 13:20:48 01.06.2011
    66--
    7 -- Generated by Mentor Graphics' HDL Designer(TM) 2009.1 (Build 12)
     7-- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10)
    88--
    99LIBRARY ieee;
     
    3838--
    3939-- Created:
    40 --          by - daqct3.UNKNOWN (IHP110)
    41 --          at - 08:31:16 18.05.2011
     40--          by - dneise.UNKNOWN (E5B-LABOR6)
     41--          at - 13:20:48 01.06.2011
    4242--
    43 -- Generated by Mentor Graphics' HDL Designer(TM) 2009.1 (Build 12)
     43-- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10)
    4444--
    4545LIBRARY ieee;
  • firmware/FAD/FACT_FAD_20MHz_VAR_PS/FACT_FAD_lib/hdl/w5300_interface.vhd

    r10888 r10900  
    5353        signal RST_TIME : integer range 0 to 500000 := 500000; 
    5454
    55         signal reset_counter : integer range 0 to RST_TIME := 0; 
     55        signal reset_counter : integer range 0 to 500000 := 0; 
    5656        signal ready : std_logic := '0';
    5757begin
  • firmware/FAD/FACT_FAD_20MHz_VAR_PS/FACT_FAD_lib/hdl/w5300_modul2.vhd

    r10891 r10900  
    4141     
    4242     
     43      -- to be removed:
     44      led : out std_logic_vector (7 downto 0) := X"00";
     45      socket_tx_free_out : out std_logic_vector (16 downto 0) := '0' & X"0000";
    4346
    4447          -- FAD configuration signals:
     
    105108type state_init_type is (
    106109        INTERRUPT, RESET, WAIT_FOR_RESET,
    107         WRITE_REG, READ_REG,
    108         WRITE_DATA,
    109         INIT, LOCATE, IM, MT,
    110         STX0, STX1, STX2, STX3,
    111         SRX0, SRX1, SRX2, SRX3,
    112         MAC0, MAC1, MAC2,
    113         GW0, GW1,
    114         SNM0, SNM1,
    115         IP0, IP1,
    116         --TIMEOUT,
    117         RETRY,
    118         SI_MR, SI_IMR, SI_PORTOR, SI_PORT, SI_SSR, SI_CR_OPEN, SI_IS_OPEN, SI_CR_LISTEN,
    119         SI, SI1, SI1b, SI2, SI3, SI4, SI5, SI6, ESTABLISH, EST1,
     110        INIT,
     111                LOCATE, IM, MT,
     112                STX0, STX1, STX2, STX3,
     113                SRX0, SRX1, SRX2, SRX3,
     114                MAC0, MAC1, MAC2,
     115                GW0, GW1,
     116                SNM0, SNM1,
     117                IP0, IP1,
     118        -- Socket initialisiation
     119        SI_MR, SI_IMR, SI_PORTOR, SI_PORT, SI_SSR, SI_CR_OPEN, SI_IS_OPEN, SI_CR_LISTEN,
     120        ESTABLISH, EST1,
    120121       
    121         CONFIG, WAIT_100NS, WAIT_UNTIL_DG_IDLE,
    122         CONFIG_MEMORY_MANAGER, WAIT_FOR_CONFIG_MEMORY_MANAGER,
    123         CONFIG_DATA_GENERATOR, WAIT_FOR_CONFIG_DATA_GENERATOR,
    124         CONFIG_DAC_ONLY, WAIT_FOR_CONFIG_DAC_ONLY,
     122        MAIN,
     123        CONFIG,
     124                WAIT_100NS, WAIT_UNTIL_DG_IDLE,
     125                CONFIG_MEMORY_MANAGER, WAIT_FOR_CONFIG_MEMORY_MANAGER,
     126                CONFIG_DAC_ONLY, WAIT_FOR_CONFIG_DAC_ONLY,
     127        MAIN1,
     128                READ_DATA,
     129        MAIN2, MAIN3,
     130                WRITE_DATA
    125131       
    126         MAIN, MAIN1, MAIN2, MAIN3, CHK_RECEIVED, READ_DATA
     132-- these states do not exist anymore.           
     133--      WRITE_REG, READ_REG,
     134--      --TIMEOUT,
     135--      RETRY,
     136--      CONFIG_DATA_GENERATOR, WAIT_FOR_CONFIG_DATA_GENERATOR,
     137-- CHK_RECEIVED,
    127138);
    128139
    129140type state_write_type is (
    130         WR_START,
    131         WR_GET_EVT_ID_WAIT1, WR_GET_EVT_ID1, WR_GET_EVT_ID_WAIT2, WR_GET_EVT_ID2,
    132         WR_MOD7_STARTED, WR_WAIT_FOR_MOD7,
    133         WR_CHECK_FOR_FIFO_SPACE_01, WR_CHECK_FOR_FIFO_SPACE_02, WR_CHECK_FOR_FIFO_SPACE_03, WR_CHECK_FOR_FIFO_SPACE_04,
    134         WR_05_PREPARE_LENGTH_INFO, WR_05_POSTPREPARE_LENGTH_INFO,
    135         WR_STRANGE_WAIT,
    136         WR_ACK, WR_WAIT_FOR_ACK,
    137         WR_HEADER_FETCH, WR_HEADER_WAIT, WR_HEADER,
    138         WR_FIFO, WR_FIFO1, WR_ADC, WR_ADC1, WR_ADC2,
    139         WR_ENDFLAG, WR_ENDFLAG1, WR_ENDFLAG2
     141        WR_START,
     142                WR_GET_EVT_ID_WAIT1, WR_GET_EVT_ID1, WR_GET_EVT_ID_WAIT2, WR_GET_EVT_ID2,
     143                WR_MOD7_STARTED, WR_WAIT_FOR_MOD7,
     144                WR_CHECK_FOR_FIFO_SPACE_01, WR_CHECK_FOR_FIFO_SPACE_02, WR_CHECK_FOR_FIFO_SPACE_03, WR_CHECK_FOR_FIFO_SPACE_04,
     145                WR_HEADER_FETCH, WR_HEADER_WAIT, WR_HEADER,
     146                WR_ADC, WR_ADC1, WR_ADC2,
     147                WR_STRANGE_WAIT,
     148                WR_ENDFLAG_WAIT, WR_ENDFLAG,
     149                WR_ENDFLAG2_WAIT, WR_ENDFLAG2,
     150                WR_05_PREPARE_LENGTH_INFO, WR_05_POSTPREPARE_LENGTH_INFO,
     151                WR_MESSAGE_LEN_HIGH_WORD, WR_MESSAGE_LEN_LOW_WORD, WR_SEND_COMMAND,
     152                WR_ACK, WR_WAIT_FOR_ACK
    140153);
    141154type state_interrupt_1_type is (IR1_01, IR1_02, IR1_03, IR1_04);
     
    181194signal drs_cnt : integer range 0 to 3 := 0;
    182195signal channel_cnt : integer range 0 to 9 :=0;
    183 signal socket_cnt : integer range 0 to 7 := 0;
     196signal socket_cnt : std_logic_vector (2 downto 0 ) := "000";
     197-- should be integer range 0 to 7 := 0; , but I didn't manage to get it working...
    184198signal roi_max : std_logic_vector (10 downto 0) := (others => '0');
    185199
     
    417431                                        when IR1_03 =>
    418432                                                state_init <= INTERRUPT;
    419                                                 socket_cnt <= 0;
     433                                                socket_cnt <= "000";
    420434                                                int_flag <= '0';
    421435                                                interrupt_ignore <= '1';
     
    444458                                                        when IR2_CHECK_WHICH_SN_IRQ =>
    445459                                                                if (ready_wi = '1') then
    446                                                                         if (data_read(socket_cnt) = '1') then -- Sx Interrupt
     460                                                                        if (data_read(conv_integer(socket_cnt)) = '1') then -- Sx Interrupt
    447461                                                                                state_interrupt_2 <= IR2_GET_SN_IR;
    448462                                                                        else
     
    483497                                                               
    484498                                                                        if (socket_cnt = 7) then
    485                                                                                 socket_cnt = 0;
    486                                                                                 state_interrupt_2 <= IR2_WAIT_UNTIL_SOCKS_CLOSED;
     499                                                                                socket_cnt <= "000";
     500                                                                                state_interrupt_2 <= IR2_WAIT_SOCKn_CLOSED;
    487501                                                                        else
    488502                                                                                state_interrupt_2 <= IR2_GET_IR;
     
    493507                                                                if (ready_wi = '1') then
    494508                                                                        wiz_addr <= W5300_S0_CR + socket_cnt * W5300_S_INC;
    495                                                                         read_wi = '1';
     509                                                                        read_wi <= '1';
    496510                                                                        state_interrupt_2 <= IR2_WAIT_SOCKn_CLOSED;
    497511                                                                end if;
     
    501515                                                                        if (data_read = X"0000") then --closed
    502516                                                                                if (socket_cnt = 7) then
    503                                                                                         socket_cnt <= 0;
     517                                                                                        socket_cnt <= "000";
    504518                                                                                        state_interrupt_2 <= IR2_GOTO_RESET;
    505519                                                                                else
     
    516530                                                                state_interrupt_1 <= IR1_01;
    517531                                                                state_interrupt_2 <= IR2_GET_IR;
    518                                                                 socket_cnt <= 0;
     532                                                                socket_cnt <= "000";
    519533                                                                state_init <= RESET;
    520                                                         when others =>
    521                                                                 null;
     534                                                        --when others =>
     535                                                                --null;
    522536                                                        end case;
    523537                                               
     
    530544                                                socks_waiting <= '0';
    531545                                                socks_connected <= '0';
    532                                                 socket_cnt <= 0;
     546                                                socket_cnt <= "000";
    533547                                                interrupt_ignore <= '0';
    534548                                               
     
    799813                                        when SI_PORT =>
    800814                                                wiz_addr <= W5300_S0_PORTR + socket_cnt * W5300_S_INC;
    801                                                 wiz_data <= conv_std_logic_vector(FIRST_PORT + socket_cnt, 16);
     815                                                wiz_data <= conv_std_logic_vector(FIRST_PORT + unsigned(socket_cnt), 16);
    802816                                                if (ready_wi = '1') then
    803817                                                        write_wi <= '1';
     
    832846                                                        socket_cnt <= socket_cnt + 1;
    833847                                                        if (socket_cnt = 7) then
    834                                                                 socket_cnt <= 0;
     848                                                                socket_cnt <= "000";
    835849                                                                state_init <= ESTABLISH;
    836850                                                        else
     
    857871                                                                when X"17" => -- established
    858872                                                                        if (socket_cnt = 7) then
    859                                                                           socket_cnt <= 0;
     873                                                                          socket_cnt <= "000";
    860874                                                                          busy <= '0';
    861875                                                                          state_init <= MAIN;
     
    11881202                                                        end if;
    11891203
    1190                                                 when others =>
    1191                                                         state_sig <= X"3F";
     1204                                                --when others =>
     1205                                                        --state_sig <= X"3F";
    11921206                                                end case; -- state_data_read
    11931207               
     
    12651279                                                                state_write <= WR_CHECK_FOR_FIFO_SPACE_03;
    12661280                                                                read_wi <= '1';
    1267                                                         end if
     1281                                                        end if;
    12681282                                                       
    12691283                                                when WR_CHECK_FOR_FIFO_SPACE_03 =>
     
    12821296                                                        else
    12831297                                                                if (local_write_header_flag = '1') then
    1284                                                                         state_write <= WR_HEADER_FETCH_1ST;
     1298                                                                        state_write <= WR_HEADER_FETCH;
    12851299                                                                else
    12861300                                                                        state_write <= WR_ADC;
     
    13021316                                                        state_sig <= X"4A";
    13031317                                                        ram_addr <= local_ram_start_addr + local_ram_addr;
    1304                                                         state_write <= WR_HEADER_WAIT_1ST;
     1318                                                        state_write <= WR_HEADER_WAIT;
    13051319                                               
    13061320                                                when WR_HEADER_WAIT =>
     
    13801394                                                                        wiz_addr <= W5300_S0_TX_FIFOR + local_socket_nr * W5300_S_INC;
    13811395                                                                        wiz_data <= ram_data;
    1382                                                                         write_wi = '1';
     1396                                                                        write_wi <= '1';
    13831397                                                                        number_of_words_written_to_fifo <= number_of_words_written_to_fifo + 1;
    13841398                                                                        data_cnt <= data_cnt + 1;
     
    14221436                                                                wiz_addr <= W5300_S0_TX_FIFOR + local_socket_nr * W5300_S_INC;
    14231437                                                                wiz_data <= ram_data;
    1424                                                                 write_wi = '1';
     1438                                                                write_wi <= '1';
    14251439                                                                number_of_words_written_to_fifo <= number_of_words_written_to_fifo + 1;                                 
    14261440                                                                ram_addr <= adc_data_addr + ((conv_integer(roi_max) + CHANNEL_HEADER_SIZE) * 4) + 1;
     
    14341448                                                                wiz_addr <= W5300_S0_TX_FIFOR + local_socket_nr * W5300_S_INC;
    14351449                                                                wiz_data <= ram_data;
    1436                                                                 write_wi = '1';
     1450                                                                write_wi <= '1';
    14371451                                                                number_of_words_written_to_fifo <= number_of_words_written_to_fifo + 1;
    14381452                                                                state_write <= WR_STRANGE_WAIT;
     
    14551469                                                       
    14561470                                                when WR_MESSAGE_LEN_HIGH_WORD =>
    1457                                                         if (ready_i = '1') then
     1471                                                        if (ready_wi = '1') then
    14581472                                                                wiz_addr <= W5300_S0_TX_WRSR + local_socket_nr * W5300_S_INC;
    14591473                                                                wiz_data <= (0 => write_length_bytes (16), others => '0');
     
    14761490                                                                wiz_data <= X"0020"; -- Send
    14771491                                                                write_wi <= '1';
    1478                                                         end if
     1492                                                        end if;
    14791493                                                        state_write <= WR_ACK;
    14801494                                               
     
    14941508                                                       
    14951509                                               
    1496                                                 when others =>
    1497                                                         null;
     1510                                                --when others =>
     1511                                                        --null;
    14981512                                                end case;
    14991513                                                -- End WRITE_DATA
    15001514                                               
    15011515                               
    1502                                         when others =>
    1503                                                 null;
     1516                                        --when others =>
     1517                                                --null;
    15041518                                end case;
    15051519                        end if; -- int_flag = '0'
Note: See TracChangeset for help on using the changeset viewer.