Перейти к содержанию
    

Gowin: использование IODELAY + IEM + IDES

Приветствую, господа.

Может, есть какие-то апноты по созданию приёмника на основе IODELAY + IEM + IDES? Вроде бы чувствую, что с помощью IEM можно отказаться от битовой тренировочной последовательности, но дальше своих чувств и предположений продвинуться не могу.

Кто-нибудь работал с модулем IEM? Где можно найти хоть какое-нибудь описание, кроме состава портов?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Продолжаю свои риторические вопросы.

Читаю в даташите на GPIO, что для IODELAY в GW2A один тап должен соответствовать 18 пс задержки (30 пс для GW1N)

 

Спойлер

image.thumb.png.231e03ca60a7433dd65918e7dfe84c56.png

В модели для IODELAY я вижу 25 пс. Какого, спрашивается, рожна? 

 

Спойлер

image.thumb.png.20a862822a00b72796a91f65f5fcc31e.png

Причём одну и ту же шляпу я наблюдаю в prim_sim.v из папки simlib\gw2a и из simlib\gw1n.

Может, не туда смотрю? Может, у меня даташит или библиотека моделей неактуальные?

Памагити!

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо огромное за труды Ваши 🙂 Очень ценная информация. У Gowin уж такая документация. Притом даже работавшая поддержка писала лажу, а теперь и вообще негде правду искать.

Если Вы на практике проверите реальную задержку и обнародуете результат, чтобы все желающие могли вписать его в модель, - это будет подвиг.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, DSIoffe сказал:

Спасибо огромное за труды Ваши 🙂 Очень ценная информация. У Gowin уж такая документация. Притом даже работавшая поддержка писала лажу, а теперь и вообще негде правду искать.

Если Вы на практике проверите реальную задержку и обнародуете результат, чтобы все желающие могли вписать его в модель, - это будет подвиг.

Уже чешу репку на этот счёт. Но пока что смотреть такие задержки нечем. Даже если оптом по 10 штук...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, fingertouch said:

Уже чешу репку на этот счёт. Но пока что смотреть такие задержки нечем. Даже если оптом по 10 штук...

вроде можно косвенно, через генератор частоты, по его периоду)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Напишу про IEM, вдруг кому-то пригодится.

Более чем все временные соотношения неверны. Во-первых, модель кривая поведенчески, во-вторых, задержки, заданные в модели, могут не соответствовать действительности, как показало расхождение даташита и модели в IODELAY.

Режим MIDSMALL.

image.thumb.png.3d668d7b92ee1a30c838ee02ea97ef93.png

В режиме SMALL сигнал LEAD не появляется вообще никогда (опять же, кривизна модели). Остальные режимы отличаются исключительно моментами появления LAG и выключения LEAD.

А вот так неприглядно выглядит картинка, если входные данные нерегулярные.

image.thumb.png.c5336fd0be7cea5b5d5d6228f9795542.png

Причём как видно, LEAD и LAG меняются вовсе не по MCLK.

Может, очередной привет от модели, а может в примитиве кристалла будет такая же грусть. Так что отказаться от битовой тренировочной последовательности, увы, не получится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну вот и добрались до очередных граблей.

image.thumb.png.44d8c7f3e7f3e8b5bbd2b004f9f5e356.png

Видно плохо, поэтому продублирую словами. Выход IODELAY не может драйвить IEM.

В описании самого IEM, кстати, раздел Connection Rule отсутствует. А судя по структуре входной логики его и подключить то больше некуда, кроме выхода IODELAY или напрямую пада (через мультиплексор).

Всё, приехали?

Есть какие-нибудь идеи или опыт у просвещённой публики?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Продолжаем разматывать использование входных ресурсов для приёма быстрых последовательных потоков данных.

Новости на сегодняшний день следующие.

1. IEM, созданный по заверениям производителей для работы в связке с IODELAY, оказался подключенным не к выходу последнего, а непосредственно ко входному паду. Уж не знаю, это программный баг Gowin FPGA Designer 1.9.8.08, или аппаратная фича кристалла, но в любом случае IEM становится бесполезен. Придётся от него отказаться совсем.

2. На IODELAY отсутствует сброс, что немного усложняет жизнь при перетренировке линии. Начинать придётся не с начала, а с ранее накрученной задержки. 

3. Косвенно измерил задержку на один тап IODELAY. Измерения, конечно, никакой метрологической критики не выдерживают, но хоть что-то о количестве настройщиков пианино в Нью-Йорке Чикаго теперь известно.

Мерял глаз для 675 Мбит/с

Измерение 1

Спойлер

Весь глаз

image.thumb.png.6e6e1cc46e923b7ff49bbf43283584a5.png

Первый кроссовер

image.thumb.png.2dbf205f25514309d8b8d16d13d96db9.png

Последний кроссовер

image.thumb.png.10925be55717615272a7106bb8e56209.png

Длина от первого кроссовера до последнего - 64 тапа

Измерение 2 с дополнительной ёмкостью на линии в виде пальца.

 

Спойлер

Весь глаз

image.thumb.png.babfbef93b2933d27a7a184646d713b7.png

Первый кроссовер

image.thumb.png.befacc2aafcd5483a3dafb9470437174.png

Последний кроссовер

image.thumb.png.366731db1de3f4552da9caea0fcbfa8b.png

Получилось, опять же, 64 тапа.

При длительности битового интервала 1/675 = 1481 пс получаем, что один тап примерно равен 23 пс. Что ближе к модели (25 пс), чем к даташиту (18 пс). Хотя и не соответствует точно ни тому, ни другому.

Изменено пользователем fingertouch

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Привет! Я немного опоздал, но все же дополню 😃 

В даташите на GW1N нашел такую запись

Spoiler

image.thumb.png.1992cefc9d20ddc00443667059083bc7.png

Видимо, 25ps было задокументировано изначально, затем документация была поправлена, а модели - нет.

Почему написали новые значения? Я предположу, потому что задержки IODELAY некалиброваннные (в отличие от Xilinx-а) и в разных PVT условиях могут отличаться. Возможно, перестраховались и вписали самый плохой случай...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...