Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ochot.docx
Скачиваний:
21
Добавлен:
07.02.2015
Размер:
2.09 Mб
Скачать
  1. Добавление функции блокировки.

По заданию необходимо блокировать запись в регистр RAпри выполнении условия (RB== 0). Блокировка записи в регистр возможна двумя методами, либо блокировать возможность выбора регистра удерживанием логической «1» на входеEN, либо блокированием сигнала копирования путем удерживания логической «1» на входеWR. Заблокируем возможность выбора регистра.

Блокировку выполним с применением логического элемента ИЛИ. На один вход подадим сигнал выбора регистра от дешифратора, а на второй – сигнал от компаратора. Причем компаратор должен выдавать логический «0» при невыполнении блокирующего условия и логическую «1» - при выполнении.

Внешний вид полученной схемы представлен на рисунке 10.

Рисунок 10. Блокировка записи RAприRB== 0.

Элемент LPM_COMPAREявляется компаратором, который проводит сравнение чисел, поданных на входыdataa[] иdatab[]. Результат сравнения выдается на выходные линииalb(A<B),aeb(A==B),agb(A>B),ageb(A>=B),aneb(A!=B),aleb(A<=B). Также имеются входы синхронизации и вход асинхронного сброса, которые нам не нужны. Управляющие параметры элемента аналогичны параметрам сумматора, поэтому в описании не нуждаются.

Компаратор выдает на выходную линию aebлогическую «1» если значения на обоих шинах данных совпадут. Для сравненияRBсо значением 0 на одну из шин подано значениеRB, а на другую – константа 0. На логический элемент ИЛИ подаются сигналы от дешифратора и от компаратора. Если компаратор выдаст логическую «1», то регистрRAневозможно будет активировать.

  1. Проверка работы измененной схемы.

Измененная схема приведена на рисунке 11. Схема выполнения логической функции показана в виде отдельного элемента SUB_B_AND_C_FROM_A. Она имеет 3 входных шины данных, на которые подаем значения с регистровRB,RA,RSA. На выходе имеется шина данных результата функцииRB–RA–RSAи линииOVERFLOWиSIGN.SIGNпоказывает знак результата («1» - минус), аOVERFLOW– переполнение («1» – результат < -255).

Проанализируем работу схемы. При этом зададим последовательность адресов: . Первым пишемRB, так как изначально он == 0, и блокирует запись вRA. Вторым пишемRA. Затем читаем дискретные входы, после чего выдаем результат.

  1. Проверим адресацию регистров и выходных результатов. Для этого зададим требуемую последовательность адресов, в RAподадим 150, вRB100, а вSA– 50. Осциллограмма показана на рисунке 12. Как видно по осциллограмме, записи в регистры и вывод результата проведены успешно, что говорит о верной работе схемы адресации.

  2. Вызовем блокировку записи RA. Осциллограмма показана на рисунке 13. Как видим по рисунку, в регистрRBзаписали 0, а в регистрRAзначение 111 не записалось, что подтверждает работу схемы блокировки записи вRA.

  3. Получим результат логической функции Y> 0. Для этого зададимRB== 105,RA== 12,SA== 47. Должны получитьRB–RA–SA= 46. Осциллограмма показана на рисунке 14. Как видим результат совпал, получили значение 46. Знак результатаSIGN- логический «0», что говорит о положительности результата.OVERFLOWтакже равен логическому «0», что значит результат > -256.

  4. Получим результат логической функции Y== 0. Для этого зададимRB== 105,RA== 58,SA== 47. Должны получитьRB–RA–SA= 0. Осциллограмма показана на рисунке 15. Как видим результат совпал, получили значение 0. Знак результатаSIGN- логический «0», что говорит о положительности результата.OVERFLOWтакже равен логическому «0», что значит результат > -256.

  5. Получим результат логической функции Y< 0. Для этого зададимRB== 105,RA== 108,SA== 47. Должны получитьRB–RA–SA= -50. Осциллограмма показана на рисунке 16. Как видим результат совпал, получили значение 50. Знак результатаSIGN- логическая «1», что говорит об отрицательности результата.OVERFLOWравен логическому «0», что значит результат > -256.

  6. Получим результат логической функции Y< -255. Для этого зададимRB== 105,RA== 208,SA== 247. Должны получитьRB–RA–SA= -350. Осциллограмма показана на рисунке 17. Получили результат = 94. Знак результатаSIGN- логическая «1», что говорит об отрицательности результата.OVERFLOWравен логической «1», что значит результат < -255. Для получения истинного результата необходимо прибавить к полученному результату -94 значение -256, тогда получим – 350, что совпадает с расчетным результатом.

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

Рисунок 11. Измененная схема.

Рисунок 12. Осциллограмма работы устройства.

Рисунок 13. Осциллограмма работы при RB== 0.

Рисунок 14. Осциллограмма работы при Y> 0.

Рисунок 15. Осциллограмма работы при Y== 0.

Рисунок 16. Осциллограмма работы при (Y< 0) && (Y> -256)

Рисунок 17. Осциллограмма работы при Y< -255.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]