НПО Системы Безопасности
(499)340-94-73 График работы:
ПН-ПТ: 10:00-19:00
СБ-ВС: выходной

Главная » Периодика » Безопасность

0 ... 127128129130131132133 ... 233


• Тщательное рассмотрение задачи и извлечение необходимой информации.

• Выбор микросхемы ПЛИС и распределение выводов.

• Составление промежуточных и логических выражений для описания схемы.

• Запуск компилятора.

• Создание версии проекта, описанного принципиальной схемой.

• Создание и компиляция файла тестовых спецификаций для проверки правильности проекта.

• Запуск программы моделирования.

• Просмотр сигналов, созданных в ходе процесса моделирования.

Примеры проектов на основе ПЛИС

Эта глава содержит примеры проектирования, которые демонстрируют, как используется язык CUPL для описания различных типов проектов. Ниже приведены следующие примеры:

Пример I. Простые логические элементы (GATES.PLD). Пример 2. Двухразрядный счетчик (FLOPS.PLD). Пример 3. Проект простого конечного автомата (TURNSTIL.PLD). Пример 4. Десятичный реверсивный счетчик, использующий синтаксис конечных автоматов (COUNT10.PLD). Пример 5. Дешифратор для семисегментного индикатора (HEXDISP.PLD). Пример 6. Четырехразрядный счетчик с загрузкой и сбросом.

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

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

Пример 1. Простые логические элементы

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

хпог and

:=0 -ч

Рис. 5.29. Примеры простых логических элементов



в данном примере присутствует простой набор входных сигналов, а генерируемые выходные сигналы соответствуют результату работы простых логических элементов. Имена выходов назначены с учетом логической функции, выполняемой данным элементом. Например, вентиль И (AND) имеет выход, названный and.

Ниже приведен исходный код на языке CUPL, описывающий проект GATES. PLD.

GATES.PLD Name Gates;

Partno CAOOOl;

Date 07/16/87;

Designer G Woolheiser;

Company ATI;

Location San Jose, CA.;

Assembly Example

******************************************************

/. ./

/* This is an example to demonstrate how the PLD */

/* compiler compiles simple gates */

/* V

/******************************************************

/* Target Devices: P16L8, P16P8, EP300, and 82S153 */ ******************************************************

I* Inputs: define inputs to build simple gates */

Pin 1 = a; Pin 2 = b;

/* Outputs: define outputs as active HI levels

For PAL16L8 and PAL16LD8, De Morgans Theorem is

applied to invert all outputs due to fixed

inverting buffer in the device. */ Pin 12 = inva; Pin 13 = invb; Pin 14 = and; Pin 15 = nand; Pin 16 = or; Pin 17 = nor; Pin 18 = xor; Pin 19 = xnor;

/* Logic: examples of simple gates expressed in CUPL */

inva = !a; /* inverters */ invb = !b;

and = a & b; /* and gate */

nand = !(a & b); /* nand gate */

or = a # b; /* or gate */

nor = !(a # b); /*nor gate */

xor = a $ b; /*exclusive or gate */

xnor = !(a $ b); /exclusive nor gate */

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



рения. В строке Partno приводится идентификационный код проекта по системе, принятой на данном предприятии. Этот код не имеет никакого отношения к типу целевой микросхемы ПЛИС. В строке Date указывается дата компиляции проекта. Для систематизации проектной документации разработчикам рекомендуется изменять дату в этом поле на текущую. В строке Designer приводится имя разработчика или группы разработчиков. В строке Assembly указывается название или шифр платы, в которой данная ПЛИС будет использоваться (в качестве ключевого слова здесь допускается использовать аббревиатуру ASSY). В строке Location приводится позиционное обозначение или координаты микросхемы ПЛИС на плате (в качестве ключевого слова здесь допускается использовать аббревиатуру LOC). В этой строке может быть представлена и другая информация.

Объявления выводов производятся согласно именам входов и выходов элементов, представленных на рисунке. В данном примере логические элементы имеют два входа- а и Ь. Далее присваиваются имена выходным выводам. Эти имена выбираются так, чтобы они описывали вьшолняемую элементом функцию. Использование описательных имен помогает при отладке и последующем использовании проекта.

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

Для микросхем PAL16L8 и PAL16LD8, которые содержат фиксированные инвертирующие буферы, компилятор применяет теорему ДеМоргана, чтобы проинвертиро-вать все выходы, так как в списке выводов все они объявлены как active-HI, т. е. возбуждаемые высоким уровнем сигнала. Например, компилятор преобразует выражение для элемента ИЛИ (OR), выходной вывод которого объявлен как active-HL

or = а # b ;

в следующий совершенный конъюнктивный член (как показано в файле документации): or => !а & !Ь

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

Компиляция исходного файла

Здесь компилируется файл логических описаний GATES.PLD, создаются файлы документации, загрузки в программатор и файл, который в дальнейшем будет использоваться программой моделирования.

Для компиляции файла GATES.PLD необходимо вьшолнить следующие действия.

• В диалоговом окне Configure PLD установить следующие опции:

Equations in Doc File. Разрешает генерацию файла документации GATES.DOC, который содержит расширенные логические выражения, символьную таблицу переменных и описание использования комбинационных логических блоков.



0 ... 127128129130131132133 ... 233