Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЦУМ / lbm1_20

.pdf
Скачиваний:
59
Добавлен:
28.03.2015
Размер:
254.31 Кб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра информационных радиосистем

ПРОЕКТИРОВАНИЕ АРИФМЕТИЧЕСКИХ УСТРОЙСТВ

ЦИФРОВОЙ ОБРАБОТКИ СИГНАЛОВ

СИСПОЛЬЗОВАНИЕМ САПР QUARTUS II

ИЕЕ БИБЛИОТЕКИ МЕГАФУНКЦИЙ

Методические указания к лабораторной работе № 20 по дисциплинам

"Цифровые устройства и микропроцессоры" (часть 1), "Вычислительная техника и информационные технологии"

для студентов специальностей 071900, 200700, 200800, 200900,201100

всех форм обучения

Нижний Новгород 2005

Составители: А.Д.Плужников, Н.Н.Потапов, А.А.Цветков.

УДК 621.374 (075.8)

Проектирование арифметических устройств цифровой обработки сигналов с использованием САПР Quartus II и ее библиотеки мегафункций: метод.

указания к лабораторной работе № 20 по дисциплинам "Цифровые устройства и микропроцессоры" (часть 1), "Вычислительная техника и информационные технологии" для студентов специальностей 071900, 200700, 200800, 200900, 201100 всех форм обучения / НГТУ; Сост.: А.Д.Плужников, Н.Н.Потапов, А.А.Цветков. Н.Новгород, 2005. 23 с.

Изложены краткие сведения о построении арифметических цифровых уз- лов (устройств), их применении в аппаратуре цифровой обработки сигналов. Рассмотрены вопросы использования библиотеки мегафункций системы авто- матизированного проектирования Quartus II. Сформулированы варианты зада- ния к лабораторной работе, требования к отчету, вопросы для самопроверки. Рекомендована дополнительная литература.

Научный редактор А.Г.Рындык

Редактор О.В.Пугина

Подп. к печ. 23.09.2005. Формат 60х841/16. Бумага

Печать офсетная.

Печ. л. 1,5. Уч.-изд. л. 1,4. Тираж 500. Заказ

 

 

 

Нижегородский государственный технический университет.

 

 

Типография НГТУ. 603600, Н.Новгород, ул. Минина, 24.

 

 

2

1. Цель работы и подготовка к работе

Целью работы является приобретение начальных сведений о построении арифметических цифровых узлов (устройств), а также изучение некоторых воз- можностей использования библиотеки мегафункций системы автоматизирован- ного проектирования (САПР) Quartus II на примере проектирования фильтра цифровой обработки сигналов при реализации такого фильтра в структуре про- граммируемой логической интегральной схемы (ПЛИС).

Подготовка к работе осуществляется до прихода в лабораторию и включа- ет в себя изучение данных методических указаний и (если студенту этого не достаточно для прояснения изучаемого материала) рекомендованной в них ли- тературы, подготовку ответов на приводимые вопросы для самопроверки, со- ставление схемы проектируемого устройства (см. 5.2) и проработку контроль- ного примера для нее (см. 5.2 и 6.3) в соответствии со своим вариантом задания

(см. 5.1).

2.Краткие сведения об узлах арифметических устройств

2.1.Сумматоры

Сумматоры выполняют арифметическое (в противоположность логическо- му) сложение и вычитание чисел. Они входят в состав и специализированных аппаратных средств, и арифметико-логических устройств (АЛУ) – основных компонентов всех процессоров.

Входные сигналы, с помощью которых представляются числа для осуществ- ления арифметических операций над ними, и сами эти числа в дальнейшем на- зываем операндами. Если указанные сигналы представляют собой последова- тельный код, то операнды называются последовательными, а если параллель- ный код параллельными. Сумматоры для последовательных операндов часто называют последовательными сумматорами, а для параллельных параллель- ными. Сумматоры любого типа строятся на основе одноразрядного сумматора (элементарной суммирующей ячейки).

Одноразрядные и параллельные сумматоры реализуются как комбинаци- онные цепи. Последовательные сумматоры являются автоматами с памятью.

 

a

SM

s

 

 

 

 

i

 

i

 

 

bi

 

 

 

 

 

 

 

 

ci-1

 

ci

 

 

 

Рис. 1

2.1.1. Одноразрядный сумматор

Одноразрядный сумматор имеет три входа (рис. 1). На два из них (ai и bi ) подаются одноразрядные операн-

ды, т. е. некоторые i -е разряды двух складываемых мно- горазрядных двоичных чисел, а на третий (сi−1) – сигнал

переноса, полученный при сложении предыдущих (младших), т. е. (i −1) -х, разрядов. На выходе si сумма-

