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

Синтез асинхронных цифровых схем

9 minutes ago, Enthusiast said:

 то вполне возможно значительно повысить скорость вычислений, одновременно снижая выделение тепла микросхемой

это обман трудящихся :)

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

мало задач, когда возможно снижать производительность вычислительного узла

ну или же закладывать еще в проекте производительность при максимальной температуре, гораздо ниже возможной, что собственно и делается в синхронных схемах.

на практике это приводит к тому, что дальше стартапов не идет, первый асинхронный АРМ (ARM7TDMI) был сделан еще в 90-е, и что-то с тех пор на дигикее они не появились :)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

26 minutes ago, Enthusiast said:

вполне возможно значительно повысить скорость вычислений, одновременно снижая выделение тепла микросхемой

Так можно и к аналоговым вычислителям вернуться. Мое личное субъективное мнение, подобные истории всплывают часто в разных сферах. Основаны они на том, что нынешний прогресс процентов на 90 завязан на прикладную науку. А людям тяготеющим к "фундаментальной" стороне места мало. Вот они и пытаются изобрести, иногда велосипед. А реальность такова, что даже 50% выигрыш через 20 лет разработки и обкатки технологий не может конкурировать с готовым решением "завтра". Тем более, что технология используемая сегодня, через 20 лет развития может и превзойти новаторство. Рывок возможен лишь если появится новое поле действия. Новый класс вычислительной техники например. Какие-нибудь квантовые или оптические схемы 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, yes said:

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

В асинхронных схемах упор сделан на то, что греться будут лишь те узлы, которые непосредственно участвуют в вычислениях в данный отрезок времени. Остальные узлы ждут данных и тепла не выделяют. За счёт этого кристалл микросхемы будет прогреваться не целиком, как в случае синхронной работы, а частями попеременно. В целом это позволит получить меньшее тепловыделение на одинаковой площади микросхемы с синхронной обработкой. А раз так, то и быстродействие можно увеличивать. Индус на видео утверждает, что разогнал вычислительную мощь своей асинхронной микросхемы "глубокого" обучения до уровня 12 ГГц.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

О чём разговор, тема не соответствует действительности — автор вовсе не гигантоман и ему не нужны реально асинхронные схемы в ПЛИС, а хочется всего лишь собирать существующие или новые схемы на 133-й серии внутри ПЛИС, что вполне можно реализовать суррогатным псевдоасинхронным способом (стробированием), т.е. интерпретатором на автоматах, на примере 133ТМ2:

 

if (~s | ~r | (qp ~^ qn) | (~qc & c)) begin

 qp <= ~s | (r & d) | (qp & qn);

 qn <= ~r | (s & ~d & ~(qp & qn));

end

qc <= c;

 

Для 160 МГц 1530-й серии (74ASxx) потребуется порядка 350 МГц тактовой, но 10 МГц 133-й серии — это вообще ни о чём, можно эмулировать на демократичных 50 МГц.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 hours ago, Plain said:

вполне можно реализовать суррогатным псевдоасинхронным способом

По мне так разговор о том, что можно, но не стоит. Если автор готов изучать Verilog или, тем более, знает его, лучше реализовать тот же функционал в синхронном проекте.

Если не готов, то вообще сложно что-то рекомендовать кроме схемного редактора. А там или есть rs триггер в библиотеке , или нет.

Изменено пользователем Strob

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 hours ago, Strob said:

По мне так разговор о том, что можно, но не стоит. Если автор готов изучать Verilog или, тем более, знает его, лучше реализовать тот же функционал в синхронном проекте.

Если не готов, то вообще сложно что-то рекомендовать кроме схемного редактора. А там или есть rs триггер в библиотеке , или нет.


 

Или, менее ультимативно, описать корпуса применённых м/с 133 серии в HDL и соединить их проводками.

На мой взгляд - лишь бы описание было верным, адекватным.  А синтезатор всё соптимизирует максимально. И в устройство ПЛИС лезть не нужно и синхр/асинхр.

Другое дело уложится ли в уже припаянную м/с и какие спецэффекты проявятся...
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 часов назад, Strob сказал:

Если автор готов изучать Verilog или, тем более, знает его, лучше реализовать тот же функционал в синхронном проекте

Фактически, Вы отрицаете возможность тупо симуляции тугого древнего продвинутым современным, и предлагаете, помимо однократного изучения Verilog, каждый раз ещё и изучать все старые схемы на рулонах синьки, которые автору, очень может быть, вряд ли вообще хотелось перекладывать с россыпи в ПЛИС, тем более, такой разбор однозначно будет генератором кучи ошибок.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 minutes ago, Plain said:

возможность тупо симуляции тугого древнего продвинутым современным

