-
Постов
676 -
Зарегистрирован
-
Посещение
-
Вам подсказка- кроме RS латча еще бывает D-латч, который нормально понимается STA и синхронными тулами. А на RS можно только асинхронный дизайн делать, либо как то приводить RS к D-защелке, но тул тское все равноне поймет. Если же такова и была цель - асинхронный дизайн, то почитайте сначала учебники, хотя бы. Схема выглядит зело страшно
-
Голосую за Perforce. 3 года на нем сижу, и это лучшее что я видел для эсик. Единственное, для опенакцесс баз там не очень удобно, по слухам, но я цифрой занимаюсь, не аналогом. Кажется, аналоговики сначала пакуют базы виртуозо и только потом в p4 кладут, но это не точно.
-
Если по алгоритму стейт машина ждет несколько тактов, прежде чем защелкнуть результат с выхода комб. логики, это называется multicycle. Синхронный констрейнт, специально для таких случаев. К примеру, на 100Мгц, если забирать результат через 110нс (11 тактов), схематехнически это делается как обычно, синхроно - с флопами на входе и выходе (но без деления на стадии конвейера), а на комби. путь между ними накладывается констрейт set_multicycle_path -setup 11. Не нужно изобретать что то асинхронное, малтисайкл это стандартный подход.
-
В асинхронной схеме нужно сбрасывать и флопы и логику. Сбросить одни флопы недостаточно, ведь в логике остаются логические состояни, и они приведут к переходным процессам сразу по снятию сигнала сброса. А сброс логики это практически та же задержка что и у полезного сигнала. Получаем скорость в два раза меньше, если грубо. Плюс подсхема окончания переходных процессов, плюс управление, итого примерно в 2.5 медленнее эквивалентной синхронной схемы. Но, однозначно асинхронная схема может быть полезной. В автоматах управления ацп, шим, в ультра лоу пауер задачах, нестабильном питании, или нестандартных температурах (крио, либо наоборот 200+)
-
А зачем вам вообще лезть в схемотехнику? Пишите программную модель конвейера и программу, и гоняйте сразу на Си - получится аналог потактовой симуляции. Быстро и эффективно. Просто, имплементация в железе это как бы отдельная тема, программная модель - отдельная, и первоене возможно без второго. Чем заниматься схемотеникой, начните с того что хорошо умеете. И про асинхронную логику - забудьте. Там много нюансов, и даже просто стыковка синхронной и асинхронной схем задача не тривиальная. Скорость асинхронных схем - миф, поскольку для хендшейка нужна схема опроса сигнала готовности буквально каждого триггера, и чем больше разрядов в схеме, тем больше/медленнее эта схема опроса. Плюс, при хендшейке схема через каждый такт простаивает, поскольку надо сбросить данные в комб. части - производительность падает вдвое (есть патент, который это частично обходит, но не полностью). Задержка схемы управления хендшейкам плюсуется к задержке комб логики, и Fmax получается и еще меньше. И последний гвозь в гроб асинхронной логики, это в разы бОльшее потребление из-за в разы большей переключательной активности в проводах - в сравнении с синхронной схемой. Провода это RC, на старых процессах не шибко важный параметр, но финфетах и ниже это уже основной источник потребления. Асинхронная логика выигрывает толлько в ну совсем редких задачах Мне это все напоминает потуги Мандрыкина с эверестом, и еще проект кояникаци (как то так вроде). В обоих случаях авторы мечтали сделать свой проц и архитектуру, но утонули в дебрях фронтэтнд схематехники и не дошли до финиша. Проще надо быть, ставить простые задачи и их решать. А большие дробить и потом решать
-
@dvladim Да все можно сделать, если хочется. Вопрос в том, как меньше шишек набить. Можно с падами синтезить, можно без падов. Но с падами результат обьективно лучше, а работы - меньше. Разумеется, если речь идет о верхнем уровне. Если дизайн бить на части, то внутри ведь падов нет. Точнее, не должно быть. Такая же точно ситуация - есть стандарт, где написано что пады дожны размещаться только в топе, а сам топ должен содержать одни иерархические блоки без стандарт селлов. Стандарт придуман для упрощения работы тулов, в частности - автоматической вставки JTAG TAP контроллера средствами синопсис, к примеру. Но если очень хочется, то можно этого стандарта не придерживаться. Просто, шишек больше набьете. А так, все можно )
-
HardEgor На мой взгляд, современные т.н. нейросети, это просто усложненный вариант фаззи (нечеткая логика) контроллеров. Большие пробелы в этой области не только в аппаратной и алгоритмической части, но и даже в математике. Те модели нейронов, которые используют в железе, даже близко не стоят к моделям нейронов используемых в софте. А модели нейронов в софте так же далеки, по всей видимости, от живых нейронов. Т.е. железо еще не готово для нейросетей. А софтварные нейросети конечно впечатляют, но и они - полная хрень по сравнению с живыми клетками. Персональное мнение, я его не навязываю. В свое время хотел этим (аппаратной частью) занятся, даже пытался в Яндекс просочиться, но они идею не восприняли. Хотя, казалось бы, не должны отставать от главного конкурента - гугла. В софте они подобные разработки ведут, а с железом совсем не дружат, и не хотят дружить.
-
a123-flex Тема нейропроцессоров слишком обширная, чтобы нашлись люди, шарящие хотя бы в одном узеньком ее сегменте. Посудите сами, нейпропроцессинг это: математика, алгоритмы, цифровая схематехника, аналоговая схематехника, и многое другое. Как такое обьединить в один раздел? В РФ нейросетями занимается некая гос. контора с названием Хайтек. И вроде бы Элвис что то делает в этом направлении. Так что если действительно интересно, то лучше с ними пообщаться. А из литературы, совет - почитайте презентации и доклады с конференции NICE. Расширите кругозор, получите представление о проблемах. Мое мнение .. в свое время я немного разобрался, почитал литературу, и решил что все это - хрень полная. И в этом я солидарен с остальными здесь высказавшимися.
-
- выходные задержки FPGA расчитываются действительно исходя из вейвформ микросхемы-приемника (если интерфейс - колхоз березка), либо исходя из требования стандарта (если интерфейс стандартный). RGMII - стандарт, вейвформы с таймингом для него Вы сами привели в одном из первых постов. Поэтому цифры надо брать из таблицы под вейвформой. - Вы о чем спросили в первом посте, про констрейнты? Я и пишу про констрейнты - сетапы и холды. Да будет Вам известно, что ключ -max это констрейнт проверки интерфейса по сетапу, а ключ -min соотв. констрейнт проверки интерфейса по холду. Пишете про STA, но похоже плохо понимаете что это это, и как работает. - В формуле холд используется с минусом, верно. Но в констрейнт записывается значение, соотвествующее вейвформе. На вейвформе холд показан положительным, т.к. сигнал снимается позже фронта клока. Отрицательный холд, это когда сигнал снимается ДО фронта клока. То же и в таблице - цифра указана с плюсом. Если Вы в констрейнт холда запишете не с плюсом (как требуется в данном случае) а с минусом, то ничего не нарушите поскольку констрейнт просто стал жесче. Но вытянет ли это требование САПР - другой вопрос. Собственно, давать Вам советы - занятие неблагодарное, как я вижу. Вместо того чтобы упереться рогом, прочитали бы учебник сначала. Так что, пусть кто другой дальше помогает.
-
Добавлю еще, что 18й эктрактор как раз жутко глючит при выписке спайс нетлиста. Нетлист получается битый, но не целиком, а частично - инвертер может оказаться еще туда сюда, а что то сложнее уже не будет моделироваться.
-
Внимательно смотрите что постите - на этом скрине тайминг для микросхемы PHY, а не плисины. Т.е. Вы должны взять даташит на фай, и сравнить его тайминг с этими требованиями. Если не совпадет, придется корректировать констрейнты плис. А так, для плис типовые констрейнты указаны в таблице под вейвформой, и холд там положительный, а не отрицательный. Можно конечно и отрицательный сделать, но это Вы сами у себя крадете ресурсы.
-
А чего у Вас холд отрицательный? В доке же положительный холд. Ставьте 1.65 без минуса И сетап 2.2 в доке, а у вас 2 в констрейнте По входу констрейнты будут 1.65 холд и 2 (2.2?) сетап соотв.
-
Просто в лоб синтезируя код умножения на верилоге, Вы ничего хорошего не получите. Выхода два - либо расписывать дерево уолласа (или подобные алгоритмы) вручную, либо использовать плагины синтезатора. У DC это называется Design-Ware, у Генуса - загуглите, есть какойто аналог. Если кратко, то это библиотека конфигурируемых айпи, среди которых есть и умножители. Это айпи можно вызывать прямо из вериложного кода. Для моделирования RTL есть вериложные модели тих айпи. Что касается ретайминга, то он глючит даже в DC. И толку с него будет немного, поскольку частоту у Вас держит последовательный перенос -к гадалке не ходить. Почитайте хорошенько, что это такое - обычно после прочтения разработчики отказываются от идеи использовать ретайминг. Ну а в глючном генусе я бы даже не стал и пытаться. Если рискнете - обязательно гоняйте комформал LEC после каждого синтеза. Силтера 180нм - цифровые решения? )
-
FSM Mealy, Moore
Shivers ответил dxp тема в Работаем с ПЛИС, области применения, выбор
Я там выше уже писал, что автомат Мили легко сводится к автомату Мура - надо просто выкинуть проходную логику (in2out). Поэтому сравнивать эти автоматы нет смысла - одно и то же, по сути. Кроме того, каждую синхронную схему можно рассматривать как многомерную структуру, состоящую из автоматов Мура, где каждый автомат - триггер (или защелка) с небольшим количеством логики перед ним. В этом ключе вообще все обсуждаемое в этой ветке не имеет смысла - вы проектируете только автоматы Мура, и никакие другие. -
Читайте документацию из PDK, там должны быть оба параметра указаны. Проверьте, что в tech. LEF эти значения правильные. Если есть несоответствия - обязательно надо задавать вопросы вендору. Перед этим желательно еще убедиться, что все файлы последней ривизии.