Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Работа 1. Исследование комбинационных схем в САПР MaxPlus2




ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

 

РЯЗАНСКИЙ ГОСУДАРСТВЕННЫЙ РАДИОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

 

КАФЕДРА ЭВМ

 

А.В.Кистрин

 

СХЕМОТЕХНИКА

ЭВМ

 

Методические указания к лабораторным работам

 

Библиотека prim

Рязань 2011


Работа 1. Исследование комбинационных схем в САПР MaxPlus2

Система автоматизированного проектирования (САПР) MaxPlus2 (Multiple Array Matrix Programmable Logic User) предназначена для проектирования цифровых устройств на современной элементной базе - программируемых логических интегральных схемах (ПЛИС) фирмы Altera. Данная САПР будет использоваться для моделирования цифровых устройств при их изучении.

После запуска программы (файл max2win) открывается окно менеджера MAX+plus II Manager (рис. 1.1). Пакет MaxPlus2 состоит из 11 интегрированных модулей, предназначенных для выполнения определенных функций. Доступ к любому модулю пакета обеспечивает пункт меню MAX+plus II.

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

Graphic Editor - Графический редактор - позволяет создавать и редактировать проект в виде схемы.

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

Text Editor - Текстовый редактор - позволяет создавать и редактировать текстовые файлы проекта, используемые другими приложениями MAX+PLUS II. Он позволяет вводить проекты в виде описания на языках Verilog, VHDL, AHDL.

Waveform Editor - Сигнальный редактор, предназначен для создания временных диаграмм тестовых входных сигналов и для просмотра результатов моделирования устройств. Разработанные диаграммы (входные векторы) сохраняются в файле с расширением. scf (Simulator Cannel File). Кроме того, он позволяет вводить исходные данные для проектирования функционального модуля в виде временных диаграмм в файле с расширением.wdf (Waveform Design File).

Floorplan Editor - Поуровневый планировщик, редактор разводки кристалла ПЛИС.

Compiler - Компилятор - обрабатывает логические проекты.

Simulator - Симулятор – программа для моделирование проекта ().

Timing Analyzer - Анализатор временных параметров сигналов в схеме.

Programmer Программатор - позволяет программировать ПЛИС фирмы Altera.

Message Processor Генератор предупреждающих сообщений о состоянии проекта.

Разрабатываемое в САПР устройство называют «проект». Каждому проекту соответствует несколько файлов с одинаковыми именами и различными расширениями.

Ввод данных проекта можно выполнить одним из трех способов.

1) В виде схемы посредством графического редактора Graphic Editor. Файл проекта в этом случае имеет расширение *.gdf (Graphic Design File).

2) В виде текстового описания на одном из HDL языков. Файл описания на языке Altera HDL имеет расширение *.tdf (Text Design File), а на языке Verilog - *.v.

3) В виде заданных временных диаграмм, создаваемых в редакторе Waveform Editor в виде файла с расширением *.wdf (Waveformt Design File).

Задание 1.1. Базовые логические элементы. Для ознакомления с САПР рассмотрим процесс выполнения проекта простейшего устройства, содержащего 4-входовые базовые логические элементы, на входы которых поступают одинаковые сигналы. Требуется промоделировать выходные сигналы каждого элемента. Выполним ввод проекта, моделирование, анализ результатов.

Для начала работы в САПР MaxPlus2 необходимо выполнить следующие действия.

1) Создать каталог для хранения проектов.

2) Запустить MaxPlus2, Командой File / New создать новый файл, для которого выбрать тип - графический, и расширение.gdf (Рис. 1.2). В результате будет запущен графический редактор и создан файл без имени (Untitled_1.gdf).

3) Записать файл в созданный каталог командой File/Save As с указанием имени. Выбранное имя будут иметь все файлы проекта для исследуемого устройства, и символ, созданный впоследствии. Для примера выберем имя «log_el.gdf».

3) Указать текущий файл, как ведущий файл проекта, с которым предполагается далее работать, командой: «File/Project/Set Project To Current File».

В качестве примера ввести схему (Рис. 1.5) в графическом редакторе.

5) Запустить компилятор «MAX+plus II/ Compiler», выбрать из меню Processing тип моделирования - функциональное (или временное), нажать кнопку «Start» и завершить компиляцию.

 
 

