Міністерство освіти і науки України
НТУУ “КПІ ім. Ігоря Сікорського”
Теплоенергетичний факультет
Кафедра автоматизації проектування енергетичних процесів і систем
Комп’ютерна схемотехніка
Звіт до лабораторної роботи №4
“Типові синхронні ЦП та суматори”
Варіант 16
Дата: 14 Листопада 2021
Мета роботи: Закріплення знань і отримання практичних навичок проектування та синтезу на базі ПЛІС типових синхронних ЦП та суматорів в заданому елементному базисі.
Постановка задачі
В результаті виконання даної практичної роботи студент повинен вміти:
проектувати та синтезувати на базі ПЛІС регістри (RG), лічильники та суматори (SM) в заданому елементному базисі;
створювати та використовувати допоміжні бібліотечні модулі;
призначати входи/виходи ЦП виводам мікросхеми ПЛІС;
проводити функціональне моделювання типових синхронних ЦП і суматорів та моделювання з урахуванням часових параметрів мікросхем ПЛІС;
Теоретичні відомості
Сумматор и полусумматор
Арифметико-логическое устройство процессора (АЛУ) обязательно содержит в своем составе такие элементы как сумматоры. Эти схемы позволяют складывать двоичные числа.
Как происходит сложение? Допустим, требуется сложить двоичные числа 1001 и 0011. Сначала складываем младшие разряды (последние цифры): 1+1=10. Т.е. в младшем разряде будет 0, а единица – это перенос в старший разряд. Далее: 0 + 1 + 1(от переноса) = 10, т.е. в данном разряде снова запишется 0, а единица уйдет в старший разряд. На третьем шаге: 0 + 0 + 1(от переноса) = 1. В итоге сумма равна 1100.
Полусумматор
Теперь не будем обращать внимание на перенос из предыдущего разряда и рассмотрим только, как формируется сумма текущего разряда. Если были даны две единицы или два нуля, то сумма текущего разряда равна 0. Если одно из двух слагаемых равно единице, то сумма равна единице. Получить такие результаты можно при использовании вентиля ИСКЛЮЧАЮЩЕГО ИЛИ.
Перенос единицы в следующий разряд происходит, если два слагаемых равны единице. И это реализуемо вентилем И.
Тогда сложение в пределах одного разряда (без учета возможной пришедшей единицы из младшего разряда) можно реализовать изображенной ниже схемой, которая называется полусумматором. У полусумматора два входа (для слагаемых) и два выхода (для суммы и переноса). На схеме изображен полусумматор, состоящий из вентилей ИСКЛЮЧАЮЩЕЕ ИЛИ и И.
/
Сумматор
В отличие от полусумматора сумматор учитывает перенос из предыдущего разряда, поэтому имеет не два, а три входа.
Чтобы учесть перенос приходится схему усложнять. По-сути она получается, состоящей из двух полусумматоров.
/
Рассмотрим один из случаев. Требуется сложить 0 и 1, а также 1 из переноса. Сначала определяем сумму текущего разряда. Судя по левой схеме ИСКЛЮЧАЮЩЕЕ ИЛИ, куда входят a и b, на выходе получаем единицу. В следующее ИСКЛЮЧАЮЩЕЕ ИЛИ уже входят две единицы. Следовательно, сумма будет равна 0.
Теперь смотрим, что происходит с переносом. В один вентиль И входят 0 и 1 (a и b). Получаем 0. Во второй вентиль (правее) заходят две единицы, что дает 1. Проход через вентиль ИЛИ нуля от первого И и единицы от второго И дает нам 1.
Проверим работу схемы простым сложением 0 + 1 + 1 = 10. Т.е. 0 остается в текущем разряде, и единица переходит в старший. Следовательно, логическая схема работает верно.
Работу данной схемы при всех возможных входных значениях можно описать следующей таблицей истинности.
/
Сумматоры групповой структуры
В сумматорах групповой структуры схема с разрядностью n делится на ℓ групп по m разрядов (n = ℓm). В группах и между ними возможны различные виды переносов, что порождает варианты групповых сумматоров.
Сумматор с цепным переносом. Групповой сумматор с цепным переносом при ℓ группах имеет ℓ – 1 блок переноса. Блоки переноса включены последовательно и образуют тракт передачи переноса (рис. 2.38). Слагаемые разбиты на m-разрядные поля, суммируемые в группах. Результат также составляется из m-разрядных полей.
/
Рис. 2.38. Схема группового сумматора с цепным переносом
Блоки переноса БПi (i = 1, 2, ... , ℓ–1) анализируют слагаемые в пределах группы, и если из группы должен быть перенос, то он появляется на выходе блока для подачи на вход следующей группы и в цепочку распространения переноса от младших групп к старшим.
Переносы определяются формулами, полученными выше для сумматоров с параллельным переносом, но сумматоры благодаря делению на группы существенно упрощаются — у них все БПi имеют одинаковую сложность (все блоки анализируют
m-разрядные операнды), тогда как в сумматоре с параллельными переносами сложность схем переноса непрерывно возрастает при переходе от предыдущего разряда к последующему (последняя схема переноса требует анализа операндов с разрядностью n – 1).
Максимальная длительность суммирования для варианта с цепным переносом tSM = (ℓ – 1) tБП + tГР.
Функции прозрачности разрядов h, необходимые для блоков переносов, вырабатываются в этих блоках либо берутся из групп, если в них организован параллельный перенос (штриховые линии на рис. 2.38). Имея в виду реализацию блоков переноса и групп, показанную ранее для базиса И-НЕ, формулу для времени суммирования можно представить в виде:
tSM = th + (ℓ – 1) 2tЛА + (4...5)tЛА = (2ℓ – 1) tЛА + (4...5) tЛА.
Для сумматора 16-разрядных слов, в частности, при его разбиении на 4 группы получим tSM = (11...12) tЛА.
СУММАТОР С ПАРАЛЛЕЛЬНЫМИ МЕЖГРУППОВЫМИ ПЕРЕНОСАМИ
Такой сумматор строится по структуре, сходной со структурой сумматора с параллельными межразрядными переносами, но роль одноразрядных сумматоров играют группы, которые также характеризуются функциями генерации и прозрачности. Обозначив эти функции большими буквами, можно записать соотношение:
H = hm–1hm–2 ... h1,
согласно которому группа прозрачна при прозрачности всех ее разрядов, и выражение
Gгр = gm\/gm–1hm\/gm–2hmhm–1\/ ... \/g1hmhm–1 ... h2,
справедливость которого видна из определения функции генерации.
Из групп так же, как ранее из одноразрядных сумматоров, собирается схема с выработкой на выходе группы с номером i параллельных межгрупповых переносов согласно выражению:
Ci = Gi\/Gi–1Hi\/Gi–2Hi–1Hi\/ ... \/G1H2 ... Hi\/CвхH1H2 ... Hi.
Аппаратная сложность сумматоров с параллельными межгрупповыми переносами выше, чем сложность предыдущего варианта, но при больших разрядностях они дают преимущества по быстродействию.
Время суммирования для схемы, принятой нами в качестве примера,
tSM = th + tG + tC + tгр = 10tла.
Групповой сумматор с параллельным межгрупповым переносом можно без существенных трудностей построить и для достаточно большой разрядности, хотя схемы выработки переноса и усложняются с ростом i. Если число разрядов очень велико, можно распространить способ организации параллельных переносов и на
+
/
схему с тремя уровнями, считая групповой сумматор с двумя уровнями как бы новой группой и организуя параллельный перенос между новыми группами. Структура группового сумматора с параллельными межгрупповыми переносами достаточно сложна, но находила применение в больших ЭВМ прошлых поколений. Групповые сумматоры разных типов описаны в работе [36].
Завдання за варіантом:
Номер варіанту
Типовий комбінаційний ЦП
Базис
Розрядність
16
SM, груповий перенос (2 гр.)
І-НЕ
6
Запишемо таблицю істиності для сумматора:
A
B
C
S
P
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
Утворенний ДДНФ для S:
/
Запишемо карту Карно для мінімізації функції S:
B
0
0
1
1
A
0
0
1
0
1
1
1
0
1
0
0
1
1
0
C
Мінізувати не можно. Перетворимо у базис І-НЕ згідно до варіанту./
Утворенний ДДНФ для P:
/
Запишемо карту Карно для мінімізації функції P:
B
0
0
1
1
A
0
0
0
1
0
1
0
1
1
1
0
1
1
0
C
B
0
0
1
1
A
0
0
0
1
0
1
0
1
1
1
0
1
1
0
C
B
0
0
1
1
A
0
0
0
1
0
1
0
1
1
1
0
1
1
0
C
Мінізувати можно. Перетворимо у базис І-НЕ згідно до варіанту.
/
Функціональні схеми:
S1:
/
P1:
/
S3:
/
P3:
/
S6:
/
Cхеми у САПР Quartus:
S1: /
Утворений бібліотечний модуль S1:
/
P1:
/
Утворений бібліотечний модуль P1:
/
S3:
/
Утворений бібліотечний модуль S3:
/
P3:
/
Утворений бібліотечний модуль P3:
/
Загальна схема з утвореними бібліотечними модульями:
/
Призначення входів/виходів ЦП виводам мікросхеми ПЛІС:
/
Загальна схема після прзначень входів/виходів:
/
Проведемо аналіз і синтез схеми:
Компіляція(Flow summary):
/
Логічний синтез (Analysis & Synthesis):
/
Занурення схеми в кристал(Fitter summary): /
Аналіз швидкодії отриманої схемної реалізації (Classic Timing Analyzer):/
/ /
Функціональне моделювання:
/
Часове:
/
Висновок:
За цю лабораторну работу я познайомився з суматорами, дізнався про принцип їх роботи та з чого вони формуються. Було створенно схеми составних структур (груп) суматора – однорозрядний суматор, напівсуматор, які переведені до базису І-НЕ згідно до варіанту. Ці схеми було експортовано у бібліотечний модуль, які використувувалися у створенні трьохрозрядного суматора та напівсуматора. Аналогічно було створено шестирозрядний суматор з двух групп з приготовлених до цього модулів. Бібліотечні модулі значно допомогають у створенні схеми. Особливість групового суматора є те що групи можно було як паралельно так і послідновно переносити. Знову користувався інструментом Pin Planer, де призначив входи та виходи на ПЛІС. Провів функціональне та часове моделювання з урахуванням часових параметрів, які ми отримали під час компіляції та тестів схеми до цього, та побачив що виникають деякі затримки. Зробив звіт з лабораторної роботи та вчасно надіслав викладачу на перевірку.