Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
XilinxCourse_v2.0.doc
Скачиваний:
76
Добавлен:
22.04.2019
Размер:
3.26 Mб
Скачать

2.2 Принципиальная структура fpga

Принципиальная структура FPGA устройства показана на рисунке 2.2.1. Как видно из рисунка 2.2.1, структурно, FPGA состоит из следующих компонент.

  • Logic Cell. Логическая ячейка обычно содержит небольшие комбинационные схемы с перестраиваемой конфигурацией и один или несколько триггеров D-типа;

  • Macro Cell. Макро ячейка представляет из себя некоторый законченный физический блок, дополняющий базовый функционал FPGA. Т.е. Блок спроектированный и изготовленный на транзисторном уровне. Обычно используют макро ячейки, содержащие блоки памяти, комбинационные умножители, схемы управления временем, периферийные схемы. Продвинутые FPGA устройства могут даже содержать одно или несколько готовых процессорных ядер;

  • S. Представляет собой программируемый переключатель.

Рисунок 2.2.1 — Принципиальная структура FPGA

Логическая ячейка может быть сконфигурирована таким образом, чтобы выполнять элементарную функцию, а программируемый переключатель может быть выбран, чтобы осуществлять межсоединения среди логических ячеек. Выбранный проект (проект, требующий разработки) может быть реализован с помощью определения функций каждой логической ячейки и выборочной установки каждого программируемого переключателя. Результатом проектирования цифрового устройства для FPGA как раз и является файл, содержащий конфигурацию некоторого количества логических ячеек и межсоединений, реализующих требуемое поведение. На последнем этапе проектирования данный файл используют для конфигурации некоторой целевой FPGA. Поскольку процесс конфигурации выполняют чаще всего в «полевых условиях», нежели чем на заводе, то и устройство получило название: программируемое в полевых условиях (field-programmable).

2.3 Что такое hdl. Распространенные hdl

В настоящее время для разработки сложных цифровых устройств широко используется метод проектирования, основанный на языках описания аппаратных средств или HDL (Hardware Description Language).

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

На данный момент разработано значительно число различных HDL. Имеется много исследовательских проектов по созданию новых или улучшению уже устоявшихся языков. Однако существенную ценность в коммерческом процессе проектирования играют только стандартизированные и устоявшиеся языки. В связи с этим можно утверждать, что в настоящее время в индустрии доминируют два языка описания аппаратуры: Verilog HDL и VHDL.

VHDL. Самым старым представителем HDL является VHDL (Very high speed integrated circuits Hardware Description Language), появившийся в 1980 году и получивший стандартизацию в 1987 (IEEE 1076). Данный язык был разработан по заказу Министерства обороны США с целью формального описания логических схем для всех этапов разработки электронных систем.

Первоначально данный язык предназначался для моделирования, но позднее из него было выделено «синтезируемое подмножество». В соответствии с техническим заданием и предпочтениями разработчиков средствами языка VHDL возможно проектирование на различных уровнях абстракции (подробнее о уровнях абстракции будет рассказано далее). Также, отличительной особенностью VHDL является его большая мощность на поведенческом и функциональном уровнях абстракции. В данный язык заложена возможность иерархического проектирования, максимально реализующая себя в экстремально больших проектах с участием большой группы разработчиков. Представляется возможным выделить следующие три составные части языка: алгоритмическую — основанную на языках Ada и Pascal и придающую языку VHDL свойства языков программирования; проблемно ориентированную — обращающую VHDL в язык описания аппаратуры; и объектно-ориентированную, интенсивно развиваемую в последнее время.

Verilog HDL. Verilog HDL (Verilog Hardware Description Language) был разработан в середине 1980х и, позднее, официально определен как стандарт IEEE 1364. Стандарт пересматривался в 1995 году – Verilog-1995, в 2001 году – Verilog-2001 и в 2005 году – Verilog-2005. В последних версиях языка было добавлено множество полезных расширений.

Язык Verilog HDL позволяет осуществить проектирование, верификацию и реализацию аналоговых, цифровых и смешанных электронных систем на различных уровнях абстракции. Разработчики языка сделали его синтаксис очень похожим на синтаксис языка C, что упрощает его освоение. Verilog HDL имеет препроцессор, очень похожий на препроцессор языка C, и основные управляющие конструкции языка, такие как «if», «while» и т.д. также подобны одноимённым конструкциям языка C.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]