Как часто используются чипы xilinx?

Я начинаю изучать встроенный C (и, возможно, немного C++), и кто-то из офиса сказал, что готов пожертвовать бесплатный чип xilinx, который у них лежит на полке. Я больше думал об Arduino, тем более, что учебных пособий по Arduino и примеров проектов предостаточно.

  • Может ли кто-нибудь подтвердить, как чипы xilinx сравниваются с arduino? Известно ли в индустрии, что они как-то более «реальны»? или нет?

  • Существуют ли определенные чипы xilinx (возможно, более старые модели), которых мне следует избегать, по крайней мере, пока я только начинаю?

  • У них относительно более крутая кривая обучения, чем у Arduino, из-за отсутствия руководств или нет?

Мне интересно услышать все, что приходит вам на ум, когда вы слышите xilinx, а не Arduino. Я очень мало знаю о чипах, не говоря уже об этом конкретном, поэтому очень трудно провести какое-либо обоснованное сравнение.


person cooper    schedule 26.07.2010    source источник


Ответы (5)


Вы сравниваете мел и сыр. Xilinx — это компания, а не чип, а Arduino — это открытая платформа для разработки, основанная на микроконтроллере Atmel AVR.

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

Xilinx производит ПЛИС и другие программируемые логические устройства. Можно иметь FPGA со встроенным процессором с жестким или программным ядром (т. е. процессор, определенный в логических элементах FPGA), и это ядро ​​должно быть запрограммировано на C, но если вы начинаете, сколько шаров вы хотите жонглировать сразу? Такое ядро ​​будет бесполезным без возможности также синтезировать периферийное оборудование, необходимое для того, чтобы заставить его делать что-то полезное. Они используются в узкоспециализированных приложениях, где ядро ​​и периферийный набор должны быть тесно связаны с приложением. Они часто используются в приложениях, где стандарты все еще находятся в стадии разработки (например, беспроводная связь), где как микропрограммное обеспечение, так и программное обеспечение могут нуждаться в изменении на месте для поддержки изменений. Другое использование FPGA заключается в непосредственной реализации алгоритмов в аппаратном обеспечении, чтобы воспользоваться преимуществами параллелизма и конвейерной обработки, которые они делают возможными, предлагая значительное ускорение по сравнению с программными решениями.

В то время как Arduino или, точнее, AVR (имеются другие доступные платформы разработки AVR) можно программировать на C и C++, если вы серьезно относитесь к использованию C++ во встроенных системах, 32-битная платформа может быть более подходящей (а также иметь производительность). преимущества). Плата для разработки на основе ARM Cortex-M3 или ARM 7 была бы хорошим началом, тем более что ARM также является распространенным выбором для процессоров с программным ядром на FPGA, если вы в конечном итоге перейдете к этому.

person Clifford    schedule 27.07.2010

Чипы Xilinx очень часто используются, но не для того, что вам нужно. Xilinx производит FPGA и CPLD, которые программируются на VHDL и Verilog (не соответственно, оба программируются на обоих). Они используются для прототипирования логических схем, которые будут превращены в интегральные схемы. Например, если вы хотите сделать свой собственный чип ARM, вы можете купить код у ARM и поместить его на FPGA от Xilinx, а затем запрограммировать результат на C. Я не рекомендую этого, просто пытаюсь дать вам представление. для чего нужны эти звери. В любом случае, Arduino — это надежная платформа для того, что вы хотите. Иди с этим.

person nmichaels    schedule 26.07.2010
comment
Существует также SystemC для описания оборудования, который набирает популярность. Но это все еще не то, чего хочет Купер. - person Axel Gneiting; 05.08.2010
comment
Xilinx и Intel (оба наиболее важных производителя FPGA) начали дополнительно поддерживать разные языки. OpenCL, Xilinx HLS (какая-то смесь C/C++, не соответствующая стандарту) являются некоторыми примерами этого. - person akira hinoshiro; 09.07.2018

Xilinx занимается продажей микросхем FPGA. Такой чип будет бесполезен для вас без инструментов, необходимых для создания логической схемы и сжигания чипа. Раньше этот инструмент был довольно дорогим, но доступен бесплатно для чипов низкого и среднего уровня (как указано в комментариях). Погуглите "Verilog" и "Программирование ПЛИС".

Существенная разница между FPGA и вашим Arduino заключается в том, что вы программируете аппаратное обеспечение на FPGA, а программное обеспечение — на Arduino.

