![]() |
Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Вычислительные системы и микропроцессорная техника
выполнил: студент гр. 04-417 Левин О.А.
проверил: Герасимов А.Л.
МОСКВА 1997 Содержание Анализ задания - 2 Комбинационный вариант - 2 Алгоритм работы устройства - 4 Микропрограмма - 5 Управляющий автомат с жесткой логикой - 5 Управляющий автомат с МПУ - 8 Выбор элементной базы - 10 Составление программы - 12 Задание ВАРИАНТ №17 Задается входной код D{1: 32}. Спроектировать вычислитель, который определяет номер разряда самой первой и самой последней единиц, стоящих между нулями. Предусмотреть реакцию проектируемого устройства в случае отсутствия таких сигналов. Анализ и уточнение задания Так как входной код - тридцатидвухразрядный, то для получения интересующей нас информации необходимо два выходных шестиразрядных кода. Реакцией устройства в случае отсутствия интересующих нас кодовых комбинаций будет значение первого и второго выходных кодов соответственно: Очевидно, что в тридцатидвухразрядном коде единица, стоящая между двумя нулями ни при каких обстоятельствах не может находится ни в первом ни в тридцать втором разряде кода. Тактовая синхронизация будет осуществляться внешним генератором тактовых импульсов с частотой 20 МГц По окончании обработки входного кода должен вырабатываться специальный сигнал, позволяющий следующему устройству считать выходные данные с проектируемого устройства. Обобщенная функциональная схема проектируемого устройства может быть представлена в следующем виде:
D{1: 32} B{1: 6}
Рисунок 1 Обобщенная функциональная схема устройства Комбинационный вариант устройства Функциональная схема комбинационного устройства, осуществляющего параллельную обработку входного кода представлена на рисунке 2. Входной код D{1: 32} разбивается на пересекающиеся элементы по три разряда: D’{1: 3}, D’{2: 4},...D’{30: 32}. Крайние разряды D’ проходят через инверторы DD1, DD3, DD4, DD6, DD7, DD9,...DD88, DD90. Проинвертированные крайние разряды вместе с центральным разрядом элемента поступают на логическую схему И, на выходе которой в случае если D{i-1, i, i+1}=010 сформируется высокий логический уровень напряжения, приводящий в действие соответствующий элемент индикации на внешней панели устройства. При визуальном контроле внешней панели устройства по расположению работающих элементов индикации можно определить номер разряда первой и последней единиц, стоящих между нулями. Для реализации данной схемы потребуется 20 микросхем 1533ЛН1 (6 логических элементов НЕ), 10 - КР1533 (3 элемента 3И), 4 - КР531ЛЕ7 (2 элемента 5 ИЛИ-НЕ), 1 - 1533ЛИ6 (2 элемента 4И), 1 - 1533ЛИ1 (4 элемента 2И). Основным недостатком данной схемы является невозможность дальнейшей обработки выходной информации. НАЧАЛО
РЕГ В {1: 32}=D{1: 32} РЕГ А{1: 32}=РЕГ В{1: 32} СЧЕТ Ц1=2
ДА
РЕГ А{1: 32}=РЕГ А{2: 32}.0 СЧЕТ Ц1=СЧЕТ Ц1 +1
РЕГ А{1: 32}=РЕГ В{1: 32}
ДА
НЕТ РЕГ А{1: 32}=РЕГ А{1: 31}.0 СЧЕТ Ц=СЧЕТ Ц -1
B {1: 6}=СЧЕТ Ц1; С {1: 6}=СЧЕТ Ц2 КОНЕЦ
Рисунок 3 Блок-схема алгоритма работы устройства Микропрограмма Переменные: Входные: D{1: 32} - входной код строб Выходные: В {1: 6}, С{1: 6} - выходной код Внутренние: РЕГ А{1: 32}, РЕГ В{1: 32} - регистры СЧЕТ Ц1{1: 6}, СЧЕТ Ц2{1: 6} - счетчики циклов Признаки: Р1 - строб=1 Р2 - РЕГ А{1}=0 & РЕГ A{2}= 1 & РЕГ А {3}=0 Р3 - РЕГ А{32}=0 & РЕГ A{31}= 1 & РЕГ А {30}=0 Р4 - СЧЕТ Ц1 {1: 6} = 32 Р5 - СЧЕТ Ц2 {1: 6} = 1
Программа М1 ЕСЛИ НЕ Р1 ТО М1 (СТРОБ) РЕГ В{1: 32}=D {1: 32} (УЗАП1) РЕГ А{1: 32}=РЕГ В {1: 32} (УН1) СЧЕТ Ц1 {1: 6} =2 М2 ЕСЛИ Р2 ТО М3 (УСДВ1) РЕГ А{1: 32}=РЕГ А{2: 32}.0 } (УСЧ1) СЧЕТ Ц1 {1: 6}=СЧЕТ Ц1 {1: 6}+1 } УЭ1 ЕСЛИ НЕ Р4 ТО М2 М3 (УЗАП1) РЕГ А{1: 32}=РЕГ В {1: 32} (УН2) СЧЕТ Ц2 {1: 6} =31 М4 ЕСЛИ Р3 ТО М5 (УСДВ2) РЕГ А{1: 32}=0.РЕГ А{1: 31} } (УСЧ2) СЧЕТ Ц2 {1: 6}=СЧЕТ Ц2 {1: 6}-1 } УЭ2 ЕСЛИ НЕ Р5 ТО М4 М5 (УСЧИТ1) В{1: 6}=СЧЕТ Ц1 {1: 6} } (УСЧИТ2) С{1: 6}=СЧЕТ Ц2 {1: 6} } УЭ3 КОНЕЦ (ИДТИ К М1)
Как видно из текста микропрограммы, некоторые сигналы можно объединить и заменить эквивалентными сигналами. Функциональная схема операционной части устройства приведена на рисунке 4.
Управляющий автомат с жесткой логикой будет реализовываться в виде классического конечного автомата Мили или Мура. На основании блок-схемы алгоритма работы устройства определим количество состояний для каждого типа автомата. Обозначим состояния автомата Мура буквой S, а состояния автомата Мили - S’. Как видно из рисунка 5, у автомата Мура будет шесть состояний, в то время как у автомата Мили - лишь четыре.
УЭ 1 S2 УЗАП 1, УН 2 S3
УЗАП 1 УН 2 S3
УЭ 2 S5 УЗАП 1 УЭ 3 S4
КОНЕЦ S’0
Рисунок 5. Состояния конечных автоматов Мили и Мура.
Таким образом, определим, что управляющее устройство необходимо синтезировать в виде конечного автомата Мили
Р2/УН 2, УЗАП 1
Р3/УЭ 3
Р5/УЭ 3
Граф состояний автомата Мили.
Таблица 1 Кодированная таблица состояний.
Таблица 2 Таблица переходов и выходов
Таблица 3 Кодированная таблица переходов и выходов
Если в конечном автомате будет применяться D-триггер, то будут справедливы равенства:
Q1 (t+1) = НЕ Q1*НЕ Q2*Q3*P2 + НЕ Q1*Q2*Q3*P4 + Q1*Q2*Q3*НЕ P3+ Q1*НЕ Q2*Q3*НЕ P5 [20 входов] Q2 (t+1) = НЕ Q1*НЕ Q2*Q3*P1 + НЕ Q1*Q2*Q3*НЕ P4 + Q1*НЕ Q2*Q3*НЕ P5 [15 входов] Q3 (t+1) = НЕ Q1*НЕ Q2*НЕ Q3*P1 + НЕ Q1*НЕ Q2*Q3 + НЕ Q1*Q2*Q3 + Q1*Q2*Q3*НЕ P3 + Q1*НЕ Q2*Q3*НЕ P5 = =НЕ Q1*НЕ Q2*НЕ Q3*P1 + НЕ Q1*Q3 + Q1*Q2*Q3*НЕ P3 + Q1*НЕ Q2*Q3*НЕ P5 [18 входов] Для реализации автомата на D-триггерах потребуется 43 входа. Если будет использоваться J-K триггер, то уравнения для него можно получить из уравнений для D-триггера:
Q(T+1)=J*HE Q + HE K*Q J1=НЕ Q2*Q3*P2+Q2*Q3*P4=Q3*(НЕ Q2*P2+Q2*P4) [6 входов]
НЕ Q3+P3)*(Q2+НЕ Q3+P5) [8 входов]
J2=(НЕ Q1*Q3+Q1*Q3*НЕ P5)=Q3*(НЕ Q1+Q1*НЕ P5) [6 входов] K2=(НЕ Q1*Q3*P4) = Q1+НЕ Q3+НЕ P4 [3 входа]
J3=НЕ Q1*НЕ Q2*P1 [3 входа]
P5)) =Q1*(НЕ Q1+(Q2+НЕ Q2*НЕ P5)) = Q1*НЕ Q2*(Q2+P5) = Q1*НЕ Q2*P5 [3 входа]
Для реализации автомата на J-K-триггерах потребуется 29 входов, поэтому автомат будет реализовываться на них. Управляющие сигналы на основе таблицы переходов и выходов будут формироваться следующим образом
УН 1=НЕ Q1*НЕ Q2*НЕ Q3*P1
УЭ 1=НЕ Q1*НЕ Q2*Q3*НЕ P2
УН 2=НЕ Q1*Q2*Q3*P4+НЕ Q1*НЕ Q2*Q3*P2
УЭ 2=Q1*Q2*Q3*НЕ P3
УЭ 3=Q1*НЕ Q2*Q3*P5+Q1*Q2*Q3*P3
УЗАП1=УН 1+УН 2
Управлением Принудительная адресация Каноническая форма микропрограммы разрабатываемого устройства с учетом эквивалентности сигналов представлена в таблице 4:
Таблица 4 Каноническая форма микропрограммы.
Адрес | УН 1 | УЭ 1 | УН 2 | УЭ 2 | УЭ 3 | УЗАП1 | Не Р1 | Р2 | Р3 | Не Р4 | Не Р5 |
Адрес перехода | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Таблица 5
Последнее изменение этой страницы: 2019-10-03; Просмотров: 150; Нарушение авторского права страницы