3

тора получается i -й разряд результата арифметического сложения величин ai , bi и сi−1, а на выходе ci сигнал переноса, возникающего при этом сложении.

Значит, таблица истинности для одноразрядного сумматора имеет вид табл. 1.

Аналитические выражения для сигналов суммы и переноса имеют следующую форму:

si = ai bici−1 + aibi ci−1 + ai bi ci−1 + aibici−1,

ci = aibici−1 + ai bici−1 + aibi ci−1 + aibici−1.

Выражение для переноса можно упростить, учитывая, что ci =1, если ло-

гическая единица поступает хотя бы на два из трех входов сумматора: ci = aibi + aici−1 + bici−1.

Схема сумматора, соответствующая этим соотношениям, показана на рис. 2.

ai

&

1

 

 

 

Таблица 1

bi

 

 

 

 

 

 

 

ai

bi ci−1 si

ci

 

&

ci

ci−1

0

0

0

0

0

 

 

&

 

0

0

1

1

0

 

&

1

0

1

0

1

0

 

0

1

1

0

1

 

 

 

 

 

 

1

0

0

1

0

 

&

 

1

0

1

0

1

 

 

si

1

1

0

0

1

 

&

1

1

1

1

1

 

 

 

&

 

 

 

 

 

 

 

Рис. 2

 

 

 

 

 

 

2.1.2. Последовательный сумматор

Сумматор для последовательных операндов содержит один одноразрядный сумматор, обрабатывающий поочередно разряды операндов, начиная с млад- ших разрядов. Т. е. в каждом такте (периоде некоторой последовательности синхроимпульсов) суммируются соответствующие два разряда слагаемых. Так, вначале при сложении разрядов a0 и b0 , на двух выходах одноразрядного

4

сумматора появятся младший разряд результата и сигнал переноса, который необходимо сохранить в течение такта. В следующем такте этот сигнал перено- са должен складываться с разрядами a1 и b1, которые к данному времени по-

ступят на входы одноразрядного сумматора. И т. д. Тогда упрощенную схему сумматора для последовательных операндов можно представить, как показано на рис. 3. Кроме одноразрядного сумматора, она содержит D-триггер для хра- нения сигнала переноса, тактируемый фронтами положительных синхроим- пульсов clk .

На рис. 4 показаны временные диаграммы для схемы (рис. 3), соответст- вующие вычислению суммы 101 + 110 = 1011 или (в десятичной системе) 5 + 6 =11. Согласно данному примеру сигнал переноса, возникающий при сло- жении старших (n −1)-х разрядов n -разрядных операндов, является старшим

n-м разрядом (n + 1) -разрядного результата сложения. Аналогичное замечание

можно отнести и к другим рассматриваемым нами сумматорам.

Реальный последовательный сумматор должен дополнительно содержать три сдвиговых регистра, тактируемых импульсами clk : от двух регистров на

входы одноразрядного сумматора должны последовательно поступать разряды операндов, а в третий регистр будут последовательно записываться разряды ре- зультата суммирования. Кроме того, необходимо предусмотреть сброс триггера перед выполнением суммирования очередной пары операндов.

 

ai

 

ai

SM

si

 

si

 

bi

 

 

 

 

bi

 

 

 

 

ci

 

 

 

 

 

 

 

 

 

 

 

 

 

ci−1

 

ci

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D

T

 

 

 

 

 

 

 

clk

 

 

 

 

 

 

 

 

 

 

C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

clk

 

 

 

 

 

 

 

ai

 

a0

a1

a2

 

 

t

 

 

 

t

bi

 

b0

b1

b2

 

 

 

 

 

t

сi

 

c0

c1

c2

c3

 

t

c

i

 

c0

c

1

c

2

 

 

 

1

 

 

 

 

t

si

s0

s1

s2

s3

 

t

Рис. 3

Рис. 4

Недостатком такого сумматора является большое время суммирования (n тактов для n -разрядных операндов). Достоинства: возможность последова- тельной (потоковой) обработки операндов и небольшие аппаратные затраты.

2.1.3. Параллельный сумматор с последовательным переносом

Данный сумматор строится как цепочка одноразрядных сумматоров, со- единенных последовательно по цепям переноса (рис. 5). На входы

5

a0, a1,K, an−1 и b0, b1,K, bn−1 подаются в параллельном коде соответст- вующие разряды операндов An и Bn ( n -разрядных двоичных чисел), а на вход

cin сигнал переноса. Подача сигнала переноса на вход cin может потребо- ваться при наращивании разрядности сумматора (разрядности суммируемых операндов). n -разрядная сумма операндов Sn выдается на выходы

