Pull to refresh
22
0
Alex Surkov @Khort

Пользователь

Send message
Частное мнение. Как можно обосновать то, чего не было? Есть другая информация — фото в студию.
В том то и печаль, что у А-Т нет НИЧЕГО для соревнования. Если кратко описать историю А-Т, то: купили три линейки — 350, 130 и 90нм, всё разломали; из того что осталось целым, кое как склепали франкенштейна — 250нм, а остальное (большую часть) распродали всем желающим. И 250 — далеко не факт, что вообще работает. В феврале, к примеру, даже тестовых пластин не было, одно моделирование в ти-каде. Фуфел, другим словом, и очковтирательство. Ну и чем тут соревноваться? Микрон хоть как то работает.
Сергей, если сделали революцию, то изложите в понятной всем форме. Я имею ввиду, что арифметику не задают в виде STG, это громоздко и потому неудобно. Кроме того, арифметика сама по себе не интересна, а интересна только в составе автомата. К примеру, автомата Мура(арифметика, и после нее память + обратная связь). Это очень простая задача, сделать самосинхронный автомат Мура, если использовать dual rail. Так покажите как работает Ваш метод, постройте асинхронный (SI или как угодно) автомат Мура на single rail. Только исходную функцию задавайте в классическом виде f=a&b+c, а не STG. Либо сначала покажите, как получить STG по функции, заданной в классическом виде. На мой взгляд, это не тривиальная задача.
Судя по публикациям, зарубежным, DFT делают, точно так же. Ведь самосинхронные схемы используют все тот же базис элементов логики, только триггеры немного более сложные. Не вижу никакой принципиально разницы, разве что — нет смысла в таких продвинутых режимах DFT как at-speed testing. Что касается отечественной электроники, то не каждый дизайн-центр умеет даже в синхронные чипы DFT вставлять… :-)
Сергей, независимость от задержек элементов — следствие полумодулярности (математический термин — читайте книгу Мараховского-Яковлева-Розенблюма), а независимость от задержек в проводах и элементах — свойство дистрибутивности (снова математический термин, фактически означающий более жесткую полумодулярность). Все полумодулярные (и дистрибутивные) схемы — самосинхронные. При этом, обратное утверждение не верно. Что из этого следует: если и можно делать «не самосинхронные схемы, но не зависящие от задержек элементов», то необходимо придумать математическое доказательство «независимости от ..». Лично мне ничего неизвестно о существовании чего то подобного.

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

p.s. Для самосинхронной реализации арифметики с использованием парафазного кодирования Варшавский придумал несколько методов, лучший из которых (на мой взгляд) — перекрестная реализация. Что такое «функциональный подход» мне не очень понятно, но вот «перекрестная реализация» Варшавского очень даже работает. Для этого метода можно адаптировать коммерческие САПР синтеза (Genus, Design Compiler и т.д.). По ПЛИС ничего сказать не могу, программируемой логикой не занимаюсь.
Редакторы существуют. Очень визуальные и очень удобные. К сожалению, этот софт пишется не у нас. В настоящее время самая сильная группа, занимающаяся самосинхронными схемами, находится в Ньюкасле (Англия)
Коллега, не мне Вас учить, пусть за Вас краснеют Ваши учителя. Написали полнейшую ересь. 1. Базис элементов влияет на схемотехнику напрямую, и особенно в СС. 2. Какой такой Кэденс? Кэденс, это производитель тулов, один из. Библиотеки элементов же предоставляет фабрика, и в некоторых случаях — дезайн хаусы. Т.е. Кэденс никак не может просить денег за включение IP в библиотеку, Вы что то с чем то спутали.

Элемент, на который я кивал, приведен выше — это 8-ми входовой элемент. Такие элементы делать можно, но чтобы они эффективно работали, нужно напряжение питания около 3 вольт (оценочно — Vth * число входов). На процессах суб 100нм питание элементов ядра от 1.2В и ниже — до 700мВ. Питание можно поднять, но очень незначительно, поскольку на тонких процессах возможен пробой диэлектрика (физики — поправьте, если соврал), и фабрика не гарантирует исправность приборов. Итого, 8-ми входовой элемент при недостатке питания делать нет смысла, если только он не составной. А составные элементы не подходят для СС. Варшавский этого знать не мог, в его время тонких процессов не было. А вот зачем такие схемы публиковать сейчас — вопрос.
Сергей, книга, о которой Вы пишете, не несет ни теории (ее там нет вообще), ни практической пользы — таких лог. элементов как в этой книге ни в одном суб 100нм логическом базисе не найдешь. Читайте лучше первоисточник Моделирование параллельных процессов.
Не совсем верно. В синхронных дизайнах сигнал асинхронного сброса триггера (флопа или защелки) — не в полной мере асинхронный сигнал. Этот сигнал может иметь полностью асинхронный активный фронт, а вот деактивация обязана проводиться синхронно текущему клоковому домену. Иначе, получите метастабильность.

