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

мыши на текст какой-либо ошибки, то МАХ+PLUS II переключится в графический файл и выделит тот символ, где она допущена. Результат таких действий показан на рис.10.

Перечислим несколько наиболее часто допускаемых ошибок при создании схемы:

-Duplicate pin name: несколько входов или выходов имеют одинаковое имя;

-Output pinstubs … and … are tied together: выходы нескольких компонентов соединены между собой;

-Node missing source: один из входов компонента не подключен;

-Node has more than one name: цепь имеет более чем одно имя.

Рис.8. Сообщение, сигнализирующее о наличии ошибок в проекте

Рис.9. Окно сообщений с перечнем ошибок

Рис.10. Выделенный прямоугольник с местом возможной ошибки

Вокне компилятора сообщения зелёного цвета носят информационный характер, сообщения синего цвета

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

На рис.11 показан вариант успешной компиляции проекта, когда ошибок нет.

31

PDF created with pdfFactory Pro trial version www.pdffactory.com

Рис.11. Результат успешной компиляции проекта

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

новый файл временной диаграммы, нажав на ярлыке или выполнив в меню File New. В появившемся диалоговом окне следует указать, что нужно создать файл с временной диаграммой: Waveform Editor File (.scf)

(рис.12).

Далее необходимо сохранить файл строго с тем же именем, что и графический файл, но с расширением scf: . Через меню САПР это можно сделать, выбрав File Save (Ctrl-S). Одинаковое имя делается для того, чтобы САПР могла знать, к какому проекту относится эта временная диаграмма при симулировании.

Добавим на временную диаграмму входные/выходные цепи. Их названия можно получить автоматически после успешной компиляции проекта, выбрав в пункте меню Node Enter Nodes from SNF. Диалоговое окно показано на рис.13.

Рис.12. Создание нового файла в проекте

В поле node/Group впишем маску * для получения всех входов/выходов проекта. Если же интересует конкретный вход/выход, то его имя или удовлетворяющую для него маску нужно вписать в это поле, после чего, нажав на кнопку List, в окне Available Nodes & Groups появятся наименования входов/выходов. Цепи, по которым требуется построить временную диаграмму, выбираем следующим образом: выделяем имя нужной цепи, нажимаем кнопку «=>». Для рассматриваемого проекта нужны все цепи, в результате выбора они перейдут из левого поля в правое, как показано на рис.14, затем нажимаем на кнопку «ОК», для того чтобы подтвердить свой выбор.

32

PDF created with pdfFactory Pro trial version www.pdffactory.com

Рис.13. Ввод маски цепей для симуляции проекта

Рис.14. Выбранные цепи для симуляции проекта

САПР МАХ+PLUS II осуществляет симуляцию работы проекта с учётом задержек переключения логических элементов в выбранном кристалле ПЛИС. Обычное значение этих задержек равно от 5 до 15 нс. Для того чтобы они не отвлекали от логики работы комбинационной схемы и не были заметны на временной диаграмме, следует шаг сетки, а следовательно, и время изменения сигнала сделать на порядок больше, чем задержка переключения вентилей. Следующий шаг как раз направлен на выполнение этих действий. (Интересующимся студентам самостоятельно рекомендуется попробовать установить разный шаг сетки, начиная от значения времени, сравнимого со временем переключения вентилей (10 нс), и заканчивая значением 1 мкс, и проанализировать полученный результат.) В нашем случае установим принудительно значение сетки 100 нс. Для этого нужно выбрать пункт меню Grid size во вкладке Options. В появившемся окне, показанном на рис.15, следует написать нужный шаг (100 ns).

Рис.15. Изменение шага сетки временной диаграммы

33

PDF created with pdfFactory Pro trial version www.pdffactory.com

Для того чтобы на временной диаграмме уместилось как минимум 32 такта, необходимо установить время симулирования проекта не менее 3.2 мкс, зайдя в меню File End time (рис.16). Приставку μ (микро) трудно набрать с клавиатуры, а так как она похожа на латинскую букву u, то принято использовать именно её.

