Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
78
Добавлен:
24.11.2017
Размер:
1.32 Mб
Скачать

Рис.13. Проверка проекта MAX+PLUS II

Для того чтобы промоделировать проект, необходимо скомпилировать его и выбрать опцию, указывающую компилятору генерировать файл Simulator Netlist File (.snf) для функциональной, временной или многопроектной симуляции. Функциональный, временной или файл связей SNF загружается автоматически, когда открывается симулятор.

В качестве источника входных векторов симулятор использует файл графических временных диаграмм Simulator Channel File (.scf) или файл векторов ASCII Vector Files (.vec). Для проектов, содержащих память, можно задать начальное её содержимое с помощью файла шестнадцатиричного формата Hexadecimal Files (.hex) формата Intel либо с помощью файлов инициализации памяти – Memory Initialization Files (.mif). Редактор временных диаграмм может автоматически создать

21

начальный файл SCF, который затем можно редактировать для того, чтобы создать необходимые векторы. Если вместо этого создать файл векторов (Vector File), то симулятор может автоматически сгенерировать из него файл SCF.

Рис.14. Симулятор MAX+PLUS II

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

После завершения симуляции можно открыть редактор временных диаграмм и посмотреть обновленный файл SCF или сохранить результаты в файле таблиц Table File (.tbl) и затем посмотреть их в текстовом редакторе.

Вместе с другими приложениями MAX+PLUS II, симулятор позволяет решать следующие задачи:

определять ожидаемые логические уровни, которые можно сравнивать с результатами работы симулятора;

22

симулировать отдельные узлы или группу узлов. Можно комбинировать биты машин состояния и симулировать их как группу;

просматривать проект на предмет нарушений времен установки и удержания для регистров;

записывать выходные сигналы устройства вместо выходных сигналов симуляции;

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

создавать условные точки останова, заставляющие симулятор приостанавливаться при достижении этих условий;

просматривать имена и логические уровни любой комбинации узлов и групп, инициализировать узлы и группы перед симуляцией;

инициализировать содержимое блоков памяти (RAM или ROM) перед симуляцией;

сохранять инициализированные значения узлов и групп, включая значения памяти в файле инициализации симулятора - Simultor Initialization Files (.sif), либо перезагружать инициализированные значения, содержащиеся в файле;

вести журнал команд в файле ASCII Log File (.log) в формате, аналогичном формату файлов Command File (.cmd), и использовать файл журнала для повтора ранних симуляций. Также можно записывать команды симулятора и выходные данные в файл ASCII History File (.hst).

Редактор временных диаграмм MAX+PLUS II, показанный на рис.15, используется как средство для создания схем, а также как средство для задания входных векторов и просмотра результатов симуляции. Можно создавать файлы Waveform Design File (.wdf), содержащие логику проекта, и файлы Simulator Channel Files (.scf), содержащие входные векторы для симуляции.

23

Рис.15. Редактор временных диаграмм

Для того чтобы промоделировать проект, необходимо обеспечить входные векторы. С помощью файла SCF можно задать входные вектора для симуляции в виде временной диаграммы, являющейся графической альтернативой файлу ASCII Vector File (.vec).

При помощи редактора временных диаграмм создается файл SCF, содержащий временные диаграммы входных векторов, а также имена двунаправленных и выходных узлов, подлежащих симуляции. Эти узлы не имеют неопределенные логические уровни либо могут быть отредактированы на желаемые логические уровни. Для создания начального файла SCF, содержащего несколько или все узлы и группы скомпилированного проекта, редактор временных диаграмм может использовать файл Simulator Netlist File (.snf). Этот файл можно редактировать так, как это необходимо. Кроме этого, можно импортировать входной файл Vector File, чтобы автоматически создать графический эквивалент в виде временной диаграммы.

Спомощью редактора временных диаграмм можно просматривать

ианализировать результаты в файле SCF. Симулятор генерирует SCF автоматически, если источником входных векторов является файл Vector Files, в другом случае файл SCF, бывший источников входных век-

24

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

25

Лабораторная работа «Комбинационные схемы»

Цели работы: изучить методы синтеза комбинационных схем в потенциальной системе элементов; получить навыки работы с САПР MAX+PLUS II; получить навыки в синтезе, наладке и экспериментальном исследовании синтезируемых схем.

Продолжительность работы - 4 часа.

Лабораторное задание

1. Ознакомить с правилами техники безопасности в учебном каби-

нете.

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

3.Получить допуск к лабораторной работе, показав преподавателю выполненное задание и ответив на вопросы теоретической части.

Пример индивидуального задания

Используя карты Карно, минимизировать функции алгебры логики (ФАЛ), заданные числовым представлением СКНФ или СДНФ:

y1 (3,6,7,12 15; : 2,9,11);

y2 (5,7,8,13,15;

: 0 3,9 11);

y3 (0,4,25,27,29,31; :1,2,6,19,23,26,28,30);

y4 (0,1,3,7,8,9,11,15,21,24,25,27,31; : 5,13,16,17,19,23,26,28,29,30);

26

Порядок выполнения работы

Преобразование информации в схемотехнике производится схемами двух классов: комбинационными [1] и последовательностными [2]. Процесс синтеза комбинационных схем, как правило, у студентов не вызывает больших трудностей, поэтому одной из важнейших задач первой лабораторной работы является получение основных навыков проектирования в среде MAX+PLUS II.

Для минимизации ФАЛ, заданных в индивидуальном задании, потребуются эталонные карты Карно для ФАЛ четырёх переменных (для y1, y2) и пяти переменных (для y3, y4), которые представлены на рис.1.

y

 

x1

 

 

 

 

y

 

x2

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x3

 

10

 

11

 

9

8

 

 

x4

 

20

