Jump to content
    

des00

Модераторы
  • Posts

    9,579
  • Joined

  • Days Won

    4

des00 last won the day on June 30 2023

des00 had the most liked content!

Reputation

25 Очень хороший

7 Followers

About des00

  • Rank
    Вечный ламер
    Гуру
  • Birthday 01/14/1980

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

45,022 profile views
  1. Чуть позже гляну, спасибо) Про чудеса не знаю, не уверен) но повторюсь, у ТС какая то мелкая ПЛИС с гражданской тактовой порядка 50-100МГц. Однотриггерный синхронизатор, даже при наличии комбинационной логики детектора фронта (уже намек что входные сигналы порядка 25-50МГц как максимум), идущей на мелкий КА и в отсутствии констрейнов и всех прочих свистоперделок без которых "CDC точно не заработает", будет с вероятностью 99.9% работать. Проблема у него где-то в другом месте. В этом контексте я и писал) Но полный код и результаты применения советов форума он не выкладывает.
  2. был документ типа вот такого Refined metastability characterization using a time-to-digital converter - ScienceDirect, только более свежий, где то года 2020-2021 го. Исследование, написанное не на коленке. Попал на него случайно, шарился по другому вопросу на форуме саппорта какого то вендора и случайно увидел ссылку. К сожалению в свою файлопомойку я его тогда не сохранил. Но в памяти отразились итоговые таблицы, там были приведены данные на плис начиная с уровня первых максов-динозавров (~5нс), заканчивая последними 16нм хилыми, где и были указанны те самые 100-200пс . Может конечно у меня помутнение рассудка, но вот четко в памяти отразились цифры в таблицах. Я еще пороюсь по ieee, но при 14 часовом рабочем дне это несколько затруднительно. Прошу понять) Из того что нашел в своей файлопомойке это документ от SNUG Silicon Valley 2014, но это не он. Статья довольная старая и для азиководов, там разбирается современный 65нм триггер. ЗЫ. А топик стартер, поставив дополнительный триггер, так и мучается) document (1).pdf
  3. а блин, извините запарился, увидел Carrier Sense и не про то подумал. Тогда что-то очень странное если валид так колбасится. Он на каждом кадре так делает?
  4. не было там никакого заметно хуже, тот самый Питер Алфке писал http://www.pldworld.com/_xilinx/html/tip/metastability.htm еще в 2002 году
  5. да вроде всегда так делали, вычитанием если надо. c = a + b; rslt = (c >= 65535) ? (c - 65535) : c это в случае однорангового, когда с < 2*65535. А сложение двух элементов полей Галуа у вас как раз и замыкается в этом круге. Не знаю есть ли у вашего проца опции условного исполнения команд, но может быть это будет проще чем делить? UPD. Посмотрел выложенный код, чтобы применить этот подход вам надо полностью переписывать все что выложено. Например [MODNN(INDEX_OF[s[i]] + (FCR+i)*PRIM)]; i тут бежит с 0 до NROOTS, и естественно здесь будет не одноранговое деление. Но, например тут не обязательно умножать да еще и каждый блок, т.к. мы работаем в поле, можно вычислить константы уже по модулю MODNN((FCR+i)*PRIM), обеспечив уже попадание этого значения в кольцо 0..65534, а потом, прибавляя элемент INDEX_OF[bla bla bla], вы как раз и получите то что можно делить одним вычитанием. Но это надо полностью переписывать этот декодер и тогда он потеряет свою универсальность, выродившись в собственную кастомную разработку.
  6. так а там же оно аппроксимируется через одноранговое вычитание. ЕМНП все случаи этого остатка связаны с тем что делимое меньше двух делителей.
  7. до кучи марелос-сарагоса, есть хорошие переводы, но в них есть ошибки в примерах)
  8. ну косяк какой то, а вам зачем вообще этот сигнал, наследие времен царя гороха? если вы все равно будете принимать кадр, искать SFD и прочее?
  9. самый лучший вариант из первых рук: сгенерировать xilinx gtp/gtx с полным обвесом и отреверсить) где то года с ~2019 там стали использоваться занятные переходы между доменами, которые до этого момента делались по другому. вам же написали, больше триггеров, больше) ЗЫ. код у вас эквивалентный, проблема явно не там) Какой то документ от хилых был, либо дока с иеее, на предмет оценки этого времени в современных плис. Надо поискать, но так под рукой сейчас нет.
  10. Wimax 802.16-2012 BTC (TPC) кодек. Поддерживаются все компонентные коды с динамическим переключением, но без укорочения. Ресурсы кодера : LUT/REG/RAMB ~310/~300/1.5 >250MHz (up to 250Mbps) Ресурсы декодера для внешней метрики 4 бита: Decoder : LUT/REG/RAMB 4.8k/5.2k/2.5 >250MHz (~100-200Mbps) Производительность для 4-х итераций. (57, 64)x(57, 64) = 4889 tick (26, 32)x(26, 32) = 1561 tick (11, 16)x(11, 16) = 665 tick (4, 8)x(4, 8) = 345 tick (63, 64)x(63, 64) = 4743 tick (31, 32)x(31, 32) = 1417 tick (15, 16)x(15, 16) = 521 tick (7, 8)x(7, 8) = 256 tick Типовые характеристики для кода (26, 32)х(57, 64)
  11. дадада, а потом начинается нечто подобное: подсобите люди добрые, не могу SPI slave на 100МГц сделать, где взять частоту 300/400МГц (с) Это к вопросу понимания, а именно о том что надо помнить, что за любой синхронизатор надо платить, в частности латентностью. Это тоже надо держать в уме любителям гарантированных результатов которые суют их во все места по умолчанию не отдавая себе отчет в том что они делают UPD. Накину докучи, даже зайлинкс уже отказывается в собственных корках от многотриггерных синхронизаторв, заменя их на "полуасинхронные" (название мое), но нет, мы все же будем ставить по 3 и более триггера ибо это гарантия еще от дидов)
  12. Попросите он покажет, вангую что там чип меньше 200го артикса, заполненный на 30% и частоты порядка тех что указал, и задержки роутинга именно этой цепи порядка пары нс. Не согласен, нужно дополнить вашу фразу в вашем любимом стиле: в том случае если задержка распространения до входа следующего тригера(ов) сравнима с периодом тактовой частоты используемого тактового сигнала Ну пусть поставит, напишет результат, посмотрим поможет ли и чье вангование сильнее. ИМХО лучше понимать что делаешь и почему делаешь именно так, а то форум послушать так и на 1МГц надо ставить обязательно 2-3 регистра, а иначе работать нибудет аяяяй.
  13. Так и понимать, что линейки из 3 и более триггеров (Как советовали выше, можно и 4 и 8 поставить, но ТС это не поможет с вероятностью 99.9%) на гражданских частотах и современных плис уже не актуальны. Вы же лучше меня знаете, что метастабильность возникает не сама по себе, а именно при нахождении сигнала на входе триггера в промежуточном состоянии в узком окне th-tsu, в момент действия фронта тактовой частоты. Если нет фронта тактовой частоты она не возникнет никогда. Без триггера метастабильности нет. Время выхода из этого состояния определеляется технологическими параметрами и чем скоростнее и тоньше плис тем это время меньше. Справочные таблицы можно найти на сайте вендоров, там указано это время. И для современных плис порядок этого времени я указал. А может и не быть равным, если логика стоит тут рядом, а не тянется через всю плис. У ТС детектор фронта на входе КА, который делается на соседних логических блоках, с задержками до пары нс, при его тактовой порядка 100-150МГц. Времени для устаканивания сигналов вагон. ЗЫ. Роутер по умолчанию минимизирует задержку, может конечно в ваших проектах он и тянет сигнал в случае детектора фронта кольцами вокруг ультраскейла сотки, но вот я ни разу не видел что бы он был настолько туп. В таких схемах он делает по максимально короткому пути в соседний логический блок.
  14. я ни говорил что не надо с ней бороться, вы не внимательно читаете. наверное потому вам и странно. возникла, после этого через 100-200пс ушла, для тактовой 200МГц есть еще целых 4.8нс на то что бы все устаканилось на входе следующего (щих) триггеров до следующего фронта тактовой частоты.
×
×
  • Create New...