По поводу иголок (они же глитчи, гонки, или состязания), они присутствуют в практически любой комбинационной схеме, за исключением некоторых видов специального кодирования сигнала (к примеру — dual rail four phases).
А в чем идея? В стиле описания? Если бы Вы показали, что синтезатор два олвейз-блока минимизирует лучше чем один или три олвейз-блока — был бы аргумент. Вместо этого ведутся рассуждения о числе строк кода. Вы знаете, что индусам платят за число строк кода? Они сделают из Вашей публикации диаметрально противоположный вывод. О вкусах, как говорят, не спорят.
По типу автоматов — в статье описан классический алгоритм Мура (автомат Мили можно свести к Мура), поскольку язык верилог под конструкцией always понимает элемент памяти типа мастер-слейв (вообще и защелку тоже, но в контексте поста — триггер), и другие типы автоматов (которые нельзя свести к Мура) таким кодом не опишешь. Можно было бы для расширения кругозора описать еще автомат Хаффмана, но тогда без always, поскольку он асинхронен (использует элемент памяти на линии задержки).

Было бы полезно не просто запостить некий верилог-код автомата, а показать как сделать так, чтобы синтезаторы synopsys/cadence понимали, что это за автомат. Зачем? Да потому что в тексте нигде нет ни слова про минимизацию автоматов, а так хоть тулам на откуп отдать можно было бы. Поэтому статья Sunburst design (которую автор критикует в начале) реально рулит, а этот пост — нет.
Одно замечание. Тулы синтеза умеют только импортировать SV; на выходе у них в 100% случаев получается обычный верилог-нетлист. Соответственно, это означает флатованные до 1-го разряда интерфейсы и дикие, трехэтажные названия портов и сигналов, полученные при конверсии имен. С такими названиями очень трудно писать констрейнты и дебажить нетлист, ведь постоянно придется сопоставлять, какой цепи и регистру в RTL соответствует цепь и регистр из нетлиста. Поэтому SV (и конструкции generate в обычном верилоге) не рекомендуют использовать в сложных проектах, а особенно — на верхнем уровне. SV — язык красивый и удобный, но только до этапа синтеза.
«Сетевой программатор» используют уже два десятка лет. Рядом со стендом ставится ноут с программатором (BB1/2, USBblaster, MasterBlaster и т.д.), поднимается Altera JTAG сервер. На удаленной машине ставится клиентская часть. Всё, можно работать удаленно.
+ На ноуте еще часто делают удаленный ресет и включение питания стенда.
Очень любопытно, спасибо!
Но не во всех сбоях электроники стоит винить ТЗЧ и космос. Есть еще такая штука, как метастабильность: это как заряженное ружье на стене, раз в сто лет может выстрелить. На тему метастабильности и «бога в машине» есть отличная книжка на английском: He Who Hesitates is Lost: Decisions and free will in men and machines
Ну так и обратитесь к толпе, только к другой. Ведь толпа толпе рознь — на хабре публикации на казуальный интерес рассчитаны, а Вы хотите заинтересовать специалистов. Следовательно, нужны научные публикации, а не беллетристика. Правда, специалистов в РФ — единицы, а чтобы еще финансирование для этих исследований отыскать — вообще из области фантастики. Поэтому лучше сразу писать на английском, и сразу — на запад. Наших, если кого и заинтересует, они и на английском прочитают. Впрочем, Вы ведь со Стародубцевым много писали на английском лет 15 назад. Заинтересовали кого то? По-видимому нет. В этом и проблема, что нужно иметь два таланта — придумать новое, и заинтересовать. Одно без другого бесполезно. Я побывал ровно в такой же ситуации, что и Вы, могу только посочувствовать.
Раньше Вы обратное утверждали. Что случилось? Нашли у себя ошибку?
Моделировал на спайсе, но не этот триггер, а другие самосинхронные схемы, размером под тысячу транзисторов. На спайсе — работает, значит и в эсике будет работать. А на ПЛИС не пробовал
Совет. Если за основу хотите взять схему, сделанную по всем канонам теории Маллера, начните вот с этого самосинхронного счетного триггера. Не зря же я писал этот мануал по проектированию самосинхронных схем. А тем временем, ajrec напишет свой мануал, со своим методом.
Спасибо. Но я, если честно, так и не разобрался в Вашей идее. Надо будет как нибудь засесть основательно. А поскольку не разобрался, то и не критикую более. (про сырость идеи — просто, высказал мнение. Вам виднее, разумеется).
Модель Маллера — это ведь система уравнений, как ее можно не уважать? Но я лично никогда не пробовал их получать по таблицам истинности, у меня были чисто инженерные задачи: проверить небольшой автомат на самосинхронность, а для этого достаточно описать его сетью Петри и проверить в Петрифае. Т.е. таблицы истинности, диаграммы переходов, модель Маллера — знаю только в теории.
Очень глубоко заблуждаетесь.
В синхронной схеме переходной процесс начинается с тактового импульса, поэтому неисправность одного элемента, в логике, к примеру, означает только, что приемный триггер защелкнет неверную информацию. Схема при этом останется рабочей. А в некоторых случаях неисправность и вовсе будет незаметна: к примеру, если в 32-х битном умножителе подавать на вход только 8-ми разрядные числа, никто и не заметит что разряды 30-31 перестали переключаться в 1, поскольку на них всегда подан 0.
В синхронных схемах ошибки отлавливают проверкой четности, Хеммингом/Хсяо и т.д.
А в самосинхронной схеме любой сбой (в любом элементе) просто приведет к остановке работы (защелкиванию) всей схемы — почувствуйте разницу.

Information

Rating
Does not participate
Location
Россия
Registered
Activity