Технические дисциплины - ПППСМ

ЛАБОРАТОРНАЯ РАБОТА № 1

Способы представления переключательных функций

Краткие теоретические сведения

Маршрут проектирования цифровых устройств на базе ПЛИС фирмы Xilinx

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

1) создать новый проект, указав серию, тип ПЛИС и средств синтеза;

2) разработать описание проектируемого устройства в схемотехнической (с использованием схемотехнического редактора), алгоритмической (с использованием графа состояний конечного автомата) или текстовой (с использованием языков описания аппаратуры – hardware description languages, HDL) формах;

3) выполнить синтез устройства;

4) провести проверку проекта методом функционального моделирования;

5) выполнить размещение и трассировку проекта в кристалл;

6) провести окончательную верификацию проекта методом временного моде-лирования;

7) загрузить конфигурационные данные проекта в кристалл (выполнить про-граммирование ПЛИС).

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

Программирование ПЛИС с помощью языка VHDL

К современным HDL языкам относятся VHDL (Very High Speed HDL) и Verilog.

Проект на VHDL состоит из макросов, на основе которых строится описание схемы в целом. Структура макроса имеет вид, показанный на рис. 1.1.

 

Рис. 1.1. Структура макроса, написанного на языке VHDL

Способы представления переключательных функций (ПФ)

Функция называется переключательной (булевой), если она принимает значения также как и ее аргументы, и зависит от аргументов .

Существуют следующие способы представления (ПФ):

1) табличный;

2) номером ПФ;

3) указанием номеров наборов, на которых ПФ равна единице;

4) указанием номеров наборов, на которых ПФ равна нулю;

5) представление ФП в Совершенной дизъюнктивной нормальной форме (СовДНФ);

6) Представление ФП в Совершенной конъюнктивной нормальной форме (СовКНФ);

7) графический.

Для записи ПФ в СовДНФ используется вспомогательная функция, кото-рая называется конституентой единицы (КЕ). Обозначение: .

КЕ – это ПФ аргументов, равная единице только на одном м набо-ре. КЕ представляет собой элементарное произведение (конъюнкцию) аргументов, взятых с инверсиями или без.

СовДНФ ПФ записывается следующим образом:

1. Выписывается ряд произведений всех аргументов и соединяется знаками дизъюнкции. Число произведений равно числу единиц ПФ.

2. Под каждым произведением записывается номер (двоичный набор), на котором ПФ равна единице. Над аргументом, стоящим напротив нуля, ставится инверсия.

Для записи ПФ в СовКНФ используется вспомогательная функция, кото-рая называется конституентой нуля (КН). Обозначение: .

КН – это ПФ аргументов, равная нулю только на одном м наборе. КН представляет собой элементарную дизъюнкцию всех аргументов, взятых с инверсиями или без.

СовКНФ ПФ образуется следующим образом:

1. Записываются конъюнкции элементарных дизъюнкций всех аргументов. Число дизъюнкций равно числу нулей ПФ.

2. Под каждой дизъюнкцией записывается двоичное число номера набора, на котором ПФ равна нулю. Над аргументом, стоящим напротив единице, ставится инверсия.

Карта Карно – это разновидность табличного способа ПФ (таблицы истинности), которые позволяют просто осуществить операцию минимизации и найти минимальную ДНФ (МДНФ) и минимальную КНФ (МКНФ).

Число клеток в карте Карно равно числу наборов ПФ. Каждая клетка соответствует определенному набору. В карте Карно строке и столбцу, охваченным квадратной скобкой, соответствует прямое значение аргумента, т.е. логическая единица. На неохваченных – логический ноль.

Порядок минимизации ПФ с помощью карт Карно при поиске МДНФ:

1. ПФ представляется с помощью карт Карно. При поиске МДНФ нули можно не указывать.

2. Охватываются контурами «соседние» единицы карты. Число единиц в пра-вильном контуре равно (где ). При этом требуется, чтобы контуры были максимальны по числу охватываемых единиц, а число всех контуров – минимальным. При формировании контуров некоторые контуры могут охватывать единицы из других контуров.

3. Для карт Карно трех переменных контур, содержащий одну единицу, заменяют произведением (простой импликантой), содержащей три буквы; две соседние единицы – двумя буквами; четыре соседние единицы – одной буквой; восемь единиц – ПФ константа «1».

4. Полученные произведения заменяют знаком дизъюнкции.

Порядок минимизации ПФ с помощью карт Карно при поиске МКНФ:

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

2. Образуются контуры, охватывающие нули.

3. Контуры, содержащие один ноль заменяются элементарной дизъюнкцией, cодержащей 4 буквы; 2 нуля – 3 буквы;4 нуля – 2 буквы;8 нулей – 1 буква.

4. Полученные элементарные дизъюнкции соединяются знаками конъюнкции.

Цель работы: изучение способов представления переключательных функций (ПФ), построение их логических схем и реализация на языке VHDL.

