Jump to content
    

Призрак ASIC бродит по России

4 minutes ago, Мур said:

И все равно это будет ВЫШЕ, чем у прототипа на ПЛИС!

Не факт. Всё зависит от техпроцесса и характеризации используемых библиотек. Если ФАБ не может загнать на 1нм или начальник сказал "Этот проект делаем на 28 нм", то хоть убейся, а сильного профита не будет. Особенно если учесть, что чем массовее и надёжнее продукт (автомотив, военка), то никто за маленькими нанометрами не ганяется. Отсюда и профит у ПЛИС выше

Share this post


Link to post
Share on other sites

3 minutes ago, Мур said:

Тут говорилось, что реально поднять тактовую частоту в 3 раза. (Ух какой приятный SLACK!)  Чувствуете?..

По мере увеличения тактовой частоты как раз Slack вас начнет все менее и менее радовать.

Quote

А раз так, то обойти вопрос глюков между зонами клоковых доменов можно тупым понижением тактирования. И все равно это будет ВЫШЕ, чем у прототипа на ПЛИС!

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

1) подвергать свой RTL-код анализу соответствующими программными инструментами на предмет выявления незапланированных CDC и RDC (CDC хорошо и привычный STA tool выявляет, а для RDC есть специально обученные другие);

2) что-то делать с CDC/RDC - либо изменять дизайн, чтобы они ушли, либо бороться с метастабильностью там, где без переходов не обойтись.

Share this post


Link to post
Share on other sites

21 minutes ago, Raven said:

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

1) подвергать свой RTL-код анализу соответствующими программными инструментами на предмет выявления незапланированных CDC и RDC (CDC хорошо и привычный STA tool выявляет, а для RDC есть специально обученные другие);

2) что-то делать с CDC/RDC - либо изменять дизайн, чтобы они ушли, либо бороться с метастабильностью там, где без переходов не обойтись.

Не забывайте, что те триггеры на ASIC быстрее ПЛИСовских! Потому их (ASIC) коридор (предустановка\ удержание) уже.

В целом вы безусловно, правы.

 

Quote

По мере увеличения тактовой частоты как раз Slack вас начнет все менее и менее радовать.

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

Share this post


Link to post
Share on other sites

1 hour ago, Мур said:

Не забывайте, что те триггеры на ASIC быстрее ПЛИСовских!

Может конечно и да, но что-то я сильно сомневаюсь, что есть хоть какая-то разница в скорости.

Share this post


Link to post
Share on other sites

30 minutes ago, Strob said:

Может конечно и да, но что-то я сильно сомневаюсь, что есть хоть какая-то разница в скорости.

 

Share this post


Link to post
Share on other sites

18 minutes ago, Strob said:

есть хоть какая-то разница в скорости

Кстати да. Разницы именно для flip-flop практически нет. Setup/hold близки и внутренняя структура похожа (насколько можно судить из древних схематиков для Альтеры/Хилых).

А вот отсутствие интерконнект матриц и возможность "прокинуть" соединения напрямую между соседними элементами - это значительное преимущество. Особенно когда интерконнект с наносекунд-сотен пикосекунд в ПЛИС опускается до пикоосекунд-сотен фемтосекунд (для ASIC на худших техпроцессах). Но тут уже начинаются танцы вокруг емкостей элементов, правильного построения clock tree (чтобы некоторые сигналы не пришли раньше окончания времени hold)б расчёта нагрузок и построения цепей питания, умного заполнения spare модулями и filler'ов... Извините, понесло.

