Jump to content

    

Aleх

Участник
  • Content Count

    158
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Aleх

  • Rank
    Частый гость

Информация

  • Город
    Array

Recent Profile Visitors

1462 profile views
  1. Холды на синтезе смотреть - нет смысла, только если совсем грубые ошибки в констрейнтах искать - в малтисайклах, клокгейтах и т.д. В остальном, быстрые корнера и анализ холда в синтезе - только вастить машинное время и зажимать тул. Больше вреда чем пользы. Имхо
  2. На вскидку (доки под рукой нет) выглядит правильно, разве что пропущено set_analysis_view Но хочу заметить, что для синтеза достаочно только рассматривать углы с максимальными задержками, а поскольку на 65 нм такой угол скорее всего один, то можно было ограничиться только wc либой, без введения mmmc с кучей корнеров.
  3. Видел эту новость в интернете .. там ведь так и написано - сделан кастом эсик. А значит, цифрой пока и не пахнет. Библиотек нет, минимального набора кастом блоков нет, процесс древний, фаб находится в юса. Не думаю, что это будет интересно кому то, особенно в РФ.
  4. Почему в обеих либах селлы называются одинаково? Если это одна и та же (физически) либа, но под разные PVT корнера, то надо вводить эти самые корнера.
  5. Цель какая? Если разные модули доложны быть физически реализованы на разных библиотеках, то нужно писать спецификацию CPF и проектировать по маршруту low power А если можно смешивать либы, то синтезатор сам подберет оптималлный микс из селлов.
  6. В эльбрусе регистровый файл и 12 портов делали, тут ничего невозможного или оригинального. Вот что действительно интересно увидеть, это самодельный проц с дата-флоу архитектурой. У дата-флоу существенное преимущество - реже обращения в память. Везь память, как известно, узкое место в дизайне. Это и перспективно и интересно.
  7. И снова не туда. В форум по процессорам надо было постить
  8. Это потому, что форум не профильный. Профильный - на ixbt.com, там очень много специалистов по архитектурам, включая тех, кто создает свое с нуля (самый известный пример последних лет http://everest.l4os.ru/ ). Вопросы, зачем это нужно, не задают, потому что Вы не первый, до Вас уже были многие, и ни у кого это увлечение не переросло во что то, большее чем хобби, и было заброшено, в результате. Т.е. все и так понятно - еще одна архитектура, круто, ну и ладно. Хотите ломания копий - идите на ixbt, совет.
  9. Интересно, а что скажет по этому поводу Кальтенбруннер товарищ Alman?
  10. Если клок формируетя внутри корки, это объясняет его кривое название: авторам требовалось придумать 100% уникальное имя, вот они и привязались к иерархическому пути. Вполне себе вариант, разве только еще слэши и скобки заменить на подчеркивания, но это дело вкуса. Как с этим поступать - опять же, дело вкуса. Я бы на месте ТС использовал названия клоков из корки (если это действительно тот самый кейс с коркой) один в один, чтобы не было двух, настолько разных, наборов констрейнтов, и как напоминание, откуда они выходят.
  11. Любопытно. С точки зрения построения клокового дерева, его вершина не может висеть в воздухе. Поэтому если смотреть хелп на sdc команду create_clock , то надо указывать реальный пин селла (к примеру, выход флопа) или макроблока (к примеру, выход pll), или же реальный входной пад. Но поскольку тулы часто делают поблажки разработчикам, то во многих тулах можно указать в качестве источника клока и просто иерархический пин в RTL, а тул уже сам пропагирует цепь вверх и найдет реальную вершину дерева. Но в данном случае имеем, что тул не просто пропагирует цепь в поисках рут-пина, но еще и переименовывает название клока. Выглядит дико, но похоже это корень проблемы у топикстартера. И как по мне, это баг тула. Не должен клок переименовываться.
  12. До синтеза есть еще одна фаза работы тула - элаборация. Это, когда считывается RTL и преобразуется в нетлист на generic селлах. Т.е. тул с самого начала и до конца работает с нетлистом, другое дело что действительно - нетлисты до синтеза и после заметно отличаются, особенно в части комбинационной логики, где в ходе минимизации и мэппинга создаются и удаляются логические элементы и цепи. По этой причине констрейнты до синтеза и после выглядят немного разно, но только в части имен (пинов, портов, селлов и т.д.). У топикстартера использован иерархический пин. В принципе, такой констрейнт будет валиден и до и после синтеза. Если только выше этого пина не намешано чего то нехорошого, вроде комбинационной логики, или если этот порт исчезает в процессе синтеза по какой либо причине. Но вот что точно - судя по ворнингу тула, в констрейнтах пропущен пробел, а в слове asynchronous допущена грамматическая ошибка.
  13. Лучше, если синтезатор сам решит, что использовать. С одной стороны - клок-гейт вносит лэтенси в дерево клока, и реализация с мультиплексором по данным выглядит привлекательнее. С другой стороны - клок-гейт на целый регистровый банк существенно экономит потребление и площадь. Итого, где то лучше CE, а где то мультиплексор по данным.
  14. Для использования клок-гатора (комб. элемент AND или OR) нужно сигнал разрешения формировать по инверсному клоку. Это сложно и для дизайна и для STA, поэтому в ПЛИС вряд ли используется такая схема. Скорее всего СЕ заводится на обычный клок-гейт (с защелкой) внутри слайса. Собственно, чтобы это выяснить наверняка, надо сделать timing report через порт СЕ слайса/флопа: если СЕ формируется по инверсному клоку, то в схеме стоит простой AND или OR (это должно быть видно из репорта - если посчитать номера фронтов), а если по прямому клоку, то используется клок-гейт.
  15. Учитывая, что сейчас все стараются потребление понизить, это именно разрешение/запрещение клока (ровно так как этот вход и называется - clock enable). Вариант с мультиплексором более потребляющий, и тогда это называлось бы data enable. Так что, я не вижу здесь каких то вариантов или разночтений