6) Создать символ для разработанной схемы командой: «File/Create Default Symbol». Имя символа назначается автоматически по имени файла проекта.

При запуске существующего проекта командой «File/Open» открывается окно для выбора типа открываемого файла, его расширения и имени. Файл будет открыт в окне программного модуля, использованного при создании указанного файла. Для продолжения работы открытый файл необходимо указать как ведущий командой «File/Project/Set Project To Current File».

Ввод схемы в графическом редакторе. Процесс ввода схемы в графическом редакторе содержит ввод символов элементов и их соединение. Символы элементов содержатся в библиотеках. В окне «Enter Symbol» (рис. 1.3) показаны доступные библиотеки «Symbol Libraries» и символы пользователя «Symbol Files».

Окно «Enter Symbol» открывается из меню: «Symbol / Enter Symbol», либо двойным щелчком левой кнопки на свободном месте схемы.

1) Библиотека примитивов (..\prim) содержит, простейшие базовые элементы цифровых устройств, символы портов ввода / вывода, шин питания и земли (приведены на титульном листе).

2) Библиотека макрофункций (..\mf), содержит элементы средней степени интеграции.

3) Библиотека параметризированных модулей (..\lpm), содержащая функциональные блоки большой степени интеграции с возможностью изменения параметров по желанию пользователя.

4) Библиотека моделей логических элементов старого типа - ТТЛ (..\edif). Описание всех элементов приведено в Help.

Для ввода символа необходимо двойным щелчком выбрать библиотеку. Затем выбрать символ в библиотеке, или ввести имя символа в строке Symbol Name и нажать ОК. Можно ввести символ ранее созданного модуля из окна Symbol Files.

Соединение элементов схемы выполняются посредством инструментов панели рисования (Рис. 1.4). Назначение кнопки, выбранной указателем, отображается в строке состояния в нижней части экрана.

1 - выбор объекта (элемента, или фрагмента схемы) для его перемещения и копирования. Это основной режим при вводе и редактировании схем. Переход в этот режим из любого другого выполняет клавиша Ecs. В этом режиме можно выделять символы, проводники или фрагменты схемы при нажатой левой кнопке манипулятора, а затем перемещать, удалять (Del), копировать (Ctrl-C) и вставлять (Ctrl-V) выделенные элементы. Перемещение элемента схемы может осуществляться как при включенном, так и при выключенном режиме обеспечения неразрывности цепей, связывающих символы (кнопки 11 и 12). Правая кнопка мыши открывает контекстное меню функций, доступных для выделенного элемента. 2 - ввод поясняющего текста. 3 - ввод ортогональных линий (проводников и шин). Проводники изображаются тонкой непрерывной линией, а шины - широкой линией. Тип линии выбирают из списка на панели инструментов. 4 - ввод линий с произвольным углом. 5 - ввод дуг. 6 - ввод окружностей. 7-8 – изменение масштаба изображения. 9- отображение всего листа схемы.

10 - Установка, или удаление точки соединения пересекающихся проводников, что изменяет статус точки пересечения цепей на противоположный.

11-12 - Rubberbanding - «резиновые проводники» - включение или выключение режима, обеспечивающего неразрывность цепей (шин) при перемещениях элементов. Режим, включаемый кнопкой 12, позволяет «разобрать» схему на отдельные элементы, из которых можно построить новый вариант.

 
 

Копирование элемента схемы, кроме «Ctrl-C» и «Ctrl-V», можно также осуществить следующим образом. Необходимо поместить курсор на тело элемента и нажать левую кнопку манипулятора, выбранный элемент будет иметь красный контур. Не отпуская левую кнопку, нажать на клавиатуре клавишу Ctrl, при этом около выбранного элемента появится символ «+». Не отпуская нажатые клавиши, переместить копию элемента в нужную зону схемы, Отпустить нажатые клавиши. Данный способ удобен при вводе терминалов ввода – вывода.

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

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

Входные и выходные сигналы подключаются к схеме через терминалы Input и Output, которые должны иметь уникальные имена. Любая схема обязательно должна содержать хотя бы один терминал Input и хотя бы один Output, задающие вход и выход схемы. Для ввода имени необходимо поместить курсор на текст «PIN_NAME», выбрать эту зону двойным щелчком левой кнопки манипулятора, ввести с клавиатуры имя вывода (старое имя будет автоматически стерто), нажать клавишу Enter на клавиатуре. Если существует другой примитив типа Input или Output, расположенный ниже данного примитива, курсор автоматически установится для ввода соответствующего имени.

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