Короче гемора вагон и даже больше. И это если не учитывать, что EDA использует разные субпрограммы с разным набором комманд (не уверен как у Synopsis но у Cadence'а именно так и есть) и приходится часы тратить, чтобы правильно задать командя для genus'а, innovus'a, conformal'a, modus'a и т.д.

Share this post


Link to post
Share on other sites

17 hours ago, Nick_K said:

Кстати да. Разницы именно для flip-flop практически нет.

Прошу прояснить.  Тут двусмысленность...

Принцип реализации триггера одинаков.  Однако триггер с обвязкой(FPGA) и в чистом виде(ASIC) имеют совершенно разные динамические характеристики!

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

Share this post


Link to post
Share on other sites

8 minutes ago, Мур said:

Принцип реализации триггера одинаков.  Однако триггер с обвязкой(FPGA) и в чистом виде(ASIC) имеют совершенно разные динамические характеристики!

На самом деле нет. Если взять Flip-Flop в чистом виде, то разница не значительная и то только потому, что каждый производитель делает нюансы по-своему. Соответственно в частном случае для ASIC кроме входов D, R, S и выхода Q ничего больше нет, ровно как и у FPGA'шного FF. Да DFF для ASIC может иметь от 20 вариантов и выше и в зависимости от нужд на этапе синтеза может быть оптимизирован как простой флоп без сета-ресета, так и "утяжелённый" с входом разрешения и 2-4 выхода да ещё и с инверсными пинами. В то же время, чтобы доступится до FF ПЛИСа, нужно пролезть через весь Слайс, но тут часто и свои бонусы, так как LUT'ы можно сконфигурировать в нужную логику и настроить другие параметры, такие как тип ресета, полярность клока и т.д.

Соответственно если говорить об усреднённых динамических характеристиках FF для ASIC и FPGA, то они одинаковы. Ибо всё делается по похожим схемам и с использованием одинакового кремния с разными примесями. Разницы начинаются в деталях.

18 minutes ago, Мур said:

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

Упомянутые ёмкости не влияют на "зону метастабильности". Эти параметры (setup/hold) зависят только от строения FF. А сами ёмкости межсоединения, промежуточных буфферов, комбинаторики, фанаута и т.д. влияют только на скорость распространения самого сигнала в нетах. И когда сигнал доходит до входного буффера FF (а точнее до нужного значения напряжения) только тогда и начинается заряд внитренностей флопа по сетапу и после фронта клока по холду. И именно это может создать метастабильность.

Share this post


Link to post
Share on other sites

29 minutes ago, Nick_K said:

На самом деле нет.

Спасибо!  Премного благодарен!..

Share this post


Link to post
Share on other sites

On 7/15/2020 at 2:15 PM, yes said:

почему - не знаю.

но АРМ ничтожно мал по сравнению с ПЛИС

Ну вот вам и ответ на вопрос ТС.

Речь же про заказной ASIC?

Едва ли ТС сумеет сделать ASIC соизмеримый по площади с четырьмя ARM'ами Cortex™-A53.

Вероятнее всего его ASIC будет "ничтожно мал" по сравнению с этими ARM'ами, а значит и подавно "ничтожно мал по сравнению с ПЛИС".

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

Share this post


Link to post
Share on other sites

10 hours ago, blackfin said:

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

почему в два-три? для 28нм TSMC у триггера setaup+hold где-то 10ps, у ARTIX-7 самого быстрого -3 (это та же 28нм) setup+hold 200ps. 

ну и остальная времянка в приблизительно такой же пропорции.

то есть теоретически и в 20 раз можно, а если руки у бэкенда не прямые и плохо простимулированые - 10 раз. вполне реальная цифра. на практике так и получалось 8-10 раз (в сравнении в виртекс-7). но у того дизайна, который я и в ПЛИС и в АЗИКе делал - в АЗИКе времянку ограничивали блоки памяти, а они в ПЛИС не хуже

ну то есть в ПЛИС производитель дает не голого триггера времянку, а от входа SLICE до CP - то есть там проводов полно мультиплексоров - вот и получается, на то и гибкость ПЛИС, чтобы дизайны тормозными получались

Share this post


Link to post
Share on other sites

22 hours ago, yes said:

почему в два-три? для 28нм TSMC...

Теоретизировать легко и приятно.. :)

Я же предложил сравнить результаты синтеза для ASIC и для FPGA полученные на практике фирмой CAST

 

В итоге:

