Как многие здесь уже говорили, 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