При вводе заданной схемы выясняется, что 4-входовой элемент XOR в библиотеке prim отсутствует, требуемая операция реализована на 2-входовых элементах (Рис. 1.5.).

Входной терминал «d[3..0]» является параллельным портом, или разъемом для подключения шины. В квадратных скобках через две точки указан диапазон индексов, на первом месте - индекс старшего разряда. Проводник старшего разряда будет иметь имя «d3», а младшего - «d0». Проводники терминала подключены к входам всех логических элементов параллельно посредством логического соединения (одинаковых имен).

После ввода схемы необходимо выполнить компиляцию, выбирая из меню MAX+plus II/ Compiler. Затем (не нажимая кнопку «Start»), из меню Processing необходимо выбрать тип моделирования (функциональное, или временное). Кнопка «Start» и завершает компиляцию.

После удачной компиляции схему можно представить в виде символа командой File/Create Default Symbol, что позволит использовать данную схему как модуль в иерархической структуре.

Моделирование в сигнальном редакторе. Для моделирования введенной схемы необходимо:
1) запустить сигнальный редактор командой: «MAX+plus II / Waveform Editor»;
2) сохранить открывшийся файл с именем проекта командой «Save As»;
3) создать входные тестовые сигналы;
4) запустить имитатор командой: «MAX+plus II / Simulator».

Поясним выполнение указанных действий.

После запуска сигнального редактора открывается безымянный файл. Его необходимо сохранить командой Save As с именем проекта и расширением.scf. Для данной работы имя файла должно быть log_el.scf.

В левой части окна сигнального редактора (рис. 1.7) расположена панель инструментов редактирования временных диаграмм (рис. 1.6). Рассмотрим назначение кнопок.

1 -выбор временной диаграммы, или ее части для перемещения, копирования, или удаления. Переход в этот режим выполняет клавиша Esc. 2 – ввод поясняющего текста.

3 – создание и редактирование временной диаграммы, путем перемещения фронтов импульсов курсором манипулятора при нажатой левой кнопке. Установка указателя на начало временной диаграммы и перемещение его вправо при нажатой левой кнопке, добавляет к временной диаграмме интервал с инверсным значением логического сигнала.

4,5 –масштаб временных диаграмм. 6 – просмотр диаграмм во весь экран.

7 - 10 – установка статических уровней для выделенной части временной диаграммы (0,1,Х,Z). 11 – инвертирование выделенного сигнала.

12 – подключение синхросигнала к выделенной диаграмме, или ее части. 13 – подключение прямоугольных импульсов. 14 – подача кода на шину. 15 ввод имени состояний сигнала для цифрового автомата.

Для выбора и ввода контрольных точек необходимо установить курсор в столбце «Name» (рис. 1.7) временных диаграмм, нажать правую кнопку манипулятора, в открывшемся меню выбрать «Enter Nodes from SNF». В следующем окне следует нажать кнопку «List». Из списка всех доступных (Available) узлов исследуемой схемы, перечисленных в левом списке, следует выбрать требуемые узлы, переслать их в список выделенных узлов, который расположен справа, и нажать кнопку ОК. В простейшем случае можно переслать все узлы из левого списка в правый.

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

При моделировании данной схемы необходимо получить подтверждение того, что выходные сигналы различных логических элементов принимает соответствующие значения при определенных сигналах d0, d1, d2, d3. Формирование сигналов на входах d3..d0 проще всего достигается путем объединения этих сигналов в шину «d», и подключения к шине выходного кода двоичного счетчика. За полный цикл счетчика происходит перебор всех возможных комбинаций двоичных кодов.

Для формирования временных диаграмм для входных сигналов необходимо щелчком левой кнопки выделить шину, установив курсор на терминал шины. Сигнал в форме прямоугольных импульсов выбирается кнопкой 13, а параметры импульсов устанавливаются в окне «Overwrite Count Value» (рис. 1.8), где можно задать: начальное значение логического сигнала - Starting Value; конечное значение - Ending Value; приращение кода для шины - Increment By, а также масштабный множитель Multiplied By. Если в схеме несколько шин, то для первой из них можно выбрать параметры по умолчанию, а для других выбрать больший масштабный множитель.

