Jump to content
    

alexadmin

Свой
  • Posts

    750
  • Joined

  • Last visited

Reputation

0 Обычный

About alexadmin

  • Rank
    Знающий
    Знающий

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

4,642 profile views
  1. Линк запустился не на полной скорости (или это я с эзернетом путаю?)
  2. Если не хочется ломать голову - возьмите ядро AXI Bridge for PCI Express. В нем можно просто писать по адресам, а не вручную формировать очереди запросов.
  3. Я совсем не в теме, но говин были же китайцами вроде. И уже все?
  4. Это артефакты какой-то древней архитектуры. Потом Xilinx переметнулся на правильную стороны, но осадочек остался. У них и биты в модуле PIO, что ли, были когда-то перевернуты ;)
  5. Спасибо, в общем я все правильно придумал. Просто ввело в некоторое недоумение что у зайлинкса в их примере про фифо ничего нет... PS Буфер непосредственно внутри ядра есть на приемной стороне, он и выравнивает скорости. Если буфер не использовать, то они предлагают тактировать интерфейс данных восстановленным клоком.
  6. Добрый день. У меня, что называется, быстровопрос, для тех кто в теме. Никогда ранее не работал с ethernet и вообще пакетной передачей. Использую 10G/25G Ethernet subsystem и к нему прикручен AXI DMA контроллер (примерно как в https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842542/Baremetal+XXV+Ethernet+driver с тем отличием что у них MCDMA, у меня просто DMA), который берет данные для передачи из памяти и пихает в stream-интерфейс ethernet. И точно так же берет принимаемые данные из stream-интерфейса и пишет в память. Никакого fifo-буфера между ними нет. Данные пока передаю в простом loopback на трансивере самому себе. При передаче пакетов я вижу, что в процессе подачи данных на ethernet-контроллер на потоковом интерфейсе могут возникать паузы когда tvalid уходит в 0. Контроллер воспринимает это, видимо, как окончание пакета (несмотря на отсутствие tlast). В итоге на приемной стороне я вместо одного пакета вижу пачку невалидных пакетов разной длины (и, видимо, не в loopback-тесте, а через настоящий свитч, эти пакеты не пройдут). По моим представлениям это должно работать как-то не так. Я так понимаю, нужно обеспечить непрерывную подачу данных на ядро ethernet: Увеличить скорость памяти. Но не факт, что это решит проблему (а с внешней DDR точно не решит) Поставить FIFO-буфер размером в один пакет. Но это какой-то перерасход ресурса (особенно если использовать jumbo-фреймы) и лишняя задержка - нужно включить fifo в packet mode чтобы он накапливал весь пакет, потом только отдавал дальше. Что вообще обычно с этим делают?
  7. Кто ж его знает. Где, кем, когда не синтезируется... Может быть из-за малой разрядности аргументов. Может быть из-за отсутствия регистров по входу. Может быть из-за того, что в вашем проекте и так уже 99% DSP заняты.
  8. Скорость цифровых линий всегда строго пропорциональна частоте сэмплирования. Т.е. для вашего примера 91.33*16*(10/8)/2=913.3Mbps
  9. Можно сбросить констрейн через вызов reset_property, вписав его в скрипт, который будет выполняться на стадии Implementation
  10. Я честно пытался найти где они лежат в виваде и не нашел. Видимо встроены в какие-то ресурсы-архивы. А по одному через gui копировать совершенно несерьезно.
  11. Вставьте посреди пути сигнала какой-нибудь буфер. global или lcell (много lcell). Конкретные величины задержек будут сильно зависеть от используемого семейства микросхем.
  12. В основном loopback через внешнюю плату (для тестирования устройства), отладка JESD-линков с АЦП, гонял in-system IBERT на PCIE как-то, но особо не проникся.
×
×
  • Create New...