s0, s1,K, sn−1, а возникающий при суммировании сигнал переноса на выход

cout .

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

an−1 bn−1

a1 b1

a0

 

ai

SM

si

 

 

 

 

 

ai

SM

si

 

 

 

 

 

 

ai

SM

si

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b0

 

b

 

 

 

 

 

 

 

b

 

 

 

 

 

 

 

 

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c

i

 

c

 

 

 

 

 

c

i

 

ci

 

 

 

 

 

 

c

i

 

ci

 

 

cout

cin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

1

 

i

 

 

 

 

 

i

1

 

 

 

 

 

 

 

i

1

 

 

 

 

 

 

 

 

 

 

s0

 

 

 

 

 

 

 

s1

 

 

 

 

 

 

 

 

sn−1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 5

2.1.4. Сумматор с условным переносом

Один из вариантов схемы построения сумматора с условным переносом показан на рис. 6. Она содержит три многоразрядных сумматора, которые мо- гут быть построены, например, одним из описанных выше способов. Нижний из трех сумматоров (рис. 6) осуществляет сложение младших полей Aмл и

Bмл (групп младших разрядов) операндов An и Bn , вычисляя соответствую- щие сумму Sмл и сигнал переноса cмл . Два других сумматора складывают старшие поля ( Aст и Bст ) операндов, вычисляя сумму Sст и сигнал переноса cout : один из них при cмл =1, а другой при cмл = 0 . Причем все три суммато-

ра (рис. 6) работают одновременно. После получения результата суммирования

младших полей становится известным фактическое значение возникающего при этом сигнала переноса cмл . Данный сигнал переноса подается на адресные

6

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

Aст

A

SM

S

d0

MUX

 

Bст

B

 

 

d1

2 : 1

cout

 

 

 

 

c

c

a

 

 

0

i

1

i

 

 

 

 

 

 

 

 

 

 

A

SM

S

D0

MUX

Sст

 

B

 

 

 

 

 

D1

2 : 1

 

ci−1

ci

 

 

1

a

 

Sn

Aмл

A

SM

S

 

 

Sмл

Bмл

B

 

 

cмл

 

 

cin

ci−1

ci

 

 

 

 

 

 

Рис. 6

 

 

 

 

 

2.2. Умножители

 

 

Рассмотрим структуру математических выражений, описывающих опера-

цию умножения.

 

 

 

 

 

 

Пусть имеются два целых положительных двоичных числа без знаков (т. е.

без знаковых разрядов): Am = am−1 am−2Ka0 и Bn = bn−1bn−2Kb0 . Их пе-

ремножение выполняется по известной схеме "умножения столбиком". Если числа четырехразрядные, т. е. m = n = 4, то эта схема принимает следующий-

вид:

 

 

 

 

×

a3

a2

a1

a0

 

 

 

 

 

b3

b2

b1

b0

 

 

 

 

 

 

 

 

 

 

 

 

a3b0 a2b0

a1b0

a0b0

 

 

 

 

 

a3b1

a2b1

a1b1

a0b1

 

 

 

 

 

+ a3b2 a2b2 a1b2

a0b2

 

 

 

 

 

a3b3 a2b3

a1b3

a0b3

 

 

 

 

p7

p6

p5

p4

p3

p2

p1

p0

 

7

Произведение

выражается

(m + n) -разрядным

числом

Pm+n = pm+n−1 pm+n−2K p0.

 

 

Члены вида aib j

(частичные произведения), где i = 0, 1, K,

(m −1) и

j = 0, 1, K, (n −1) , можно вычислить одновременно с помощью достаточного

количества логических элементов И (конъюнкторов). Тогда время перемноже- ния в основном будет определяться временем суммирования частичных произ- ведений в (столбцах). Способ суммирования определяет тип умножителя. Ог- раничимся рассмотрением двух типов.

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

2.2.1. Матричные умножители

Матричные умножители являются комбинационными цепями и реализуют такой способ суммирования частичных произведений, который определяется упомянутой выше схемой "умножения столбиком". При этом структура умно- жителя для четырехразрядных операндов (без набора элементов, вычисляющих частичные произведения) включает в себя несколько одноразрядных суммато- ров с обозначением (рис. 7, а), где c выход сигнала переноса, и имеет вид

(рис. 7, б).

 

 

 

 

 

входы

 

 

 

 

 

 

a3b0

0

a2b0

0

a1b0

0

a0b0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SM

 

 

 

 

 

a3b1

 

 

 

SM

a2b

1 SM

a1b

1 SM

a0b1

 

 

 

 

 

 

 

 

 

 

 

 

 

c

s

 

 

 

 

 

 

 

