Поиск
Показаны результаты для тегов 'artix-7'.
-
Доброго всем дня, Столкнулся с ещё одной проблемой наличия линка на PCI-E у плат с Артиксами, причём в этот раз LTSSM не может пройти дальше практически самой начальной фазы - Detect.Active, т.е. не отрабатывает процедура Receiver Detection. В описании GTP есть следующий пункт: Судя по нему в начале процедуры определения наличия приёмника ПЛИС должна установить уровень сигнала на линиях TXN и TXP равным (Vdd - Vswing/2). Отдельный вопрос, какое именно значение Vswing они считают правильным, но я предполагаю что 500 мВ. Vdd судя по всему это Vmgtavtt, т.е. 1,2 В. Т.е. в итоге на выходах ПЛИС должно появиться значение напряжения около 0,95 В. Далее, судя по описанию, происходит отключение управляющей цепи и уровень сигнала должен вернуться к Vcmoutac (1,2 В / 2 = 0,6 В) и ПЛИС через заданный интервал должна измерить величину напряжения на линиях TXP/TXN, по которому принимается решение о наличии на линии приёмника. Это полностью согласуется с логикой описания этого процесса в спецификации PCI-E: Однако по факту я наблюдаю совсем другую картину: 1. перед началом процедуры определения приёмника напряжение на выходах 560 мВ; 2. при включении режима определения приёмника на выходе ПЛИС появляется уровень 1,18 В с крутым фронтом (если приёмника нет или он не готов), если приёмник есть и с ним всё хорошо, то уровень около 960 мВ. 3. далее передатчик ПЛИС формирует крутой спад сигнала и уровни возвращаются к исходным 560 мВ; Т.е. не видно никакого длительного процесса заряда-разряда конденсатора, по которому бы ПЛИС с помощью компаратора (сравнивающего уровень сигнала в линии с опорным значением) могла судить о наличии приёмника на другом конце. Напротив, всё выглядит так, что ПЛИС формирует достаточно мощный импульс и в зависимости от получившегося практически стабильного по времени уровня напряжения принимает решение о наличии/отсутствии приёмника. Проблема в том, что на некоторых слотах x16 (подключённых напрямую к процессору) процессор далеко не сразу правильно настраивает свои приёмники (подключает терминаторы) или они не сразу включаются и в результате ПЛИС не может определить их наличие, а значит пойти дальше по графу состояний LTSSM. При этом особенно интересно, что в то же самое время, пока ПЛИС не может определить наличие приёмника на другом конце, процессор успешно видит приёмник в ПЛИС и начинает слать TS1/TS2, пытаясь поднимать линк. Однако через некоторый таймаут всё это прекращается, т.к. он по всей видимости не дожидается получения TS1/TS2 от ПЛИС, что логично, т.к. ПЛИС не видит приёмника. Т.е. по факту процессор сам себе обрубает линк с платой. При этом после тёплого ресета линк стабильно поднимается (процессор прогрелся и у него стало всё хорошо? 😉). Такое поведение наблюдается на паре материнских плат и число чудящих Artix`ов всего два. При этом такая проблема далеко не нова - https://support.xilinx.com/s/article/51135?language=en_US Правда в моём случае процессор не третьего, а четвёртого поколения, для которого такой эрраты в доступной документации нет и значение TX_RXDETECT_REF уже равно рекомендованному 3'b011. На проблемных платах помогает уменьшение TX_RXDETECT_REF до значения 3'b010, при этом на рабочих платах увеличение значения TX_RXDETECT_REF до 3'b100 ломает установку линка. Однако логика работы параметра TX_RXDETECT_REF непонятна, т.к. в первую очередь кажется, что этот параметр определяет пороговое значение опорного уровня сигнала внутренного компаратора, при котором приёмник считается подключенным к линии. Однако если установить значение 3'b000, то я вижу, что максимальный уровень выходного сигнала ПЛИС в процессе проверки наличия приёмника снижается до 1,03 В вместо исходных 1,18 В. При этом Detect.Active пролетает с первого раза. Если всё так хорошо, то почему AMD (Xilinx) рекомендует ставить 3'b010 в крайнем случае и то после консультации с их техподдержкой? Есть-ли у кого-нибудь понимание, как на самом деле работает механизм определения наличия приёмника у Xilinx в седьмой серии? В шестой серии, судя по осциллограммам, механизм реализован плюс-минус также. Чем на практике чревата установка низких значений TX_RXDETECT_REF? PS: предложения вида "забить и забыть" принимаются, но игнорируются, т.к. в серии возможны массовые отказы и/или проблемы в совместимости. Поэтому ищется решение, которое бы гарантировало работоспособность плат на Артиксах в максимально широком спектре материнских плат и платформ.
-
Всем доброго времени суток, Возникла проблема с работой платы с XC7A25T-1CSG325 на материнских платах с интеловскими чипсетами 3хх и 4хх серий в слоте x16 (подключен напрямую к процессору) после ресета по кнопке. Т.е. сразу после включения питания плата определяется, линк есть, регистры платы пишутся и читаются без каких-либо ошибок и сбоев, но сразу после ресета системы по кнопке Reset или после перезагрузки системы через меню операционной системы линк пропадает и плата больше не определяется до следующего выключения/включения. При этом на той же материнской плате эта плата прекрасно работает в других слотах. Ещё более интересно, что такое странное поведение наблюдается только на одной из пяти одинаковых по схемотехнике и топологии плат, взятых из одной партии. Остальные четыре платы запускаются/работают и после ресета. При этом сбоящая плата чудит только в материнских платах фирмы MSI, в аналогичных платах на 3хх и 4хх чипсетах других производителей (например, Asus) она работает. Инструкция Xilinx по отладке проблем с PCI-E изучена от корки до корки, но никаких результатов это не принесло. С физикой проблем нет, т.к. на других мат.платах сбоящая плата работает даже через удлинитель, сделанный из кабеля USB 3.0 длиной около полуметра. Пробовал ресетить плату в проблемном слоте вручную, замыкая PERST# на землю и сразу после ресета линк пропадает и далее успешно восстанавливается. Однако если в процессе или после "ручного" ресета отресетить систему, то линк пропадает окончательно и бесповоротно. Дальнейшие ручные ресеты уже ничего не дают. Ядро сконфигурировано в режиме Gen1 (2.5 GT/s). В BIOS для слота x16 выбран режим Gen1. Это не помогает. Что ещё стоит попробовать, куда еще можно посмотреть (какие сигналы ядра)?
- 50 ответов
-
- pci-e
- link training
- (и ещё 4 )
-
Нужен xilinx 7 серии, pcie m.2 Acorn cle-215+, litefury, nitrefury и другие
-
- fpga
- fpga xilinx
-
(и ещё 2 )
C тегом:
-
HDMI на Artix AC701
Jul'etta опубликовал тема в Языки проектирования на ПЛИС (FPGA)
Приветствую. Задача: вывести на монитор тестовый шаблон по HDMI на Artix AC701. Исходные данные: работаю в Vivado 2017.1, имеется монитор Dell 2408WFP с поддержкой HDMI, и, собственно, сама плис Artix. Изображение для начала можно любого формата, главное, чтоб заработало. Я взяла режим 1920х1080р 60Гц, 24-Bit RGB (4:4:4) с раздельной синхронизацией. Проблема: Первая и самая главная - изображение отсутствует. Однако сигнал, судя по анализатору ILA в виваде, идет. У меня в наличии еще имеется маленький 7 дюймовый монитор hdmi lcd 1024x600 для raspberry pi (режим, разумеется, поменяла), на нем отображается не соответствующая шаблону картинка да еще и скачущая. Возможно, проблема с синхронизацией? Подробно о моем проекте. Создала в вивадо стандартный проект с процессором Microblaze (картинку прикрепила). Из документа ac701-schematic узнаю, что на борту артикс есть некая микросхема ADV7511 - это кодек HDMI, обеспечивает интерфейс между плис и портом hdmi, откликается по адресу 0х39. Дальнейшее изучение назначений ножек привело меня к еще одной микросхеме - PCA9548 - это IIC мультиплексор. Т.е. чтобы получить доступ к ADV, нужно пройти через коммутатор IIC по адресу 0х74. Нам нужно использовать 5 канал этого коммутатора для доступа к ADV. Из официального документа AN-1270 фирмы Analog Devices на микросхему ADV я нашла схему, как "собрать" все это безобразие плюс исходные коды на верилог для создания собственного IP ядра в виваде. Итак, картинка сложилась: добавляем в проект собственное ядро ADV7511 c предоставленными кодами (на схеме выделено красным), добавляем ядро AXI-IIC (выделено зеленым), поскольку для вывода в формате HDMI микросхема ADV должна быть запрограммирована на запись в соответствующие регистры IIC. Еще добавила блок Clock Wizard для генерации т.н. pixel frequency (для режима 1080p - 148.5 МГц) - на картинке выделен голубым. Ну и разумеется, прога в SDK для "оживления" всей этой аппаратной части. Сразу замечу, что скрипт для шины IIC из документа AN1270 вызвал у меня некоторые подозрения, ибо там дублируются одни и те же регистры с разными значениями. Поэтому в SDK я прописала значения регистров, взятые из ADV7511 Programming guide. Помогите, пожалуйста. Я много копалась на форуме Xilinx, но пока решение не нашла. Уповаю на наше сообщество. Если нужны еще подробности, документы с которыми работаю, все предоставлю. AN-1270.pdf -
В связи с моральным устареванием и сложившимся на рынке дефицитом ПЛИС серии Spartan-6, компания Xilinx рекомендует своим заказчикам переходить на более новые серии – Spartan-7, Artix-7 и Artix Ultrascale+ и предлагает принять участие в бесплатных вебинарах компаний-партнеров - Hardent и PLC2. Подробнее
-
fpga xilinx Xilinx повышает цены на свою продукцию
МакроГрупп опубликовал тема в Объявления пользователей
С 8 ноября 2021 г. цены на продукцию Xilinx будут увеличены следующим образом: увеличение на 10% для всей серии Versal™. увеличение на 20% для всех остальных товаров. Подробнее -
Инженеров-разработчиков и сотрудников ИТ-отделов приглашаем принять участие в техническом семинаре, посвящённом новейшим продуктам компании Xilinx. Семинар пройдёт в городе Минск 24 мая Подробнее
-
Компания Xilinx объявила о существенном расширении линейки своих 16 нм устройств UltraScale+ - Artix UltraScale+. Подробнее...
-
Комплект Artix-7 50T FPGA Evaluation Kit (Avnet)
Максим1961 опубликовал тема в Продам
Продам отладочный комплект Artix-7 (AES-A7EV-7A50T-G). Новый, коробка не открывалась. Описание по ссылке: https://www.xilinx.com/products/boards-and-kits/1-4pilqh.html Цена: 20 000 руб. Территориально - Москва. Отправка почтой не проблема.