- •Курсовая работа по мСиС.
- •Оглавление
- •Задание.
- •Анализ исходной схемы.
- •Анализ примененных в исходной схеме устройств.
- •Анализ работы исходной схемы.
- •Внесение изменений в исходную схему.
- •Изменение адресов регистровRa,rb, регистра дискретных входовRsAи результата логической функцииY.
- •Изменение логической функцииY.
- •Добавление функции блокировки.
- •Проверка работы измененной схемы.
- •Выводы.
Добавление функции блокировки.
По заданию необходимо блокировать запись в регистр 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невозможно будет активировать.
Проверка работы измененной схемы.
Измененная схема приведена на рисунке 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. Затем читаем дискретные входы, после чего выдаем результат.
Проверим адресацию регистров и выходных результатов. Для этого зададим требуемую последовательность адресов, в RAподадим 150, вRB100, а вSA– 50. Осциллограмма показана на рисунке 12. Как видно по осциллограмме, записи в регистры и вывод результата проведены успешно, что говорит о верной работе схемы адресации.
Вызовем блокировку записи RA. Осциллограмма показана на рисунке 13. Как видим по рисунку, в регистрRBзаписали 0, а в регистрRAзначение 111 не записалось, что подтверждает работу схемы блокировки записи вRA.
Получим результат логической функции Y> 0. Для этого зададимRB== 105,RA== 12,SA== 47. Должны получитьRB–RA–SA= 46. Осциллограмма показана на рисунке 14. Как видим результат совпал, получили значение 46. Знак результатаSIGN- логический «0», что говорит о положительности результата.OVERFLOWтакже равен логическому «0», что значит результат > -256.
Получим результат логической функции Y== 0. Для этого зададимRB== 105,RA== 58,SA== 47. Должны получитьRB–RA–SA= 0. Осциллограмма показана на рисунке 15. Как видим результат совпал, получили значение 0. Знак результатаSIGN- логический «0», что говорит о положительности результата.OVERFLOWтакже равен логическому «0», что значит результат > -256.
Получим результат логической функции Y< 0. Для этого зададимRB== 105,RA== 108,SA== 47. Должны получитьRB–RA–SA= -50. Осциллограмма показана на рисунке 16. Как видим результат совпал, получили значение 50. Знак результатаSIGN- логическая «1», что говорит об отрицательности результата.OVERFLOWравен логическому «0», что значит результат > -256.
Получим результат логической функции 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.