- •Введение
- •Общее представление о плис Spartan-3 с архитектурой fpga
- •Краткое описание отладочных плат Spartan-3
- •Лабораторная работа № 1 Введение в сапр ise фирмы xilinx Цель работы
- •Домашняя подготовка
- •Лабораторное задание
- •Типичные ошибки при выполнении работы
- •Простой узел типа d-триггера
- •Контрольные вопросы
- •Лабораторная работа № 2 Проектирование простого цифрового узла на плис Цель работы
- •Домашняя подготовка
- •Лабораторное задание
- •Типичные ошибки при выполнении работы
- •Примеры описаний узлов , которые можно использовать для исключения влияния дребезга контактов кнопок платы
- •Текст модели rs-триггера- защелки на языке vhdl в 9 значном алфавите приведен ниже.
- •Контрольные вопросы
- •Краткое описание архитектуры плис типа cpld.
- •8. Что такое статическая и динамическая составляющие мощности потребления схемы
- •Лабораторная работа № 3 Проектирование устройства управления зу на плис
- •Домашняя подготовка
- •Типичные ошибки
- •Пример описания устройства управления пзу
- •Внешние и внутренние сигналы модуля пзу
- •Вариант описания уу пзу как схемы, построенной на базе микросхем серии кр1533 и с использованием счетчика кр1533ие18
- •Вариант описания уу зу как автомата
- •Контрольные вопросы
- •Библиографический список
- •Дополнительная литература
- •Приложение а Типичные этапы автоматизированной разработки устройств на базе плис фирмы xilinx
- •Типичная последовательность действий пользователя в сапр плис xilinx ise при проектировании на плис типа fpga
- •Приложение б Фрагменты представлений результатов проектирования на примере проекта d-триггера
- •1.Графические и текстовые формы отчетов
- •2.Параметры проекта и настройки синтезатора
- •Приложение в Интернет-ресурсы
- •Установка ise на примере версии 13.2
- •Глава 5 Цифровые функциональные узлы
- •Глава 5 Цифровые функциональные узлы
- •Оглавление
Установка ise на примере версии 13.2
Установка делается следующим образом:
Два раза щёлкнуть на файле xsetup.exe. Начало установки ISE 13.2.
Нажать кнопку Next.
Поставить галочку на отмечаемую кнопку I accept and agree to the terms and conditions above, потом нажать кнопку Next. Повторить эту операцию ещё раз, поскольку используются две лицензии.
Выбрать версию, в нашем случае ISE WebPACK. Нажать кнопку Next.
Нажать кнопку Next.
Выбрать место установки (например C:\Xilinx\13.2). Нажать кнопку Next.
Нажать кнопку Install.
Ждать. Долго. Параллельно установится WinPcap. На все вопросы в процессе установки отвечать положительно.
После завершения процесса установки откроется менеджер лицензий. Выбрать Get Free ISE WebPack License и нажать Next.
Появятся сведения о компьютере. Нажать Connect Now.
Ввести свой логин и пароль. Нажать Sign In.
Выбрать ISE Design Suite: WebPACK License и нажать Generate Node-Locked License
Нажать Next.
Нажать Next.
Нажать Accept.
Внизу страницы выбрать свою лицензию и нажать на кнопку (картинка со стрелкой вниз) Download.
В менеджере лицензий нажать на кнопку Copy License и указать скаченный файл.
Нажать кнопку Close
ПРИЛОЖЕНИЕ Г.
ВОПРОСЫ и УПРАЖНЕНИЯ ИЗ КНИГИ ХАРРИСА ДЛЯ ТЕХ,КТО ПЛОХО УЧИЛСЯ НА 3-м КУРСЕ
УПРАЖНЕНИЯ
Упражнение 5.1 Чему будет равна задержка следующих 64-разрядных
сумматоров? Задержка любого двухвходового логического элемента равна
150 пс, а полного одноразрядного сумматора – 450 пс.
a)
сумматор с последовательным переносом
b)
сумматор с ускоренным переносом, состоящий из 4-битовых блоков
c)
префиксный сумматор
Упражнение 5.2 Спроектируйте два сумматора с распространяющимся
переносом: 64-хразрядный сумматор с последовательным переносом и
64-разрядный сумматор с ускоренным переносом, состоящий из 4-битовых
блоков. Используйте только двухвходовые логические элементы. Каждый такой
элемент имеет площадь 15 мкм2, задержку 50 пс и полную емкость 20 фФ.
Статической мощностью можно пренебречь.
a)
Сравните площадь, задержку и потребляемую мощность сумматоров,
работающих на частоте 100 МГц при напряжении питания 1.2 В.
b)
Обсудите компромисс между мощностью, площадью и задержкой.
Упражнение 5.3 Объясните, почему проектировщик может использовать
сумматор с последовательным переносом, а не сумматор с ускоренным
переносом.
Глава 5 Цифровые функциональные узлы
Упражнение 5.7 Вспомните, что N-входовый приоритетный шифратор имеет
log2N выходов, на которых формируется двоичное число, соответствующее
номеру самого старшего входа, на который подана логическая 1
(см. упражнение 2.36).
a)
Спроектируйте N-входовый приоритетный шифратор у которого задержка
увеличивается логарифмически с ростом N. Нарисуйте схему шифратора и
рассчитайте его задержку, исходя из задержек отдельных логических
элементов.
b)
Опишете ваш проект на языке описания аппаратуры. Промоделируйте и
протестируйте свой модуль и покажите, что он работает корректно.
Упражнение 5.8 Спроектируйте следующие компараторы 32-разрядных чисел.
Нарисуйте схемы.
a) не равно
b) больше, чем
c) меньше или равно
Упражнение 5.9 Спроектируйте 32-разрядное АЛУ,
с использованием вашего любимого языка описания аппаратуры. Модуль
верхнего уровня может быть или структурным или поведенческим.
Упражнение 5.10 Добавьте выход Overflow
к 32-разрядному АЛУ из
упражнения 5.9. Этот выход принимает значение логической 1, если сумматор
переполняется, в противном случае значение на выходе 0.
a) Запишите булево уравнения для выхода Overflow.
b) Нарисуйте схему, формирующую сигнал переполнения.
c) Спроектируйте модифицированное АЛУ с использованием языка описания
аппаратуры.
Упражнение 5.11 Добавьте выход Zero
к 32-разрядному АЛУ из упражнения 5.9.
Выход принимает значение логической 1, когда Y
== 0.
Упражнение 5.12 Напишите код среды тестирования для 32-разрядного АЛУ из
упражнений 5.9, 5.10, 5.11 и протестируйте АЛУ. Разработайте все
необходимые файлы с тестовыми векторами. Для убеждения скептиков,
обязательно детально протестируйте поведение схемы при «неудобных»
данных.
Упражнение 5.13 Спроектируйте схему сдвига, которая сдвигает 32-битовый
вход влево на два бита. Выход также состоит из 32-х битов. Поясните работу
вашего проекта словами и нарисуйте его схему. Реализуйте ваш проект с
использованием вашего любимого языка описания аппаратуры.
Упражнение 5.14 Разработайте 4-битовую схему циклического сдвига влево и
вправо. Нарисуйте схему вашего проекта. Реализуйте ваш проект с
использованием вашего любимого языка описания аппаратуры.
Упражнение 5.15 Спроектируйте 8-битовую схему сдвига влево с
использованием только 24 мультиплексоров 2:1. На вход схемы поступает
8-битовый входной сигнал и 3-битовая величина сдвига, shamt2:0. На выходе
схемы формируется 8-битовый сигнал Y. Нарисуйте принципиальную схему.
Упражнение 5.16 Поясните, как можно построить любую N-битовую схему
сдвига или циклического сдвига используя всего Nlog2N
мультиплексоров 2:1.
Упражнение 5.17 Двухуровневая схема сдвига, показанная на Рис. 5.64, может
выполнять любую N-битовую операцию сдвига или цикличного сдвига. Она
сдвигает 2N-битовый вход вправо на k бит. N
младших бит результата поступают на выход Y. Старшие N
бит входа обозначены через B, младшие N бит – C.
При соответствующем выборе B, C, и k
двухуровневая схема сдвига может
выполнять любой сдвиг или циклический сдвиг. Поясните, как B, C, и k
связаны с
A,
и N
для выполнения:
a) логического сдвига A
вправо на
b) арифметического сдвига A
вправо на s
c) сдвига A
влево на t
d) циклического сдвига A вправо на shamt
e) циклического сдвига A влево на shamt
Упражнение 5.18 Найдите критический путь и время прохождения сигнала по
нему для умножителя 4 . 4, показанного на Рис. 5.18, считая известными
задержки элемента И (tAND) и сумматора (tFA). Чему будет равна задержка
аналогичного умножителя N . N?
Упражнение 5.19 Найдите критический путь и время прохождения сигнала по
нему для схемы деления 4 . 4, показанной на Рис. 5.20, считая известными
задержки мультиплексора 2:1 (tMUX), сумматора (tFA) м инвертора (tINV). Чему
будет равна задержка аналогичной схемы деления N . N?
Упражнение 5.20 Спроектируйте умножитель, который работает с числами,
представленными в дополнительном коде.
Упражнение 5.21 Модуль расширения знака увеличивает количество разрядов
числа, представленного в дополнительном коде, с M до N (N > M) путем
копирования самого старшего разряда входа в старшие разряды выхода
(см. раздел 1.4.6). Модуль имеет M-разрядный вход A м N-разрядный выход Y.
Нарисуйте схему модуля расширения знака с 4-разрядным входом и
8-разрядным выходом. Опишите ваш проект на языке описания аппаратуры.
Упражнение 5.22 Модуль дополнения нулями увеличивает количество разрядов
беззнакового числа с M до N (N > M) путем присвоения старшим разрядам
выхода нулевого значения. Нарисуйте схему модуля дополнения нулями с
4-разрядным входом и 8-разрядным выходом. Опишите ваш проект на языке
описания аппаратуры.
Упражнение 5.23 Посчитайте 111001.0002/001100.0002 в двоичной системе
счисления, используя стандартный школьный алгоритм деления.
Продемонстрируйте свою работу.
Упражнение 5.24 Числа какого диапазона можно представить с использованием
следующих форматов?
a)
24-битовое беззнаковое число с фиксированной точкой с 12 битами целой
части и 12 дробной
b)
24-битовое число в прямом коде с фиксированной точкой с 12 битами целой
части и 12 дробной
c)
24-битовое число в дополнительном коде с фиксированной точкой с
12 битами целой части и 12 дробной
Упражнение 5.25 Представьте следующие десятичные числа в 16-разрядном
двоичном формате в прямом коде с 8 битами целой части и 8 дробной.
Выразите ваш ответ в шестнадцатеричной системе.
a) -13.5625
b) 42.3125
c) -17.15625
Упражнение 5.26 Представьте следующие десятичные числа в 12-разрядном
двоичном формате в прямом коде с 6 битами целой части и 6 дробной.
Выразите ваш ответ в шестнадцатеричной системе.
a) -30.5
b) 16.25
c) -8.078125
Упражнение 5.27 Представьте десятичные числа из упражнения 5.25
в 16-разрядном двоичном формате в дополнительном коде с 8 битами целой
части и 8 дробной. Выразите ваш ответ в шестнадцатеричной системе.
Упражнение 5.28 Представьте десятичные числа из упражнения 5.26
в 12-разрядном двоичном формате в дополнительном коде с 6 битами целой
части и 6 дробной. Выразите ваш ответ в шестнадцатеричной системе.
Упражнение 5.29 Представьте десятичные числа из упражнения 5.25
в формате с плавающей точкой и одинарной точностью в соответствии со
стандартом IEEE 754. Выразите ваш ответ в шестнадцатеричной системе.
Упражнение 5.30 Представьте десятичные числа из упражнения 5.26
в формате с плавающей точкой и одинарной точностью в соответствии со
стандартом IEEE 754. Выразите ваш ответ в шестнадцатеричной системе.
Упражнение 5.31 Преобразуйте следующие двоичные числа с фиксированной
точкой, заданные в дополнительном коде, в десятичные. Для простоты двоичная
запятая в этом примере показана явно.
a) 0101.1000
b) 1111.1111
c) 1000.0000
Упражнение 5.32 Повторите упражнение 5.31 для следующих двоичных чисел с
фиксированной точкой, заданных в дополнительном коде.
a) 011101.10101
b) 100110.11010
c) 101000.00100
Упражнение 5.33 При сложении двух чисел с плавающей точкой мантисса числа
с меньшим порядком сдвигается. Зачем это делается? Поясните словами и
приведите пример, подтверждающий ваше объяснение.
Упражнение 5.34 Сложите следующие числа, заданные в формате с плавающей
точкой и одинарной точностью в соответствии со стандартом IEEE 754.
a) C0123456 + 81C564B7
b) D0B10301 + D1B43203
c) 5EF10324 + 5E039020
Упражнение 5.35 Сложите следующие числа, заданные в формате с плавающей
точкой и одинарной точностью в соответствии со стандартом IEEE 754.
a) C0D20004 + 72407020
b) C0D20004 + 40DC0004
c) (5FBE4000 + 3FF80000) + DFDE4000
(Почему полученные результаты парадоксальны? Поясните.)
Упражнение 5.36 Модифицируйте процедуру сложения чисел с плавающей
точкой, описанную в разделе 5.3.2, для выполнения вычислений, как с
положительными, так и с отрицательными числами.
Упражнение 5.37 Рассмотрим числа, заданные в формате с плавающей точкой
и одинарной точностью в соответствии со стандартом IEEE 754.
a)
Сколько чисел можно представить в таком формате? Особые случаи ±.
или
NaN не нужно учитывать.
b)
Сколько дополнительных чисел можно представить, если не вводить в
рассмотрение особые случаи ±.
или NaN?
c)
Поясните, почему для ±.
and NaN выделено специальное представление.
Упражнение 5.38 Рассмотрим следующие десятичные числа: 245 и 0.0625.
a)
Запишите эти числа в формате с плавающей точкой и одинарной точностью.
Выразите ваш ответ в шестнадцатеричной системе.
b)
Выполните сравнение величин двух 32-разрядных чисел, полученных в
задании (a). Другими словами, интерпретируйте два 32-разрядные числа,
как числа в дополнительном коде и сравните их. Будет ли сравнение таких
целых чисел давать корректный результат?
c)
Вы решили предложить новый формат с плавающей точкой и одинарной
точностью. Единственное отличие от стандарта IEEE 754 чисел с плавающей
точкой и одинарной точностью состоит в том, что вы предлагаете для
порядка использовать дополнительный код, а не смещение. Запишите два
числа в соответствии с вашим новым стандартом. Выразите ваш ответ в
шестнадцатеричной системе.
d)
Будет ли целочисленное сравнение работать с новым форматом из
задания (c)?
e)
Почему использование алгоритма сравнения целых чисел для чисел с
плавающей точкой удобно?
Упражнение 5.39 Спроектируйте сумматор чисел с плавающей точкой и
одинарной точностью с использованием вашего любимого языка описания
аппаратуры. Перед написанием кода нарисуйте схему вашего проекта.
Промоделируйте и протестируйте ваш сумматор, чтобы доказать скептикам,
что он работает корректно. Вы можете ограничиться использованием только
положительных чисел и округление выполнять до нуля (выполнять усечение).
Также вы можете не рассматривать особые случаи, приведенные в Табл. 5.2.
Упражнение 5.40 В этом упражнении вам нужно будет спроектировать
32-битовый умножитель с плавающей точкой. Умножитель имеет два 32-битовых
входа для чисел с плавающей точкой и один 32-битовый выход. Вы можете
ограничиться использованием только положительных чисел и округление
выполнять до нуля (выполнять усечение). Также вы можете не рассматривать
особые случаи, приведенные в Табл. 5.2.
a)
Опишите последовательность шагов, необходимых умножения 32-битовых
чисел с плавающей точкой.
b)
Нарисуйте схему 32-битового умножителя с плавающей точкой.
c)
Опишите 32-битовый умножитель с плавающей точкой на языке описания
аппаратуры. Промоделируйте и протестируйте ваш умножитель, чтобы
доказать скептикам, что он работает корректно.
Упражнение 5.41 В этом упражнении вам нужно будет спроектировать
32-битовый префиксный сумматор.
a)
Нарисуйте схему вашего проекта.
b)
Спроектируйте 32-битовый префиксный сумматор с использованием языка
описания аппаратуры. Промоделируйте и протестируйте ваш сумматор и
покажите, что он работает корректно.