Исходные данные: ПФ, заданная номером (табл. 1.1).

Подготовка к работе: перед выполнением работы изучить теоретический материал по литературе и лекциям, выполнить пункты 1 – 6 задания для получения допуска к выполнению лабораторной работы.

Таблица 1.1. Варианты заданий

№ вари-анта 1 2 3 4 5 6 7 8 9 10

ПФ

 

 

 

 

 

 

 

 

 

 

№ вари-анта 11 12 13 14 15 16 17 18 19 20

ПФ

 

 

 

 

 

 

 

 

 

 

Задание:

1) перейти от задания ПФ номером к табличному способу задания ПФ;

2) найти СовДНФ и СовКНФ ПФ по ее таблице истинности;

3) с помощью карт Карно найти МДНФ и МКНФ ПФ;

4) построить в универсальном (булевом) базисе логические схемы (ЛС) ПФ, представленных в виде МДНФ и МКНФ;

5) построить временные диаграммы работы ЛС;

6) написать программу на VHDL, реализующую МДНФ и МКНФ заданной ПФ в редакторе Xilinx ISE;

7) провести моделирование написанной программы в редакторе HDL Bencher;

8) получить конфигурационную последовательность проекта для конкретной микросхемы ПЛИС и посмотреть ее в редакторе связей Floorplanner.

Содержание отчета:

1) название, цель работы, задание;

2) проектирование схемы в соответствии с планом задания (п.п. 1 – 6 задания);

3) результаты моделирования схемы в схемотехническом редакторе;

4) вид конфигурационной последовательности из редактора связей.

Пример выполнения работы.

Исходные данные: .

1 й этап. Переход от задания номером к табличному способу задания ПФ.

Номер функции необходимо представить в виде степеней двойки. Так: . Каждой степени числа "2" соответствует определенный номер набора (табл. 1.2). Поэтому ПФ на 0 м, 1 м, 3 м, 4 м и 7 м наборах принимает единичные значения, на остальных – нулевые.

Таблица 1.2. Табличное задание ПФ

№ набора

 

 

Вес набора

 

0 0 0 0

1

1 0 0 1

1

2 0 1 0

0

3 0 1 1

1

4 1 0 0

1

5 1 0 1

0

6 1 1 0

0

7 1 1 1

1

2 й этап. СовДНФ и СовКНФ для ПФ, заданной в табл. 1.2, примут вид:

СовДНФ = ; (1.1)

СовКНФ = . (1.2)

3 й этап. Нахождение МДНФ и МКНФ с помощью карт Карно.

Карты Карно для ПФ (1.1) и (1.2) показаны на рис. 1.2.

 

Рис. 1.2. Карты Карно для нахождения МДНФ и МКНФ функций (1.1) и (1.2)

Из карт Карно (см. рис. 1.1) найдены:

МДНФ = ; (1.3)

МКНФ = . (1.4)

4 й этап. Построение ЛС для ПФ, представленных в виде МДНФ (1.3) и МКНФ (1.4) (рис. 1.3).

5 й этап. Построение временных диаграмм для полученных ЛС (рис. 1.4).

6 й этап. Написание программы на VHDL, реализующей МДНФ и МКНФ ПФ в редакторе Xilinx ISE.

 

Рис. 1.3. Логические схемы, соответствующие МДНФ (а) и МКНФ (б) ПФ

 

Рис. 1.4. Временная диаграмма для ПФ

Для запуска пакета Xilinx ISE в меню Программы следует выбрать группу Xilinx ISE, в которой нужно выделить строку Project Navigator и щелкнуть на ней левой кнопкой мыши. При этом на экране монитора появится основное окно Навигатора проекта (рис. 1.5), которое содержит кроме стандартных элементов 4 встроенных окна:

– окно исходных модулей проекта (Sources in Project);

– окно необходимых процессов для выбранного исходного модуля (Processes for Source);

– окно консольных сообщений программных модулей (Console);

– окно редактора текстовых HDL описаний проекта.

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

Окно процессов (Processes for Source) (рис. 1.5) показывает маршрут обработки выделенного исходного модуля в процессе проектирования устройства. В данном окне подробно отображаются все этапы процесса разработки и программирования ПЛИС. Последовательность и содержание этапов определяются типом исходного модуля и серией ПЛИС.

Окно консольных сообщений (Console) (рис. 1.5) предназначено для вывода информации программных модулей пакета, работающих в консольном режиме. Здесь отображаются сообщения об ошибках и предупреждения.

Окно интегрированного текстового редактора (рис. 1.5) становится активным, если для проектируемого устройства или используемых библиотек выбран способ описания на языке HDL.

 

Рис. 1.5. Основное окно Навигатора проекта пакета Xilinx ISE

Для создания нового проекта следует выполнить команду File основного меню Навигатора проекта, а затем во всплывающем меню выбрать строку New Project. При этом появится диалоговое окно, показанное на рис. 1.6.

 



 

Добавить комментарий


Защитный код
Обновить