Параметр «Interval», по умолчанию равный 1 мкс, определяет длительность моделирования. Его можно изменять, выбирая пункт меню File/End Time. Параметр «Count Every» определяет период тактовых импульсов счетчика, формирующего прямоугольные импульсы, и может быть скорректирован в данном окне, либо выбором из меню Options/Grid Size. Тактовые импульсы определяют шаг сетки (Grid) на временных диаграммах. Фронты импульсов можно привязать (Snap) к сетке.

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

При выделении шины курсором становятся активными кнопки 12, 13, позволяющие задать код на шине - постоянный, или изменяющийся линейно. Двойной щелчок по символу терминала открывает окно для выбора системы счисления, в которой отображаются коды на шине. Правая кнопка открывает для выделенной шины контекстное меню, позволяющее отобразить сигналы на шине в виде диаграмм для отдельных проводников (функция Ungroup), либо в виде кодов (выделить проводники шины и выбрать функцию Enter Group).

Расположение временных диаграмм в окне сигнального редактора (Рис. 1.8) можно изменять, устанавливая указатель курсора на символ порта, и перемещая его при нажатой левой кнопке.

Последний этап моделирования – запуск имитатора из меню MAX+plus II/simulator, или кнопкой на панели инструментов. В результате моделирования появятся временные диаграммы для выходных сигналов, соответствующие заданным входным сигналам.

Анализ результатов моделирования.

1. Очевидные правила определения значений выходного сигнала логических элементов:
схема «И» формирует на выходе сигнал «1», если на все входы подан сигнал «1»;
схема «ИЛИ» формирует сигнал «0», если на все входы подан сигнал «0»;
схема «Сумма по модулю 2» формирует сигнал «1», если сумма сигналов, равных «1» нечетна.

2. Для того, чтобы один из входов элемента (например, d0) был активным, и передавал изменения сигнала на выход, на остальные входы необходимо подать: для элемента «И» - «1»; для элемента «ИЛИ» - «0»; для элемента «Сумма по модулю 2» - любое значение.

 
 

3. Элементы «И» и «ИЛИ» можно использовать в схемах стробирования сигналов, а элемент «Сумма по модулю 2» в качестве управляемого инвертора.

Задание 1.2. Оодноразрядный комбинационный сумматор. Рассмотрим синтез схемы, создание проекта, исследование работы, анализ результатов.

1. Постановка задачи, функциональное назначение устройства, входные и выходные сигналы. Одноразрядный сумматор выполняет арифметическое суммирование кодов чисел. В каждом разряде производится суммирование трех цифр:: первого и второго слагаемых данного разряда (a) и (b), и переноса из соседнего младшего разряда (c). Выходами схемы являются сумма для данного разряда(s) и перенос в следующий разряд (p). Включая параллельно несколько подобных схем можно получить сумматор с произвольным числом разрядов (с последовательным переносом).

2. Таблица истинности, логические уравнения, минимизация. При составлении таблицы истинности учитываем, что все слагаемые равнозначны. Значения переноса и суммы образуют двухразрядное двоичное число, равное количеству единиц во входных сигналах.

Логическое уравнение в совершенной дизъюнктивной нормальной форме (СДНФ) содержит дизъюнкцию конституент единицы, представляющих собой элементарные произведения (конъюнкцию) всех аргументов, взятых с инверсиями или без, и равных единице только на одном наборе аргументов. Инверсия ставится над аргументом, равным нулю на данном наборе.

Уравнение в совершенной конъюнктивной нормальной форме (СКНФ) содержит конъюнкцию конституент нуля, представляющих собой дизъюнкцию всех аргументов, взятых с инверсиями или без, и равных нулю только на одном наборе аргументов, над аргументом, равным на данном наборе единице, ставится инверсия.

В результате минимизации для данного примера получим минимальную дизъюнктивную нормальную форму (МДНФ):

Заметим, что уравнение, записанное в МКНФ несложно получить из уравнения в МДНФ.

3. Схема устройства строится по минимизированным логическим уравнениям. В соответствии с постановкой задачи схема содержит три входных и два выходных терминала (a,b,c,p,s). Для формирования выходного сигнала «s» необходимы инверсные значения входных сигналов, для их формирования используются инверторы (элементы NOT). В схеме использовано логическое соединение проводников. Проводники, имеющие одинаковые имена, соединены (Рис. 1.9). После удачной компиляции создайте символ.