Рис.16. Установка времени симуляции 10 мкс

Врезультате указанных действий перед пользователем будет отображено окно с временной диаграммой (рис.17). В столбце Name указаны имена цепей и значки, позволяющие отличить входы от выходов. По умолчанию на входных цепях заданы значения логического «0», на входных цепях штриховка означает неизвестные значения, так как симуляция ещё не была запущена.

Вобщем случае пользователь может самостоятельно выделять области временной диаграммы на входных цепях и задавать требуемые значения, нажимая на кнопки с изображением «0» и «1». На рисунке они неактивны, а активными они становятся после выделения некоторой части временной диаграммы. Однако в нашем случае можно воспользоваться инструментом МАХ+PLUS II, позволяющим быстро задать последовательно изменяющиеся наборы.

Сначала сгруппируем входные цепи x4...x0, для чего их все необходимо выделить (кликнуть мышкой на название x4, затем, удерживая кнопку Shift, кликнуть на название цепи x0) и в меню Node выбрать Enter Group. Этот же пункт меню доступен и из контекстного меню при нажатии правой кнопки мыши. Номера наборов удобно воспринимать в десятичной форме, поэтому выберем DEC (как показано на рис.18) и нажмём кнопку «ОК». После такого действия на временной диаграмме пропадут 5 входных сигналов x4...x0, а вместо них появится группа с названием x[4...0]. Это показано в окне редактора временных диаграмм на рис.19.

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

34

PDF created with pdfFactory Pro trial version www.pdffactory.com

Рис.18. Группировка нескольких цепей в одну группу

Рис.19. Окно редактора временных диаграмм с сгруппированными входными сигналами

Воспользуемся инструментом, позволяющим задавать последовательные значения для группы сигналов.

Для этого кликнем на названии группы x[4...0], для того чтобы её выделить, и нажмём на кнопку или меню Edit Overwrite Count value. В результате появится диалоговое окно, показанное на рис.20, позволяющее изменять входные сигналы по закону счётчика. В данном диалоговом окне указано, что счёт начинается с 0 (Starting Value), счёт ведётся в двоичном коде (Binary), увеличивается на 1 (Increment By) каждый 1 такт (Multiplied By).

Рис.20. Диалоговое окно, задающее значение входных сигналов по закону счётчика

35

PDF created with pdfFactory Pro trial version www.pdffactory.com

После нажатия кнопки OK на временной диаграмме появятся последовательно сменяющиеся номера наборов от 0 до 31, как показано на рис.21. Для изменения масштаба отображения, так же как и в графическом редакторе, рекомендуется использовать комбинацию кнопок Ctrl-Пробел и Ctrl-Shift-Пробел или кнопки с изображением лупы в левой части панели инструментов.

Рис.21. Временная диаграмма с заданными входными значениями

После того как входные сигналы заданы, можно приступать к симуляции проекта. Просимулировать про-

ект можно, нажав на ярлык или выполнив: File Project Save & Simulate (Ctrl-Shift-L). Процесс выполнения виден в окне Simulator (рис.22), в результате чего будет выведено сообщение о результатах симуляции.

Рис.22. Окно с информацией о результате симуляции проекта

Переключившись на временную диаграмму (например, при нажатии на кнопку Open SCF), можно увидеть результат, который показан на рис.23.

36

PDF created with pdfFactory Pro trial version www.pdffactory.com

Рис.23. Временные диаграммы работы проекта

ссгруппированными входными цепями

Вслучае необходимости можно разгруппировать группу входных переменных, для чего необходимо кликнуть на её название x[3..0] мышкой, затем в меню Node нужно выбрать Ungroup. Порядок расположения цепей на временной диаграмме нетрудно изменить, для этого нужно нажать левой кнопкой мыши на значок цепи и, удерживая кнопку мыши, перетащить цепь на новое место. Таким образом получена временная диаграмма, показанная на рис.24. Полученные диаграммы, в случае правильного проектирования, должны быть одинаковыми