person Hans Passant    schedule 26.07.2010
comment
@ Ганс, да, Verilog и VHDL звонят в колокол из моего разговора с ним. Значит, ПЛИС — не лучший выбор, если только вы не работаете в компании, у которой есть необходимые инструменты? - person cooper; 26.07.2010
comment
@Nathan и @Hans, чтобы не сомневаться, но вы уверены, что C нельзя использовать с FPGA? Я думал, что это то, что многие инженеры встраиваемых систем используют, по крайней мере, для тестирования кода, прежде чем они перенесут его на чип, или что-то в этом роде... - person cooper; 26.07.2010
comment
Частью набора инструментов является симулятор, позволяющий протестировать собственный логический проект перед его записью. Да, это код VHDL, а не C. Вы программируете аппаратное обеспечение, а не программное обеспечение. - person Hans Passant; 26.07.2010
comment
Существуют производные C, которые можно использовать для программирования FPGA (посмотрите, например, на HandelC). И инструменты для малых и средних FPGA в настоящее время также бесплатны. Но это все еще совершенно не подходит для требований ОП, я вполне согласен. - person Will Dean; 27.07.2010
comment
Вау. Подожди секунду. Инструменты FPGA совсем НЕ дороги. Большинство из них можно использовать совершенно бесплатно. Это не то же самое, что программировать на C... но это БЕСПЛАТНО. (Если только чип virtex не является высококлассным чипом стоимостью в сотни долларов) - person darron; 27.07.2010
comment
Что сказал Даррон. Я купил комплект (Xilinx) CPLD для класса в школе: доска с мигающими огнями, кнопками и еще чем-то. У него не было миллиардов ворот, но он стоил 60 долларов за весь пакет. Это были чисто аппаратные затраты. Он также поставлялся с (бесплатной? 10 долларов?) студенческой версией программного обеспечения Xilinx, но именно это заставило меня отказаться от Windows (из-за этого раздел перестал загружаться). Verilog основан на синтаксисе C, но по-прежнему в основном предназначен для программирования массивов вентилей, а не регистров. - person nmichaels; 27.07.2010

Xilinx производит ПЛИС и связанные с ними программные инструменты. Абстрактно FPGA — это множество логических элементов NAND, сконфигурированных со справочными таблицами. Они часто используются вместо нестандартных кремниевых чипов для сверхбыстрой логики, когда количество блоков недостаточно для создания ASIC.

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

Имейте в виду, вы можете загрузить «мягкое» описание обычного процессора и запрограммировать с помощью C процессор, который загрузил FPGA .... вы не хотите делать это при изучении встроенного. Вам может понадобиться отладка вашего ЦП. Что, ну, может быть весело. Если вы хотите сделать это.

Для встроенной работы в настоящее время популярным чипом является Arduino. Вы можете запрограммировать его с помощью C.

person Paul Nathan    schedule 26.07.2010
comment
Ардуино это чип? Я думал, что это просто доска для любителей/студентов. - person Will Dean; 27.07.2010
comment
Ардуино — это что-то вроде упаковки. Насколько я помню, он основан на серии Atmel AVR. Использовалась архитектура 16-битного Гарварда. - person Paul Nathan; 27.07.2010
comment
недавний? Программное обеспечение Arduino включает в себя компилятор g++, поэтому доступен ряд функций C++. однако вы всегда можете использовать внешний компилятор AVR g++ - person Anycorn; 04.08.2010

Как многие здесь уже говорили, Xilinx — это ПЛИС. FPGA являются «софтлогичными» в том смысле, что вы используете процесс разработки, аналогичный разработке ASIC, но вы можете протестировать свою конструкцию на оборудовании, не требуя для этого производственного предприятия. Компромисс заключается в скорости, они реализуют «металогику», вместо того, чтобы компоновать конструкцию, состоящую из традиционной логики «и-и-и» или «ни-ни». У них есть программируемые таблицы поиска, которые можно запрограммировать для реализации произвольных логических вентилей. По своей концепции это похоже на запуск интерпретатора для процессора вместо собственного кода.

Хотя вы не можете достичь той же производительности, что и с asic, это позволяет продуктам небольшого объема иметь большинство преимуществ asic без затрат на производство на заводе FAB. Кроме того, вы можете обращаться с FPGA гораздо больше как с программным обеспечением и загружать разные битовые потоки для разных режимов работы. И у Xilinx, и у Altera есть наборы для разработки, которые позволяют хранить дизайн на компактной флэш-памяти и выбирать различные образы во время загрузки.

Для встраиваемых систем FPGA дает вам то, что вы обычно не можете получить из готового процессора, ваша конструкция может иметь ТОЧНОЕ аппаратное обеспечение, которое вам нужно, вам не нужно искать 1000 различных микропроцессоров, чтобы найти «идеальное соответствие! " Кроме того, я видел, как старые системы, в которых использовались 16-битные или 32-битные процессоры, перешли на FPGA и достигли лучшей производительности, меньшей стоимости и меньшего энергопотребления, чем конструкции на основе процессора. Есть что сказать о включении «правильного» оборудования.

И VHDL, и Verilog являются языками высокого уровня, и хотя они отличаются от C и C++, они не намного сложнее, просто отличаются друг от друга и требуют другого мыслительного процесса. У вас не так много встроенных библиотек, которые сделают все за вас, поэтому вы можете получить «ядра» с сайтов, таких как «OpenCores.com», и соединить их вместе для реализации своих проектов с дополнительной логикой, которая вам нужна. Код FPGA, как правило, будет параллельным, вам нужно специально реализовать последовательное поведение, и вы должны учитывать этапы конвейера и задержки. Так что, хотя сами языки не сложнее, некоторые концепции могут быть. Но они также более полезны, вроде как строят дом, а не пишут о доме.

person NoMoreZealots    schedule 05.08.2010