Доброго времени суток.
Уже несколько недель тщетно пытаюсь побороть ULPI. Вроде бы с самим протоколом разобрался и, если я правильно понимаю, моя проблема кроется либо в описании временных ограничений(в этом я не очень силен), либо в колхозности платы(сделано все на макетке, фото приложу ниже). Проблема имеется только с отправкой данных, поэтому далее речь пойдет только о трансмиттере.
Кратко опишу, как это работает. В модуле трансмиттера имеется 2 FIFO буфера. Один нужун для непосредственно данных(TXCMD в том числе), второй для количества передаваемых байт. Соответственно
1. Сначала детектируется то, что второй буфер не пуст
2. Считывается количество байт
3. Считывается первый байт
4. По сигналу NXT считываются следующие байты
5. По окончанию считывания генерируется STP
6. Из-за разности размера входной и выходной шины FIFO ненужные данные читаются в пустую
FPGA использую EP4CE6E22C8(Intel), трансивер FUSB2805, пишу на SystemVerilog.
Код модуля трансмиттера:Код временных ограничений:Фото платы трансивера:P.S. Вроде бы всё описал. Слёзно прошу помощи.