МПУ контрольные вопросы лабы
.pdf
ЛАБ 1 1. Перечислите способы задания логических функций
Основные:
● Табличный
Любая логическая функция нескольких переменных однозначно задается в виде таблицы истинности, в левой части которой выписаны все возможные наборы значений её аргументов x1, …, xn, а правая часть представляет собой столбец значений функций, соответствующих этим наборам. Набор значений переменных, на котором функция принимает значение f = 1, называется единичным набором функции f; множество всех единичных наборов – единичным множеством функции f. Аналогично набор значений, на котором f = 0, называется нулевым набором функции f, а множество нулевых наборов – нулевым множеством. В общем случае таблица истинности для функции от n переменных должна иметь 2^n строк
● Аналитический
Задаётся использование операторов логических функций (И, ИЛИ, НЕ…) Можно составить булеву функцию в виде совершенной дизъюнктивной/конъюнктивной нормальной форме(СДНФ, СКНФ)
● Картами Карно - графический способ
пример карты
2.Перечислите основные законы алгебры логики.
● Сочетательный закон
1 2 3 = 1(2 3) = (1 2) 31 2 3 = 1(2 3) = (1 2)3
● Переместительный закон
1 2 = 2 11 2 = 2 1
● Распределительный закон
1(2 3) = 1 2 1 3
● Закон двойного отрицания
1 = 1
● Закон де Моргана
1 2 = 1 · 2
1 · 2 = 1 2
● Операции с константами
1 |
· = |
1 |
= 1 |
0 |
· = 0 |
0 |
= |
● Идемпотенстность
· = |
= |
● Закон непротиворечия
· = 0
● Закон исключённого третьего
= 1
3.Что называют функционально полным базисом? Что называют минимальным базисом?
Набор логических элементов, достаточный для построения любой сколь угодно сложной логической схемы, называется функционально полным. Функционально полным является набор элементов И, ИЛИ, НЕ. Из этого набора можно исключить некоторые элементы без нарушения функциональной полноты. В частности, функционально-полным считается набор из двух элементов И и НЕ, ИЛИ и НЕ.
Набор таких элементов называется минимальным базисом, если он не содержит избыточных элементов, и удаление любого из них делает набор неполным или нефункциональным
Наибольшее применение получили базисы И-НЕ и ИЛИ-НЕ
4.Каковы канонические формы представления логических функций?
Совершенная Дизъюнктивная Нормальная Форма (СДНФ) – |
сумма |
конъюнкций всех переменных (минтермов) |
|
Совершенная Конъюнктивная Нормальная Форма (СКНФ) – произведение дизъюнкций всех переменных (макстермов)
пример
СДНФ: (1, 2, 3) = (1 2 3) (1 2 3) (1 2 3)
СКНФ: (1, 2, 3) = (1 2 3)(1 2 3)(1 2 3)
Они обеспечивают стандартизированный вид для любой булевой функции, независимо от ее исходного представления (таблица истинности, словесное описание).
Они являются основой для поиска минимальных форм функций, которые используются для проектирования более экономичных логических схем
5. Принцип построения комбинационных цифровых устройств на основе логических уравнений.
Синтез комбинационной логической схемы предусматривает построение структурной схемы устройства, т. е. определение состава необходимых логических элементов и соединения между ними, при которых обеспечивается преобразование входных цифровых сигналов в выходные в соответствии с заданными условиями работы устройства. В процессе синтеза обычно подразумевается необходимость минимизации затрат на реализацию устройства. Для разработки структуры многовходовой логической схемы в заданном базисе применяют следующий алгоритм:
● составляется таблица истинности; ● по таблице истинности составляется булева функция в виде совершенной
дизъюнктивной нормальной форме; ● используя правила булевой алгебры, карты Карно или другие способы
минимизации, функция (если возможно) упрощается; ● полученное выражение приводят к заданному базису
6. Для чего используется минимизация логических функций?
Минимизация требуется для наиболее простой технической реализации, то есть для минимальных затрат оборудования, т.к. каждой логической функции соответствует физический элемент.
Минимизация функции позволит упростить и сократить электронную схему, что повысит быстродействие и снизит стоимость.
7. Перечислите методы минимизации логических функций и дайте их краткую характеристику.
● Метод последовательного исключения переменных
Выполняется с помощью основных законов и тождеств алгебры логики Метод не даёт гарантии получения минимальной формы. Он может привести к
получению одной из тупиковых форм, которые больше не упрощаются, но не являются минимальными
● Минимизация с помощью карт Карно
Для заданной функции составляется карта Карно, на которой единицами отмечены минтермы, входящие в состав функции
Клетки объединяются в квадраты и столбцы (минимальным количеством)
8.Как производится синтез логических устройств в базисах И-НЕ, ИЛИ-НЕ?
Синтез сводится к преобразованию исходной булевой функции в выражение, использующее только операции И-НЕ или ИЛИ-НЕ, а затем построению схемы на основе этих элементов.
Например, по заданной таблице истинности строится СНДФ/СКНФ, минимизируется и сводится к базису И-НЕ/ИЛИ-НЕ с помощью правила де Моргана (Если в качестве базы заданы элементы И-НЕ, правило де Моргана применяется к дизъюнкции, если ИЛИ-НЕ – к конъюнкции)
9.Каковы общие свойства программируемых логических интегральных схем (ПЛИС)?
● ПЛИС программируются потребителем уже после изготовления чипа ● ПЛИС реализуют аппаратный параллелизм. Различные логические блоки
работают одновременно и независимо друг от друга ● Алгоритм "вшивается" в саму структуру чипа в виде цифровых схем. Это
обеспечивает детерминированность (строго предсказуемое время отклика) и максимальную производительность для конкретной задачи.
10. Перечислите основные характеристики ПЛИС.
● Логические ресурсы
Количество логических элементов, программируемых логических блоков или эквивалентных логических вентилей
● Ресурсы памяти ● Ресурсы для арифметических операций и ЦОС
Количество блоков цифровой обработки сигналов: Аппаратные умножители, умножители-накопители (MAC) и акселераторы.
● Тактовые характеристики (максимальная тактовая частота)
● Количество пользовательских выводов, Поддерживаемые стандарты ввода-вывода, Скорость передачи данных через порты
● Технологические и энергетические характеристики (техпроцесс, потребляемая мощность, TDP)
11.Какова структура и особенности ПЛИС с архитектурой FPGA?
12.Каковы основные этапы проектирования устройств на ПЛИС?
Определение требований, описание логики на HDL (VHDL/Verilog), синтез, размещение и трассировку, верификацию и синтез итогового файла конфигурации, который затем загружается в ПЛИС для реализации функции
13.Поясните последовательность проектирования цифровых устройств в графическом редакторе.
14.Опишите назначение основных элементов отладочного набора для ПЛИС Xilinx Spartan.
15.Каков порядок работы с САПР ISE?
16. Какова структура и функции «Навигатора (менеджера) проектов»?
17.Поясните графический способ представления схемных решений. Каково назначение файла с расширением *.sch?
*.sch – формат файла принципиальной схемы
18.Поясните способы создания связей с выводами отладочной платы. Опишите назначение файла с расширением *.ucf.
Файл типа Implementation Constraints File (UCF) служит для связывания маркеров (входов и выходов логических элементов) с выводами платы
В лаб. Работах рассматривались два способа:
1. Графический способ создания файла: в программе Plan Ahead для каждого маркера выбирается вывод, который указан на отладочной плате рядом с каждым элементом
2. Ручное создание файла: в редакторе файла нужно связать маркеры с выводами, используя синтаксис вида:
NET “имя маркера” LOC = “вывод на плате”
19. Опишите назначение пакета iMPACT.
Эта программа позволяет читать, стирать и записывать прошивку в плату
20.Каково назначение файла с расширением *.bit?
Файл содержит данные конфигурации для программирования платы
ЛАБ 2
1. Что такое язык VHDL?
VHDL - высокоуровневый язык описания аппаратуры интегральных схем; базовый язык при разработке аппаратуры современных вычислительных систем
2.Какова технология проектирования цифровых систем с использованием
VHDL?
3.Поясните принципы интерпретации поведения дискретных устройств средствами моделирования.
4.Что называют проектом на языке VHDL?
Проект любого ЦУ на языке VHDL – это прежде всего программа, которая содержит ключевые и зарезервированные слова. Эти слова не могут использоваться как имена сигналов или как идентификаторы. В языке VHDL ключевые слова, зарезервированные слова и определяемые пользователем идентификаторы нечувствительны к регистру.
5.Какую структуру имеют проекты, созданные на языке VHDL?
6.Что означает понятие «иерархическая структура проекта»?
Иерархическая структура проекта - это вид представления проекта, где каждый элемент, входящий в проект, зависит от одного или нескольких элементов. Организация такой структуры представляется в виде перевёрнутого дерева, где нижестоящие элементы зависят от вышестоящих.
7.Каковы формы описания модулей VHDL-проектов?
8.Поясните понятие «сигнал» в языке VHDL. Чему соответствует сигнал в логической схеме?
Под сигналами понимаются входные и выходные логические сигналы 0 и 1. Задаются разными уровнями напряжения
Зависимость между входным и выходными сигналами определяет поведенческую форму.
9.Чем сигнал отличается от переменной. Как записывается оператор назначения сигналов? Как записывается оператор присвоения значений переменной?
Переменная объявляется внутри процесса (process) и используется только в нём. Имеют разные операторы присвоения:
Для сигналов: <= Для переменных: :=
10.В какой части VHDL-кода необходимо указывать тип сигнала, который декларируется?
В объявлении сущности (entity). in либо out
11.Где в описаниях на языке VHDL могут быть использованы операторы присвоения значений переменной и операторы назначения сигналов?
Переменная объявляется внутри process, но до ключевого begin, значение присваивается внутри process. Переменная используется только внутри process.
Назначить сигнал можно в любой момент задания архитектуры
12.Что такое параллельный процесс? В каких состояниях бывают параллельные процессы?
13.Что означает строгая типизация языка VHDL?
14. Приведите классификацию типов данных языка VHDL.
15.Какие значения могут принимать данные типа bit? Какие операции определены на этом типе данных?
16.Для чего служит тип переменных time? Приведите пример записи временной константы этого типа. Какие операции определены над этим типом данных?
17.Что такое компонент языка VHDL? Каковы особенности декларации компонента?
Компонент VHDL – это модульная единица иерархии для описания аппаратуры; представляет собой объединение интерфейса (entity) и архитектуры.
В объявлении интерфейса содержится объявление портов проектируемого компонента, которое определяет внешние входные и выходные интерфейсные сигналы.
Архитектура представляет собой набор таких взаимосвязанных программных элементов, как подчинённые компоненты, операторы process, операторы параллельных вычислений, последовательные операторы, подпрограммы.
18. Управляющие операторы языка VHDL. Привести пример использования этих операторов.
19.Поясните работу симулятора iSim.
20. С помощью временных диаграмм поясните принцип работы своего ЦУ
ЛАБ 3
1. Перечислите параллельные операторы языка VHDL.
process (С другими процессами работает параллельно, однако операторы, расположенные внутри оператора process, выполняются последовательно)
Операторы выбора (Case, when…select, if…then), операторы присванивания,
2. Каково назначение оператора component в языке VHDL?
Для того чтобы в проекте можно было создать экземпляры компо нентов и реализовать связи между ними, эти компоненты должны быть объявлены либо в разделе объявлений архитектуры проекта, либо в пакете, подключенном к проекту. Объявление компонента содержит его идентификатор, а также объявление интерфейса (описание входных и выходных портов)
Компоненты нужны для модульного проектирования, симуляции (например, с быстрой моделью), и интеграции разнородного кода
component [имя_компонента] is [port (имя_сигнала: mode тип;
имя_сигнала: mode тип;
...
имя_сигнала: mode тип);]
end component [имя_компонента];
3. Чему соответствует компонент в логической схеме? Какие средства языка VHDL употребляются для соединения компонент?
Компоненту соответствует блок/подсистема или повторно используемый модуль, то есть отдельно проектируемый модуль, который планируется использовать внутри текущего модуля
Последовательность для работы:
● Объявление компонента component
● Соединение портов компонента с сигналами текущего модуля
порт компонента => локальный сигнал/порт
4. Допустимо ли при конкретизации компонентов использовать оба направления (<=, =>) в зависимости от того, является ли порт входным или выходным?
Нет.
Оператор присваивания имеет вид только <= => используется для ассоциации, то есть для “связывания” имён. Также
используется при присваивании значений массивом: myVector <= (1=>'1', OTHERS=>'0');
И при использовании оператора when: case my_val is
when 1 =>
a:=b;
...
5. Правда ли, что имя процесса специфицируется после ключевого слова process?
нет. После process задаётся список чувствительности process(clk, reset)
Имя можно (необязательно) задать после end process process(clk, reset) -- Имя НЕ здесь
--объявления
begin
--операторы
end process reg_proc;
Либо для удобства чтения можно задать метку процесса перед process reg_proc: process(clk, reset)
6. Каковы формы синтаксиса неявно заданного оператора process?
● Простая параллельная установка значений сигналов (simple concurrent signal assignments).
Сигнал <= выражение;
● Условная установка значений сигналов (conditional signal assignments).
Сигнал <= выражение1 when условие1 else
|
|
|
выражение2 when условие2 else |
|
|
|
... |
|
|
|
выражениеN; |
● Селективная установка значений сигналов (selected signal assignments).
with задающее_выражение select
|
|
cигнал <= выражение1 when значение1, |
||
|
|
|
|
выражение2 when значение2, |
|
|
|
|
... |
|
|
|
|
[выражениеN when others]; |
