Новосибирский техникум железнодорожного транспортаструктурное подразделение федерального государственного бюджетного образовательного учреждения высшего образования «Сибирский государственный университет путей сообщения» ЗАОЧНОЕ ОТДЕЛЕНИЕ КОНТРОЛЬНАЯ РАБОТА № 1 Дисциплина Цифровая схемотехника Ф.И.О преподавателя Ф.И.О. студента Группа Вариант № Новосибирск 2018 г. I. Перевод чисел из одной системы счисления в другую. 1. Перевести заданные числа в другие системы счисления и заполнить таблицу. 2. Показать все расчеты, выполненные для перевода чисел из одной системы счисления в другую. № 1 2 3 4 5 6 Двоичная BIN 1011001010111 10000111001110 10010101111 1101.000101 0.1000111 10000.0001 Десятичная DEC 5719 8654 1199 13.078125 0.546875 16.0625 Шестнадцатеричная HEX 1657 21CE 4af D.14 0.8C4 10.1 Решение: Переводим 10110010101112 в десятичную систему: 10110010101112 = 1·212+0·211+1·210+1·29+0·28+0·27+1·26+0·25+1·24+0·23+1·22+ 1·21+1·1 = 571910 Переводим целую часть 571910 в 16-ую систему последовательным делением на 16: 5719/16 = 357, остаток: 7 357/16 = 22, остаток: 5 22/16 = 1, остаток: 6 1/16 = 0, остаток: 1 571910 = 165716 2. Решение: Переводим целую часть 865410 в 2-ую систему последовательным делением на 2: 8654/2 = 4327, остаток: 0 4327/2 = 2163, остаток: 1 2163/2 = 1081, остаток: 1 1081/2 = 540, остаток: 1 540/2 = 270, остаток: 0 270/2 = 135, остаток: 0 135/2 = 67, остаток: 1 67/2 = 33, остаток: 1 33/2 = 16, остаток: 1 16/2 = 8, остаток: 0 8/2 = 4, остаток: 0 4/2 = 2, остаток: 0 2/2 = 1, остаток: 0 1/2 = 0, остаток: 1 865410 = 100001110011102 Переводим целую часть 865410 в 16-ую систему последовательным делением на 16: 8654/16 = 540, остаток: 14, 14 = E 540/16 = 33, остаток: 12, 12 = C 33/16 = 2, остаток: 1 2/16 = 0, остаток: 2 865410 = 21CE16 3. Решение: Переводим 4AF16 в десятичную систему: 4AF16 = 4·162+10·161+15·1 = 119910 Переводим целую часть 119910 в 2-ую систему последовательным делением на 2: 1199/2 = 599, остаток: 1 599/2 = 299, остаток: 1 299/2 = 149, остаток: 1 149/2 = 74, остаток: 1 74/2 = 37, остаток: 0 37/2 = 18, остаток: 1 18/2 = 9, остаток: 0 9/2 = 4, остаток: 1 4/2 = 2, остаток: 0 2/2 = 1, остаток: 0 1/2 = 0, остаток: 1 119910 = 100101011112 4. Решение: Переводим 1101.0001012 в десятичную систему: 1101.0001012 = 1·23+1·22+0·21+1·1+0·2-1+0·2-2+0·2-3+1·2-4+0·2-5+ 1·2-6 = 13.07812510 Переводим целую часть 13.07812510 в 16-ую систему последовательным делением на 16: 13/16 = 0, остаток: 13, 13 = D 1310 = D16 Переводим дробную часть 13.07812510 в 16-ую систему: 0.078125·16 = 1.25 0.25·16 = 4.0 0.07812510 = 0.1416 13.07812510= D.14 5. Решение: Переводим целую часть 0.54687510 в 2-ую систему последовательным делением на 2: 010 = 02 Переводим дробную часть 0.54687510 в 2-ую систему: 0.546875·2 = 1.09375 0.09375·2 = 0.1875 0.1875·2 = 0.375 0.375·2 = 0.75 0.75·2 = 1.5 0.5·2 = 1.0 0.54687510 = 0.1000112 Переводим целую часть 0.54687510 в 16-ую систему последовательным делением на 16: 010 = 016 Переводим дробную часть 0.54687510 в 16-ую систему: 0.546875·16 = 8.75 0.75·16 = 12.0, 12 = C 0.54687510 = 0.8C16 6. Решение: Переводим 10.116 в десятичную систему: 10.116 = 1·161+0·1+1·16-1 = 16.062510 Переводим целую часть 16.062510 в 2-ую систему последовательным делением на 2: 16/2 = 8, остаток: 0 8/2 = 4, остаток: 0 4/2 = 2, остаток: 0 2/2 = 1, остаток: 0 1/2 = 0, остаток: 1 1610 = 100002 Переводим дробную часть 16.062510 в 2-ую систему: 0.0625·2 = 0.125 0.125·2 = 0.25 0.25·2 = 0.5 0.5·2 = 1.0 0.062510 = 0.00012 16.062510=10000.00012 II. Арифметические действия с двоичными числами. Для п. 1 - 4 1. Выполнить указанные арифметические действия; 2. Проверить вычисления в десятичной системе счисления; Для п. 5 3. Перевести числа в двоичную систему и выполнить действия над числами с плавающей точкой (формат чисел принять следующим: знак мантиссы – 1 разряд, мантисса – 23 разряда, порядок – 8 разрядов) 1. 11011010+10001101= 101100111 Переведём все три числа в десятичную систему и проверим правильность сложения. 110110102 = 1∙27+1∙26+0∙25+1∙24+1∙23+0∙22+1∙21+0∙20 = 128+64+0+16+8+0+2+0 = 21810 100011012 = 1∙27+0∙26+0∙25+0∙24+1∙23+1∙22+0∙21+1∙20 = 128+0+0+0+8+4+0+1 = 14110 1011001112 = 1∙28+0∙27+1∙26+1∙25+0∙24+0∙23+1∙22+1∙21+1∙20 = 256+0+64+32+0+0+4+2+1 = 35910 218+141=359 2. 11100101-10011111=1000110 Переведём все три числа в десятичную систему и проверим правильность вычитания. 111001012 = 1∙27+1∙26+1∙25+0∙24+0∙23+1∙22+0∙21+1∙20 = 128+64+32+0+0+4+0+1 = 22910 100111112 = 1∙27+0∙26+0∙25+1∙24+1∙23+1∙22+1∙21+1∙20 = 128+0+0+16+8+4+2+1 = 15910 10001102 = 1∙26+0∙25+0∙24+0∙23+1∙22+1∙21+0∙20 = 64+0+0+0+4+2+0 = 7010 229-159=70 3. 10111×11000=1000101000 Переведём все три числа в десятичную систему и проверим правильность умножения. 101112 = 1∙24+0∙23+1∙22+1∙21+1∙20 = 16+0+4+2+1 = 2310 110002 = 1∙24+1∙23+0∙22+0∙21+0∙20 = 16+8+0+0+0 = 2410 10001010002 = 1∙29+0∙28+0∙27+0∙26+1∙25+0∙24+1∙23+0∙22+0∙21+0∙20 = 512+0+0+0+32+0+8+0+0+0 = 55210 23x24=552 4. 101000000/10100= 10000 Переведём все три числа в десятичную систему и проверим правильность деления. 1010000002 = 1∙28+0∙27+1∙26+0∙25+0∙24+0∙23+0∙22+0∙21+0∙20 = 256+0+64+0+0+0+0+0+0 = 32010 101002 = 1∙24+0∙23+1∙22+0∙21+0∙20 = 16+0+4+0+0 = 2010 100002 = 1∙24+0∙23+0∙22+0∙21+0∙20 = 16+0+0+0+0 = 1610 320:20=16 5. 0.84375+0.125=0,96875 Решение: Переводим целую часть 0.8437510 в 2-ую систему последовательным делением на 2: 010 = 02 Переводим дробную часть 0.8437510 в 2-ую систему: 0.84375·2 = 1.6875 0.6875·2 = 1.375 0.375·2 = 0.75 0.75·2 = 1.5 0.5·2 = 1.0 0.8437510 = 0.110112 Переводим целую часть 0.12510 в 2-ую систему последовательным делением на 2: 010 = 02 Переводим дробную часть 0.12510 в 2-ую систему: 0.125·2 = 0.25 0.25·2 = 0.5 0.5·2 = 1.0 0.12510 = 0.0012 Представим число 0.110112 в формате с плавающей точкой одинарной знак 31 0 3 0 2 9 2 8 порядок 2 2 7 6 2 5 2 4 2 3 2 2 1 2 1 1 2 0 0 1 9 1 1 8 1 1 7 0 1 6 0 1 5 0 1 4 0 мантисса 1 1 1 3 2 1 0 0 0 1 0 0 9 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 точности Float (IEEE754 Single precision 32-bit) Число 0.110112 положительное, значит, в разряд знака мантиссы можно записать 0 мантисса числа 0.110112 в нормализованной форме примет вид 1,1011. Таким образом мантисса числа 0.110112 в нормализованной форме будет выглядеть как 1011. Вычислим смещенный порядок. Вспомним, что нулевому порядку соответствует число 12710 или 011111112, а также что порядок уменьшился на 1. 127 – 1 = 126 переведем число 126 в двоичную систему 12610=011111102 Двоичное число 01111110 и будет значением смещенного порядка То есть число 0.8437510 в формате с плавающей точкой будет выглядеть как знак 31 0 3 0 0 2 9 1 2 8 1 порядок 2 2 7 6 1 1 2 5 1 2 4 1 2 3 0 2 2 1 2 1 0 2 0 1 1 9 1 1 8 0 1 7 0 1 6 0 1 5 0 1 4 0 мантисса 1 1 1 3 2 1 0 0 0 1 0 0 9 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 Запишем в таком же формате число 0.12510 = 0.0012 Поскольку число положительное, запишем в знаковый разряд ноль мантисса числа 0,001 в нормализованной форме примет вид 1,0 Как видим, запятая сдвинулась на три разряд вправо, а значит, порядок должен уменьшиться на три. Вспомним также, что в нормализованной форме целая часть мантиссы всегда равна 1, поэтому в записи числа она опускается (но всегда подразумевается). Таким образом, мантисса числа 0,001 в нормализованной форме будет выглядеть как 10. Дописав в конец мантиссы незначащие нули получим знак 31 0 3 0 2 9 2 8 порядок 2 2 7 6 2 5 2 4 2 3 2 2 1 2 1 0 2 0 0 1 9 0 1 8 0 1 7 0 1 6 0 1 5 0 1 4 0 мантисса 1 1 1 3 2 1 0 0 0 1 0 0 9 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 Вычислим смещенный порядок. Вспомним, что нулевому порядку соответствует число 12710 или 011111112, а также что порядок уменьшился на 3 127 – 3 = 124 переведем число 124 в двоичную систему 12410 = 011111002 Двоичное число 0 111 1100 и будет значением смещенного порядка. То есть число 0, 12510 в формате с плавающей точкой будет выглядеть как знак 31 0 3 0 0 2 9 1 2 8 1 порядок 2 2 7 6 1 1 2 5 1 2 4 0 2 3 0 2 2 1 2 1 0 2 0 0 1 9 0 1 8 0 1 7 0 1 6 0 1 5 0 1 4 0 мантисса 1 1 1 3 2 1 0 0 0 1 0 0 9 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 Обозначим число 0.8437510 = 0.110112 как A, 0, 12510 = 0.0012 как B. А знак 31 0 3 0 0 2 9 1 2 8 1 порядок 2 2 7 6 1 1 2 5 1 2 4 1 2 3 0 2 2 1 2 1 0 2 0 1 1 9 1 1 8 0 1 7 0 1 6 0 1 5 0 1 4 0 мантисса 1 1 1 3 2 1 0 0 0 1 0 0 1 6 0 1 5 0 1 4 0 мантисса 1 1 1 3 2 1 0 0 0 1 0 0 9 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 9 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 B знак 31 0 3 0 0 2 9 1 2 8 1 порядок 2 2 7 6 1 1 2 5 1 2 4 0 2 3 0 2 2 1 2 1 0 2 0 0 1 9 0 1 8 0 1 7 0 Для сложения чисел A и B необходимо привести их к одному порядку Число с меньшим порядком всегда приводится к большему порядку. Порядок числа А равен -1, числа В равен -3. Большим является порядок числа А. Для приведения числа В к порядку -1 нужно сдвинуть его мантиссу на 2 разряда вправо, а порядок, соответственно, увеличить на 2 После приведения число В будет выглядеть следующим образом знак 31 0 3 0 0 2 9 1 2 8 1 порядок 2 2 7 6 1 1 2 5 1 2 4 1 2 3 0 2 2 0 2 1 0 2 0 1 1 9 0 1 8 0 1 7 0 1 6 0 1 5 0 1 4 0 мантисса 1 1 1 3 2 1 0 0 0 1 0 0 9 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 Выполним вычитание мантисс, помня про то, что целая часть мантиссы числа А равна 1, а мантиссу числа В представив в дополнительном коде. Дополнительный код мантиссы числа В получим так: обратный код 31 0 0 целая часть мантиссы 22 0 , 0 , доп.код 0 1 знак , 0 0 21 0 1 20 1 0 0 1 0 19 0 0 1 0 Сложим мантиссы 31 0 0 0 A B 1 22 0 , 1 1 , 0 1 , 1 21 0 1 1 20 1 0 1 19 1 0 1 Таким образом, результат будет представлен следующим образом знак 31 1 3 0 0 2 9 1 2 8 1 порядок 2 2 7 6 1 1 2 5 1 2 4 1 2 3 1 2 2 1 2 1 1 2 0 1 1 9 1 1 8 0 1 7 0 1 6 0 1 5 0 1 4 0 мантисса 1 1 1 3 2 1 0 0 0 1 0 0 9 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 Проверим правильность действий, преобразовав результат в привычный вид Мантисса результата с учетом целой части: 1,1111 Порядок: -1 Для приведения числа к нулевому порядку нужно сдвинуть запятую на 1 разряд влево: 0,11111 Переведем это число в десятичную систему счисления 0,111112 = 0,96875 проверим результат в десятичной системе счисления 0.84375+0.125=0,96875 III.Минимизация логических функций и синтез комбинационных схем. Построить таблицу истинности для заданной функции . Составить СКНФ, СДНФ . Построить карту Карно и минимизировать функцию . Построить принципиальную схему, реализующую минимизированную функцию на релейно-контактных элементах . 5. Разработать принципиальную схему, реализующую минимизированную функцию на логических элементах в базисе ИИЛИ-НЕ . 6. Преобразовать минимизированную функцию и разработать принципиальную схему, реализующую эту функцию на логических элементах в базисе И-НЕ . 7. Преобразовать минимизированную функцию и разработать принципиальную схему, реализующую эту функцию на логических элементах в базисе ИЛИ-НЕ. 1. 2. 3. 4. f={0,1,2,4,5,9,11,15} Построим таблицу истинности. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 F 1 1 1 0 1 1 0 0 0 1 0 1 0 0 0 1 1. Составить СКНФ, СДНФ. 2. Построить карту Карно и минимизировать функцию . Далее, вместо номера строки таблицы истинности подставим соответствующее ей значение функции. С помощью метода склеивания объединяем рядом стоящие единицы. Рядом стоящими считаются те единицы, которые различаются по одной координате, что позволяет выделить её скобках и сократить, получив импликант. 3. Построить принципиальную схему, реализующую минимизированную функцию на релейно-контактных элементах. 4. Разработать принципиальную схему, реализующую минимизированную функцию на логических элементах в базисе ИИЛИ-НЕ . 5. Преобразовать минимизированную функцию и разработать принципиальную схему, реализующую эту функцию на логических элементах в базисе И-НЕ . 6. Преобразовать минимизированную функцию и разработать принципиальную схему, реализующую эту функцию на логических элементах в базисе ИЛИ-НЕ. IV.Построение делителя частоты с заданным коэффициентом деления. 1. Разложить заданный коэффициент деления на простые множители (2, 3 и 5) 2. Построить принципиальную схему делителя частоты с заданным коэффициентом деления на JK триггерах. 3. Построить принципиальную схему делителя частоты с заданным коэффициентом деления на базе четырехразрядных двоичных счетчиков. 4. Начертить временную диаграмму работы ДЧ (5 импульсов до и после импульса сброса). Вариант 1 Коэффициент деления для ДЧ на JK триггерах 24 Коэффициент деления для ДЧ на счетчиках 67 1. Разложить заданный коэффициент деления на простые множители (2, 3 и 5) 24 = 3x2x2x2 67 = 67 2. Построить принципиальную схему делителя частоты с заданным коэффициентом деления на JK триггерах. 3. Построить принципиальную схему делителя частоты с заданным коэффициентом деления на базе четырехразрядных двоичных счетчиков. 4. Начертить временную диаграмму работы ДЧ (67 импульсов до сброса). V. Построение ЗУ заданной емкости и разрядности. 1. Рассчитать число линий данных и линий адреса для проектируемого запоминающего устройства (столбец А задания) 2. Рассчитать число линий данных и линий адреса для одной микросхемы (столбец В задания) 3. Рассчитать число микросхем, требуемых для реализации проектируемого запоминающего устройства 4. Начертить принципиальную схему запоминающего устройства c организацией «А» на микросхемах с организацией «В» Вариант 1 Организация А (ЗУ в целом) В (одной микросхемы) 8Кх1 1Кх1 Построить ЗУ с организацией 8Кх1 на микросхемах с организацией 1Кх1 Для адресации 8К ячеек требуется 13 линий адреса, так как 213 = 8192. Каждая ячейка одноразрядная - значит число линий адреса для ЗУ - 1. Каждая микросхема, которая используется при построении, ЗУ имеет по 1Кх1 одноразрядных ячейки памяти. Для адресации 1024 ячеек требуется всего 10 линий адреса, так как 210 = 1024. Число микросхем памяти, требуемых для построения ЗУ рассчитывается как 𝑁= 𝐴 8𝐾𝑥1 = =8 𝐵 1𝐾𝑥1 Для построения ЗУ объемом в 8K ячейки потребуется 8 микросхем, каждая из которых содержит по 1К ячейки.