Jump to content
    

excly

Участник
  • Posts

    63
  • Joined

  • Last visited

Everything posted by excly


  1. Вы совершенно правы. Но цель была именно разобраться с констрейнами))
  2. 50МГц. Это задача, придуманная самим собой для себя же. Просто чтобы Разобраться как работать с констрейнами
  3. Своё мнение по поводу моих выражений(хоть и косноязычных), которые к сути вопроса не относятся, пожалуйста оставьте при себе. Видимо я неправильно понял смысл указания входных задержек. Я думал, что set_input(output)_delay создаю задержку, а не указывают ее. Спасибо, что все мне проясняли.
  4. Доброго времени суток. Пытаюсь разобраться с обконстрейниванием входных портов. Дано: На вход приходят данные и клок. Но восходящий фронт клока стоит не ровно посередине данных. Нужно пододвинуть фронт клока на середину данных. Подскажите, пожалуйста, как это сделать и можно ли потом будет проверить SignalTap'ом результат. Картинка внизу показывает, что именно я хочу получить
  5. тогда буду очень признателен, если подскажете как сделать такой фильтр. Или хотя бы покажете где об этом можно почитать
  6. если я правильно понимаю, то фильтр это синхронизатор? Если да, то лучше заводить на него не только клок, но и данные?
  7. я нашел опцию Termination Input в настройках пина. Там много опций(OCT, Parallel, Parallel with calibration, series, series with calibration). Какую выбирать да и где почитать для каких случаев какую использовать?
  8. обычным проводом. но на частоте в 5МГц, как мне кажется, это не должно сильно влиять никак. просто от выходов одной платы идут провода ко входам в другую
  9. на той ПЛИС, которая генерирует или той, которая принимает?
  10. посмотрел выход той платы, которая генерирует счетчик, на анализаторе и заметил, что в тот момент, когда FF превращается в 00, на линии клока появляется лишний фронт. Видимо так и появляются непонятные данные в FIFO. Вопрос в том, как это победить?
  11. заполнение FIFO идет на 50МГЦ, но не непрерывно, а с паузами между посылками(так было изначально. сейчас частота 5МГЦ, но это ничего не изменило). как только в FIFO набирается количество слов, равное размеру пакета UDP, начинается отправка сначала заголовка, а потом и самих данных, которые и находятся в FIFO на частоте 125МГц. Той же частоте, на которой работает ethernet PHY. процесс заполнения не останавливается. это один и тот же проект. Частота на выходе FIFO 125Мгц. SignalTap получилось завести на 500Мгц, поэтому временная диаграмма на выходе будет не сильно то и точная. Хочу еще раз обратить внимание, что если данные генерируются на этой же ПЛИС, то никаких ошибок не происходит
  12. вывожу по udp. Проблема, видимо не во входах. Смотрел Signal Tap'ом на входе fifo и все стоит ровно. Причем если я генерирую данные на самой ПЛИС и завожу их на FIFO, то все отлично. Но если завожу через ножки(используя тот же модуль генерации данных, только на другой точно такой же плате), то в последовательности появляется лишние 2 байта. Передаю я 16-битный счетчик. FIFO вход 16 бит, выход 8. Ощущение будто данные из FIFO неправильно забираются. Причем это происходит именно тогда, когда данные идут снаружи платы, а не генерируются внутри. И происходит это строго в определенный момент, когда младший байт доходит до FF, например: ...FD05 FE05 FF05 007E 0006 0106. Откуда это 007E вылезает непонятно, причем эти 2 байта всегда разные. На вход FIFO все приходит правильно.
  13. Нашел, где посмотреть. Странно, что не указана частота внешнего клока(который с данными идет), хотя я ее описал в констрейнах.
  14. Фронт клока стоит ровно посередине данных. Подскажите, пожалуйста, где я увижу информацию о рабочей частоте после компиляции
  15. В том случае, когда они приходят снаружи, а не генерируются модулем - клок внешний Добавлю еще, что сигнал с входных ножек сразу заводится на FIFO. Ножки настроены по умолчанию
  16. 50МГц Если я создаю модуль в самой ПЛИС, который генерирует данные, и подаю их на вход принимающего модуля, то все отлично, никаких ошибок нет. Поэтому я и подумал, что дело в настройках ножек. И еще вопрос. Нужно ли входные ножки подтягивать к земле или питанию. Если да, то к чему лучше?
  17. Добрый день. Подскажите, пожалуйста, по какому принципу выбирать силу тока на входных пинах и как может повлиять на работоспособность проекта неправильный выбор этого параметра? Использую плату EthOnd с Cyclone V. На вход идут данные 16 бит и клок. Все снимается нормально, но иногда проскакивают ошибки. Смотрел Signal Tap'ом, фронт клока стоит ровно посередине данных. Могут ли настройки ножек как-то влиять на появление ошибок?
  18. Спасибо огромное. Проблема оказалась именно в размере буфера, который я не указал. На 350Мбит все летит без единой ошибки
  19. Попробовал между 2 компами. Потери примерно такие же. Значит дело в приемной части. Приемный софт писал не я. Сейчас набросал простенький скрипт на Python, который принимает и пишет в файл. Все равно ошибки. Вот код приемного скрипта import socket import sys UDP_PORT = 50016 sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) sock.bind(('', UDP_PORT)) with open(sys.path[0] + '\\data.bin', 'wb') as file: while True: data = sock.recv(2048) file.write(data) if not data: break sock.close()
  20. пропуски есть точно. Я зашил в пакеты счетчик, пишу данные в файл, а потом через скрипт прогоняю и смотрю сколько пропущено. при потоке в 40Мбит потери около 0.02%, 80Мбит - 0.1%, 140Мбит - 0.3%. Как я понял это очень много. Но закономерности по шагу между потерянными пакетами я не вижу. Кроме как в констрейнах RGMII в чем еще может быть проблема?
  21. плата напрямую подключена к компу, поток 50Мегабит, ethernet гигабитный. При увеличении скорости потока данных ошибка увеличивается.
×
×
  • Create New...