Вот вспомнилось - когда-то народ клепал Синклеры на рассыпухе - на том, что удавалось к-л образом "достать".

Я тоже склепал себе такую игрушку. И был у нее нюанс - часа через два работы она сбрасывалась (как будто нажимали ресет). Потом можно было опять загрузить программу, но через пару часов все повторялось.

Дело оказалось в особенности машинного цикла М1 процессора Z80 - на какие-то наносекунды отличались тайминги при выборе кода команды и данных из динамического ОЗУ. Решался вопрос или применением микросхемы более быстродействующей серии, чем той, что мне тогда удалось достать, или припайкой RC цепочки к одному из сигналов для его задержки на десяток наносекунд.

Вот в связи с этим и не уверен - всегда ли получится работоспособное изделие, если тупо заменить старую элементную базу новой путем не "переброса" на нее логики проекта (с соответствующим тайминг-анализом), а заменой старых корпусных микросхем новыми "внутрикристалльными" внутри ПЛИС... 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Приветствую!

25 minutes ago, Plain said:

Фактически, Вы отрицаете возможность тупо симуляции тугого древнего продвинутым современным, ...

Вопрос в адекватном воспроизводстве  "... тугого древнего ..." в симуляторе. - Приводили уже пример  добавления RC цепочки на пины чтобы  фильтровать глитч/добавить задержку/ сформировать импульс.  Без разбора рулонов схем такой функционал не восстановить. Ну и естественно в FPGA не повторить напрямую,  без изменения дизайна.

Удачи! Rob.  

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я в курсе, что в ПЛИС нет третьих состояний, проводного ИЛИ и RC, но эмулировать всё это вполне возможно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

19 hours ago, Enthusiast said:

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

так эти узлы и будут бутылочным горлышком, поэтому совершенно не важно, что с другими узлами. а чтобы оптимизировать "софт" ну или типа прикладную задачу под "равномерный прогрев" никаких талантов не хватит :)

естественно - есть задачи, в которых можно использовать - тот же RF (в радио чипах), всякие делители, логику и т.д. - принято проектировать асинхронно, по крайней мере, когда "соседи" такое проектировали, смотрел, никакого синхронного дизайна не видел там

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

--------

в принципе не стоит путать асинхронную и самосинхронную логику. тут, если я правильно понимаю, речь идет про самосинхронную, то есть не просто на кристалле/ПЛИС расставить ячейки так, чтобы успевало, а всякие "научные" хитрости, дополнительные состояния, запрос/подтверждение и т.п.

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

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 hours ago, Plain said:

Я в курсе, что в ПЛИС нет третьих состояний, проводного ИЛИ и RC, но эмулировать всё это вполне возможно.

А еще в ПЛИС есть задержки распространения, которые больше чем задержки на элементах. Это куда веселее для асинхронной схемы. Например, просто как иллюстрация, мне пришлось делать многоотводные линии задержки на ПЛИС. Так вот, интересная особенность, младший бит цепи суммирования с ускоренным переносом, в ячейке плис, несмотря на схему, поступает на выход ячейки отнюдь не первым. И второй не вторым... И т.д.

Я ничего не отрицал, но мы говорим о разных вещах. Если ТС хорошо знаком с ПЛИС, то у него есть множество вариантов, как сделать то, что он хочет. Если плохо, то у него есть только один вариант - познакомиться. По моему мнению не существует простого решения его задачи без погружения в специфику ПЛИС. Попытка простого переноса почти наверняка обречена на провал.

Вы же утверждаете что варианты есть. Конечно есть. Но они в несколько раз сложнее аналогичного по функционалу синхронного решения

Изменено пользователем Strob

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, Strob сказал:

Попытка простого переноса почти наверняка обречена на провал

Определите, что по-вашему "простой перенос", потому что после заталкивания рассыпной схемы в честно сделанный эмулятор она принципиально заработает сразу, и задача сводится к подстройке цифро-аналоговых цепей, как в примере с 7474 выше, т.е. определения выхода метастабильных узлов из запрещённых состояний — в данном случае, из 00 в D и из 11 в 10.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

9 hours ago, Plain said:

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

Не понял, когда это вопрос был про эмуляцию. Звучал только синтез в FPGA. Или Вы считаете что ТС-а интересует создание честного эмулятора, честного синтезатора и вообще среды разработки асинхронных КА под плис?

Простой перенос, это реализация схемы "как есть" без внесения специфических для плис изменений в проект. И сделать таким образом рабочую схему однозначно намного сложнее, чем взять таблицы состояний и переходов автомата(или любые другие их аналоги), взять пример написания синхронного автомата из среды разработки и перенести таблицы на hdl. Добавить с помощью 10 щелчков мыши констрейн на тактовый сигнал и все.

Изменено пользователем Strob

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

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