- для MD5 получается выигрыш: 800/300 = 2.7 раза

- для AES-128 получается выигрыш: 500/200 = 2.5 раза

- для SHA-256 получается выигрыш: 1000/350 = 2.9 раза

 

То есть, в 10 раз быстрее на практике не получится по любому.

Share this post


Link to post
Share on other sites

54 minutes ago, blackfin said:

То есть, в 10 раз быстрее на практике не получится по любому.

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

Ну и второй вопрос: что именно из себя проект представляет в плане используемых ресурсов. Если, как у человека выше, упор был в блоки памяти, то выигрыша и не будет, если эти блоки такими же остаются. Ну а если 80% времени уходит на передачу сигналов в ПЛИС и лишь 20% на собственно логику, в заказной схеме прирост может быть очень значительным (ведь там не только соединения более быстрые -- нет никаких неявных мультиплексоров и т.п., но и логика много проще -- не универсальный ЛУТ с несколькими мультиплексорами, а именно тот элемент, что нужен в конкретном случае; как результат -- много меньше задержки и в логике, и в соединениях).

Share this post


Link to post
Share on other sites

11 hours ago, SII said:

теории спроектировать всё на уровне принципиальной схемы, а отнюдь не отдать всё на откуп компиляторам и прочим инструментам

Вот именно что в теории. Реально уже сложность проектов настолько выросла (да и синтезаторы отнюдь не глупые), что проектировать напрямую блупринты нет смысла. Даже маленькие проекты оставляют на оптимизацию тулзов и лишь помогают/контролируют поведение через дополнительные команды.

12 hours ago, SII said:

Ну и второй вопрос

Реально с ПЛИСами не всё так хорошо/плохо. Да чистая задержка по документации для setup/hold FF выше. Но давайте вспомним, что в Слайсах сразу перед флопами стоят 6-ти входовые Луты, которые способны реализовать достаточно сложную логику и сразу защёлкнуть в триггер. А наличие скоростных DSP и достаточно быстрых распределённых RAM позволяет оптимизировать проект как угодно, было бы желание. И не будем забывать про встроенные контроллеры для DDR, GTP, тот же ARM.

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

14 hours ago, yes said:

почему в два-три? для 28нм TSMC у триггера setaup+hold где-то 10ps, у ARTIX-7 самого быстрого -3 (это та же 28нм) setup+hold 200ps

TITO (An – Dn inputs to A – D Q outputs) 0.94 ns

Вся логика через 7ми входовой LUT до выхода FF может дать частоту под 1ГГц. Если нагрузить эквивалентной логикой на 7 входов и подключить к RSDFF то можно получить практически такие же числа, если не хуже (с учётом рутинга). Да, ПЛИС загнётся позже, на межслайсовых передачах, но реально я бы не говорил, что ASIC категорически быстрее. А если ещё задаться целью сьэкономить место/питание, то и помедленнее может быть.

Share this post


Link to post
Share on other sites

12 часов назад, SII сказал:

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

Ну и второй вопрос: что именно из себя проект представляет в плане используемых ресурсов. Если, как у человека выше, упор был в блоки памяти, то выигрыша и не будет, если эти блоки такими же остаются. Ну а если 80% времени уходит на передачу сигналов в ПЛИС и лишь 20% на собственно логику, в заказной схеме прирост может быть очень значительным (ведь там не только соединения более быстрые -- нет никаких неявных мультиплексоров и т.п., но и логика много проще -- не универсальный ЛУТ с несколькими мультиплексорами, а именно тот элемент, что нужен в конкретном случае; как результат -- много меньше задержки и в логике, и в соединениях).

Можешь, но смысла нет. За это время проект потеряет актуальность. 

У каждого продукта есть своя ниша. Ниша ASIC существенно уже FPGA. Там все очень специфично.  И такие вопросы мало где стоят. Только цена. 

Если брать тему изначально, то лучше дать компании не отлаженный на  FPGA проект, а начальное ТЗ.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...