FPGA Logic Gate Count

8

Я нашел плату FPGA, которая мне понравилась. Он использует Xilinx Spartan 6 LX45. Когда я перешел к таблице данных для серии «Спартанец 6» , в ней говорилось только о 43 661 логических ячейках. Сколько ворот это значит? Или, иначе, как бы я вычислил количество общих ворот из числа логических ячеек?

haneefmubarak
источник

Ответы:

6

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

Чтобы оценить размер нужного вам устройства, вам нужно взглянуть на сводку на с. 2 из таблицы данных вы связали. Обычно на ранних этапах процесса проектирования вы можете получить четкое представление о том, сколько триггеров, сколько операций ввода-вывода и сколько оперативной памяти требуется вашему дизайну. Один или другой из них, как правило, будет критическим ресурсом, определяющим размер необходимой детали.

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

Редактировать , вытягивая вещи из комментариев,

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

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

В любом случае, вы можете посмотреть Руководство пользователя по конфигурируемому логическому блоку Spartan 6 , чтобы узнать, какие ресурсы доступны в каждом блоке. Затем мысленно сопоставьте свой дизайн с этим ресурсом, чтобы увидеть, сколько блоков вам нужно. Этого должно быть достаточно, чтобы вы могли выбрать устройство подходящего размера.

Например, в этом документе вы можете видеть, что деталь LX45 содержит около 27 000 6-входных LUT. Каждую LUT можно использовать для реализации произвольной комбинаторной логики с 6 входами. Если вы можете выразить свою логику в терминах этого примитива, вы сможете оценить, подходит ли ваш дизайн устройству.

Фотон
источник
Ну, в том-то и дело, что я до сих пор не начал проектировать (и мой дизайн напрямую связан с логикой), потому что я собирался проектировать на основе своих специальных предложений FPGA. Я знаю, что мне понадобится примерно> 2,5 млн ворот, так как мне найти то, что может вместить столько ворот?
Haneefmubarak
Неужели нет шлепанцев?
Фотон
Ну, у меня есть некоторые, но многие из них просто SR и другие, вместо JK и D.
haneefmubarak
1
Чтобы получить хорошую поддержку от инструментов синтеза FPGA, вы можете подумать о корректировке своего дизайна, чтобы подчеркнуть D-триггеры - я полагаю, есть способы проектирования в других стилях, но наборы инструментов FPGA сильно ориентированы на RTL-проектирование, что означает много Dff годов.
Фотон
1
Есть очень веские причины, по которым инструменты FPGA предназначены для использования в основном с тактовой логикой. Сложные комбинаторные схемы очень сложно спроектировать в ПЛИС. Вам, вероятно, придется вручную размещать каждый ресурс, как будто тактирование не определено, задержки маршрутизации могут быть довольно случайными между циклами синтеза. Если ваш дизайн действительно не заботится о задержках распространения, у вас есть шанс ... но если вы заботитесь об этих задержках вообще, вы, вероятно, получите болезненный и обескураживающий опыт.
Даррон
4

FPGA - это больше, чем просто ворота (LUT, FF, Block RAM, Multipliers и т. Д.), И попытка определить, сколько их, является довольно бессмысленным упражнением. Маркетинговые отделы компании FPGA в прошлом выбрасывали такие числа, как эквивалентное число логических элементов, равное 1,4-кратному количеству логических ячеек, но я считаю, что они прекратили эту практику.

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

Amoch
источник
Ну, в том-то и дело, что я до сих пор не начал проектировать (и мой дизайн напрямую связан с логикой), потому что я собирался проектировать на основе своих специальных предложений FPGA. Я знаю, что мне понадобится примерно> 2,5 млн ворот, так как мне найти то, что может вместить столько ворот?
haneefmubarak
Откуда ты знаешь, что тебе нужны ворота 2.5M?
Amoch
Я начал создавать один модуль в небольшом симуляторе, умножив его на количество модулей, которое мне нужно, добавив немного места и округлив до двух рис.
Haneefmubarak
Как вы получили счет ворот? Инструменты FPGA предоставят вам номера использования с точки зрения их ресурсов, а не количества шлюзов.
Amoch
1
Как сказал @The Photon, FPGA и их инструменты сильно смещены в сторону методов синхронного проектирования, и в противном случае вы получите плохие результаты. В конце концов, если вы хотите разработать FPGA, используйте инструменты FPGA, а не что-то еще.
Amoch
2

Давай по-другому - это звучит из других комментариев, как будто у тебя уже разобрался модуль. Передайте это инструментам FPGA - даже бесплатные инструменты дадут вам оценку LUT / BRAM / FF из синтеза. Умножьте это на количество экземпляров, прибавьте некоторый провал, и вы получите пригодный счетчик LUT для определения размера FPGA.

Конечно, вам, возможно, придется сделать это для каждого типа FPGA, который вы рассматриваете, поскольку у каждого из них есть несколько разные архитектуры, с точки зрения количества входов, которые имеют LUT, и сколько других поддерживающих схем в виде мультиплексоров и т. Д. У них есть вокруг LUTS. И может ли ваша схема воспользоваться этим ...

Мартин Томпсон
источник
Что ж, я бы нашел, если бы смог найти бесплатный инструмент для ПЛИС, который позволял бы мне просто рисовать логические элементы, а затем программировать ПЛИС с ним.
haneefmubarak
Если вам нужна серьезная оценка, вы можете взять диаграмму ворот и превратить ее в HDL. В любом случае, вам придется сделать это для выполнения любой серьезной работы по внедрению. Это очень большой дизайн "спагетти" или иерархически структурированный с большим количеством повторного использования?
Мартин Томпсон,