Jump to content

    

Aleх

Участник
  • Content Count

    258
  • Joined

  • Last visited

Everything posted by Aleх


  1. Кроме -from и -to есть еще ключ -through, как раз ваш случай. Работает через пин или порт, а в некоторых тулах еще и через цепь.
  2. Есть типовые схемы соединения интерфейсов. К примеру, TTL 3.3 к 3.3 можно подключать напрямую, 5 к 3.3 с резистором (если не заявлена толерантность к 5в), и т.д. Ну а если интересует общий случай, или, как в вашем эксперименте, надо подать больше чем разрешено в документации, то делайте просто внешние clamping diode, иначе сожжете все. И дело не во входном токе - для пробоя достаточно просто превысить напряжение на затворе транзистора (входе пада) на некую величину, а сколько там потом потечет тока, уже не важно - чип можно выбрасывать. Внешний диод защитит от перенапряжения -зашунтирует вход, сливая ток через себя, и при этом логика будет работать. Главное, если диод слишком мощный, то не спалить LDO/БП и т.д, :-)
  3. Там дело не в ЭСР - ток течет не постоянно, а импульсами, в моменты подачи питания (на вход, и на внутренюю логику). Думаю, это просто ток перезаряда внутренних емкостей в паде - они заряжаются внешним током, а далее ток падает до уровня утечки. Другими словами, это просто небольшой короткий импульс в момент коммутации чипа и платы под напряжением, а параметр 300мкА определяет максимальный безопасный ток как для металла разварки пада, так и для зарядки внутреннего конденсатора (не знаю, специально там конденсатор стоит, или просто паразитная емкость). Т.е. описывается какая то очень частная ситуация, которая к обычной жизни отношения не имеет.
  4. Эта дока (hot socketing) говорит о максимальном выходном токе, а не входном. Испытания на ESD - действительно конденсатор и резистор, но напряжение меряется после резистора. Т.е. характеристика ESD у падаь-напряжение, и измеряется в вольтах (киловольтах), а не в амперах
  5. Про физическую структуру не понял. На 99.9% эта структура - КМОП. А напряжение на входном пине зависит от того что на него подали, а не из чего он сделан. Далее, защита от статики (ESD) измеряется в киловольтах, а не амперах. На испытаниях на вход подают короткий импульс высокого напряжения (а не тока), и защита от статики должна дать стечь этому заряду на землю. Поэтому вопрос о безопасном входном токе тоже непонятен.
  6. Защита по току, это просто резистор, а не clamping diod. Диод - это защита от повышенного напряжения на входе. Сабатывает, когда потенциал входа выше питания (или ниже земли) на 0.2-0.7В (зависит от диода). Смысл защиты - не допустить перенапряжения, которое может привести к пробою входных моп-транзисторов. Сам защитный диод имеет предельный ток, который через него можно пропустить в случае срабатывания защиты. И, если защиту отключить, то важен не ток БП, а только напряжение пробоя на сигнальном входе.
  7. Само по себе создание PDK - дело не хитрое: измериловка да софт, и чуть чуть знаний различных форматов, чтобы тулы не плевались. К тому же, поскольку речь идет о купленных фабах, то всегда есть рыба от продавца, которую надо только допилить. Годами наблюдал эволюцию pdk для разных процессов от Микрона, А-Т и Курчатника. Специалистов на эти задачи (создание pdk) в РФ - хватает, на мой взгляд.
  8. К сожалению, дело не в деньгах. Репутация РФ на западе просела до уровня банановой республики на задворках африки - сюда просто боятся ехать. С того же А-Т ингстранцы сдернули в 2014 сразу после ввода санкций. Боятся санкций, боятся за свою жизнь (по телевизору промыв мозгов не хуже чем в РФ). Слышал, что кто то еще работает на Крокусе, но Крокус старательно отгораживается от политики и оборонки, и да - ооочень много им платит. Итого, что имеем? Если кто вообще и приедет, то в лучшем случае молодые (наиболее склонные к риску) и потому неопытные.
  9. Технологов в РФ давно уже не готовят. По словам знакомого, закончившего МИЭТ, там был соотв. факультет, который закрыли еще в 90х. А больше вузов с такой специальностью в РФ нет. Возраст последних выпускников-технологов - около 50 и старше, учить новому их можно, но вот захотят ли? Иностранцы не поедут. Вывод - российские фабы обречены, как не крути: химию закупить можно, оборудование, а работать не кому. Последний яркий пример - Ангстрем Т, где изза кривых рук разломали две линейки 90 и 180, из частей которых кое как собрали едва работающую 250, которая уже никому оказалась не нужна
  10. Судя по тексту ворнинга и площади (0) у вас перекрытие с другим фенсом
  11. Не надо использовать set_clock_latency , особенно после CTS. Просто наберите set_propagated_clock и выполните тайм репорт еще раз
  12. У вас, до CTS включительно, цепь клока идеальная (задержка 0) до каждого из синков. А после CTS автоматически включается propagate, т.е. все задержки в цепи клока становятся реальные, включая участок До root pin, который вы использовали при констрейнте клока. Этот участок До, и есть insertion delay. Я бы не советовал его перезадавать через set_clock_latency после CTS - это неправильно: set_clock_latency используется в синтезе, плейсе и cts для эмуляции отсуствующего клокового дерева - иногда это позволяет выжать немного больше частоты, особенно в пайплайнах. Но после CTS этот констрейнт надо убирать - его заменяют реальные задержки реального дерева. Что касается PLL, то здесь весь вопрос в том, есть ли в проекте внешний интерфейс, работающий по входному клоку. Если таких интерфейсов нет, то root pin можно смело задавать с выхода pll. Ну и повторюсь, у кеденса/инновуса есть команда, которая расписывает подробно, как тул считает тайминг в отдельно взятой арке. Какие данные берет из либерти, какие емкости учитываются, какие дерейты, и т.д. - все очень и очень подробно, так чтобы не оставалось вопросов. Можете взять эту команду и посмотреть как тул считает insertion delay. Команда называется что то вроде report arc delay calculation, поищите, точное название я подзабыл - давно не пользовался. p.s. нагуглил https://www.micro-ip.com/STA/dictionary_412_17/report_delay_calculation.html это sdc команда, но в кеденсе я точно ей пользовался
  13. Это задержка цепи извне. Складывается из емкости вх. пина/пада, transition, uncertainty, и если были наложены set-clock-latency. В вашем случае, судя по всему, это емкость и транзишн на входе. У кэденса была команда - показать детальный расчет тайм-арки. Что то вроде report arc delay calculation. Там все будет расписано что и как тул считает, взятые цифры из констрейнтов и либов. У синопсиса тоже есть такая команда. Поищите, если интересно p.s. а как видно из первого репорта, если тул хочет сдвинуть расчет на число полупериодов (это число следует из констрейнта формы клока и особенностей дерева - клокгейты и т.д.), тул в это значение задержки добавляет или вычитает нужное число полупериодов.
  14. Клокгаторы (clockgator) надо писать очень аккуратно, сводя вмешательство в цепь клока к минимуму. Основное правило - управление формируется инверсным клоком. Если клокгатор написан правильно, тул должен определить его как OR- тип или AND-тип. Если этого не произошло, есть спец констрейнты для указания на клокгатор в проекте. Отличие клокгатора от клокгейта (на защелке) - тайминг самого клокгатора зажат с двух сторон, меньше гибкости для построения дерева. Попробуйте поэкспериментировать сначала с одним клокгатором в дизайне, и таймингом через него. В целом, если клокгейтов в библиотеке нет, я советую использовать просто флопы с разрешением записи (код придется переписать).
  15. У вас там клокгаторы (комб. клок гейты) в цепи клока. С ними часто бывают проблемы, поскольку тул не понимает как правильно считать фазы клока, отсюда и фэйз шифты и инсершн делэи. Прежде чем разбираться с клокгаторами, выясните - не ошибка ли это в ртл, и если не ошибка, то почему не поставили нормальный (с защелкой) клок гейт. И если в ртл все правильно, и нужны именно клокгаторы - разберитесь что на них правильно подается управление (тактируется инверсным клоком). По моему опыту, в 99% здесь кривой ртл.
  16. Заземление штука хорошая, но есть проблема - в доме с заземлением обязательно нужна грозозащита. Я в свое время подумал, и отказался от этой затеи, уж очень хлопотно.
  17. Да это много кто делает, вот еще ссылка https://racyics.de/products/abb-ip-platform/ Конкретно долфин известен в РФ низкими ценами и отвратительной тех. пождержкой. По первой причине очень популярен в РФ (ну и наутех их впаривает изо всех сил). С другой стороны - саппорт какой никакой но есть. У фаундри должна быть дока на стандарт селлы, где расшировываются названия либов. Скорее всего приведенный корнер имеет высокий порог, что в сочетании с м40 и низким питанием дает нам слоу.
  18. SSG -slow slow global, модель транзистора, питание и температуру вы написали. Это все слоу корнера, любой из них может быть худшим при определенных условиях. Советую найти в документации Timing Sign-Off guide и в нем таблицу mandatory corners - там список корнеров всяко меньше, чем полный комплект от фаба. Берите оттуда любой слоу корнер, либо все слоу (если синтез MCMM/MMMC). Но на мой взгляд, в синтезе не принципиально - взяли вы просто медленный корнер или самый-самый медленный. p.s. Касательно угла М40 - он может быть слоу из-за т.н. температурной инверсии - при снижении температуры растет порог, и если питание низкое, то порог начинает сильно влиять на задержки, они растут - угол становится слоу.
  19. @quato_a Спасибо! Почитаю, как это имплементировать в железе. Раньше о такой функции (conj) не слышал. @petrov Согласен, но в моей задаче они помогают получить это самое комплексное число, из которого я вытаскиваю угол и амплитуду. С помощью арктангенса Re/Im и корня из суммы квадратов. К тому же, во всех статьях что я нагуглил, фазу измеряют именно так (коррелятор, но почему то не Герель). Плюс, есть еще совсем примитивный/неточный способ - формировать строб и заполнять его импульсами, с последующим подсчетом. А как бы вы решили эту задачу?
  20. @petrov У меня задача - отправить сигнал, и принять отражение, а потом вычислить сдвиг фазы в отражении. Вот я и перебрал все варианты вычисления фазы: Герцеля, БПФ на одну частоту, и корелятор. Т.е. я искал вовсе не фильтр, а способ посчитать фазу. И выбор не в пользу коррелятора/БПФ - как написал выше, Герцель проще, а результат вроде бы той же точности (не знаю как оценить точность, и вообще сравнивать алгоритмы, кроме сложности их реализации). Хотя, по идее, фильтр мне тоже полезен, поскольку приемный сигнал слегка зашумлен, и шум предположительно только белый.
  21. @dragonfly Спасибо огромное! Стало намного понятнее. Кажется, я перебрал все что бывает для вычисления сдвига фазы. Кроме разложения в ряд, но и там наверное то же самое. Если сравнивать БПФ на одну частоту и Герцеля, то у Герцеля явно меньше констант надо хранить, и меньше умножений. Выходит, Герцель сильно проще в реализации (на мк с плавающей точкой). Вопрос исчерпан
  22. Вопрос возник. Частный случай БПФ для одного спектрального отсчета, и алгоритм коррелятора - это случаем не одно и то же? Поясню. Прочитал статью "МЕТОДЫ ПОВЫШЕНИЯ ТОЧНОСТИ ИЗМЕРЕНИЯ ДАЛЬНОСТИ В ЛАЗЕРНЫХ ФАЗОВЫХ ДАЛЬНОМЕРАХ" и попробовал посчитать в экселе, сравнить с Герцелем. Результат получился очень близок к Герцелю, но что смутило - у меня вышло, что БПФ на один бин и коррелятор - одно и то же, одинаковые умножения на синус и косинус, и последующее накопление. Все одинаково и результат одинаков. Либо я где то что то не понял, либо ... почему тогда называются по разному? Назвали бы коррелятор частным случаем БПФ, и все. p.s. Разложение в ряд пока не осилил. За совет большое спасибо, разберусь, но пока в экселе не работает.
  23. @blackfin Спасибо! Так вот сходу даже не знаю с какой стороны подойти к этой формуле, но буду разбираться. Главное, чтобы этот алгоритм хорошо ложился на stm32 c fpu. С ПЛИС связываться не хочется, все же это хоббийная разработка. @Dragon_Fly Меня сначала смутило, что при наличии нулей на входе фильтр может выдать левые данные. Но, подумал, если данные с АЦП не выравнивать по уровню относительно ноля, то такой ситуации не возникнет. Значит, можно использовать. По поводу остального - задача считать фазу, как можно точнее. И, сигнал конечно же приходит зашумленный. А фильтр или БПФ или разложение в ряд - мне без разницы, главное результат. Я почему то решил, что мне нужен БИХ. Но, попробую Гильберта если он окажется точнее, спасибо!
  24. Всем спасибо! Получил два результата. 1. Герцель на 128 точек заработал (в экселе). Амплитуда, фаза - все четко работает. 2. На 4096 точек расчет синуса в экселе немного плывет по фазе (из-за округлений, или я криворуко закодил таблицу), и действительно - результат тоже дает неверную фазу. Впрочем, может быть еще найду у себя ошибку. @dragonfly Резонатор мне не нужен, совсем. А КИХ фильтр так же себя ведет? Сигнал мне чистить не надо, просто измерить фазу-амплитуду на интересующей частоте. Желательно, как можно точнее. Синхронный детектор, как я слышал - что то примитивное и не точное, поэтому я и обратился к БПФ/КИХ/БИХ.
  25. @Самурай Спасибо! Попробую частоты подвигать, чтобы точно в бин попасть. И, я правильно понял, что фазу все же можно вычислить - если запускать дискретизатор синхронно с источником сигнала? И еще вопрос. Что точнее для вычисления фазы -БИХ фильтр по алгоритму Герцеля, или КИХ фильтр?