a2b2

 

 

a1b2

 

 

a0b2

 

 

 

 

а)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a3b 2

SM

 

SM

SM

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a 0b3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a3b3

 

SM

a 2b

3 SM

a1b

3 SM

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

SM

 

SM

SM

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p7 p6

p5

p4

p3

p2

p1

p 0

б)

Рис. 7

8

При классификации матричные умножители подразделяют на множитель- ные блоки (МБ) и множительно-суммирующие блоки (МСБ). Причем умножи- тель (рис. 7, б) представляет собой МБ. В отличие от него, МСБ реализует опе- рацию Pm+n = Am× Bn + Cm + Dn , т. е. прибавляет к произведению два сла-

гаемых: одно разрядности m , совпадающей с разрядностью множимого, другое разрядности n , совпадающей с разрядностью множителя. Реализация такого

прибавления обеспечивает возможность наращивания размерности умножителя

(см. с. 95 в [1]).

Достоинством матричных умножителей является сравнительно малое вре- мя перемножения. Недостаток аппаратная сложность (большое количество конъюнкторов и сумматоров). При построении МБ для чисел равной разрядно-

сти n требуется n2 конъюнкторов и n(n −1) одноразрядных сумматоров.

2.2.2. Масштабный умножитель

Масштабный умножитель является автоматом с памятью и реализует суммирование частичных произведений по следующему алгоритму. Один из операндов представляют в параллельном коде, а второй в последовательном. Все биты параллельного операнда умножаются логически на старший бит по- следовательного операнда. Результат сохраняется в параллельном регистре. За- тем параллельный операнд умножается на второй (соседний со старшим) бит последовательного и результат умножения складывается с содержимым упомя- нутого регистра, сдвинутым по разрядной сетке на один бит влево. Процесс по- вторяется, пока не будут умножены все биты параллельного операнда на все биты последовательного. Рассмотрим, например, умножение двух четырехраз- рядных двоичных чисел 1010 ×1100 =1111000 или в десятичной системе 10 ×12 =120 . Пусть 10 будет последовательным операндом, а 12 – параллель- ным. В этом случае

1 1 0 0

0 0 0 0 + 1 1 0 0

0 0 0 0

1 1 1 1 0 0 0

Умножая 1100 на старший бит числа 1010, получим первую строку. Сдвиг этой строки влево эквивалентен сдвигу вправо последующих строк результа- тов умножений на другие биты числа 1010. После выполнения этих умножений суммируем все строки с учетом сдвигов.

Схема описанного умножителя показана на рис. 8. Здесь Am параллель- ный операнд, b j очередной бит последовательного операнда Bn , Pm+n ре-

зультат перемножения. Цепи синхронизации (тактирования) не показаны. Блок сдвига, изображенный штриховой линией, представляет собой определенное соединение выходов параллельного регистра RG со входами сумматора, реали-

9

зующее упомянутые выше сдвиги по разрядной сетке при суммировании. Для выполнения умножения чисел потребуется n тактов. Сумматор и регистр в схеме (рис. 8) должны быть (m + n) -разрядными. В итоге для реализации ум-

ножителя (рис. 8) требуются значительно меньшие аппаратные затраты по сравнению со схемой (рис. 7), однако время перемножения увеличивается.

am−1 &

 

 

 

 

 

 

 

 

 

 

 

 

<<

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Am

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

&

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

SM

S

 

 

 

RG

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a0

 

 

 

 

 

 

 

 

 

 

 

Pm+n

 

 

&

 

 

 

B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bj

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 8

3. Краткие сведения о цифровой фильтрации сигналов

Рассмотренные арифметические устройства (сумматоры и умножители) широко применяются в аппаратуре цифровой обработки (фильтрации) сигна- лов.

3.1. Понятие о цифровых фильтрах

Цифровая фильтрация (цифровая обработка) сигналов предполагает их об- работку с помощью микропроцессорных систем или с помощью цифровых уз- лов, реализованных, например, на базе ПЛИС. Для этого сигналы должны быть представлены в цифровой форме, т. е. в виде последовательности чисел по- следовательности отсчетов.

Цифровые фильтры можно подразделить на:

рекурсивные фильтры;

нерекурсивные (трансверсальные) фильтры.

В данной лабораторной работе изучается возможная реализация трансвер- сального фильтра. Алгоритм функционирования такого фильтра соответствует схеме (рис. 9). В ней ЭЗ элемент задержки на один такт синхронизации, осу- ществляемой в любом реальном цифровом фильтре, а треугольниками обозна- чены умножители на весовые коэффициенты w1, w 2, ... , wn .

10

Соседние файлы в папке ЦУМ