МегаПредмет

ПОЗНАВАТЕЛЬНОЕ

Сила воли ведет к действию, а позитивные действия формируют позитивное отношение


Как определить диапазон голоса - ваш вокал


Игровые автоматы с быстрым выводом


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


Целительная привычка


Как самому избавиться от обидчивости


Противоречивые взгляды на качества, присущие мужчинам


Тренинг уверенности в себе


Вкуснейший "Салат из свеклы с чесноком"


Натюрморт и его изобразительные возможности


Применение, как принимать мумие? Мумие для волос, лица, при переломах, при кровотечении и т.д.


Как научиться брать на себя ответственность


Зачем нужны границы в отношениях с детьми?


Световозвращающие элементы на детской одежде


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


Как слышать голос Бога


Классификация ожирения по ИМТ (ВОЗ)


Глава 3. Завет мужчины с женщиной


Оси и плоскости тела человека


Оси и плоскости тела человека - Тело человека состоит из определенных топографических частей и участков, в которых расположены органы, мышцы, сосуды, нервы и т.д.


Отёска стен и прирубка косяков Отёска стен и прирубка косяков - Когда на доме не достаёт окон и дверей, красивое высокое крыльцо ещё только в воображении, приходится подниматься с улицы в дом по трапу.


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

Разработать операционный автомат и граф-схему алгоритма для перевода целых чисел со знаком из двоичной системы счисления в код D1.





КОНТРОЛЬНАЯ РАБОТА

Тема: «Проектирование операционных автоматов»

 

Выполнил:

 

студент 3 курса

группы ИВТ-327

 

Проверила:

Асеева Татьяна

Васильевна

 

Тверь 2014


Вариант 3

 

Разработать операционный автомат и граф-схему алгоритма для перевода целых чисел со знаком из двоичной системы счисления в код D1.

 

Данные для примера (в десятичной системе счисления) – 94

Тип управляющего автомата/тип элемента памяти - Мили/RS-триггер

Логический базис - {&, ∨, }

 

Алгоритм выполнения заданной операции:

 

Для перевода из целого двоичного числа в код Д1, выполняем следующие операции:

1) Код Д1 формируется в тетрадах, число которых определяется предварительно.

2) Спадающая с регистра двоичного числа цифра подсуммируется в младшую тетраду кода Д1.

3) Затем выполняется проверка содержимого всех тетрад. Если содержимое тетрады после подсуммирования > 4, выполняется коррекции +0011.

4) После этого текущее значение кода Д1 и двоичное число сдвигается на один разряд влево и процедуры повторяется.

5) Операции заканчивается под суммированием цифры младшего разряда двоичного числа. На этом последнем шаге коррекция не выполняется.

 

Переведем это число в двоичную систему счисления:

9410 = 10111102

Рассчитаем, какое количество разрядов необходимо для хранения в памяти итогового результата:

где k – число разрядов десятичного числа, определяющего его точность, n – число двоичных разрядов, обеспечивающее точность перевода.

 

 

Значит, для хранения в памяти такого числа потребуется 2 разряда, но мы должны в итоге получить десятичное число, записанное в D1 коде. Так как этот код имеет естественные веса разрядов, то для кодирования этого числа потребуется 8 разрядов, потому что десятичное число в коде D1 кодируется 4 битами.

 

Схема операционного автомата должна содержать следующие структурные элементы:

1. РгА[0-7] – для записи тетрад кода D1

2. РгВ[0-6] – для записи исходного двоичного числа

3. КС1 – две комбинационные схемы для выполнения коррекций в тетрадах

4. СТ. – счетчик контроля числа подсуммированных разрядов двоичного числа.

 

Комбинационная схема выполняет коррекцию тетрад следующим образом: для кода D1 коррекция «+3» выполняется в тетраде, если её значение превышает 4. Это позволяет избежать при сдвигах влево появления недопустимых тетрад.

 

Для того чтобы правильно переводить числа, нужно знать алгоритм перевода. Чтобы определить алгоритм перевода числа из системы счисления с основанием q в систему счисления с основанием p, запишем число Aq в виде разложения по степеням 2:

 

Ap = anqn + a (n-1) q (n-1) + …+ a1q1 + a0q0 = a0 +q*(a1+q (a2+...+q*(an+0))).

 

Рассмотрим пример перевода на выбранном числе и проверим результат:

 

РгА РгВ СТ. Операции
0000.0000 1) Начальные присваивания Подсуммирование к коду Д1 старшего разряда двоичного числа
0000.0001 011110_ 2) сдвиг на один разряд влево обоих чисел и подсуммирование старшего разряда двоичного числа. СТ=СТ-1
0000.001_     3) выполнение коррекции
0000.0010 11110_ _ 4) сдвиг и подсуммирование и СТ=СТ-1
0000.010_     5) выполнение коррекции
0000.0101 1110_ _ _ 6) сдвиг и подсуммирование и СТ=СТ-1
0001.000_     7) выполнение коррекции
0001.0001 110_ _ _ _ 8) сдвиг и подсуммирование и СТ=СТ-1
0010.001_     9) выполнение коррекции
0010.0011 10_ _ _ _ _ 10) сдвиг и подсуммирование и СТ=СТ-1
0100.011_     11) выполнение коррекции
0100.0111 0_ _ _ _ _ _ 12) сдвиг и подсуммирование и СТ=СТ-1
1001.010_     13) выполнение коррекции
1001.0100 _ _ _ _ _ _ _ 14) конец так. как СТ =0.
9410      

 

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

Разработаем комбинационную схему коррекции тетрад в коде D1 при сдвиге влево. Алгоритм коррекции приведен выше.

 

Таблица с двоичными кодами.

x1 x2 x3 x4 y1 y2 y3 y4
- - - -
- - - -
- - - -
- - - -
- - - -
- - - -

 

Проминимизируем полученные значения y и построим комбинационную схему.

 

1). Построим диаграмму Вейча для 4 переменных и найдем МДНФ – нормальная минимальная дизъюнктивная форма.

 

 

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

 

X1

- -
- - - -

1.

X2

X4

Аналогично поступим при расчете МДНФ для остальных функций.

 

X1

- -
- - - -

2.

X2

X4

 

 

X1

- -
- - - -

 

3. X2

X4

 

X1

- -
- - - -

 

4. X2

X4

 

 

Итог:

МДНФ1 = X2 (X1&X4) (X1&X3)

МДНФ2 = (X1& & ) (X2&X4);

МДНФ3 = (X3& ) ( &X3);

МДНФ4 = (X2& ) ( & &X4) (X1 X3 ).

 

 

 

Построим операционный автомат перевода целых чисел из двоичной системы в код D1.

       
   
 
 


       
 
   
 


0 3 4 7 0 6

           
   
   
 
 


 
 

 


0 3 4 7 0

РгВ:=[В]

0 3 0 3 РгВ:=L (1) РгВ

СТ.:=СТ.-1

РгА:=0

РгА[7]:=РгВ[0]

РгА:=L(1)РгА

 

       
   
 


  СТ.
0 3 0 3 СТ-1

 

 

0 – выход из

цикла.


 





©2015 www.megapredmet.ru Все права принадлежат авторам размещенных материалов.