Имеется одна прошивка (содержащая проект с сетью) и две отладочные платы Arria II GX 125.
Если залить HW+SW на первую плату, выставить нужные джампера на загрузку юзерского ROM'а, то при включении питания плата нормально загружается, сеть оживает, сервера в проекте стартуют ок.
Если ту же самую прошивку залить на вторую плату (а они обе идентичные, из коробки и без доработок), то при включении питания загружается плис, запускается сеть и.... загрузка тормозится:
Код
InterNiche Portable TCP/IP, v3.1
Copyright 1996-2008 by InterNiche Technologies. All rights reserved.
prep_tse_mac 0
Your Ethernet MAC address is 00:07:ed:ff:a0:39
prepped 1 interface, initializing...
[tse_mac_init]
INFO : TSE MAC 0 found at address 0x0e002400
INFO : PHY Marvell 88E1111 found at PHY address 0x00 of MAC Group[0]
INFO : PHY[0.0] - Automatically mapped to tse_mac_device[0]
INFO : PHY[0.0] - Restart Auto-Negotiation, checking PHY link...
Copyright 1996-2008 by InterNiche Technologies. All rights reserved.
prep_tse_mac 0
Your Ethernet MAC address is 00:07:ed:ff:a0:39
prepped 1 interface, initializing...
[tse_mac_init]
INFO : TSE MAC 0 found at address 0x0e002400
INFO : PHY Marvell 88E1111 found at PHY address 0x00 of MAC Group[0]
INFO : PHY[0.0] - Automatically mapped to tse_mac_device[0]
INFO : PHY[0.0] - Restart Auto-Negotiation, checking PHY link...
Далее все отваливается по таймаутам:
Код
WARNING : PHY[0.0] - Auto-Negotiation FAILED
MARVELL : Enabling auto crossover
MARVELL : PHY reset
MARVELL : Mode changed to RGMII/Modified MII to Copper mode
MARVELL : Enable RGMII Timing Control
MARVELL : PHY reset
INFO : PHY[0.0] - Checking link...
INFO : PHY[0.0] - Link not yet established, restart auto-negotiation...
INFO : PHY[0.0] - Restart Auto-Negotiation, checking PHY link...
WARNING : PHY[0.0] - Auto-Negotiation FAILED
WARNING : PHY[0.0] - Link could not established
WARNING : PHY[0.0] - Auto-Negotiation not completed! Speed = 100, Duplex = Full
OK, x=0, CMD_CONFIG=0x00000000
MAC post-initialization: CMD_CONFIG=0x04000203
[tse_sgdma_read_init] RX descriptor chain desc (1 depth) created
mctest init called
IP address of et1 : 0.0.0.0
Created "Inet main" task (Prio: 2)
Created "clock tick" task (Prio: 3)
DHCP timed out, going back to default IP address(es)
[sss_task] Simple Socket Server listening on port 30
Created "simple socket server" task (Prio: 4)
MARVELL : Enabling auto crossover
MARVELL : PHY reset
MARVELL : Mode changed to RGMII/Modified MII to Copper mode
MARVELL : Enable RGMII Timing Control
MARVELL : PHY reset
INFO : PHY[0.0] - Checking link...
INFO : PHY[0.0] - Link not yet established, restart auto-negotiation...
INFO : PHY[0.0] - Restart Auto-Negotiation, checking PHY link...
WARNING : PHY[0.0] - Auto-Negotiation FAILED
WARNING : PHY[0.0] - Link could not established
WARNING : PHY[0.0] - Auto-Negotiation not completed! Speed = 100, Duplex = Full
OK, x=0, CMD_CONFIG=0x00000000
MAC post-initialization: CMD_CONFIG=0x04000203
[tse_sgdma_read_init] RX descriptor chain desc (1 depth) created
mctest init called
IP address of et1 : 0.0.0.0
Created "Inet main" task (Prio: 2)
Created "clock tick" task (Prio: 3)
DHCP timed out, going back to default IP address(es)
[sss_task] Simple Socket Server listening on port 30
Created "simple socket server" task (Prio: 4)
А теперь странное: если нажать кнопочку FPGA_RESET, то все загружается и работает нормально!!! Че это может быть за хрень такая? Может плата бракованная?
С адресами расположения образа ПЛИС и NIOS внутри флэшки напутать не мог, т.к. то же самое на первой плате работает...
Был вариант с dual-die/single-die флэшками (разные ревизии плат), но при пристальном просмотре - чипы памяти на плате запаяны одинаковые...