Перейти к содержанию

    

Mikhail241

Участник
  • Публикаций

    77
  • Зарегистрирован

  • Посещение

Весь контент Mikhail241


  1. Народ! Давно интересует вопрос кто круче ? Каденс или синопсис ? Предлагаю сравнивать физический и логический синтез цифры. Может есть какие-то ссылки на исследования, сравнения...
  2. Всем привет. Сталкивался ли кто с такой проблемой. Подключаю простой нетлист с транзисторами типа nch_mac и pch_mac и спайс модели на эти мопы. Запускаю char_library но: ERROR (LIB-508): (char_library): Unable to identify the device type for 'nch_mac' because no global or local NMOS or PMOS model has been loaded using 'read_spice' and no 'define_leafcell' command has been specified. Load the model using 'read_spice' or specify a 'define_leafcell' command and rerun. The 'define_leafcell' commands must precede 'read_spice' command. If the netlist has elements, also specify the '-element' argument with the 'define_leafcell' command. ERROR (LIB-507): (char_library): Failed to process the model based element inst: 'MM73', model: 'MOS' in the cell DFD. This cell will be skipped. Check the model uses standard parameter names and the define_leafcell command options are used properly. Update the Tcl and rerun. Пробовал на другом примере где мопы не pch_mac а просто pch, там все ок.
  3. Цитата(vermut.42 @ Feb 14 2018, 17:25) как вариант посмотри в UG: define_leafcell CODEdefine_leafcell -type nmos -pin_position { 0 1 2 3 } -extsim_model nch_mac можно поподробнее? из текущего описания мне кажется что достаточно постобработки нетлиста небольшим шелл скриптом.. Я сейчас так и делаю. Автозаменой. Но как-то странно: в описании tsmc сказано, что макро должны начинаться с "X", но все их же spi-нетлисты на стд ячейки с транзисторами на "М" ! define_leafcell пробовал, не помню с какими ключами, завтра еще раз запущу... Спасибо за ответы! Еще вопрос. Как в liberate констрейнить входные данные которые тактируются внутренним клоком? Внутренний клок генерируется с помощью входного опорного клока.
  4. Частично решил проблему: названия инстанций макро транзисторов(*ch_mac) должны начинаться с буквы X. Но как быть с нетлистом у которого при генерации буква M?
  5. Цитата(baumanets @ Feb 14 2018, 06:15) Сделай нетлист / список цепей. Смотри какая модель грузится. А потом в папке смотри наличие моделей в scs-подобных файлах. Я ведь с этого и начал. Сделал нетлист вентиля прочитал его и спайс модели. У меня не scs у меня L(hspice). Я итак знаю, что не грузится - nch_mac и pch_mac. Мне кажется это связано с тем, что *_mac это не модели, а subckt а сами модели находятся в нем и тулу нужно как-то это объяснить
  6. Цитата(bambr @ Dec 7 2017, 19:15) Во всех ПЛИС GTP, GTH, GTX похожи. По сути все довольно просто. Вам в FPGA нужно собрать мультиплексор, и отправлять на выход. Вообще я я слышал что есть миросхемы выскоскоростных мультиплексоров, которые просто будут прозрачно повторять сигнал на выходе с одного из входов. Зависит от вашего стандарта передачи данных. Это ничего не меняет. Все равно входы и выходы этого мукса должны быть как в GT(такая задача стоит). А в чистом виде их в ПЛИС нет, только с логикой PISO/SIPO. Использовать просто диф порты тоже не подойдет т.к. нужны функции эквалайзера и имфазиса. По поводу микросхем: у меня ведь эта проблема и возникла, т.к. нужно сделать прототип такой схемы(DS25MB100).
  7. Всем привет! Оч нужна помощь... Есть задача реализовать простой мультиплексор для гигабитных посл данных. В Artix7 есть GTP интерфейсы в которых есть необходимый компонент(входные и выходные буфферы Rx Tx), но настроить эту махину не получается. Имел ли кто-то опыт работы с GTP или может быть подскажете другой вариант решения?
  8. Цитата(alexadmin @ Dec 6 2017, 20:36) Стало понятно чего вы хотите. Не выйдет. Loopback только внутри трансивера, чтобы мультиплексировать - надо сперва полностью принять данные, потом отдать их на нужный передатчик. Так что без полного трансивера никак. На самом деле не так страшно, если использовать Transceiver Wizard IP, то очень много настраивается в gui. Да, похоже без пакетной передачи тут не обойтись... Я попробую муксить пакеты по 16 бит с двух Rx и отправлять их в Tx. bumps, говоря про много выводов, я имел ввиду, что их слишком много для одноразрядного мукса. Управление внешнее. А вопрос еще остается, есть ли какие-то решения в других ПЛИС или контроллерах с возможностью GT буфферов? Мне там собственно нужен эквалайзер и преимфазис.
  9. Цитата(Lmx2315 @ Dec 5 2017, 19:10) ..а что у вас не получается? Плата самодельная или эвалюшен какой-нить? Спасибо за отклик) Плата от производителя(AC701). Не получается выделить отдельно буферы Rx и Tx. Вернее сделать тракт между ними без PISO и SISO и т.д.(см рис). Пока все, что я нарыл это использовать loopback. Но даже если получится, то как в этом случае сделать мультиплексор? Возможно есть какое-то более простое решения без использования GTP, ведь там под сто выводов...
  10. Да, DC лучше чем RTL compiler, много раз слышал и сам согласен(Genus вроде ближе). А вот, что насчет IC vs Innovus ?
  11. Начал понемногу разбираться DC-DC преобразователями и наткнулся на драйвер. У нас имеется частотный генератор, который задает частоту открытия ключа. А драйвер получается, что усиливает частотные сигналы, которые подаются собственно на ключ, для его открытия?
  12. Добрый день. Имеется дизайн с одним клоком и несколькими сгенерированными клоками(generated clock). При выполнении CCOPT в Innovus получается большой skew между регистром источника generated clock и примыкающими к нему регистрами. Поясняющая картинка:
  13. Цитата(Shivers @ Nov 17 2017, 16:09) Т.е. это путь reg2cgate? Я замечал, что CCOPT плохо правит reg2cgate, если есть нарушения сетап/холд в путях, которые находятся в дереве с выхода этого клок-гейта. Как только исправляете тайминг в дереве (к примеру, ослаблением констрейнтов, если нарушения в in2reg или reg2out), только тогда тул начинает сам править reg2cgate. На мой взгляд, это баг. Тулы кэденса вообще дико забагованы, как известно. Сам слэк по пути reg2latch, но как я уже сказал если в качестве соурса для gen clock использовать обычный флип-флоп(вместо гейта) - тот же результат, с тем же constraint=0. Хорошо, попробую еще ослабить sdc, хотя там уже кроме частоты все выключено...
  14. Цитата(Shivers @ Nov 17 2017, 12:54) Посмотрите тайминг до передающего триггера и после принимающего, есть ли там запас по сетапу. Тул ведь сводит всю микросхему/блок, а не один выделенный путь. Если где то совсем плохо с таймингом, тулл попытается вытащить эти места за счет хороших путей. А если все же надо вытащить именно один путь или группу путей на фоне проблем в остальной части дизайна - выделите это в отдельную группу (group_path), и повысьте на ней приоритет (setPathGroupOptions). Я смотрел worst chain в отчетах ccopt и там все сводится к тому, что нет временного окна для usful skew(constaraint = 0!) Т.е. он не может добавить задержку в регистр gen clock(в данном случае это латч) --> choosen = 0. Тут используется gating clock для генерации, но в классической ситуации где gen clock описывается сразу с выхода делителя аналогичные проблемы. В UG ничего не нашел по этому поводу, кроме увеличения auto_limit_insertion_delay_factor. Т.е. проблема в том, что изначально ccopt задает временное окно равное нулю. Хотя добавление задержки не вызовет ухудшения WNS(EcoAddRepeater). В общем беда!
  15. Цитата(Shivers @ Nov 16 2017, 19:37) Так а в чем проблема, если тайминг нормальный? Все группы и деревья, которые создает CCOPT, можно редактировать/удалять/создавать новые. Не доверяете машине - делайте свои спецификации. Или на крайняк в инновусе до сих пор остается поддержка CKsynthesis Почему Вы так решили?) WNS по сетапу -0,4. Период 1нс. Понимаете, все, что Вы предлагаете я уже перепробовал(и вручную редактировал файл)... С CKsyn WNS = -0,6. Во всех вариантах результат плавает от -0,4 до -0,9 и всегда одно и тоже место возле gen clock. Самое для меня странное, что EcoAddRepeater помогает сбросить около 0,2 без нарушений по холд. Думаю можно и до нуля сбросить, но это долго и нудно. У меня Иновус 15. Спасибо)
  16. Подскажите пожалуйста. Я как понял, есть два метода (способа) проектирование цифровых фильтров в Матлабе. Это fdatool и filterbuilder. С какого именно метода мне стоит начать, дабы лучше понять процесс проектирования цифровых фильтров? А то я немного не понимаю.
  17. Цитата(Shivers @ Nov 16 2017, 14:47) Если "путь к приемнику меньше чем к источнику" значит в этом пути холд нарушен. Сделайте репорт по холду и по сетапу. Если по сетапу есть запас, то холд лечится. Если запаса нет, то холд лечится только в ущерб сетапу. p.s. немного базовых вещей про сетап и холд https://habrahabr.ru/post/302806/ Дело не в ходде. Я специально задаю запас по WNS на холд и синтезирую с CU = 0 и в режиме setAnalysisMode -analysisType single. И по отчетам видно что это не проблемное место для холдов. Проблема именно с регистрами соседними к источнику, CCOPT создает отдельную skew_group с rank 1 в которой: регистр генератора(РГ) и самый ближайший к нему регистр(БР). В результате эта группа сбалансирована а между БР и другим регистром(картинка) слэк. PS: дизайн очень критичный по быстродействию
  18. Цитата(Shivers @ Nov 16 2017, 13:38) CCOPT по всей видимости посчитал, что путь между регистрами больше требуемого периода, отсюда и skew. Це не баг, а фича. Если не нравится, запретите вообще скьюить клок setOptMode -usefulSkewCCOpt none Спасибо за ответ. Так в этом и суть... Возникает отрицательный slack между регистрами, т.к. путь к приемнику меньше чем к источнику(одна из причин). UsfulSkew должен исправлять эту проблему. Я даже проверил, с помощью EcoAddRepeater, вставить буфер в дерево приемника и WNS уменьшился... Перепробовал кучу опций ничего не помогает! Без UsefulSkew тоже печально все.
  19. Цитата(Atlantis- @ Oct 12 2017, 15:08) Добрый день! Подскажите, как можно избавиться от диодов в схеме? На них падает 0.3 вольта и чуток недостает напряжения. Тупо поднять уровень напряжения не могу. А вариант с другой схемой рассматривать имеет смысл?
  20. Цитата(Gorby @ Oct 12 2017, 15:15) Поставьте германиевые. Шутка. То есть Шоттки. У них раза в два меньше. 0.2 кажется. это ТС сделает погоду?
  21. Цитата(gin @ Oct 11 2017, 21:58) Возможно преамбула - это и рудимент, но раз в стандарте про нее написано, значит надо ее формировать. Верно ведь? Тем более в том же 10-и гигабитном Ethernet она тоже есть. Во всяком случае с ней вроде разобрался. Еще вопросик небольшой есть по поводу управления PHY через MDIO интерфейс. Не нашел даташит Марвелла с описанием внутренних регистров микросхемы 88e1111. Понимаю, что все они стандартные и описаны в спецификации на Etherent. Но все же, может кто то подскажет, какая последовательность записи данных в эти регистры? Кто это уже делал, и кому не жалко поделиться такой информацией. Заранее спасибо! http://www.alldatasheet.com/datasheet-pdf/...ll/88e1111.html вот же даташит
  22. ПИД на mega8

    Здравствуйте. Подскажите, как реализовать ПИД на mega 8 или с чего начать
  23. ПИД на mega8

    Цитата(AlexandrY @ Oct 12 2017, 13:46) Для начала нужно определить что ваша система достаточно линейна. Иначе от PID регулирования не будет никакого толка и вся теория коту под хвост. Удивительно, но никто по предыдущим ссылкам об этом даже не намекнул. Большинство этих авторов наверно полагает что если система с обратной связью не возбуждается, то она регулирует. Поясните пожалуйста, что Вы имеете в виду под системой? Само устройство? А определение линейности? Провести n итераций по нагреву и охлаждению с замером температуры и последующим построением графиков?
  24. ПИД на mega8

    Спасибо, буду изучать
  25. Аналог для UMSH-8376MD-1T

    Цитата(ostashv-evgeniyy @ Mar 31 2017, 02:30) Приветствую! Сдох намертво дисплей UMSH-8376MD-1T http://www.datasheetspdf.com/datasheet/UMSH-8376MD-1T.html Подскажите, в какую сторону рыть? Там какой-то стандартный интерфейс и можно подобрать дисплей другого производителя? Если еще актуально, то вот вариант TCG057VGLCA-G00. Интерфейс 18 бит RGB, 5,7 диагональ. Ссылка на шитодат http://www.datasheet4u.com/datasheet-pdf/K...f.php?id=707859. Я поверхностно сравнивал