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

Shivers

Свой
  • Постов

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

  • Посещение

Сообщения, опубликованные Shivers


  1. Вам подсказка- кроме RS латча еще бывает D-латч, который нормально понимается STA и синхронными тулами. А на RS можно только асинхронный дизайн делать, либо как то приводить RS к D-защелке, но тул тское все равноне поймет. Если же такова и была цель - асинхронный дизайн, то почитайте сначала учебники, хотя бы. Схема выглядит зело страшно

  2. Голосую за Perforce. 3 года на нем сижу, и это лучшее что я видел для эсик.

    Единственное, для опенакцесс баз там не очень удобно, по слухам, но я цифрой занимаюсь, не аналогом. Кажется, аналоговики сначала пакуют  базы виртуозо и только потом в p4 кладут, но это не точно.

  3. 6 hours ago, Yuri124 said:

    у меня был проект, без триггеров внутри. Результат на выходе был гарантирован через 100 нсек. 
    Синхронная (конвеерная) схема при частоте 100МГц выдавала бы результат через 450-500 нсек.
    Т.е. после подачи на вход асинхронного блока я мог через 110 нсек гарантированно забирать результат обратно в синхронную часть.

    Если по алгоритму стейт машина ждет несколько тактов, прежде чем защелкнуть результат с выхода комб. логики, это называется multicycle. Синхронный констрейнт, специально для таких случаев. К примеру, на 100Мгц, если забирать результат через 110нс (11 тактов), схематехнически это делается как обычно, синхроно - с флопами на входе и выходе (но без деления на стадии конвейера), а на комби. путь между ними накладывается констрейт set_multicycle_path -setup 11. Не нужно изобретать что то асинхронное, малтисайкл это стандартный подход.

  4. 35 minutes ago, Yuri124 said:

    Например, асинхронный блок способен работать (выдавать готовый результат) через 100 нсек (10МГц), если же синхронный блок работает на 100МГц - то времени потеряется 1-2 такта работы синхронной схемы.

    В асинхронной схеме нужно сбрасывать и флопы и логику. Сбросить одни флопы недостаточно, ведь в логике остаются логические состояни, и они приведут к переходным процессам сразу по снятию сигнала сброса. А сброс логики это практически та же задержка что и у полезного сигнала. Получаем скорость в два раза меньше, если грубо. Плюс подсхема окончания переходных процессов, плюс управление, итого примерно в 2.5 медленнее эквивалентной синхронной схемы.

    Но, однозначно асинхронная схема может быть полезной. В автоматах управления ацп, шим, в ультра лоу пауер задачах, нестабильном питании, или нестандартных температурах (крио, либо наоборот 200+)

  5. А зачем вам вообще лезть в схемотехнику? Пишите программную модель конвейера и программу, и гоняйте сразу на Си - получится аналог потактовой симуляции. Быстро и эффективно.

    Просто, имплементация в железе это как бы отдельная тема, программная модель - отдельная, и первоене возможно  без второго. Чем заниматься схемотеникой, начните с того что хорошо умеете.

    И про асинхронную логику - забудьте. Там много нюансов, и даже просто стыковка синхронной и асинхронной схем задача не тривиальная. Скорость асинхронных схем - миф, поскольку для хендшейка нужна схема опроса сигнала готовности буквально каждого триггера, и чем больше разрядов в схеме, тем больше/медленнее эта схема опроса. Плюс, при хендшейке схема через каждый такт простаивает, поскольку надо сбросить данные в комб. части - производительность падает вдвое (есть патент, который это частично обходит, но не полностью). Задержка схемы управления хендшейкам плюсуется к задержке комб логики, и Fmax получается и еще меньше. И последний гвозь в гроб асинхронной логики, это в разы бОльшее потребление из-за в разы большей переключательной активности в проводах - в сравнении с синхронной схемой. Провода это RC, на старых процессах не шибко важный параметр, но финфетах и ниже это уже основной источник потребления. Асинхронная логика выигрывает толлько в ну совсем редких задачах

    Мне это все напоминает потуги Мандрыкина с эверестом, и еще проект кояникаци (как то  так вроде). В обоих случаях авторы мечтали сделать свой проц и архитектуру, но утонули в дебрях фронтэтнд схематехники и не дошли до финиша. Проще надо быть, ставить простые задачи и их решать. А большие дробить и потом решать

  6. @dvladim Да все можно сделать, если хочется. Вопрос в том, как меньше шишек набить. Можно с падами синтезить, можно без падов. Но с падами результат обьективно лучше, а работы - меньше. Разумеется, если речь идет о верхнем уровне. Если дизайн бить на части, то внутри ведь падов нет. Точнее, не должно быть. Такая же точно ситуация - есть стандарт, где написано что пады дожны размещаться только в топе, а сам топ должен содержать одни иерархические блоки без стандарт селлов. Стандарт придуман для упрощения работы тулов, в частности - автоматической вставки JTAG TAP контроллера средствами синопсис, к примеру. Но если очень хочется, то можно этого стандарта не придерживаться. Просто, шишек больше набьете. А так, все можно )

  7. HardEgor

    На мой взгляд, современные т.н. нейросети, это просто усложненный вариант фаззи (нечеткая логика) контроллеров. Большие пробелы в этой области не только в аппаратной и алгоритмической части, но и даже в математике. Те модели нейронов, которые используют в железе, даже близко не стоят к моделям нейронов используемых в софте. А модели нейронов в софте так же далеки, по всей видимости, от живых нейронов. Т.е. железо еще не готово для нейросетей. А софтварные нейросети конечно впечатляют, но и они - полная хрень по сравнению с живыми клетками. Персональное мнение, я его не навязываю. В свое время хотел этим (аппаратной частью) занятся, даже пытался в Яндекс просочиться, но они идею не восприняли. Хотя, казалось бы, не должны отставать от главного конкурента - гугла. В софте они подобные разработки ведут, а с железом совсем не дружат, и не хотят дружить.

  8. a123-flex

    Тема нейропроцессоров слишком обширная, чтобы нашлись люди, шарящие хотя бы в одном узеньком ее сегменте. Посудите сами, нейпропроцессинг это: математика, алгоритмы, цифровая схематехника, аналоговая схематехника, и многое другое. Как такое обьединить в один раздел?

    В РФ нейросетями занимается некая гос. контора с названием Хайтек. И вроде бы Элвис что то делает в этом направлении. Так что если действительно интересно, то лучше с ними пообщаться.

    А из литературы, совет - почитайте презентации и доклады с конференции NICE. Расширите кругозор, получите представление о проблемах.

     

    Мое мнение .. в свое время я немного разобрался, почитал литературу, и решил что все это - хрень полная. И в этом я солидарен с остальными здесь высказавшимися.

  9. - выходные задержки FPGA расчитываются действительно исходя из вейвформ микросхемы-приемника (если интерфейс - колхоз березка), либо исходя из требования стандарта (если интерфейс стандартный). RGMII - стандарт, вейвформы с таймингом для него Вы сами привели в одном из первых постов. Поэтому цифры надо брать из таблицы под вейвформой.

    - Вы о чем спросили в первом посте, про констрейнты? Я и пишу про констрейнты - сетапы и холды. Да будет Вам известно, что ключ -max это констрейнт проверки интерфейса по сетапу, а ключ -min соотв. констрейнт проверки интерфейса по холду. Пишете про STA, но похоже плохо понимаете что это это, и как работает.

    - В формуле холд используется с минусом, верно. Но в констрейнт записывается значение, соотвествующее вейвформе. На вейвформе холд показан положительным, т.к. сигнал снимается позже фронта клока. Отрицательный холд, это когда сигнал снимается ДО фронта клока. То же и в таблице - цифра указана с плюсом. Если Вы в констрейнт холда запишете не с плюсом (как требуется в данном случае) а с минусом, то ничего не нарушите поскольку констрейнт просто стал жесче. Но вытянет ли это требование САПР - другой вопрос.

     

    Собственно, давать Вам советы - занятие неблагодарное, как я вижу. Вместо того чтобы упереться рогом, прочитали бы учебник сначала. Так что, пусть кто другой дальше помогает.

     

  10. Добавлю еще, что 18й эктрактор как раз жутко глючит при выписке спайс нетлиста. Нетлист получается битый, но не целиком, а частично - инвертер может оказаться еще туда сюда, а что то сложнее уже не будет моделироваться.

  11. Думаю что Вы не правы. Посмотрите внимательно следующую картинку.

    Внимательно смотрите что постите - на этом скрине тайминг для микросхемы PHY, а не плисины. Т.е. Вы должны взять даташит на фай, и сравнить его тайминг с этими требованиями. Если не совпадет, придется корректировать констрейнты плис.

     

    А так, для плис типовые констрейнты указаны в таблице под вейвформой, и холд там положительный, а не отрицательный. Можно конечно и отрицательный сделать, но это Вы сами у себя крадете ресурсы.

  12. А чего у Вас холд отрицательный? В доке же положительный холд. Ставьте 1.65 без минуса

    И сетап 2.2 в доке, а у вас 2 в констрейнте

    По входу констрейнты будут 1.65 холд и 2 (2.2?) сетап соотв.

  13. Просто в лоб синтезируя код умножения на верилоге, Вы ничего хорошего не получите. Выхода два - либо расписывать дерево уолласа (или подобные алгоритмы) вручную, либо использовать плагины синтезатора. У DC это называется Design-Ware, у Генуса - загуглите, есть какойто аналог. Если кратко, то это библиотека конфигурируемых айпи, среди которых есть и умножители. Это айпи можно вызывать прямо из вериложного кода. Для моделирования RTL есть вериложные модели тих айпи.

     

    Что касается ретайминга, то он глючит даже в DC. И толку с него будет немного, поскольку частоту у Вас держит последовательный перенос -к гадалке не ходить. Почитайте хорошенько, что это такое - обычно после прочтения разработчики отказываются от идеи использовать ретайминг. Ну а в глючном генусе я бы даже не стал и пытаться. Если рискнете - обязательно гоняйте комформал LEC после каждого синтеза.

     

    Силтера 180нм - цифровые решения? )

  14. Я там выше уже писал, что автомат Мили легко сводится к автомату Мура - надо просто выкинуть проходную логику (in2out). Поэтому сравнивать эти автоматы нет смысла - одно и то же, по сути.

     

    Кроме того, каждую синхронную схему можно рассматривать как многомерную структуру, состоящую из автоматов Мура, где каждый автомат - триггер (или защелка) с небольшим количеством логики перед ним. В этом ключе вообще все обсуждаемое в этой ветке не имеет смысла - вы проектируете только автоматы Мура, и никакие другие.

  15. Читайте документацию из PDK, там должны быть оба параметра указаны. Проверьте, что в tech. LEF эти значения правильные. Если есть несоответствия - обязательно надо задавать вопросы вендору. Перед этим желательно еще убедиться, что все файлы последней ривизии.

     

  16. Несколько комментариев

    1. Строго говоря, автоматы Мура и Мили, это алгоритмы, состоящие из шагов, т.е. по сути - программы. К электронике имели отношение весьма отдаленное. То, о чем вы пишете, это реализации алгоритмов Мура и Мили в виде автомата Хаффмана. Автомат Хаффмана - это логика, на выходе которой включена память, + необязательная обратная связь с выхода памяти на вход логики. Хаффман это придумал лет за 15 до появления алгоритмов Мура и Мили. Бывают еще не-Хаффмановские автоматы - проектируются с использованием графов, и не имеют четкого разделения элементов на память и логику.

    2. Автомат Мили может быть сведен к автомату Мура, поэтому автоматы Мили упоминают лишь вскользь, для галочки.

    3. Все синхронные схемы - уже автоматы Мура. Просто потому, что триггер - это элемент памяти, добавим перед ним логику - получаем Хаффмановскую модель автомата, т.е. фактически - реализацию алгоритма Мура/ автомат Мура.

    4. Все же топикстартер спрашивает о более сложных автоматах, чем просто Мура/Мили. Как уже было верно написано, если воспользоваться теорией автоматов, то можно минимизировать число состояний у проектируемого FSM. На практике никто этого не делают - ваяют на верилоге как получится. Надо только понимать, что если минимизацию не делаете вы, то это придется делать тулу. А уж как он это сделает .. поэтому надо очень хорошо покрывать тестами автоматы в коде - их реализация вполне может оказаться некорректной. Синтез автоматов - одно из наиболее слабых мест современных тулов.

    5. О применении теории графов. Если делать по науке, то можно вручную сократить число флопов в вашей FSM, не отдавая это на откуп синтезатору. Вот и все преимущество. Но на мой взгляд, гораздо полезнее просто научиться правильно описывать FSM на верилоге, тогда и тул будет корректно работать.

  17. У меня в терраэлектронике заказ две недели висел неоформленный, так получилось. Сначала пришло сообщение, что дескать мы теперь этим заказом не занимаемся, передаем его сторонней организации, но цена будет та же. А потом через пару дней все цены обновились -корзина с 3к (несколько десятков позиций) подскочила до 4к. Удалил все и больше в терру ни ногой.

     

    Кстати, не подскажете какойнибудь магазин на али/в китае, чтобы ассортимент был большой?

  18. Plain Спасибо! Чистая синусоида по току получилась.

    По напряжению не совсем, но мне именно ток и важен. Я, правда, не очень понимаю, как может форма тока от напряжения отличаться, ну да бог с ними )

    post-34950-1529214825_thumb.jpg

    blackfin Спасибо! Почитаю

     

  19. Да, я препутал размах и амплитуду. На входе размах 5 вольт. И к сожалению, на вход КМОП-инвертора я подавал синусоиду а не меандр (промахнулся иконкой, блин). Если подать чистый меандр, вообще жесть получается, как С9 ни ставь - параллельно или последовательно.

     

    А что делать? Как можно синус получить не-простыми средствами, имея на входе меандр, причем синус нужен с достаточно большим током?

    У меня генератор не PWM, а просто обычный осциллятор.

  20. Добрый день! Делаю датчик для металлодетектора, нужно закачать в катушку ток на определенной частоте. Никак не могу сделать такой фильтр, чтобы ток был синусоидальный. Индуктивность катушки 5710 мкГн, частота 10 кГц, ток примерно 50-100 мА. Меандр получается с выхода КМОП каскада с амплитудой около 5 Вольт. Беря в расчет формулу f=1/2*pi*sqrt(LC) у меня получилось С=50 нФ. Но в моделировании все выглядит паршиво:

    post-34950-1529179318_thumb.jpg

    Видно что синус завален, да и вообще это не синус. Вопрос - как считать, чего не хватает?

  21. Спасибо!

    Нашел у себя ошибку - номиналы проходных емкостей поставил слишком маленькие (100п), поэтому схему и колбасило. Увеличил до 1мкф (X7R) и стало нормально работать. Задал начальные потенциалы на емкостях для ускорения, и получил КПД 96.7%.

     

    Итого, +/-15В очень неплохо смотрится. Но уж очень много обвеса. 5В наверное все же сделаю на линейном стабилизаторе, повторять весь этот зоопарк нет места на плате. Или, 5В можно на этом же контроллере получить, как то? Со стабилитроном, к примеру. Правда, стабилитроны такой ток не пропускают

  22. Спасибо! Скачал LTSpice. Под вайном встал как родной.

    Попробовал засимулировать схему. Очень странно ведет себя потребление. Считал интеграл, т.е. КПД по сути

    ltsp1.jpg

    Что то там внутри происходит, причем много позже того как Vout становится 15В. Так и не понял, какое КПД получается

  23. В рамках "а поговорить" сертификация своего чипа на соответсвие какойлибо архитектуре - очень и очень дорогое удовольствие. Поэтому чипы Элвис, мультиклет и комдив - мипсы только не офицально, а офицально - вроде как самостоятельные архитектуры. Думаю, то же и со спарком. А риск-5 вроде как открыт изначально, и никто права не имеет что с кого то требовать. Если ISA соответствует - значит риск-5, и точка.

  24. Plain

    Спасибо за апдейт!

    Ставки не растут, просто пытаюсь понять, как лучше сделать. 5В - нужно для цифры. Причем не 3.3 или меньше, а именно 5. А для операционников и +/-7.5 подойдет и +/-15В. Точнее, +/-15 предпочитетельнее, но слишком сложно получается.

    В чем моделируете, что за софт? Если бесплатен, я бы тоже себе поставил.

  25. MikeSchir

    Мой последний курсовик сдан 20 лет назад, увы. А что за "трёхканальный обратноходовик", о чем речь?

    Мне 3 Ватта не нужно, у меня девайс от аккума 6-9В работает, и потребляет 100-150мА. На схему заходит 5В (100мА), и +/-15В (20-50мА - операционники). Конечно, хотелось бы поменьше обвязки, но и линейные стабилизаторы ставить - аккумуляторов не напасешься.

×
×
  • Создать...