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

Как пересчитать примитивы Xilinx в "логические вентили"?

Здравствуйте.

 

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

Ну т.е. надо пересчитать отчет по количеству триггеров и лутов в эти самые вентили.

Кто-нибудь видел какие-нибудь заслуживающие доверия цифры от Xilinx, на которые можно опереться?

Ну там, 1 триггер - хх логических вентилей (или транзисторов, или еще чего-нибудь низкоуровневого).

 

Всем заранее спасибо за помощь.

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


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

Вангую, что лучше посчитать не в вентелях, а в ПЛИС от КТЦ ЭЛЕКТРОННИКА. Чтобы заменить один xcku115 по частоте и по ёмкости надо где-то около 1500 5578ТС024, если считать по FF. Ну а по вашему вопросу можно максимальный размер bit stream в битах выдать за вентили.

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

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


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

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


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

1 hour ago, likeasm said:

максимальный размер bit stream в битах выдать за вентили.

 

только надо брать зипованый битстрим

------------

а по теме - тут вопрос - покупаем или продаем? то есть если покупаем и в FPGA надо недооценить (как делает Синопсис выше) - то одно. если продаем, то FPGA в названии содержит число гейтов в 1000 10000 (upd тут я нолик забыл, они в LC, а не в гейтах меряют в современных семействах - тут хитрее) по оценки Ксайлинса - то есть можем взять процент утилизации и помножить на это число из партнамбера

если хочется какой-то нир провести - то из вивадовского репорта можно взять табличку утилизэйшин с тем сколько каких элементов понадобилось (ну там LUT6 , LUT3, MUX, DSP и т.д.), оценить каждый из элементов в гейтах (например триггер - 10 гейтов, LUT6 - 6 гейтов (хотя у меня больше получается) LUT3 1 гейт и т.д. - особенно хорошо для DSP48 или как оно в ультраскейлах называется) перемножить и просуммировать. тут напрашивается питон-скрипт и премия по выполнению НИРа :)

 

upd: цифры сколько NAND2 какой гейт занимает в АЗИКовой библиотеке в этой самой библиотеке и приводятся (секретные, но можно найти если уж совсем). LUT3 это например какой-нибудь трехвходовый элемент размер которого 1.5 NAND2 гейта, например. но там и NAND2ххх8 (с мощным выходом) может весить 10 NAND2 гейтов (с 0 выходом в которых принято мерить), а после P&R гейтов с 0 выходом практически не остается в проекте...

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


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

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

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


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

Осень грубо есть число вентилей в плис. Есть процент занятости кристалла.  :)))

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


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

Почему очень грубо? Для проектов в Виваде в GUI есть финальный репорт, который показывает занятость всех используемых макроячеек (LUT, BRAM, FF и т.д.). Взяв структуру ЛУТа и перемножив - получите более-менее реальные значения в логике, откуда нехитрыми манипуляциями мождно получить значение в вентилях.

image.thumb.png.5bce33975400066fd0b005a0a653b845.png

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


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

Задачка скажем так не однозначная - даже при синтезе ядер в хлс под разные частоты и разные плис получаются разные решения по ресурсам. Насколько понимаю решение для асик будет базироваться на более скоростных логических элементах чем в плис и вполне может оказаться гораздо более компактным по ресурсам. Так что проект нужно собирать и оптимизировать под реализацию в конкретном чипе с учетом его характеристик. 

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


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

On 1/5/2022 at 12:19 PM, Nick_K said:

Почему очень грубо? Для проектов в Виваде в GUI есть финальный репорт, который показывает занятость всех используемых макроячеек (LUT, BRAM, FF и т.д.). Взяв структуру ЛУТа и перемножив - получите более-менее реальные значения в логике, откуда нехитрыми манипуляциями мождно получить значение в вентилях.

image.thumb.png.5bce33975400066fd0b005a0a653b845.png

Для примера на картинке сколько получается?

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


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

6 hours ago, eugen_pcad_ru said:

Для примера на картинке сколько получается?

Быстрый поиск по просторам дал следующее значение: 6 двухвходовых AND гейтов соответствуют 1му LUTу.
Соответственно данный проект соответствует 30 двухвходовым AND гейтам.

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


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

13 hours ago, Nick_K said:

данный проект соответствует 30 двухвходовым AND гейтам

А триггера + буфер + IO (наверняка там не просто проводники, но и через логич. элементы сигналы проходят.

Также - не следует забывать, что LUT'ы могут быть различной степени сложности (разное число входов) в разных FPGA.

Ну и - "переключатели-соединители", обеспечивающие соединение "кирпичиков" в нужную схему - их, вероятно, тоже как-то нужно учитывать...

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


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

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

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

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

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

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

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

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

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

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