Краткое введение:Field Programmable Gate Arrays.

В этой статье я покажу вам, что такое FPGA Field Programmable Gate Array и как работает программа FPGA. Мы также создадим небольшой проект, который покажет вам хороший пример того, чего можно достичь с помощью этих устройств. Тем не менее, я буду держать его как можно более простым, чтобы облегчить понимание написанного.
Как уже упоминалось выше, FPGA является аббревиатурой Field Programmable Gate Array.Конечно, внутри FPGA вы найдете не только массивы, но и его основу. FPGA в основном небольшие устройства, которые позволяют проектировать и разрабатывать электронные устройства с помощью всего лишь компьютера и самого устройства,которые находятся в вашем распоряжении.Большинство инженеров ненавидят такие программы. Наверное, благодаря этому, был создан более дружественный язык, как раз для таких случаев, а именно, это VHDL.

Первый integrated circuits не содержал больше, чем просто оценку транзисторов. Они были типа Small ScaleIntegration (SSI) Высокий на них спрос на рынке,и их быстро разобрали. Следующим шагом стало появление цепиMediumScale Integration, содержащую несколько сотен транзисторов.

В 70-х годов, появление модели Large Scale Integration в integration переехали до десяти тысяч транзисторов. Для справки, первый 1 Кбит ОЗУ и микропроцессоры, содержали менее четыре тысячи транзисторов. Наконец, в 80-х годах, с появлением  схем Very Large Scale Integration , номера поднялась до уровня миллионов транзисторов в цепи.

Все это стало возможным благодаря техническому прогрессу в CMOS области. В 1986 году появилась первая Мбит RAM память (Random Access Memory), которая содержала более миллиона транзисторов. Если вы думаете, что это предел, позвольте мне сказать вам, что это может быть намного улучшено.

Самая высокая плотность транзисторов на технологии, которую мы знаем сегодня как Wafer-Scale integration Тем не менее, на данный момент она не распространяется ,потому что ,есть концепция занимащая лидирующие позиции на этой теории System-onChip , которая утверждает, что всё (память, процессор, периферийные устройства, передача данных и т.д.) в конечном итоге будет на одном кристалле.

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

В этой семье реконфигурируемые схемы,и существует много для работы с этими схемами,которые требует хорошего знания цифровой электроники и логической математики.

В моей предыдущей статье я рассказал вам, что я собираюсь показать вам, как построить простой процессора. Что я буду делать для этого. Но, прежде чем решиться на дальнейшие объяснения, важно для нас, чтобы понять, инструменты, которые мы собираемся использовать. Поэтому очень важно, чтобы вы поняли мир FPGA и язык, на котором мы можем программировать их VHDL. Так как я собираюсь использовать FPGA Xilinx Spartan для реализации я покажу вам, как создать его, однако, другие FPGA  имеют схожие концепции, лежащие в них.

Xilinx Spartan FPGA наращивание

Ключевое слово «Поле»  из FPGA , не имеет ничего общего с тем, как оборудование настроено. На самом деле, речь идет о том, где устройство изменено: программистом, или на заводе, а может и в некоторых лабораториях. Скажете вот умный, не так ли?

На картинке ниже вы можете наблюдать общее накопление FPGA:

В то время как на рисунке ниже, можно увидеть эскиз Xilinx Spartan FPGA.

В обоих изображениях, вы можете наблюдать основные части FPGA. Во-первых, это замок  Configurable Logic В Это самая важная часть FPGA, так как она содержит цифровые электрические компоненты, необходимые для создания схемы ,которая будет описана с помощью либо VHDL или Verilog языков.

Блокировка Input/Output , по существу служит для обмена данными между FPGA и его окружениеv. Можно также установить сохранить правила, необходимые для различных протоколов связи, которые вы можете использовать. Digital Castle Manager можно использовать для синхронизации тактовых сигналов, деление частоты или размножения. Dedicated Multiplier, как предполагает его название, выделенное устройство множителя оборудования.

Блок памяти встроен в модули памяти, которые можно использовать для создания распределенных ОЗУ из CLBs LUT (Look Up Table). Тем не менее, наиболее важной частью является матрица маршрутизации. Это дает гибкость FPGA и имеет высокую избыточность обеспечивания нескольких вариантов связи между частями,которые я перечислил ранее. Это возможно, поскольку он построен рядом с RAM. Картинка, которая следует ниже , просто более реалистичное представление об этом:

Xilinx ISE

Несколько компаний, производящих FPGA схемы: Xilinx, Altera и Atmel. Тем не менее, долг тех, кто делает эти электронные устройства не останавливается после того, как они оставляют дверь завода. Для продукта, чтобы ему быть успешным, производитель должен гарантировать, что инженер не имеет инструментов для работы с ним. Xilinx ISE является инструментом, который позволит вам создавать Xilinx FGPAs.

В статье ниже я покажу, как разрабатывать и осуществить простую схему. Есть две возможности при разработке FPGA. Вы можете использовать описательный язык программирования VHDL или Verilog, или вы можете использовать схемы.

На практике мы используем обе. В схеме,которую вы можете создавать графические изображения и связи между уже сделанным устройством. Они являются своего рода как черный ящик, который имеет несколько входов, и из них он создает некоторые выходы.

В большинстве случаев мы пишем, в язык описания, как черный ящик работает внутри, а потом просто связываем их вместе в схеме. Прежде чем идти дальше, вам нужно само приложение. Вы можете скачать её Ознакомительной версии будет достаточно. Я должен предупредить вас, что как только вы установите её, она будет занимать довольно большую часть жесткого диска — около 11 ГБ.

Если у вас нет Xilinx FPGA, можно работать над тем, как мы идем. К счастью, рядом с разработкой инструментов, существует моделирование инструментов, вы также и с этим сможете увидеть, что вы сделали без надлежащей программы FPGA в кармане. Существует симулятор интегрированный в ISE, этой базовой программы вполне хватит и она без ограниченной. Если вы хотите использовать что-то более лучшее, вы можете скачать   .

Вы можете скачать студент издание, если вы ученый и хотят попробовать инструмент  .ModelSim работает с файлами VHDL испытательном стенде. Я также покажу вам, как сделать это.Тем не менее, вы должны будете иметь некоторые базовые цифровые электронные знания, если вы хотите понять, что мы делаем. Итак, давайте делать что-то простое, но достаточно сложно.

Что мы хотим получить

Цель состоит в том, чтобы создать простую систему регистра (модуль памяти), записать данные в него, а затем прочитать его. Пусть будет четыре 4-разрядных регистра. Из этого следует, что у нас будет четырёх-битный параллельный линейный вход (по одному на каждый бит). Так или иначе, мы должны указать, как зарегистрироваться, чтобы использовать. Для этого будут существовать два широких селектора адресов в качестве входных данных.

Вы можете спросить, почему мы хотим две строки для этого. Ну, у нас есть четыре регистра. Мы можем рассчитывать адреса, начинающиеся с нуля, в результате чего высокий адрес три. Три в двоичной системе счисления может быть записано с двумя битами: 11. Таким образом, две линии все, что нам нужно.

В цифровом мире, есть два возможных значения: единица и нуль. При переходе от одного уровня до нуля есть заднему фронту, а когда происходит обратное, то по фронту. Линия является активной, если она есть в качестве входных данных. В противном случае, это не так.

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

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

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

Спасибо за ваше время на чтение моей статьи, я хотел бы попросить вас, чтобы Вы оценили её по своему усмотрению. Это очень помочь. Вы можете задать свои вопросы здесь, в форме комментариев ниже.Убедитесь, что Вы следите за моей следующей статьёй.

Оставить комментарий