Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
[Пр МП-систем] / МПиС_лаб2_нов_ред Грушко.doc
Скачиваний:
50
Добавлен:
07.02.2016
Размер:
2.15 Mб
Скачать

Лабораторная работа №2

Проектирование и исследование цифровых компараторов с использованием языка vhdl

Цель: изучить принципы функционирования и проектирования цифровых компараторов (схем сравнения), научится программировать функциональные особенности схем в Active-HDL, проводить моделирование работы микросхем.

  1. Проектная часть работы

1.1 Теоретические сведения

Цифровые компараторы (схемы сравнения) вычисляют значение результата отношения двух двоичных величин. Значение может быть true(1) или false(0).

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

Например:

Простейшее сравнение – это равенство/неравенство (A=B, A≠B).

A=B  функция равнозначности ()

A≠B  функция неравнозначности (XOR) 

Сравнение чисел выполняется поразрядно, начиная со старших разрядов.

Для сравнения чисел необходимо и достаточно выполнить:

  • , для равнозначности необходимо выполнить сравнение по всем разрядам и определить значение произведения результатов.

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

Например, чтобы определить равенство двухразрядных чисел А=В, т.е. [a1 a2]=[b1 b2], необходимо и достаточно проверить результат произведения:

Сравнение чисел на >,< (больше-меньше).

Такое сравнение можно выполнить, например, в операционном автомате, с использованием вычитателя (сумматора) и определить знак разности (A-B), если знак «0», то A≥B, если знак «1», то A<B. При этом следующим шагом нужно выполнить уточняющее сравнение A = B.

Очевидно, что этот процесс занимает достаточно большое время.

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

ai

bi

yi

0

0

0

0

1

0

1

0

1

1

1

0

yi – результат A>B в i-м бите. Общая функция:

Схемы сравнения с «0» и «1» будут проще, т.к. в выражении некоторые термы сократятся. В общем случае схема сравнения с константой тоже будет проще по тем же причинам.

Нестрогие неравенства: A≥B, A≤B выполняются путем комбинации рассмотренных приемов:

    1. ПРИМЕР выполнения проектной части работы

Задание: синтезировать компаратор (схему сравнения) четырехразрядного двоичного числа А с константой В.

, где

,

Решение:

  1. Преобразуем нестрогое неравенство к строгому:

(“меньше или равно” – это “не больше”).

  1. Определим базовую функцию “больше” (“more” → M) для i-го разряда:

0

0

0

0

1

0

1

0

1

1

1

0

  1. Общую формулу для функции “не больше”(Not_M) получаем на основе базовой функции “больше”, а затем инвертируем обе части равенства.

  1. Выполним подстановку известных значений числа В в каждом і-ом разряде, предварительно определив частные формулы :

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

При подстановке константных значений в формула примет вид:

  1. Синтез логической схемы компаратора:

  1. Тестовая таблица:

A

B

Not_M

0 1 1 1

1 0 1 1

1

1 0 1 0

1 0 1 1

1

∙∙∙

1 1 0 0

1 0 1 1

0

Тестовую таблицу нужно приводить для общего случая. В лабораторной работе достаточно проверить 4-5 тестовых комбинаций.

  1. Выводы: В данном простом примере очевидно, что неравенство не будет выполняться только в тех случаях, когда оба старших разряда числа А равны 1.

    1. Варианты заданий

Выполнить синтез схемы сравнения некоторого двоичного числа с константой

Вид неравенства

Варианты

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

A=70

B=75

A=71

B=76

A=77

B=74

A=78

B=73

Значение десятичной константы

  1. Исследовательская часть работы