Дискретные элементы и их реализация

Для выполнения своих вычислительных и логических функций компьютерная техника использует логические элементы (вентили). Логический элемент - это часть электронной логической схемы, которая реализует элементарную логическую функцию, описывающую работу устройств компьютера. Обычно у вентилей бывает от двух до восьми входов и один или два выхода. Чтобы представить в вентилях два логических состояния - «1» и «О», соответствующие им входные и выходные сигналы, имеют один из двух установленных уровней напряжения, к примеру +5 В и О В. Высокий уровень потенциала обычно соответствует значению «истина» (true) «1», а низкий уровень - значению «ложь» (false) - «О».

Логические элементы можно описать с помощью как функцию электрической схемы F(R), функцию таблицы истинности F(T), функцию формулы F(O) и функцию диаграммы F(s), как это показано на рис. 1.3.

При реализации с помощью физических средств, логические функции ИЛИ, И, НЕ можно реализовать с помощью параллельного, последовательного или смешанного соединения электрических проводников, как это показано для F(R) на рис. 3.1. Для функций F двух переменных {а ,Ь) физическим состояниям «включено» и «выключено» сопоставляют логическую «1» и «О соответственно.

При выключенных ключах {а, Ь} = {уровень 0, уровень 0} через резистор ток от единичного источника Е не течет, на выходах схем ИЛИ и И в исходном состоянии присутствует нулевой потенциал «земли», что соответствует логическому нулю: F i = 0 и F& = 0 (см. 1F(R), 2F(R) на рис. 1.З.). На выходе Fi = 1, если включить ИЛИа, ИЛИь ключи, что обусловлено параллельным электрическим соединением, организующим элемент ИЛИ (дизъ- юнктор). Инверсно логическому сложению на выходе F& конъ- юнктора (элемента И) появится потенциал Е тогда и только тогда, если замкнуть ключи И а , Иb за счет их последовательного соединения, формирующего элемент И - см. 2F(R) на рис. 1.3).

Дизъюнктор и конъюнктор реализуются в микроэлектронике на диодах и транзисторах при параллельном и последовательном соединении повторителей тока или напряжения. В отличие от них инвертор 3F(R) на рис. 1.3, можно синтезировать с помощью транзистора по схеме с общим эмиттером (истоком), преобразующей входной сигнал а на выходе F со сдвигом по фазе на 180° или изменением входного потенциала инверсно на противоположный.

При низком потенциале на базе транзистор переход п-р-п закрыт, имеет бесконечно высокое сопротивление, а на коллекторе присутствует потенциал

Способы описания основных логических элементов (вентилей)

Рис. 1.3 - Способы описания основных логических элементов (вентилей)

Каждый логический элемент имеет свое условное обозначение, которое выражает его логическую функцию, но не указывает на то, какая именно электронная схема в нем реализована. По стандартам схемотехники вентилям соответствуют структурные схемы (см. таблицу 1.1). Обозначения условных графических элементов для элементов цифровой техники можно найти в ГОСТ 2.743-91.

Таблица 1.1. Логические функции, вентили и таблица истинности

Регистр или триггер — это электронная схема, широко применяемая в регистрах компьютера для запоминания одного разряда двоичного кода. Триггер имеет два устойчивых состояния, одно из которых соответствует «1», а другое — «О». Термин триггер происходит от английского слова trigger — защёлка, спусковой крючок. Для обозначения этой схемы в английском языке чаще употребляется термин flip-flop. Самый распространённый тип триггера — так называемый RS- триггер, где «S» - начальная буква слова «set» — установка, a «R» - начальная буква слова «Reset» - сброс, см. рис. 1.4.

Обозначение и реализация RS-триггера

Рис. 1.4 - Обозначение и реализация RS-триггера

В RS-триггере R и S обозначают два симметричных входа, Q и Q обозначают два симметричных выхода, причем выходной сигнал Q является логическим отрицанием сигнала Q. На каждый из двух входов S и R могут подаваться входные сигналы в виде кратковременных импульсов. Наличие импульса на входе считается «1» а его отсутствие — «О». На рис. 1.4 показана реализация триггера с помощью вентилей «ИЛИ—НЕ». Работу RS-триггера можно описать следующим образом:

  • 1. Если на входы триггера подать S = «1», R = «О», то (независимо от состояния) на выходе Q верхнего вентиля появится «О». После этого на входах нижнего вентиля окажется R= «О», Q= «О» и выход Q станет равным «1».
  • 2. При подаче «О» на вход S и «1» на вход R на выходе Q появится «О», а на Q= «1».
  • 3. Если на входы R и S подана логическая «1», то состояние Q и Q не меняется.

4. Подача на оба входа R и S логического «О» может привести к неоднозначному результату, поэтому эта комбинация входных сигналов запрещена.