21

23

22

18

19

17

16

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14

 

15

 

13

12

 

x2

28

29

31

30

26

27

25

24

 

x3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

7

 

5

4

 

 

12

13

15

14

10

11

9

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

3

 

1

0

 

 

 

 

4

5

7

6

2

3

1

0

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

x

0

 

б

 

x0

 

 

 

 

 

 

 

а

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис.1. Эталонные карты Карно для функций алгебры логики: а - четырёх переменных; б - пяти переменных

Эталонные карты показывают места расположения номеров наборов при данном расположении переменных, от которых зависит функция. В индивидуальном задании в скобках указаны номера наборов, в которых функция должна принимать значение логического «0», если ФАЛ задана числовым представлением СКНФ (символ « » перед скобкой), и значение логической «1», если ФАЛ задана числовым представлением СДНФ (символ « » перед скобкой). «×» ставится в тех номерах наборов, которые указаны в скобках после «×», оставшиеся пустые клетки, заполняются «1», если ФАЛ задана числовым представлением СКНФ, и «0», если ФАЛ задана числовым представлением СДНФ.

Заполнив все клетки нужными значениями, получим рабочие карты Карно, показанные на рис.2.

27

y1

x3

y2

x3

 

y3

x2

x1

x1

 

 

 

 

1

 

 

 

 

1

 

x4

 

1

1

 

 

1

1

 

 

1

1

 

 

0

 

0

 

0

0

x2

 

 

0

 

0

 

 

0

 

0

1

 

x3

 

 

 

 

 

 

 

 

 

 

0

 

0

 

1

1

 

 

1

1

 

1

1

1

1

 

1

1

 

 

 

 

 

 

 

 

 

 

 

0

 

1

1

 

 

0

1

 

1

 

 

1

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x0

 

 

 

 

 

 

x0

 

в

x0

 

 

 

 

 

 

 

 

а

 

 

y4

 

 

 

 

 

 

 

 

 

 

 

x1

 

 

 

x2

 

 

 

x1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

x4

 

0

1

 

 

0

0

 

 

 

 

 

 

0

 

1

 

1

0

x2

 

 

 

 

1

 

 

1

 

1

1

 

x3

 

 

 

 

 

 

 

 

 

 

 

0

 

1

 

1

0

 

 

0

 

 

1

0

0

1

 

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

1

0

0

1

 

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x0

 

 

 

 

 

 

x0

г

 

x0

 

 

 

 

 

 

 

б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис.2. Рабочие караты Карно для функций алгебры логики:

а - y1; б - y2; в - y3, г - y4

При минимизации ФАЛ в формате ДНФ с помощью карт Карно выбираем набор покрытий (прямоугольная область, состоящая из 1, 2, 4, 8 или 16 клеток), которые покрывают все единичные клетки в карте и не покрывают ни одну клетку, содержащую логический «0». Покрытия должны иметь максимальную площадь, они также могут пересекаться. Клетки, отмеченные знаком «×», могут попадать в покрытия, а могут и остаться непокрытыми. Знак «×» находится в тех номерах наборов, в которых разработчику безразлично, какое значение примет функция: «0» или «1». После того как набор покрытий выбран (функция минимизирована), все номера наборов, в которых стоял знак «×», доопределились до конкретных значений логического «0» или логической «1»: если клетка, содержащая «×», попала хотя бы в одно покрытие, её значение стало логической «1», если клетка не попало ни в одно покрытие, то её значение доопределилось до логического «0».

Для минимизации функций алгебры логики выбираем покрытия, показанные на рис.3.

28

y1

x3

y2

x3

x1

y

x2

x1

3

 

 

 

 

1

 

 

 

1

 

 

x4

 

1

1

 

 

1

1

 

 

1

1

0

0

 

0

0

 

x2

 

 

 

0

 

0

 

 

0

 

0

1

0

0

 

1

1

 

 

 

1

1

 

1

1

1

1

 

1

1

 

 

 

 

 

 

 

0

 

1

1

 

 

 

0

1

 

1

 

 

1

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x0

 

 

 

x0

 

 

 

 

 

 

 

x0

 

 

 

 

ав

 

y4

x2

x1

x1

 

 

 

 

 

 

 

 

 

1

 

x4

 

0

1

 

 

0

0

 

 

 

 

 

0

1

 

1

0

 

 

 

 

 

1

 

 

1

 

1

1

 

 

x2

 

 

 

 

 

 

 

0

1

 

1

0

 

 

0

 

 

1

0

0

1

 

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

1

0

0

1

 

1

1

 

 

 

 

 

 

 

 

 

 

x0

 

 

 

 

 

 

 

 

x0

 

 

 

 

 

 

 

 

 

x0

 

 

бг

Рис.3. Рабочие караты Карно с покрытиями для:

а - y1; б - y2; в - y3, г - y4

x3

x3

Минимизируя функции, получаем следующие аналитические выражения для ФАЛ y1, y2, y3, y4:

y1 x2 x0 x3 x1; y2 x2 x0 ;

y3 x4 x3 x3 x0 x4 x0 ;

y4 x0 x2 x1.

По полученным ФАЛ составим временные диаграммы работы, которые показаны на рис.4. Временные диаграммы можно составлять как по аналитическимвыражениямдляy1, y2, y3, y4, такипокартамКарно. Действительно, «0» или «1» в клетках карты Карно однозначно показывает значение функции в каждом из наборов. А каждая клетка, содержащая «×», доопределилась до логической «1», если попала хотя бы в одно из покрытий, либо до логического «0», если осталасьнепокрытой.

29

30

x0

x1

x2

x3

x4

y1

y2

y3

y4

Рис.4. Временные диаграммы работы функций

Соседние файлы в папке Учебники и методички