срасчётными, показанными на рис.4. При несовпадении временных диаграмм необходимо найти ошибки синтеза или ошибки в схеме и исправить их, выполнив ряд описанных пунктов, рассмотренных выше.

Рис.24. Временные диаграммы работы проекта с разгруппированными входными цепями

Перечень индивидуальных заданий

1. Используя карты Карно, минимизировать функции алгебры логики y1, y2, y3, y4, заданные в индивидуальном варианте числовым представлением СДНФ или СКНФ. Построить временные диаграммы минимизированных ФАЛ.

37

PDF created with pdfFactory Pro trial version www.pdffactory.com

2.Используя полученные выражения, построить схемы функций в одном схематическом файле в

МАХ+PLUS II.

3.Просимулировать работу полученных функций.

4.Сравнить временные диаграммы, полученные на этапе синтеза, с результатом симуляции МАХ+PLUS

II.

Вариант 1

y1 = V(5,8,9,12,15; ×: 1,7,13);

y2 = V(0,1,2,9,11,13; ×: 3,4,8,10,12);

y3 = V(0,4,6,16,18,20,22,24,26,28; ×: 2,5,7,17,19,30);

y4 = V(1,4,5,6,9,12,14,17,20,21,22; ×: 0,2,3,7,13,15,25,28,29,30).

Задание для защиты лабораторной работы. Упростить выражения:

y1 = x1 + x1x0 ;

y2 = x2 x1 + x2 x0 + x1x0 .

Вариант 2

y1 = Л(0,2,3,6,7,8,10,14; ×:1,9,13); y2 = Л(5,7,13,15; ×:3,4,6,11,12,14);

y3 = Л(11,15,17,19,21,23,25,27,29; ×:1,3,7,9,10,24,28,30,31);

y4 = Л(0,2,4,6-8,10,12,14,15,24,26,28,30,31;×:11,16,18,20,22,23,25,29).

Задание для защиты лабораторной работы. Упростить выражения:

y1 = x2 x0 + x1x0 + x2 x1 ;

y2 = x3 x1 + x3 × x2 × x1 × x0 .

Вариант 3

y1 = V(0,3,6,8,10; ×:1,2,7);

y2 = V(1,3,4,6,11; ×:0,2,8,9,12);

y3 = V(1,3,7,9,13,15,18,19,22,23,26,27,31; ×:5,11,16,17,20,21,30); y4 = V(8,9,12,13,14,25,28,30; ×:0,2,4,6,10,11,16,18,20,22,24,26,29).

Задание для защиты лабораторной работы. Упростить выражения:

y1 = x2 x1x0 + x2 x1 × x0 ;

y2 = x2 x0 + x2 × x1 + x1 × x0 .

Вариант 4

y1 = Л(0,2,4,6,10,11,14,15; ×:1,3,8);

y2 = Л(3,5,7,10,11,13,14,15; ×:0,2,8,12);

38

PDF created with pdfFactory Pro trial version www.pdffactory.com

y3 = Л(1,5,8,9,12,13,24-31; ×:0,11,14,17,18,19,21,23);

y4 = Л(9,11,12,13,17,19,20,21,25,27,28,29; ×:1,3,4,5,10,18,24,30,31).

Задание для защиты лабораторной работы. Упростить выражения:

y1 = x1x0 + x3x2 x1x0 ;

y2 = x3 x1 + x3 × x1 .

Вариант 5

y1 = V(5,11,13,15; ×:4,10,12,14); y2 = V(0,1,9,10,12,14; ×:2,3,8);

y3 = V(2,6,7,10,14,15,18,23,30; ×:0,1,3,4,5,22,26,31);

y4 = V(2,6,7,16,18,19,20,21,23,25,29; ×:3,10,14,17,22,24,26,28,30).