Общая схема возможных решений для выбора цифровых устройств в телекоммуникационных системах приведена на рис. 1.5. Рассмотрим некоторые её элементы.

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

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

Под определение ПЛИС в России понимают два класса устройств: микросхемы CPLD (complex programmable logic device) и микросхемы FPGA (field-programmable gate array).

Технология устройства с программируемой логикой, CPLD содержат простые или относительно крупные программируемые логические блоки — макроячейки, соединённые с внешними выводами и внутренними шинами.

В CPLD с простой логикой существует три вида простых ячеек - программируемая логическая матрица PLA (programmable logic array), программируемая матрица логических элементов PAL (programmabe array of logic) и наконец базовая матрица логических элементов GAL (generic array of logic).

Общая классификация компонентов аппаратных средств в телекоммуникационных системах

Рис. 1.5 - Общая классификация компонентов аппаратных средств в телекоммуникационных системах

Для PLA программирование осуществляется в виде формирование межсоединения (unterconnect) между входами и выходами через матрицу на элементах AND и OR. Для PAL принцип тот же самый, однако в матрице присутствуют только элементы AND. Детально эта схема соединения для входов (Inputs) и выходов (Outputs) показана на рис. 1.6.

При этом технология допускает только однократное программирование PAL/PLA. Более совершенная технология GAL позволяет многократное перепрограммирование.

Архитектура аппаратных средств ПЛИС PLA с простой логикой

Рис. 1.6 - Архитектура аппаратных средств ПЛИС PLA с простой логикой

В CPLD со сложной логикой применяются макроячейки (macrocells) со сложной структурой как показано на рис. 1.7.

Архитектура аппаратных средств ПЛИС CLPD со сложной логикой

Рис. 1.7-Архитектура аппаратных средств ПЛИС CLPD со сложной логикой

Для программирования здесь используется прежде всего программируемое межсоединение (programmable interconnect), которое функционирует как матрица коммутатора, соединяя в различных конфигурациях логические блоки между собой, либо функционирует как мультиплексор. Функциональность CPLD со сложной логикой кодируется в энергонезависимой памяти, поэтому при включении перепрограммировать такое устройство заново не нужно. Применяется для расширения числа входов/выхо- дов, для предобработки сигналов (например, в качестве контроллер COM-порта, USB.

Устройство ПЛИС, изготовленное, по технологии программируемой вентильной матрицы, FPGA представляет собой матрицу логических ячеек (logic cell), т.е. цифровых устройств—вентилей, реализующих логические функции И-НЕ, ИЛИ-HE и т.п, как показано на рис. 1.8.

Архитектура аппаратных средств ПЛИС FPGA

Рис. 1.8 - Архитектура аппаратных средств ПЛИС FPGA

Каждое FPGA-устройство состоит из программируемых логических ячеек LC (logical cell) или логических блоков LB (logic blocks), которые связаны между собой программно реконфигурируемыми соединениями. Каждый такой ячейка/блок предназначены для программирования некоторой функции или ее части, однако может быть использован для других целей, например, в качестве памяти. Логическая ячейка представляет собой блок статической памяти, в котором логические функции задаются с помощью таблицы преобразований с 4,5 или 6 входами. Таблица преобразований по своим функциям соответствует таблице истинности для требуемой логической функции.

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

Схемы FPGA содержат блоки умножения-суммирования, которые широко применяются при обработке цифровых сигналов (DSP), а также логические элементы (как правило, на базе таблиц перекодировки — таблиц истинности) и их блоки коммутации.

Программа для задания действия FPGA хранится в распределённой памяти, которая может быть выполнена на основе энергозависимых ячеек статического ОЗУ - в этом случае программа не сохраняется при исчезновении электропитания микросхемы, или на основе энергонезависимых ячеек Flash-памяти или непе- режигаемых перемычек (antifuse) — в этих случаях программа сохраняется при исчезновении электропитания.

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

На раннем этапе развития индустрии программируемой логики ПЛИС чаще всего использовались в периферийных блоках системы, объединяя связующие логические схемы в подсистеме ввода/вывода или во вторичных системах управления. Сейчас

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

Другим из путей создания и развития аппаратных средств телекоммуникационных систем является использование специализированных заказных интегральных микросхем ASIC (application specific integrated circuit). Микросхемы ASIC выполняются производителями аппаратного обеспечения под заказ для эффективного выполнения одной или нескольких фиксированных и алгоритмизированных задач телекоммуникационных систем. ASIC не обладают универсальностью, однако за счет аппаратной реализации алгоритмов обработки данных до 10 раз быстрее осуществляют свои функции.

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

С другой стороны, FPGA решения позволяют поставлять микросхемы разработчику или пользователю в незапрограмми- рованном состоянии, а пользователь может реализовать на них требуемое ему решение. Однако для этого требуется наличие квалифицированных программистов и разработчиков на языке (V)HDL.

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ   След >