4. Разработка тестовых сигналов. Входные сигналы сумматора - слагаемые - равнозначны. Для полного тестирования устройства необходимо выполнить перебор всех возможных комбинаций сигналов. Для этого на входы необходимо подать импульсы «Clk» с различными значениями множителя «Multiplied By», например, 1, 2, 4 (Рис. 1. 10).

5. Анализ результатов. Формирование выходных сигналов соответствует таблице истинности.

Задание 1.3. Полусумматор - устройство для суммирования двух одноразрядных двоичных чисел a и b и формирования суммы s и переноса в следующий разряд p, в соответствии с уравнениями:

Выполните синтез схемы, создание проекта и символа, исследование работы, анализ результатов.

Задание 1.4. Инкрементор -выполняет прибавление единицы к входному коду (Рис. 1.11). Для каждого разряда входного кода используется полусумматор. Входами инкрементора являются 4-разрядный код «d[3..0]», к которому прибавляется сигнал «ci» (Carry In). При ci = 0 инкремента нет. Выходной код обозначен «q[3..0]», выходной перенос – «co». Бит выходного переноса «co» и 4-разрядный выходной код «q» образуют 5-разрядное число.

Выполните синтез схемы, создание проекта и символа, исследование работы, анализ результатов.

Задание 1.5. Создайте проект 4-разрядного сумматора, используя символы одноразрядного сумматора, созданного в задании 1.2. Входной 4-разрядный код обозначте«d[3..0]», входной перенос - «ci», выходной код - «q[3..0]», выходной перенос – «co». Бит выходного переноса «co» и 4-разрядный выходной код «q» образуют 5-разрядное число. Создайте символ.

Здание 1.6. Составьте схему формирователя признаков данных, представленных в виде 1 байта: признак нуля z = 1, если все разряды данных равны нулю; признак знака числа s = 1, если число отрицательное; признак четности p = 1, если сумма бит в двоичной записи числа четна. Создайте символ. В отчете приведите таблицы истинности, логические уравнения, схемы, анализ результатов моделирования.

Задание 1.7. Проведите синтез и моделирование 5–входовой комбинационной схемы, сигнал на выходе которой равен «1» при значениях входного кода, приведенных в таблице (в 16-ричной системе).

Бригада                        
Коды 0B 0A 0B 1E 0C 1A 0D 1D 0E 1F 0A 0F 1A 0C 1B 0C 1C 0А 1D 0В 1E 0F

Задание 1.8. Разработайте комбинационную схему, формирующую на выходе признак х=1 в случае, когда входной код, 1 тетрада, принадлежит заданному диапазону. В таблице указаны нижняя и верхняя границы диапазона. В отчете приведите таблицу истинности, логическое уравнение, схему, фрагмент временной диаграммы.

                       
    0B 0C 0D 0E 0A 0C 0C  

Контрольные вопросы

1. Перечислите функциональные возможности, укажите назначение кнопок панели инструментов менеджера проектов, графического редактора, сигнального редактора системы MAX+PLUS.

2. Укажите назначение кнопок панели рисования графического редактора, сигнального редактора.

3. Как выполняется ввод и редактирование цепей, примитивов Input и Output, элементов схемы.

4. Каким образом создаются тестовые сигналы и файл временных диаграмм.

5. Из каких этапов состоит синтез комбинационных схем.

6. Опишите порядок выполнения проекта в системе MAX+PLUS II.

7. Сумматор. Функциональное назначение, область применения, назначение выводов, схема.

8. Полусумматор. Функциональное назначение, область применения, назначение выводов, схема.

9. Инкрементор. Функциональное назначение, область применения, назначение выводов, схема.

10. Какие функции выполняют команды «File/Open» и «Set Project To Current File»?

11. Создайте проект по заданию преподавателя.

12. По материалам работы составьте тестовую задачу, не похожую на задачи соседних бригад.

 





Поделиться с друзьями:


Дата добавления: 2017-03-18; Мы поможем в написании ваших работ!; просмотров: 820 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Если вы думаете, что на что-то способны, вы правы; если думаете, что у вас ничего не получится - вы тоже правы. © Генри Форд
==> читать все изречения...

2214 - | 2157 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.