Jump to content

    

MickeyMouse

Участник
  • Content Count

    34
  • Joined

  • Last visited

Community Reputation

0 Обычный

About MickeyMouse

  • Rank
    Участник

Recent Profile Visitors

351 profile views
  1. Отличная идея делиться дельными скриптами! Можно даже сделать ветку(как на каденсе) где выкладывать скрипты с описаниями.
  2. Гуру который мне посоветовал использовать SC, занимается верификацией более 10 лет и тоже писал и на том и на другом, кроме того он использует так же питон. Основной аргумент в пользу SC - более широкие возможности, готовые библиотеки, комьюнити и т.д. Хотелось бы понять все-таки действительно ли SC для "серьезной" верификации более хорош или это просто его субъективный взгляд. PS/ не стоит меня спрашивать для каких задач мне это нужно сейчас, просто чувствую потребность понемногу осваивать высокоуровневую верификацию...
  3. Решил вот потихоньку начать изучать/применять функциональную верификацию и хотелось бы узнать от опытных разрабов о преимуществах и недостатках двух языков. PS / мне например больше по душе systemVerilog, но в разговоре с одним оченьГуру звучали аргументы про то, что systemC более мощный подход т.к. это "Си" !
  4. Всем привет! Наткнулся на очередной вынос бошки в инновусе при использовании анализа целостности сигнала... Имеется крыжик setOptMode -fixSiSlew который должен помогать исправлять ошибки вызванные SI, а по факту он наоборот к ним приводит) Т.е. как бы работает в режиме инверсии. Попутно столкнулся с отличием в работе команд reportTranViolation и report_constraint -drv_violation_type max_transition. Сталкивался ли кто-то с этим всем БРЕДОМ ???????
  5. Нашел какой-то amsRAK от cadence(совсем скромный правда), там в качестве примера PLL как раз Я вот в последнее время пользуюсь, для характеризации цифровых ячеек само-то
  6. А в чем специфичность?) Во всех гайдах на liberate_ams только и говорят про pll/dll, но примеров к сожалению нет. Да и в принципе во многих задачах SoC/DSP имеются модули PLL и если они самодельные то не плохо бы иметь на них временную и мощностную характеризацию. GUI flow смотрел, там только общие слова, про то как вообще с ним работать.
  7. Добрый день, коллеги! Поделитесь дельным скриптом и опытом для характеризации ФАПЧ (PLL) кому не жалко, христа ради. PS при необходимости, конечно, изложу задачу более детально...
  8. Вообще если говорить все-таки про genus, то получилось 2 способа решения проблемы: 1) Как предложил Alex, делать отдельный маршрут с последующим донттатчем 2) Использовать маршрут партишининга(derive_environment/geterate_ilm/read_ilm/design_assemble) Второй способ как-то не очень прошел(тайминги хуже получаются, но возможно я еще его не до конца вкурил) А указать тулу, как это можно сделать в innovus, через master/clone (т.е. не унифицировать модули) так и не удалось. Скорее всего этого сделать нельзя... Но и первый способ с подводными камнями: почему-то в финальном нетлисте остаются процедуры assign(remove_assign не работает, возможно это из-за неуникальность нетлиста). Это можно поправить на бэкэнде.
  9. Всем привет! Ломаю голову над такой проблемой... Есть инстанция --> module_name #(.param1(value1), .param2(value2) ) instance_name(...); После синтеза она конечно превращается в --> module_name instance_name(...); Как заставить genus протаскивать инстанциирование параметров в нетлисте(несмотря на то что они там уже не используются) ?
  10. Немного не в тему вопрос... Используете ICC2 ? И как он вам в сравнении с Innovus(если работали в нем конечно) ? Если не секрет, чем вызван такой выбор, просто у меня есть хоть и не большой, но опыт работы с ICC2 и для критических дизайнов по таймингам Innovus значительно сильнее(опять же, это не статистическая оценка, всего лишь пара чипов).
  11. Соглашусь с комментариями, лучше с падами. Вы и тайминги сразу закроете на весь дизайн и анализ потребления проведете. Я обычно функциональные пады добавляю на уровне rtl, а силовые уже на бэкэнде. Но вам все-равно нужно указывать констрейны описывающие внешние задержки и нагрузки(по крайней мере для синхронных портов чипа). Ну представьте что у вас имеется путь данных "внешний флоп - пад - внутренний флоп" а вы его не законстрейнили...
  12. Да не, это не то. Не хочется дополнительный маршрут и макро делать, у меня их и так уже больше чем звезд на небе. Сейчас нащупал вариант, синтезировать все а потом выполнять change_link(меняет модуль инстанции), но нужны видимо доп констрейны из-за разных нагрузок на порты клонов.
  13. Всем привет! Кто-нибудь сталкивался с такой проблемой? В дизайне есть N-штук одинаковых модулей, как указать генусу рассматривать их как один модуль инстанцируемый N-раз? По умолчанию генус делает uniquify, в результате имеем N разных модулей - для каждой инстанции свой модуль, а хотелось бы N-инстанций и один модуль( конечно с осознанием того что нетлист уже не уникальный). Есть крыжик minimize_uniquify но он не работает, кроме того по описанию не должен работать на 100%. По сути задача крайне стандартная. Исходя из принципа сквозного маршрута каденса, должен быть какой-то способ делать нормальный партишининг для модулей-клонов в генусе чтобы передать это в инновус.
  14. А можно поподробнее немного?) Как именно это сделать? Я ведь работаю в интерактивном режиме, так то я могу и через grep пропустить текст...