Jump to content

    

Aleх

Участник
  • Content Count

    201
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Aleх

  • Rank
    Местный

Информация

  • Город
    Array

Recent Profile Visitors

1798 profile views
  1. Почитайте про set_min_delay и set_max_delay, надеюсь они поддерживаются вашим тулом. Но, эта схема не имеет смысла. Представьте, что долгое время data=0, вдруг пришел фронт data=1 -> в R3 записался 0. Следующая запись будет по следующему фронту data=1, и снова запишется 0. Итого, 1 в R3 никогда не запишется, разве только если data --> R3|clk будет ну ооочень длинным путем, длиннее двух периодов clk. Но тогда в R3 всегда будет писаться 1 :-)
  2. С этой технологией не работал, но 1. под Periphery обычно понимают интерфейсную логику, а конкретно под Ultra-High-Performance могут понимать ее LVT/SLVT исполнение. Надо уточнять в доках. 2. память может работать и от ~500мВ, но гарантировать ее работу вам будут где то от 600-700мВ и выше. Т.е. просто не продадут модели на более низкие напряжения. Как ее встраивать - с помощью PMK и lowpower-multyvoltage флоу.
  3. Мне бы хотелось не просто получать код 1 или 0 от операции, но еще и парсить вывод на предмет слов Error, Warning и т.д. Это не то же самое, что играть с Severity level, поскольку severity не всегда можно менять, и потому что хочется большей гибкости - ставить триггер на определенные слова или фразы в выводе. Пока ничего лучше не придумал, чем редиректить вывод в файл и его уже парсить. При этом замечено, что редирект у кэденса иногда работает криво - часть вывода некоторых команд может не редиректиться (пример привести не могу, нет доступа к тулам. я - безработный :-) ). В идеале -сделать систему сбора и обработки всех ошибок и сообщений. Эдакий QA.
  4. foreach id [get_message_ids -type Error] { set_message_info -stop_on -id $id } Это из мануала dc А так, мне тоже было бы интересно сделать обработчик ошибок, но ничего лучше парсера лога я пока не придумал.
  5. Сакральный смысл такой: есть сайт стандарт селлов, ваш селл должен соответствовать этому сайту (если хотите размещать разные селлы вместе), а значит должен быть такой же высоты, или кратен. Ширина должна быть кратна минимальной ширине филлера. То же касается и выреза вашего селла - высота и ширина кратны. И я полагаю что эта же кратность должна быть у OVERLAP - попробуйте. Это же конструкция исключительно для p&r тула. Делать свои сайты типа Fsite из вашего примера, думаю что нет смысла - вы ведь селл хотите ставить вместе со стандартными ячейками, а значит сайт должен быть как у них.
  6. Я такого никогда не делал, и даже ничего подобного не видел. Это альфачип такое чудо выдумал? Вот, заметил: LAYER OVERLAP ; RECT 0 0 5.76 2.8 ; RECT 2.4 2.8 5.76 5.6 ; У вас высота селлов кратна 5.76? Тогда откуда цифра 2.8? Должны отличаться в два раза. Просто, если вы хоть чуть чуть залезете на площадь для размещения других селлов, плейсер не будет эту площадь использовать. Проверьте всю геометрию в лефе, соответствия питчам в теч лефе
  7. У вас за границы селла что то торчит? Т.е. гемеотрия макро в лефе - одна, а внутренние шейпы выпирают наружу, за пределы макро? Если наружу что то неважное торчит, и вы хотите избежать drc, то надо это в obstruction перевести в лефе. А если важное, то лучше размеры селла увеличить. Или использовать команды, что я привел выше. p.s. ааа.. может, у вас селлы многоэтажные? или речь вообще не о стандартных селлах, а о макроблоках?
  8. Я не очень понял, о чем вы пишете, но на тонких процессах часто селлы сделаны так, что ставить их слитно (без зазора) нельзя. В этом случае создаются группы селлов, и специальные правила, как плейсить рядом селлы из разных групп - с каким зазором и т.д. Для референса даю команды specifyCellEdgeSpacing и specifyCellEdgeType, почитайте в мануале. Надеюсь, это то самое, о чем вы спросили :-)
  9. Есть плата - есть и схема, вполне можно восстановить направление выводов. Хотя думаю, давно уже там прошивка стерлась.
  10. Если триггеры не задействованы, то - просто перебор всех комбинаций 2^(число входов) со снятием результата на выходах, потом оформить в виде таблицы и скормить синтезатору навроде espresso. Получите функцию входов для каждого выхода. Если же триггеры задействованы, то надо дополнительно еще один период клока подавать и тоже снимать слепок - задача в два раза сложнее. Т.е. в принципе задача решаема.
  11. Если так, то Вивадо себе сильно жизнь упростило. Выходной пад, а точнее его выходной буфер - обычный усилитель, который работает тем медленнее, чем большая на нем нагрузка. Фактически, в рассматриваемом примере фаза выходного клока будет двигаться в зависимости от приложенной емкости. А вместе с фазой клока будет двигаться и весь тайминг на интерфейсе, который к этому клоку привязан. Но, раз тул не учитывает, значит увы.
  12. Про комплексные числа я действительно не уловил. Значит, восстановить не удастся? Понял. Спасибо
  13. Может быть я ошибаюсь относительно вида сигнала на вейвформе, но точно известно, что составляющие получены из одного исходного синуса путем сдвига фаз и изменения (про затухание я напрасно написал) амплитуды.
  14. Сигнал выглядит как периодический, той же частоты, но с кривой формой. Если вручную сложить несколько синусов, то форма подбирается. Ниужели нельзя это сделать алгоритмически, программой?
  15. От времени никак не зависит. Просто, сложены копии опорного синуса с разной фазой и амплитудой - нужно узнать эти фазы, и - желательно- амплитуды