Задание для защиты лабораторной работы. Упростить выражения:

y1 = x3 + x3 x2 x1 x0 ;

y2 = x2 x1 × x0 + x2 × x1 × x0 + x3 x1 × x0 .

Вариант 6

y1 = Л(5,6,7,13; ×:3,4,11,12);

y2 = Л(5,7,8,12,13,15; ×:0,1,4,14);

y3 = Л(9,11,13,15,16,17,20,21,24-31; ×:1,4,5,10,19);

y4 = Л(8,10-12,14,16,18-20,22,24,26,27,28,30; ×:0,2,3,4,6,9,23,29).

Задание для защиты лабораторной работы. Упростить выражения:

y1 = x2 × x0 + x3 x2 x1 x0 ;

y2 = x1 x0 + x1 .

Вариант 7

y1 = V(0,2,3,7,8; ×:4,6,10,12);

y2 = V(1,3,8,9,10,12; ×:0,4,11,14);

y3 = V(1,4,5,8,10,12,13,14,18,22,24,26,28; ×:0,2,3,6,7,9,16,20,30); y4 = V(1,3,5,9,11,13,15,16,17,20,21,28; ×:7,18,19,22,23,24,25,29).

Задание для защиты лабораторной работы. Упростить выражения:

y1= x2 x1 + x3 x2 x1 x0 ;

y2=x3 x2 x0 +x3x2 x0 +x3x2 x1 x0 .

Вариант 8

39

PDF created with pdfFactory Pro trial version www.pdffactory.com

y1 = Л(5,7,11,15; ×:1,3,9,12,14); y2 = Л(2,3,5,7,13,15; ×:1,10,11,12);

y3 = Л(1,3,5,7,9,11,13,15,24,25,28,29; ×:0,2,6,16,17,20,21,27);

y4 = Л(9-11,13,15,19,21,23,25,26,27,29,31; ×:1,2,3,5,7,17,18,20,24,30).

Задание для защиты лабораторной работы. Упростить выражения:

y1 = x2x1 + x1 x0 + x2x0;

y2 = x3 + x3x2 x1 x0.

Вариант 9

y1 = V(2,3,8,10,14; ×:0,4,11,12);

y2 = V(4,5,11,13,14,15; ×:0,8,10,12);

y3 = V(9,13,25,26,27,29,30,31; ×:0,7,8,11,12,17,21,24,28);

y4 = V(1,3,5,7,9,11,13,15,25,27,29,31; ×:6,14,17,19,21,23,24,26,28,30).

Задание для защиты лабораторной работы. Упростить выражения:

y1 = x1x0 + x2x0 + x2 x1 ;

y2 = x2 + x2 x1 x0 .

Вариант 10

y1 = Л(4,5,6,7,11,14,15; ×:1,3,8,12); y2 = Л(5,7,13,14,15,10; ×:3,8,12);

y3 = Л(8,9,12,13,16,18,20,22,24,26,28,30; ×:0,1,4,5,15,21,27); y4 = Л(0,2,4,6,8,10,12,14,24-26,28-30; ×:1,16-18,20-22,27,31).

Задание для защиты лабораторной работы. Упростить выражения:

y1 = x2x1x0 + x2 x1x0 + x2 x1 x0; y2 = x3 x2 + x3.

Вариант 11

y1 = V(0,2,4,6,8-10; ×:1,3,12,14,15); y2 = V(0,1,4,9,13; ×:2,5,12);

y3 = V(0,1,4-6,8,10,12,16,17,20,21; ×:2,3,7,14);

y4 = V(2,3,6,7,10,11,15,17,19,21,25,27,29,31; ×:0,1,4,5,14,23).

Задание для защиты лабораторной работы. Упростить выражения:

y1 = x2 x1 x0 + x2 x1 x0 + x2x1x0; y2 = x2 + x2 x1 x0 .

40

PDF created with pdfFactory Pro trial version www.pdffactory.com

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