Jump to content
    

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

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

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

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

Share this post


Link to post
Share on other sites

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

Читаю в даташите на 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.

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

Памагити!

 

 

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

Share this post


Link to post
Share on other sites

3 hours ago, fingertouch said:

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

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

Share this post


Link to post
Share on other sites

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

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

Режим MIDSMALL.

image.thumb.png.3d668d7b92ee1a30c838ee02ea97ef93.png

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

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

image.thumb.png.c5336fd0be7cea5b5d5d6228f9795542.png

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

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

Share this post


Link to post
Share on other sites

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

image.thumb.png.44d8c7f3e7f3e8b5bbd2b004f9f5e356.png

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

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

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

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

Share this post


Link to post
Share on other sites

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

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

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 пс). Хотя и не соответствует точно ни тому, ни другому.

Edited by fingertouch

Share this post


Link to post
Share on other sites

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

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

Spoiler

image.thumb.png.1992cefc9d20ddc00443667059083bc7.png

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...